|
| 1 | +<!-- |
| 2 | + Checklist: API Requirements Quality |
| 3 | + Generated by speckit.checklist on 2025-11-14 |
| 4 | + Purpose: Unit-tests-for-English that validate the API & backend requirements' clarity, completeness, consistency, measurability and traceability |
| 5 | +--> |
| 6 | + |
| 7 | +# API Requirements Quality Checklist |
| 8 | + |
| 9 | +Purpose: Validate that API-related requirements in `specs/002-harden-checkout-tenancy` are complete, unambiguous, measurable, and traceable before implementation. |
| 10 | + |
| 11 | +Feature: Harden Checkout, Tenancy, and Newsletter |
| 12 | +Created: 2025-11-14 |
| 13 | +Author: automated speckit.checklist run |
| 14 | + |
| 15 | +Notes: This checklist tests the *requirements text* (not the implementation). Each item references the spec where relevant (e.g., FR identifiers). If a requirement is missing or ambiguous, mark the item and update spec/plan/tasks accordingly. |
| 16 | + |
| 17 | +## Requirement Completeness |
| 18 | +- [ ] CHK001 - Are authentication requirements for checkout fully specified, including which endpoints require a session and exact auth failure responses? [Completeness, Spec §FR-001] |
| 19 | +- [ ] CHK002 - Is the server-side pricing recalculation scope fully enumerated (line items, discounts, shipping, taxes, rounding rules, currency behavior)? [Completeness, Spec §FR-002] |
| 20 | +- [ ] CHK003 - Are all API endpoints that must include `X-Request-Id` and correlation propagation identified in the spec/plan? [Completeness, Spec §FR-021] |
| 21 | +- [ ] CHK004 - Are CSV export behaviors fully specified (stream threshold, async enqueue conditions, notification channels) and linked to an export failure/retry policy? [Completeness, Spec §FR-016] |
| 22 | + |
| 23 | +## Requirement Clarity |
| 24 | +- [ ] CHK005 - Is the payment pre-validation requirement precise about what constitutes a valid intent/token (authorization vs capture) and when validation occurs? [Clarity, Spec §FR-003] |
| 25 | +- [ ] CHK006 - Are error response shapes and HTTP status mappings explicitly defined for common failures (validation, auth, rate-limit, conflict, internal)? [Clarity, Spec §FR-008] |
| 26 | +- [ ] CHK007 - Is the canonical redirect behavior specified with HTTP status code, canonical link header conventions, and SEO considerations (308 vs 301, rel=canonical)? [Clarity, Spec §FR-005] |
| 27 | +- [ ] CHK008 - Are rate-limiting thresholds for newsletter and checkout clearly quantified (requests/min per IP/store) and behavior on exceed (Retry-After header) defined? [Clarity, Spec §FR-019, assumption in spec] |
| 28 | + |
| 29 | +## Requirement Consistency |
| 30 | +- [ ] CHK009 - Do authentication requirements align across spec/plan/tasks (no conflicting statements about anonymous checkout or default store fallbacks)? [Consistency, Spec §FR-001/FR-006] |
| 31 | +- [ ] CHK010 - Are tenant-scoping semantics consistently described (session.storeId vs domain-resolver) and not contradictory across plan and tasks? [Consistency, Spec §FR-005/FR-009] |
| 32 | +- [ ] CHK011 - Are the cache invalidation semantics (tags and revalidateTag signature) consistently used in plan and tasks (e.g., `revalidateTag(tag, 'max')`)? [Consistency, Plan P5] |
| 33 | + |
| 34 | +## Acceptance Criteria Quality |
| 35 | +- [ ] CHK012 - Are acceptance criteria measurable and tied to concrete checks (e.g., SC-003 specifies server-side recalculation validated by E2E across browsers)? [Measurability, Spec Success Criteria SC-003] |
| 36 | +- [ ] CHK013 - Do success criteria include pass/fail thresholds for non-functional requirements (LCP/CLS/API p95) with explicit measurement contexts? [Measurability, Spec SC-010] |
| 37 | +- [ ] CHK014 - Are rollback/compensation criteria specified for partial failures during checkout (what exact DB state indicates |
0 commit comments