Pearl Prime Repository Status Dashboard

Audit date 2026-08-21  ·  Live SHA 41d05fe072  ·  ref pearlstar_gitea/offline-main

Lane 06 superseded — 3 lanes retired as dead work; revenue path blocked on Cloudflare

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.

Engineer-weeks reclaimed
4–10
3 proposed lanes already closed
Revenue path
Blocked
Cloudflare D1/R2/KV unprovisioned
Critical path
30 days
parallelized · 89 if sequential
Books gated
32,401
70.6% capped at Layer 1
Active subsystems
14
of 19 tracked · 4 stale · 1 blocked
Locales shipping
1 / 14
6 staging · 7 draft
Pipelines at Layer 4
2 / 11
L1: 2 · L2: 2 · L3: 5 · L4: 2
Authority coverage
88.9%
16 of 18 subsystems documented

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 claimVerified statusEvidence
Source: artifacts/qa/NEXT_10_STEPS_SEQUENCING_20260821.md (Lane 07), verified against checkout 8a186c10a9.

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.

  1. 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.
  2. 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.
  3. 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.
  4. Step 4 — rescue the ~7,000 unlanded atom rows. Value-at-risk decays with every disk-pressure cleanup. Run worktree_triage.py --assert-safe first 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
Health = audit clustering (green / yellow / red). Days-stale badge is scored independently: green < 20, yellow 20–40, red 40+. A subsystem can be on-track and stale at once (GHL & Marketing).

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 IDDecisionResolvedImpactReference

Milestones

MilestoneTargetProgressOn trackNotes

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.

Parallelized path
30 working days
≈ 6 calendar weeks
If run sequentially
89 working days
59 days saved by parallelizing
Binding critical path
2 → 5 → 9
decision → flag → authoring
Peak load
~7.5 FTE
days 2–16, tapering to ~4

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

On the critical path Slack-absorbed Parallel, independent

Decision checkpoints

Nine rulings. Five of them happen in the single Step 2 sitting.

StepDecidesOwnerInputOutput

Per-step risk mitigation

StepRiskMitigation

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

Current (< 20 days) Aging (20–40 days) Stale (40+ days)
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
Script paths on hover. Coverage is per-pipeline and not comparable across rows.

Upgrade paths

What each promotion actually requires

PromotionBlockerOwnerTimeline

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.

Documented
16
of 18 subsystems
Missing docs
2
manga vessel wiring · teacher matrix
Stale > 45 days
3
citation risk, not blockers
Broken references
0
no 404s or dangling paths

Missing authority docs

SubsystemExpected pathImpactRecommendation

Stale authority docs

Doc Path Days stale Issue

Recommendations

PriorityActionOwnerTimelineImpact

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

Critical High Medium Low
# Risk Severity Impact Subsystems Mitigation Timeline