Program at a glance
Three proven subsystems are shipping (Waystream Layer-4 bestseller cells, core en-US infrastructure, Pearl Star GPU dispatch). But the audit generation this dashboard was commissioned from is materially stale — Lane 07 verified each disputed premise against code and disk, and three of Lane 06's five critical-path items are already closed. Read the corrections before funding anything.
Lane 07 supersedes Lane 06 on the critical path. The synthesis's #1 recommendation — "fix the EXERCISE-gate CJK classifier, 2 weeks, unblocks 6 locales and ~12,000 books" — is dead work. The fix landed at registry_resolver.py:625, and 213 of 213 localized EXERCISE banks were counted present for all six CJK locales. Two further items were already decided: Q-MM-V2 (DEFERRED, 2026-08-14) and the social visual license gate (approved, 2026-08-10). Funding the synthesis as written would burn roughly 4–10 engineer-weeks on already-merged work.
What is genuinely open is narrower and different. content_authority has zero references repo-wide. hybrid_select_slot_production() has zero production callers and enforce_dimension_gates still defaults to False. And the synthesis omits entirely what the operator's own checklist ranks as a live P1: Cloudflare D1/R2/KV is unprovisioned and gates every paid download in the system. No revenue path exists until it lands, regardless of how many books reach Layer 2.
Verified corrections — read before funding anything
Every correction cites a file path, line number, or measured count, not a document. Re-run the one-line verifications before de-staffing any lane. Mark corrections as superseded-provenance; never delete the original synthesis.
| Lane 06 claim | Verified status | Evidence |
|---|
Trap for anyone recounting manga. config/source_of_truth/manga_book_plans/ holds 3,780 zh_TW ep_*.yaml files, but they are auto-generated plans carrying title: TBD — ep_002 and zero chapter_script_writer_handoff keys. Counting them as stories is exactly the listing-as-story drift class that scripts/ci/check_manga_story_authored.py exists to block. Authored stories live in artifacts/manga/chapter_scripts/.
Health distribution
19 tracked subsystems by health state
Six-month trend
What each month's audit actually measured
- June — 1-touch: 1,519 catalog listings claimed. Listings, not readable EPUBs.
- July — books-first: 89 real EPUB artifacts tracked; 3 shipped with GHL attach.
- August — audit-at-scale: 32,401 plans censused; 70.6% Layer-1 only; 3 architect Q-gates surfaced. EI v2 wiring carries 6 weeks of unratified spec debt.
Start on day one
Four steps run in parallel from day 0. Two are decisions; one is operator provisioning with the longest lead time; one is value actively at risk.
- Step 1 — reconcile the stale audit generation. Publish the correction banner and cancel three lanes before they are staffed. Cheapest step in the set, and it changes what every other step is worth.
- Step 2 — rule Q-CATALOG-AUDIT-01..04 in one sitting. All four defaults are pre-written; this is a read-and-confirm session, not an analysis session. Timebox to 90 minutes.
- Step 3 — provision Cloudflare D1 + R2 + KV. Start day 1: the long pole is operator-token scope, not engineering. It is the only revenue path in the program.
- Step 4 — rescue the ~7,000 unlanded atom rows. Value-at-risk decays with every disk-pressure cleanup. Run
worktree_triage.py --assert-safefirst and archive the manifest outside the repo.
Reading these tabs. The Projects, Q-Gates, Locales, and Pipelines tabs render the Lane 06 audit rows with Lane 07's corrections attached inline — superseded entries are dimmed and marked, never deleted, so the original position stays auditable. The Next Steps and Risks tabs are reconciled: they show the corrected picture, with retired items listed at the bottom for traceability.
SHA caveat. The audit declares live SHA 41d05fe072; Lane 07 measured against checkout 8a186c10a9. Every count it carries — 32,401 plans, 213/213 EXERCISE banks, 81 authored manga cells, zero content_authority refs — should be re-confirmed if the two have diverged.
Subsystem health
PROGRAM_STATE tracks at subsystem level, not project level. Nothing is orphaned — everything tracked has an owner or is decision-gated, and staleness here is mostly "waiting for a decision" rather than abandonment. Two rows carry Lane 07 corrections: the EXERCISE-gate classifier is resolved, not stale, and Storefront/Cloudflare is added as the one genuinely blocked subsystem. Click any column header to sort.
| Subsystem ↕ | Owner ↕ | Health ↕ | Days stale ↕ | Current state |
|---|
Q-gate critical path
Ten gates sit in the register, but Lane 07 verified that Q-MM-V2 was already ruled DEFERRED on 2026-08-14 — it is marked superseded below rather than removed. The four Q-CATALOG-AUDIT gates are the ones that matter, and all four have pre-written recommended defaults: they can be closed in a single 90-minute operator sitting.
Unblocking sequence
Three phases across 30 working days. Step 3 (Cloudflare provisioning) runs fully parallel from day 1 and is not shown.
Most blocking gates
Ordered by subsystems and books stalled
| Q-gate ↕ | Resolution needed | Owner ↕ | Books affected ↕ | Est. unblock ↕ |
|---|
All open gates
Full register of pending operator and architect decisions.
| Q-gate ID ↕ | Question | Owner ↕ | Blocking ↕ | Priority ↕ |
|---|
Resolved — last 7 days
| Q-gate ID | Decision | Resolved | Impact | Reference |
|---|
Milestones
| Milestone | Target | Progress | On track | Notes |
|---|
Next 10 steps
Ordered so that decisions with pre-written recommended defaults resolve first (they are cheap and they gate expensive lanes), long-lead operator-only provisioning starts on day one in parallel, and no engineering effort is committed to a premise Lane 07 could not verify.
The path is decision-bound, not engineering-bound. If Step 2 slips a week, the whole program slips a week. Four rulings with pre-written defaults are worth more schedule than any two engineering lanes in this set — and the operator's ~1 day of total decision time is the scarcest resource on the path. Book it before scheduling any engineering.
Dependency timeline
30 working days · bar position shows earliest start, not committed schedule · hover for detail
Decision checkpoints
Nine rulings. Five of them happen in the single Step 2 sitting.
| Step | Decides | Owner | Input | Output |
|---|
Per-step risk mitigation
| Step | Risk | Mitigation |
|---|
Resource allocation
Locale shipping status
CJK6 and Western locales are at parity, both 42 days behind en-US — this is not a prioritization gap. Both are post-Wave-1 and stalled on different next-wave gates. Corrected by Lane 07: the CJK blocker is no longer the EXERCISE-gate (fixed; 213/213 localized banks verified for all six locales) but the English-tuned register gate — F2/F6/F12 score CJK prose at 0 no matter how good it is. Western locales remain blocked on Wave 2 authoring never launching.
Days since last ship
14 locales · en-US is the base; everything else clusters at 2026-07-10
| Locale ↕ | Name ↕ | Last shipped ↕ | Assets ↕ | Days stale ↕ | Deployment ↕ | Regression risk ↕ | Blocked by |
|---|
Locale-specific risks
- zh-TW — 99.5% atom coverage (26 TRANSITION gaps only). The blocker is the EXERCISE-gate, not atoms.
- zh-CN / ko-KR — lower coverage (81% / 76%). Both the EXERCISE-gate fix and atom authoring are needed.
- Western locales — 100% availability via on-build fallback to en-US. No content risk; Wave 2 authoring is the only gate.
Unblock path
- CJK6 — fix the locale-aware EXERCISE-gate classifier (2 weeks, Pearl_Dev) → 6 locales move to production builds.
- Western 7 — launch Wave 2 author dispatch (1 week prep, 4+ weeks authoring) → at-scale production.
- Parity restored when both land: CJK and Western both at Wave 2 with the classifier fix in place.
Pipeline acceptance layers
Layer 1 structurally clear → Layer 2 authored candidate → Layer 3 system working → Layer 4 bestseller register. No pipeline skips a layer; all progressions are orderly. Layer 4 exists but is not scaled — the blind-10 proof covers 10 Waystream cells, not 32,401 books.
Layer distribution
11 pipelines audited
Gaps & reading
- L2 is not the bottleneck. Only 2 pipelines sit at Layer 2, and both have clear upgrade paths.
- L4 is real but narrow. 2 of 11 pipelines reached Layer 4; the blind-10 covers 10 cells only.
- The bottleneck is decisions. Catalog build (L2) is held by Q-CATALOG-AUDIT-01/02/03, not by engineering capacity.
| Pipeline ↕ | Layer ↕ | Last run ↕ | Result ↕ | Coverage ↕ | Blockers |
|---|
Upgrade paths
What each promotion actually requires
| Promotion | Blocker | Owner | Timeline |
|---|
Authority documentation gaps
88.9% coverage (16 of 18 subsystems documented). No broken references — every documented subsystem has a readable, non-empty authority doc. The two missing docs are low-to-medium impact; the real problem is a doc that exists but is unratified.
Missing authority docs
| Subsystem | Expected path | Impact | Recommendation |
|---|
Stale authority docs
| Doc ↕ | Path | Days stale ↕ | Issue |
|---|
Recommendations
| Priority | Action | Owner | Timeline | Impact |
|---|
The authority gap that matters is not a missing file. docs/specs/EI_V2_STRENGTHENED_ARCHITECTURE_SPEC.md exists and is current — but it has been unratified for 6 weeks, and hybrid_select_slot_production() has zero production callers while enforce_dimension_gates runs WARN-only. A spec nothing enforces is deployment risk, and it sits in front of 32,401 books.
Risk matrix
Severity (how bad if it bites) against impact (how much of the program it touches). Bubble area is proportional to the number of subsystems or locales affected; the number inside each bubble keys to the table below. Reconciled against Lane 07 — four Lane 06 risks are retired and plotted nowhere; they remain listed at the bottom of the table for traceability.
Severity × impact
10 active risks · 4 retired and not plotted · bubble area ∝ subsystems affected
| #↕ | Risk | Severity ↕ | Impact | Subsystems ↕ | Mitigation | Timeline ↕ |
|---|