feat(F-115): completed feature

This commit is contained in:
chattie
2026-08-21 14:20:07 +02:00
parent 4e4ebfdc4f
commit aa78ba6d8e
14 changed files with 214 additions and 174 deletions

View File

@@ -4943,6 +4943,76 @@
"close": true
},
"completed_at": "2026-08-21T11:01:42Z"
},
{
"id": "F-115",
"type": "fix",
"title": "Revert F-100 auto-SKU to SKU-MV-{uuid}",
"problem": "F-100 introduced title-derived SKUs but the team wants the original UUID-based format SKU-MV-{productId} to keep working with the existing inventory and external links",
"goal": "Restore SKU-MV-{id} on product creation and lazy migration; remove the generateSku endpoint and admin UI editor; keep the pure SKU helper as a utility",
"scope_in": [
"catalog variants",
"admin variant UI",
"product creation route",
"lazy migration"
],
"scope_out": [
"no full revert of the helper module"
],
"priority": "high",
"risk": "low",
"description": "Problem: F-100 introduced title-derived SKUs but the team wants the original UUID-based format SKU-MV-{productId} to keep working with the existing inventory and external links. Goal: Restore SKU-MV-{id} on product creation and lazy migration; remove the generateSku endpoint and admin UI editor; keep the pure SKU helper as a utility. Scope IN: catalog variants, admin variant UI, product creation route, lazy migration. Scope OUT: no full revert of the helper module. Type: fix. Priority: high. Risk: low.",
"acceptance": [
"POST /products creates variant with SKU-MV-{uuid}",
"Lazy migration uses SKU-MV-{uuid}",
"POST /products/sku:generate endpoint removed",
"Admin PriceStockSection no longer shows the SKU regenerate button",
"Old SKUs and external links keep working",
"Typecheck, tests, verify pass"
],
"status": "done",
"created_at": "2026-08-21",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-21T12:20:07Z"
},
{
"id": "F-116",
"type": "feature",
"title": "Translate legacy OpenCart categories to Spanish (Title Case)",
"problem": "F-114 imported 39 categories with English names like HERBALIST, NUTS & SEEDS, BREAD & PASTRIES — operators want Spanish translations with first letter of each word capitalized to match the rest of the catalog",
"goal": "Translate every legacy category name to Spanish using Title Case (Primera Letra en Mayúsculas), preserving the diacritics, and replace the existing entries in bulk",
"scope_in": [
"categories module",
"legacy catalog helper",
"seed script update",
"idempotent update"
],
"scope_out": [
"no new categories",
"no brand renames"
],
"priority": "med",
"risk": "low",
"description": "Problem: F-114 imported 39 categories with English names like HERBALIST, NUTS & SEEDS, BREAD & PASTRIES — operators want Spanish translations with first letter of each word capitalized to match the rest of the catalog. Goal: Translate every legacy category name to Spanish using Title Case (Primera Letra en Mayúsculas), preserving the diacritics, and replace the existing entries in bulk. Scope IN: categories module, legacy catalog helper, seed script update, idempotent update. Scope OUT: no new categories, no brand renames. Type: feature. Priority: med. Risk: low.",
"acceptance": [
"Translation table covers every legacy category name",
"Names are translated to Spanish in Title Case",
"Existing entries are renamed in place; no duplicates introduced",
"Re-running the seed is idempotent",
"Typecheck, tests, verify pass"
],
"status": "pending",
"created_at": "2026-08-21",
"gates": {
"reviewer": false,
"security": false,
"qa": false
}
}
]
}