Outcome Map
What does success look like — in binary terms?
Success Measures
| # | Outcome | Pass When | Fail When |
|---|---|---|---|
| O1 | Forms navigation unified | Single /forms entry in sidebar renders index page linking all form content | Forms still appear in 3+ separate nav locations |
| O2 | Standard process discoverable | Engineer finds THE chain (Zod -> Server Action -> FormShell -> Name Attrs -> TanStack) on one page | Process knowledge scattered across multiple pages or tribal |
| O3 | CRM patterns use lib atoms | Every CRM pattern page imports from @stackmates/ui — zero raw HTML form elements | Any CRM pattern page has <input>, <select>, or <form> without lib wrapper |
| O4 | Shipping gate exists | 10-point form checklist page exists and is linked from forms index | Engineer ships a form without knowing the checklist exists |
| O5 | Meeting agenda form composes | MeetingAgenda organism built from existing lib atoms only — no _components/ | MeetingAgenda requires >3 new atoms not in lib |
Outcome Dependencies
O1 (unified nav) ──────> O2 (standard process) ──────> O4 (shipping gate)
│
v
O3 (CRM rewrite) <── proves the standard works
│
v
O5 (meeting form) <── stress test for composition depth
Connection to SIO
- Situation: Engineer arrives, can't find THE standard → O1, O2 fix discoverability
- Intention: One unified section with standard process → O2, O4 define what "standard" means
- Obstacle: Nav split, raw HTML patterns, missing pages → O1 (nav), O3 (raw HTML), O5 (composition depth)