Voyage · EventFarm Parity Stories
Each story describes one feature of Voyage as a real organizer, attendee, or event-day staff member would experience it — including what success looks like, what failure looks like, and how the page itself supports or fails the user. Trunk stories establish the surfaces; branch stories root in trunks and exercise specific capabilities. Every story is human-audit-ready and machine-consumable by the agent harness that turns it into a Playwright fuzzing run.
Surfaces of the application. Branches inherit auth + navigation from these.
Design-system primitives. Tested once with all interaction edge cases. Branches that use a component inherit its contract via usesComponents and don't re-test the fiddly UX bits.
Each roots in a trunk and focuses on the specific feature's success + failure surface. Component-tier mechanics inherit from the component stories above. Cluster B (organizer admin) was the first codex-factory dispatch — 7 stories at 10-12 failure modes each, all lint clean.
P1 (component harvest) and P2 (carve-out envelopes) are complete: 6 trunks, 21 components, 12 branches. P3 closed cluster B (organizer admin) via the first codex-factory dispatch. Next phases per docs/parity/eventfarm-stories-rollout.md: P4 guest-list cluster, P5 public-guest, P6 email/messaging (with deployed-runtime gap probes), P7 Canvas, P8 reports, then hand-written carve-outs (P9 payments, P10 compliance, P14 native), then bulk-gen for live/realtime EFx (P12) and integrations (P13).