From 16e4e86fbe9a4c4db53ffb6877c9d76864b22449 Mon Sep 17 00:00:00 2001 From: chattie Date: Wed, 19 Aug 2026 18:22:05 +0200 Subject: [PATCH] docs: update current.md and history.md after F-070 close --- work/current.md | 2 +- work/history.md | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/work/current.md b/work/current.md index 4a9cf37..fbb661b 100644 --- a/work/current.md +++ b/work/current.md @@ -2,7 +2,7 @@ ## Sin feature activa -Backlog: 137 features (137 done). Última feature cerrada: **F-069** — Shipping method descriptions editable in admin. +Backlog: 138 features (138 done). Últimas features cerradas: **F-069** — Shipping method descriptions editable in admin, **F-070** — Show product attributes on frontend product detail page. ## Servicios productivos diff --git a/work/history.md b/work/history.md index 7d8b3b8..5e318cc 100644 --- a/work/history.md +++ b/work/history.md @@ -323,5 +323,13 @@ - Entregable: descripción editable de métodos de envío end-to-end. Migración 029 (`shipping_methods.description text`); backend GET/POST/PATCH incluyen `description`; nuevo endpoint público `GET /shipping/methods?country=…&postalCode=…` (read-only, filtra active=true); admin `MethodForm` con input de descripción; storefront `CheckoutClient` consume el catálogo real y renderiza la descripción por método (array hardcodeado eliminado). - Security: `description` es `z.string().max(500)`, plain text; write path requiere admin role (sin cambios); public GET es read-only y filtra SQL-level. - Tests: backend 124 passed, 56 skipped; typecheck green en frontend/admin/backend. -- Artefactos: work/artifacts/F-069/ +- Artefactos: work/artifacts/F-069/. + +## 2026-08-19 — F-070 Show product attributes on frontend product detail page — DONE + +- Gates: reviewer APPROVED, security APPROVED, qa APPROVED, leader-close APPROVED, verify.sh exit 0 +- Entregable: los atributos del producto (bio, vegano, sin-gluten, etc.) ahora aparecen como badges en la ficha de producto del frontend. Añadido `ProductAttribute` tipo + `attributes` campo a la interfaz `Product`; mapeo de labels en español (16 valores); componente `ProductAttributes` con badges accesibles; integrado tras el `

` en `products/[slug]/page.tsx`. Backend ya devolvía atributos vía `serializeProduct` — sin cambios de backend. +- Seguridad: cambio solo frontend, sin nuevas deps, sin endpoints, sin auth ni env vars; `attributes` es read-only del API existente; el componente badge no usa `dangerouslySetInnerHTML`. +- Tests: `npx tsc --noEmit` exit 0, `npx eslint` en 4 archivos exit 0, `./scripts/verify.sh` exit 0. +- Artefactos: work/artifacts/F-070/.