Expected Output Acceptance Specs
Layer 3 of the knowledge system. Each file defines exactly what a customer sees at every touchpoint for a specific tier+channel combination.
Methodology: ../processes/expected-output-methodology.md
Interview prompt template: ../processes/expected-output-interview-template.md
The Three Layers
Layer 1: Feature Matrix (EXISTS — features.yaml, tier-restrictions.md)
"Starter gets 12 tools, 2 agents, no embed widget"
Layer 2: Process Flows (EXISTS — onboarding.md, checkout-flow.md, etc.)
"POST /api/onboard creates premium_churches row, sends email, syncs MailerLite"
Layer 3: Expected Outputs (THIS DIRECTORY)
"When a Starter Chat customer opens Training > Agents, they see:
- Care Agent: expandable, shows personality editor, NO voice picker
- Coordinator Agent: expandable, shows personality editor, NO voice picker
- Discipleship Agent: locked, shows 'Upgrade to unlock'
- Stewardship Agent: locked, shows 'Upgrade to unlock'
- NO 'Voice Agent' section anywhere"
Spec Status
| File | Tier/Product | Status | Last Verified |
|---|---|---|---|
| starter-chat.md | Starter Chat | COMPLETE | 2026-03-28 |
| starter-voice.md | Starter Voice | COMPLETE | 2026-03-28 |
| starter-both.md | Starter Both | COMPLETE | 2026-03-28 |
| pro-suite-chat.md | Pro Chat / Suite Chat | COMPLETE | 2026-03-28 |
| pro-both.md | Pro Both | COMPLETE | 2026-03-28 |
| suite-both.md | Suite Both | COMPLETE | 2026-03-28 |
| pewsearch-premium.md | PewSearch Premium Page | COMPLETE | 2026-03-28 |
| pewsearch-pro-website.md | PewSearch Pro Website | COMPLETE | 2026-03-28 |
| itw-premium.md | ITW Premium | COMPLETE | 2026-03-28 |
| sermonwise-pro.md | SermonWise Pro | COMPLETE | 2026-03-28 |
| trial-expired.md | Trial Expired | COMPLETE | 2026-03-28 |
| cancelled.md | Cancelled | COMPLETE | 2026-03-28 |
Rules
- The FOUNDER defines expected outputs, not agents
- Expected outputs are the source of truth for BOTH code and tests
- If code doesn't match the spec, the code is wrong (not the spec)
- If a spec is missing, no agent should build the feature until the spec exists
- Specs are living documents -- update them BEFORE changing code
How Specs Are Built
Each spec is created through a structured interview between an agent and the founder:
- Agent reads all context files (methodology, tier-restrictions, features.yaml, relevant code)
- Agent walks through every touchpoint (45 per tier) asking the founder what should be visible/hidden
- Founder's answers are captured in the spec file using the standard template
- After all touchpoints are covered, the agent reads the spec back for approval
- Playwright E2E tests are generated from the approved spec
- Tests run, failures fixed, both spec and test committed together
Touchpoint Categories
Each spec covers 62 touchpoints across 8 categories — the complete customer journey:
- A. Discovery Paths (10): Every way a customer finds this product (Google, PewSearch, denomination pages, ads, referrals)
- B. Pre-Purchase Journey (6): Landing page → onboard form steps → Stripe checkout → confirmation
- C. Email Journey (8): Welcome, magic link, setup reminders, trial warnings, receipts, notifications
- D. First Login & Dashboard (5): Magic link click → header → tabs → overview → getting started
- E. Setup Journey (13): Every step to get the product configured and live (training, settings, team)
- F. Public-Facing Pages (6): Chat page, care hub, embed widget, vanity page — what the church's visitors see
- G. Ongoing Dashboard (6): Calls, requests, care, social, upgrade, analytics
- H. Lifecycle Events (8): Usage limits, trial expiry, payment failure, cancellation, upgrade, downgrade
Test Account Inventory
| Plan | Token | Status |
|---|---|---|
| pro_website (chat) | demo-grace-2026 | Working — Grace Community |
| pro_website (both) | demo-stjoseph-2026 | Working — St. Joseph (PewSearch only) |
| pro_website (both) | demo-bridge-2026 | Working — The Bridge (PewSearch only) |
| suite_both | sales-admin-2026 | 404 — needs provisioning |
| starter_chat | — | Not provisioned |
| starter_voice | — | Not provisioned |
| starter_both | — | Not provisioned |
| pro_chat | — | Not provisioned |
| pro_both | — | Not provisioned |
| trial_expired | — | Not provisioned |
| cancelled | — | Not provisioned |
54 journey tests are test.fixme() pending these accounts. The suite_both account (sales-admin-2026) is the highest priority — 8 dashboard tests are blocked on it. Provision via an INSERT into premium_churches with the appropriate plan, channel, and admin_token values.
How Specs Are Built
Each spec is created through a 3-stage process:
Stage 1: Agent Research (no founder needed)
Subagents pre-populate the entire draft by reading code, visiting production pages, and capturing screenshots:
- Discovery researcher: all paths to the product
- Dashboard researcher: all tabs/sub-tabs for this tier
- Journey researcher: full signup → setup → working product flow
- Completeness validator: verify all 62 touchpoints are covered
Stage 2: Founder Interview (rapid yes/no/tweak)
Walk through the draft. For each touchpoint: "I see [X]. Correct?" → yes / no / tweak. Turns a 90-minute open-ended interview into ~30 minutes of confirmation.
Stage 3: Test Generation
Playwright E2E tests generated from the approved spec. Spec is right, code must match.