feat(F-094): completed feature

This commit is contained in:
chattie
2026-08-20 22:01:54 +02:00
parent c56037492d
commit 418bdca7f4
14 changed files with 305 additions and 58 deletions

View 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)

View 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"
}

View 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"
}

View 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"
}

View 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"
}