feat(F-094): completed feature
This commit is contained in:
14
work/artifacts/F-094/implementer.md
Normal file
14
work/artifacts/F-094/implementer.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# F-094 — Implementer evidence
|
||||
|
||||
## Changes
|
||||
|
||||
- Added `VariantManager` to the Publish tab with a plain-language explanation of variants, SKU, and EAN.
|
||||
- Added SKU-required/EAN-optional variant creation using the existing `POST /products/:id/variants` API.
|
||||
- Added existing variant list and inline success/conflict feedback.
|
||||
- Added `productsApi.createVariant`.
|
||||
- Updated Pricing and Inventory empty states to point to the now-existing Publish workflow.
|
||||
|
||||
## Validation
|
||||
|
||||
- Admin `npx tsc --noEmit` → exit 0
|
||||
- Admin ESLint on touched files → 0 errors (pre-existing warnings only)
|
||||
14
work/artifacts/F-094/leader-close.json
Normal file
14
work/artifacts/F-094/leader-close.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"feature_id": "F-094",
|
||||
"agent": "leader",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "F-094 adds an understandable variant creation workflow to Publish and fixes the misleading empty-state guidance.",
|
||||
"evidence": [
|
||||
"reviewer.json verdict=APPROVED",
|
||||
"security.json verdict=APPROVED",
|
||||
"qa.json verdict=APPROVED",
|
||||
"Root tests: 133 passed, 56 skipped",
|
||||
"scripts/verify.sh exit 0"
|
||||
],
|
||||
"timestamp": "2026-08-20T20:01:50Z"
|
||||
}
|
||||
13
work/artifacts/F-094/qa.json
Normal file
13
work/artifacts/F-094/qa.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"feature_id": "F-094",
|
||||
"agent": "qa",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "Publish variant management passes admin checks, the root test suite, and harness verification.",
|
||||
"evidence": [
|
||||
"Admin npx tsc --noEmit exit 0",
|
||||
"Admin ESLint touched files exit 0 with warnings only",
|
||||
"Root tests: 133 passed, 56 skipped",
|
||||
"scripts/verify.sh exit 0"
|
||||
],
|
||||
"timestamp": "2026-08-20T20:01:40Z"
|
||||
}
|
||||
14
work/artifacts/F-094/reviewer.json
Normal file
14
work/artifacts/F-094/reviewer.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"feature_id": "F-094",
|
||||
"agent": "reviewer",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "Publish now contains a clear variant workflow backed by the existing create/list endpoints, and empty states point to a real action.",
|
||||
"evidence": [
|
||||
"VariantManager explains sellable variants, SKU, and EAN",
|
||||
"Create form uses SKU required and EAN optional",
|
||||
"Successful creation updates the list without reload",
|
||||
"Duplicate API conflicts are shown to the operator",
|
||||
"Pricing and Inventory messages no longer reference a missing UI"
|
||||
],
|
||||
"timestamp": "2026-08-20T20:01:10Z"
|
||||
}
|
||||
13
work/artifacts/F-094/security.json
Normal file
13
work/artifacts/F-094/security.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"feature_id": "F-094",
|
||||
"agent": "security",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "The UI uses the existing authenticated admin variant endpoint; server-side SKU/EAN validation and uniqueness remain authoritative.",
|
||||
"evidence": [
|
||||
"No new backend route or authorization bypass",
|
||||
"SKU is required in the UI and backend schema validates all fields",
|
||||
"Duplicate SKU/EAN remains rejected by database constraints",
|
||||
"No secrets, unsafe HTML, or dependencies added"
|
||||
],
|
||||
"timestamp": "2026-08-20T20:01:20Z"
|
||||
}
|
||||
Reference in New Issue
Block a user