{ "feature_id": "F-019", "agent": "qa", "verdict": "APPROVED", "summary": "QA approved. All F-019 acceptance criteria are covered by executable tests and green checks: valid promo discount recalculation, expired/exhausted 422 responses, and ignored client discount fields.", "evidence": [ "promotions.itest.ts covers valid promo code with recalculated discount", "promotions.itest.ts covers expired and exhausted promo codes returning HTTP 422", "promotions.itest.ts sends client discountCents in cart payload and server ignores it", "cd project && npm run lint/typecheck/build/test passed", "DB integration promotions/migrations suite passed: 11 files, 44 tests", "./scripts/verify.sh passed" ], "acceptance": [ { "criterion": "Given valid promo code When applied Then discount recalculated server-side", "status": "PASS", "evidence": "SAVE10 applied to current cart total returns server-calculated discount" }, { "criterion": "Given expired or exhausted code When applied Then HTTP 422 with reason", "status": "PASS", "evidence": "Expired OLD and exhausted USED both return 422" }, { "criterion": "Given client-supplied discount amount Then discount ignored", "status": "PASS", "evidence": "Client discountCents is stripped/ignored; cart discount comes from PromotionService" }, { "criterion": "verify.sh green", "status": "PASS", "evidence": "./scripts/verify.sh PASS" } ], "timestamp": "2026-08-15T17:44:09Z" }