▶️ How to use this. Each phase below is a self-contained card. When you start a phase, open a fresh Claude chat, name it (e.g. "Phase 2 — Data layer"), paste that phase's page in, and say "walk me through this one step at a time." One phase per chat — it keeps Claude focused and easy to follow. Janet provides the design; you (Kenzie) + Claude build it.

🛡️ The data-realness rule (applies to every phase)

"We're only as good as the realness of our data." So nothing about the numbers is ever trusted because it "looks good" — it's proven. Four standing rules:

  1. Keep the old source as the truth-check. Coefficient stays on as the fallback and the comparison baseline until a channel is proven. We never remove it before the new numbers have matched it.
  2. Every data change ends in a green/red check, not a judgment. Each phase produces an objective result — e.g. "all 4 schools: old number vs new number — match ✅ / mismatch ❌." If anything is ❌, stop and fix before moving on. You read green or red; you don't have to eyeball-judge.
  3. Reconcile against reality for a full cycle. Before a channel becomes the real source, its API numbers must match the Coefficient sheet for a known closed period on every school — then run one full bi-weekly cycle with fallback still on, watching for drift.
  4. 🛑 Three STOP gates need a sign-off (Janet or a technical reviewer) before they touch clients: the Phase 2 parity result, the Phase 6 cutover (removing Coefficient), and the 3 Critical bugs. Everywhere else, Claude + Kenzie proceed on a green check.

Index of phases

(Phase 0 — Access — is already done. Phases 2 & 3 are written below as the first packets; the rest follow the same shape.)

Phase 2 — Build the flexible data layer

Phase 3 — Google Ads (first real channel)

Reference — data sources & credentials