feat(F-091): completed feature

This commit is contained in:
chattie
2026-08-20 21:47:31 +02:00
parent d29c9b71c9
commit 4d0970df5d
12 changed files with 204 additions and 61 deletions

View File

@@ -4128,6 +4128,40 @@
"close": true
},
"completed_at": "2026-08-20T19:40:41Z"
},
{
"id": "F-091",
"type": "fix",
"title": "Explain and prevent duplicate SKU EAN update conflicts",
"problem": "Variant updates return an opaque 409 when the requested SKU or EAN already belongs to another variant, and Enter plus blur can submit the same edit twice. The admin only shows a generic Error, so operators cannot tell which value conflicts.",
"goal": "Keep SKU and EAN uniqueness, prevent duplicate in-flight submissions, and return/display a field-specific conflict message for SKU or EAN.",
"scope_in": [
"variant repository error mapping and admin InventorySection"
],
"scope_out": [
"No relaxation of uniqueness",
"no schema change",
"no duplicate codes allowed"
],
"priority": "med",
"risk": "low",
"description": "Problem: Variant updates return an opaque 409 when the requested SKU or EAN already belongs to another variant, and Enter plus blur can submit the same edit twice. The admin only shows a generic Error, so operators cannot tell which value conflicts.. Goal: Keep SKU and EAN uniqueness, prevent duplicate in-flight submissions, and return/display a field-specific conflict message for SKU or EAN.. Scope IN: variant repository error mapping and admin InventorySection. Scope OUT: No relaxation of uniqueness, no schema change, no duplicate codes allowed. Type: fix. Priority: med. Risk: low.",
"acceptance": [
"- Repeated Enter/blur interaction sends at most one in-flight PATCH per SKU or EAN field",
"- Duplicate SKU conflict returns a clear SKU-specific message",
"- Duplicate EAN conflict returns a clear EAN-specific message",
"- Existing unique values continue to save",
"- Typecheck, tests, and verify.sh pass"
],
"status": "done",
"created_at": "2026-08-20",
"gates": {
"reviewer": true,
"security": true,
"qa": true,
"close": true
},
"completed_at": "2026-08-20T19:47:31Z"
}
]
}