feat(F-138): completed feature
This commit is contained in:
15
work/artifacts/F-138/reviewer.json
Normal file
15
work/artifacts/F-138/reviewer.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"feature_id": "F-138",
|
||||
"agent": "reviewer",
|
||||
"stage": "review_gate",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "Design review approved. PricingService.seedVariantPrice (pricing owns pricing_variant_prices) is injected into CreateProductVariant via the pricing public index (R1-clean, identical to the cart→pricing cross-module write pattern). A single constructor covers all 3 variant-creation call sites. build-app hoists the pricing const above catalog registration — a pure construction reorder with no side effects. Seed is best-effort so variant creation never regresses.",
|
||||
"checks": [
|
||||
{"item": "catalog→pricing cross-module import goes through public index (R1)", "ok": true, "evidence": "import type { PricingServicePort } from '../../pricing/index.js' in variant-use-cases.ts and catalog.routes.ts"},
|
||||
{"item": "single CreateProductVariant constructor covers all call sites", "ok": true, "evidence": "new CreateProductVariant(repository, variants, deps.pricing) — used by POST /products (autovariant), GET /products/:id/variants (lazy), POST /products/:id/variants"},
|
||||
{"item": "build-app pricing hoist does not break pricing/cart routes", "ok": true, "evidence": "createPricingService(deps.pool) moved above registerCatalogRoutes; registerPricingRoutes and registerCartRoutes unchanged and still reference the same pricing instance"},
|
||||
{"item": "no new R1 / boundary violations", "ok": true, "evidence": "check-module-boundaries.mjs reports 0 NEW violations for F-138"},
|
||||
{"item": "no migration required", "ok": true, "evidence": "pricing_variant_prices.variant_id already UNIQUE/PK (setVariantPrice already uses ON CONFLICT (variant_id))"}
|
||||
],
|
||||
"issues": []
|
||||
}
|
||||
Reference in New Issue
Block a user