Epic 003 implementation tasks
These are small, ordered implementation prompts. A story is not an implementation task. Prefer one
independently understandable behavior and its evidence, delivered as a thin vertical slice where
needed. Update task status here and in its file together.
Every task inherits this execution contract:
- Read the parent story/scenarios, scope/invariants, relevant canonical guides,
current state, and handover; inspect actual code.
- Preserve architecture: frontend API boundary, HTTP/application/domain separation, repositories,
and provider adapters. Update OpenAPI/TSDoc/project docs when affected.
- Put every applicable scenario ID literally in test titles or native metadata and update
traceability.
- Add the lowest useful tests and higher-level evidence specified by the scenario. Do not use
browser E2E to prove persistence/history unnaturally.
- Apply the repository Definition of Done, run
pnpm quality,
perform proportional validation, and update current state/handover with real results.
Phase 1 — Product administration
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-001 |
Protected product list and empty state |
Application Zero auth |
Done |
| MVP-TASK-002 |
Create valid product |
001 |
Done |
| MVP-TASK-003 |
Reject invalid product |
002 |
Done |
| MVP-TASK-004 |
Edit product for future use |
002 |
Done |
| MVP-TASK-005 |
Delete product from new ordering |
002 |
Done |
Phase 2 — Current order
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-006 |
Render empty always-active cart and product cards |
001 |
Done |
| MVP-TASK-007 |
Add products through direct/repeated taps |
006 |
Done |
| MVP-TASK-008 |
Show item count and gross total |
007 |
Done |
| MVP-TASK-009 |
Review, correct, and abandon cart |
008 |
Done |
| MVP-TASK-010 |
Capture operational metadata |
009 |
Done |
Phase 3 — Checkout boundary and finalization
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-011 |
Neutral checkout facade and deterministic fake |
Foundation |
Done |
| MVP-TASK-012 |
Finalize non-commercial order |
009–010 |
Done |
| MVP-TASK-013 |
Successful fake checkout finalizes commercial order |
011–012 |
Done |
Phase 4 — Active kitchen queue
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-014 |
Render one chronological detailed order |
012 |
Done |
| MVP-TASK-015 |
Render next detailed slips and kitchen labels |
014 |
Done |
| MVP-TASK-016 |
Render compact numbered/unnumbered overflow |
015 |
Done |
| MVP-TASK-017 |
Active count and approximately-15-order queue |
016 |
Done |
Phase 5 — Fulfillment and history
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-018 |
Queued → Preparing |
014 |
Done |
| MVP-TASK-019 |
Preparing → Ready |
018 |
Done |
| MVP-TASK-020 |
Ready → Delivered and active removal |
019 |
Done |
| MVP-TASK-021 |
Backward active-state corrections |
019 |
In progress |
| MVP-TASK-022 |
Explicit detailed state selector |
021 |
In progress |
| MVP-TASK-023 |
Durable snapshots and append-only significant history |
012–021 |
In progress |
| MVP-TASK-024 |
Edit note/queue number with history |
023 |
In progress |
Phase 6 — Live sales
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-025 |
Current-day commercial gross total |
013, 023 |
In progress |
| MVP-TASK-026 |
Per-product counts and stable identity |
025 |
In progress |
| MVP-TASK-027 |
Sales exclusions, fulfillment neutrality, restart |
026 |
In progress |
Phase 7 — Checkout safety and reliability
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-028 |
Definitive checkout failure/cancellation |
013 |
In progress |
| MVP-TASK-029 |
Unknown checkout outcome and no blind retry |
028 |
In progress |
| MVP-TASK-030 |
Duplicate checkout initiation protection |
029 |
In progress |
| MVP-TASK-031 |
Visible backend/provider failure isolation |
028–030 |
Implemented |
| MVP-TASK-032 |
Process-restart durability proof |
023, 027 |
Implemented |
Phase 8 — Provider discovery and conditional adapter
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-033 |
Design Surfboard Demo payment/ECR integration |
None; parallel-safe |
Implemented |
| MVP-TASK-034 |
Implement Surfboard Demo payment/ECR adapters |
033, safety tasks |
Blocked |
Phase 9 — Headline and traceability completion
| Task |
Behavior |
Depends on |
Status |
| MVP-TASK-035 |
Journey 001 executable demonstration |
001–016 |
Implemented |
| MVP-TASK-036 |
Journey 002 commercial loop |
013–027 |
Implemented |
| MVP-TASK-037 |
Journey 003 non-commercial loop |
012, 014–027 |
Implemented |
| MVP-TASK-038 |
Journey 004 checkout failure safety |
028–031 |
Implemented |
| MVP-TASK-039 |
Automate scenario/test ID validation |
Stable corpus of tests |
Implemented |
Tasks 033 and the fake-backed application path may proceed independently. Task 034 is conditional:
if discovery finds no safe supported checkout API, record that outcome and do not invent an adapter.
Journey tasks consolidate demonstrations only after smaller scenario evidence exists; they do not
replace it.