Beta Coverage & QA Ledger
Why this exists:
- Keep the Beta playground honest — every scratch pad should cite a canonical briefing before anyone touches schema or Supabase.
- Track which experiments are simply references vs. ready to wire so we don’t mis-prioritize engineering time.
- Provide a single QA checklist when we “trust but verify” Phase 0 drops.
Rendered in product at /beta/coverage with the underlying data shared in apps/stps/src/lib/stps/beta/experiments.ts.
Snapshot (Nov 2025)
| Total experiments | Drafting | Ready for wiring | Reference only | Shipped |
|---|---|---|---|---|
| 25 | 14 | 8 | 3 | 0 |
- Streams: Presets (5), Schema (5), Sessions (4), Architecture (7), AI & Data (4).
- “Ready for wiring” = docs + Beta page ready; waiting on adapters/storage.
- “Reference only” = intentionally narrative/spec level (no backend commitments yet).
Coverage notes
- Shared data file — All experiment metadata (docs, phase focus, next action) lives in
beta/experiments.ts. Pages, coverage, and ops board pull from it. - Docs cross-linking —
/beta/coverageshows which experiments citemethodology-summary,phase0-checklist,claude-overview, etc. All 25 experiments now have references. - Phase tracking — Each entry has a
phaseFocusstring so we can see the rollout ladder at a glance. Use it to flag scope creep before we touch Phase 3 items. - Next moves — Table rows list the concrete follow-up (e.g., “wire preset simulator into generator”, “add ceiling enforcement to Supabase policies”).
- Ops board —
/beta/ops-telemetryreplaces the “missing board” TODO; update it alongside the coverage ledger whenever migrations or flags change. - Schema lint in CI —
npm --workspace apps/stps run testnow runslint:schemabefore the existing test suite, so Blueprint ↔ schema drift blocks builds automatically.
QA checklist
- Docs first — Update the relevant briefing (
methodology-summary,process-summary, etc.) before adjusting a Beta page. - Beta sanity — After editing, load both
/betaand/beta/coverageto ensure:- The page appears in the correct tab/category.
- The coverage table shows the right status, doc links, and next move.
- Snapshot integrity — When a flow is “Ready for wiring”, translate it into:
- Supabase schema or seed updates (
generate:phase0-seed). - Convex store/provider changes (so
Phase0Providerparity stays intact).
- Supabase schema or seed updates (
- Deployment rehearsal — Re-run the
Phase 0 checkliststeps (feature gate, auth prompt, env vars) before sharing builds with stakeholders.
Gaps / new ideas
- Automated lint —
npm --workspace apps/stps run lint:schemanow checks node kinds vs. blueprint (allows futurecollectionnode). Wire it into preflight checklists. - Preset health —
/beta/coveragenow exposes sample snapshots (pass/warn). Next: wire into live Preset Lab runs + seed generator tests.
Use this file + /beta/coverage whenever the context window feels overloaded. It’s the quick “are we done thinking before building?” litmus test.