From a591992840b7941e8c9bb28825fd7c7c7e0d3f42 Mon Sep 17 00:00:00 2001 From: chattie Date: Thu, 20 Aug 2026 21:34:12 +0200 Subject: [PATCH] feat(F-089): completed feature --- backlog/features.json | 32 ++++++++++++ .../src/app/(dashboard)/products/page.tsx | 2 +- project/apps/admin/tsconfig.tsbuildinfo | 2 +- work/artifacts/F-089/implementer.md | 16 ++++++ work/artifacts/F-089/leader-close.json | 15 ++++++ work/artifacts/F-089/qa.json | 14 +++++ work/artifacts/F-089/reviewer.json | 13 +++++ work/artifacts/F-089/security.json | 13 +++++ work/current.md | 8 ++- work/runtime-status.json | 52 +++++++++++++++++-- 10 files changed, 158 insertions(+), 9 deletions(-) create mode 100644 work/artifacts/F-089/implementer.md create mode 100644 work/artifacts/F-089/leader-close.json create mode 100644 work/artifacts/F-089/qa.json create mode 100644 work/artifacts/F-089/reviewer.json create mode 100644 work/artifacts/F-089/security.json diff --git a/backlog/features.json b/backlog/features.json index 5dd4b23..bd774ed 100644 --- a/backlog/features.json +++ b/backlog/features.json @@ -4059,6 +4059,38 @@ "close": true }, "completed_at": "2026-08-20T19:29:14Z" + }, + { + "id": "F-089", + "type": "fix", + "title": "Product listing link uses storefront /productos route instead of frontend /products route", + "problem": "The active product link in the admin product listing points to the storefront Spanish route /productos/:slug, but the customer frontend served on port 3003 exposes product detail at /products/:slug. Clicking the listing link lands on the wrong application route.", + "goal": "Use the frontend customer route /products/:slug for the product listing link so operators open the correct product page on port 3003.", + "scope_in": [ + "admin product listing" + ], + "scope_out": [ + "No backend or storefront changes; no URL redesign" + ], + "priority": "med", + "risk": "low", + "description": "Problem: The active product link in the admin product listing points to the storefront Spanish route /productos/:slug, but the customer frontend served on port 3003 exposes product detail at /products/:slug. Clicking the listing link lands on the wrong application route.. Goal: Use the frontend customer route /products/:slug for the product listing link so operators open the correct product page on port 3003.. Scope IN: admin product listing. Scope OUT: No backend or storefront changes; no URL redesign. Type: fix. Priority: med. Risk: low.", + "acceptance": [ + "- Active product links from the admin listing use http://192.168.18.93:3003/products/:slug", + "- The link no longer uses the /productos/:slug path", + "- Existing target blank and safe rel attributes remain unchanged", + "- Admin typecheck/lint pass", + "- verify.sh is green" + ], + "status": "done", + "created_at": "2026-08-20", + "gates": { + "reviewer": true, + "security": true, + "qa": true, + "close": true + }, + "completed_at": "2026-08-20T19:34:12Z" } ] } diff --git a/project/apps/admin/src/app/(dashboard)/products/page.tsx b/project/apps/admin/src/app/(dashboard)/products/page.tsx index 6d8f73c..7d7b06b 100644 --- a/project/apps/admin/src/app/(dashboard)/products/page.tsx +++ b/project/apps/admin/src/app/(dashboard)/products/page.tsx @@ -262,7 +262,7 @@ export default function ProductsPage() { {p.state === 'active' ? ( `, pero el frontend customer usa `/products/`. F-089 corrige únicamente ese path. + ## Última incidencia resuelta (2026-08-20) F-088 cerrada con todos los gates aprobados. El admin responde HTTP 200 en `http://192.168.18.93:3004/`. diff --git a/work/runtime-status.json b/work/runtime-status.json index 5f24a55..0528217 100644 --- a/work/runtime-status.json +++ b/work/runtime-status.json @@ -1,12 +1,12 @@ { - "feature_id": "F-088", + "feature_id": "F-089", "stage": "close", "agent": "leader", - "action": "F-088 cerrado: admin :3004 verificado HTTP 200 y verify.sh verde", - "state": "done", + "action": "Validate F-089 gates and close route correction", + "state": "running", "next_agent": "leader", - "waiting_for": "Seleccionar la siguiente feature pending", - "updated_at": "2026-08-20T19:29:27Z", + "waiting_for": "verify.sh green", + "updated_at": "2026-08-20T19:34:01Z", "timeline": [ { "ts": "2026-08-20T19:15:36Z", @@ -56,6 +56,48 @@ "stage": "close", "state": "done", "message": "F-088 cerrado: admin :3004 verificado HTTP 200 y verify.sh verde" + }, + { + "ts": "2026-08-20T19:32:56Z", + "agent": "leader", + "stage": "intake", + "state": "running", + "message": "Triage product listing link route mismatch: /productos vs frontend /products" + }, + { + "ts": "2026-08-20T19:33:07Z", + "agent": "implementer", + "stage": "build", + "state": "running", + "message": "Change admin product listing link from /productos/:slug to frontend /products/:slug" + }, + { + "ts": "2026-08-20T19:33:31Z", + "agent": "reviewer", + "stage": "review_gate", + "state": "running", + "message": "Review corrected customer frontend route in admin product listing" + }, + { + "ts": "2026-08-20T19:33:41Z", + "agent": "security", + "stage": "security_gate", + "state": "running", + "message": "Check F-089 link-only change for unsafe URL or target behavior" + }, + { + "ts": "2026-08-20T19:33:49Z", + "agent": "qa", + "stage": "qa_gate", + "state": "running", + "message": "Run F-089 route regression, admin typecheck/lint, and verify" + }, + { + "ts": "2026-08-20T19:34:01Z", + "agent": "leader", + "stage": "close", + "state": "running", + "message": "Validate F-089 gates and close route correction" } ] }