programs/ROADMAP.md
🟢 CURRENT STATE (2026-07-14) — the LIVE driver is docs/FOUNDATION_COMPLETION_PLAN.md; everything below (the v2.0 banner + §0-§9) is HISTORICAL (2026-07-03/04).
Phase 6 — the 79-chapter v2.5 Story Spine — is BUILT (Prologue→Epilogue), re-fleshed (modern-arc + endgame AAA re-cascade), reveal-window-aligned. The enhancement program (Care Doctrine = CVD §17.1, coverage re-arch, significance-lens, entity-persona) is designed + wired.
FOUNDATION_COMPLETION_PLAN §1 (the 14-gate harness) + §2 (design-layer + WS7 systems wiring) are DONE. §3 (content re-cascade): the 12-node care-sensitive dragon+care bucket + all 5 cardinal forks RULED + applied (Ch-72 Vritra kill/spare · the Ch-75 "Last Coil" · Option-D mastery-numbering · aku-aku Option-C · the gladiator ladder) + the BE_ registry scatter + the connective-web map (79 links) + top links built. §4 Steps 1-3 — the RAG canon-reasoning index — DONE on REAL embeddings (fastembed + sqlite-vec, 7176 chunks,query_canon,enrich.py --semantic, theindex_freshnessgate).
REMAINING: §3 tail (connective long-tail / link-graph edges / persona rows / anchor flips) → §4 Scope-A book pipeline (Steps 4-9) → §5 Josh numericals → final whole-arc verification → Fable-5's 79-chapter v3 rewrite (docs/spine/FABLE5_HANDOFF.md). Then Milestone-1 pipeline (region → quest → asset: Meshy/AIVA/ElevenLabs) → UE 5.8 → ship. Book-purchase list minimized indocs/BOOK_ACQUISITION_MINIMIZED.md. Orient fromdocs/START_HERE.md.
---
(v2.0 banner, Session 6, 2026-07-04 — HISTORICAL) — supersedes §0 below. Orient from
docs/START_HERE.md. Phase 0: DONE. Batch-1 walk-through (#1-#21): COMPLETE (ruled;
most applied gate-green; the §17.7 retired-name class fully closed + G1-guarded; one hold =
the 8 SSBL #20 prose edits, critic-GO'd + staged). Built this session: the deterministic
canon-integrity system (graph + thegraphgate +recall.py+id_normalization.json;
spec docs/CANON_INTEGRITY_ARCHITECTURE.md) and the game-systems design layer
(COMBAT_ENCOUNTER_SYSTEM+RUNTIME_GENERATIVE_LAYER+SCIENCE_GROUNDING+ the 75-boss
BOSS_PERSONAS). NEXT MAJOR PHASE = Phase 6 STORY SPINE CASCADE (comes BEFORE Milestone 1):
build the COMPLETE 79-chapter v2.4 spine (docs/spine/ch-NNperdocs/CASCADE_RUNBOOK.md, build
order Ch 2→77→Epilogue→RR-FINAL→Prologue→Ch 1, sequential; v2.4 ENHANCES v1.0 Ch 2-11, fresh Ch 12+)
— the loadable creative backbone that keeps the vision aligned + exciting across all 79 chapters;
every downstream engine hangs off it. The foundation makes it run strong (recall.py grounds each
chapter; boss bible + systems feed it; elevated autonomy supersedes the old per-chapter sign-off).
THEN Milestone 1 (Ch 2-6 pipeline) builds the heavy engines (region/quest/art/music/UE) on the
spine, 5 chapters at a time, cost-staggered (COMBAT_ENCOUNTER_SYSTEM.md §D + `MILESTONE_BUILD_
PIPELINE.md`). All 7 gates green; working tree clean; 37+ commits landed.
End-to-end: verified state → Phase 0 foundation-and-autonomy hardening → Phase 6 Story
Spine → book processing → region pages → quests → asset pipelines → ship-facing stack.
Built from: docs/CANON_AUDIT.md (10-agent foundation audit + Josh's rulings),
docs/OPERATING_MODEL_REVIEW.md, a 4-agent autonomy review (build-pipeline contracts,
architecture/spine scripting, harness code, continuo evaluation), and a 6-agent
July-2026 web-research sweep (UE5, 3D-gen, music, voice, Claude/Fable 5, action-RPG
design). North star: **AI pipelines build autonomously; story, combat, and everything
else stays focused on the CVD and all three player layers** (L1 action-packed surface /
L2 investigatable cultural depth / L3 metaphysical-as-real through mechanics). Cardinal
rule always binds: never invent canon — ground or flag [DECISION NEEDED - JOSH].
_source/ frozen baseline committed; registries/ = live-canon layer (29 CSVs; FK gates 644/644/62 clean; diverges from xlsx only by the 22 intended ch_cross cells).[ACTIVE v1.1.4] covers Ch 2-77 + Prologue + Epilogue (repaired, critic-verified, flags resolved).docs/CANON_AUDIT.md): systems/vision strong (12-tier mastery, environmental bosses, P7 language, P9 trades, thread arcs, integrity/paths); per-chapter structured anchors largely unpopulated; 4 grounded error-fixes applied to T1 docs.docs/OPERATING_MODEL_REVIEW.md); CLAUDE.md routing live; Josh's four rulings recorded (CANON_AUDIT §"Josh's rulings").1. L1 action-packed/playable in EVERY chapter. Hard line beats T1_WGM "No combat" labels; the environmental-boss protocol (Combat §9.2) is the playable layer for protected/relief chapters; Ch 69 materialized-argument = a real playable boss (Undertale-ACT-class precedent confirms the mechanism). Externally validated: perception/pacify/knowledge encounters are real boss fights in the design literature (SotC, Undertale, Outer Wilds).
2. Boss + school rosters: CREATE adversarially-reviewed proposals (canon re-reads + game-design research + judge panels), present with reasoning.
3. Topography hotspots: SELECT + RECOMMEND the best canon-supported re-pacing; tune downstream.
4. Spine v2.4 ENHANCES the v1.0 entries (audit baseline), not a restart.
---
Goal: after Phase 0, an AI pipeline can run a spine-chapter session end-to-end and a
machine gate — not tribal knowledge — says whether the output is safe. Ordered by
dependency; (A) before everything, since every later step trusts the gates.
The autonomy review reproduced four silent-pass defects in harness/ — fix before anything relies on exit codes:
--expected-diff docs/fidelity_baseline.json; PASS iff diff set == baseline exactly (extra OR missing ⇒ FAIL).--reference dir ⇒ vacuous PASS → hard-fail on reference == {}.T123:E, NOT01GARBAGE resolve) → fullmatch, whole-token consumption.[POPULATE…] ⇒ green) → min_tokens/require_populated + placeholders_skipped reporting. *(Also: F5 PK-uniqueness/not-null; F6 utf-8 stdout guard in the two remaining tools; F7 scanner→real gate with JSON+baseline; F8 row-width enforcement; F9 extra candidate dirs flagged; F10 version-agnostic registry resolution; stress-test cases for each — full F1-F16 detail in the session's harness review.)*harness/gatelib.py (utf-8 guard, base-name resolution, header-indexed rows, baseline-allowlist pattern, md+json scorecards) and a single harness/run_gates.py runner whose exit code the autonomous loop can trust.check_chapter_topography.py: HL_0048/HL_0049/CVD §17.10 rules over T0_Chapter_Index (unpopulated = HARD FAIL — never green-by-vacuity); the 5 known hotspots seed docs/topography_baseline.json and shrink as re-pacing lands.lint_canon_format.py: CVD §17.14/§20 linter for newly authored canon only (H2-H4 only, dash bullets, no code fences, no emphasis-asterisks except lead-in bold, deprecated-tag FAIL, Grand-Sage/thesis tripwires as WARN → critic handles judgment).docs/fk_spec.json for Boss/School/Link-Graph once populated + reverse FKs from Chapter_Index; blocked on F3/F4 fixes.From the architecture review (day-one halts → fixes; the SSBL skeleton itself is sound and stays authoritative by section-anchor citation):
1. Author docs/CASCADE_RUNBOOK.md (supersedes-per-section overlay; _source SSBL stays frozen): Step 2 preconditions → repo checks (files exist, RCM ACTIVE, git tag of last closed Range Review); Step 7 substrate → RCM chapter section + deep-research (retire the §8 ChromaDB call — its backing system never existed and T1_AaS sequences Book Processing *after* Phase 6); Step 9 → session-as-author (drop prompt-hash fiction; regeneration trigger = git diff on input docs); Step 12 → git commit + tags spine/ch-NN, spine/rr-NN (no memory markers); mid-scope checkpoint → post-draft 9-item checklist before the critic pass; note the v2.4-enhanced predecessor is the continuity anchor.
2. Instantiate the spine columns (BPC §9.6 adds — spine_status, canonical_hard_line_flag, prev/next links, etc.) as empty columns in the live CSVs — schema already specified in a locked contract, not canon invention. The state machine finally has storage.
3. Range table docs/ — 8 review windows with exact node membership; [DECISION NEEDED - JOSH]: overwrite the legacy R_02_15-style range_id values or add a review_range_id column (legacy values are populated canon).
4. docs/SPINE_LIVING_REVISION_LOG.md as the declared §7.5 continuation (append-only) — otherwise Protocol 9 deadlocks against frozen _source.
5. Grid rubrics for the 4 judgment grids (thread health, distribution, power curve, archetype variety): numeric thresholds or a written critic rubric; the other 5 grids are already machine-checkable. Three grids audit empty tables today — sequenced behind 0.D/0.E population.
6. Grounded naming patches (CVD-v1.4-verified, critic-gated): BPC §9 retired lost-civ names (Ch 67/68/69 → Pohljar/Tiamarath/Maatherion), BPC:2246 T0 path, SSBL:724/1048 residue — applied as in-place _source corrections under the grounded-error precedent (same class as the applied Combat Amazon→Southwest and Integrity §17.5 fixes), not runbook overlay: these are provably-wrong pointers, and leaving them in the doc agents read guarantees re-contamination.
7. Appendix B migration-verification (Entries 18-21 vs T1_Trades/T4/T1_Integrity/T0_Worldstate) — unmigrated canon resurfaces at Stage 2 or Ch 7/11-adjacent chapters silently lose it.
8. T1_AaS refresh pass (the doc's own queued roster-refresh): internal version mismatches, dead Drive/CI/userMemories consumer rules → pointers to CLAUDE.md routing; region-count 67-vs-69 and Questline "23 rows"-vs-0 discrepancies as [DECISION NEEDED - JOSH].
9. Autonomy contract (one paragraph, Josh-ratified): agents author to drafted state gated by fresh-context critics; Josh's sign-off batches at hard-line chapters + Range Review closures; drafted ≠ canonical (SSBL:598) keeps this inside the existing state machine. Add the missing Protocol-6 trigger for "v2.4 enhancement of v1.0 entries per ruling".
From the BPC review (contracts are architecturally strong — explicit state machines, hash-based regeneration, dependency cascades; the five registries authored FROM the contract match their CSVs column-for-column — but the access layer points at a dead store):
docs/PIPELINE_ADAPTER.md: per-pipeline Drive→repo re-pointing (Sheets-API reads → registries/ CSVs; /Humanity/... paths → repo paths; gdoc-ID columns → repo-relative paths), the unpinned-config ledger (~30 numeric/format decisions deferred to a nonexistent "build pipeline configuration" — pin them as they become load-bearing), and per-contract status: §3 AIVA / §4 ElevenLabs / §6 Quest = nearest autonomous-ready; §9 Spine = alignment via 0.B; §2 Meshy = schema instantiation needed (Weapon_Registry has NO header; Creature/Character column names diverge); §10 SFX = shipped registry contradicts its own contract (only sfx_id shared, 5-digit IDs, non-enum classes) — reconcile or re-spec; §8 Book Processing = superseded-in-part by deep-research ruling; §5 Cinematic = blocked on animation contract by design; §7 Region = two "canonical authority" pointers reference text never written + region_id format claim false (actual: lowercase slugs).1. mode_variety_check + dominant_combat_mode + intensity for all 79 nodes — drafted from CVD/RCM/Geography prose, validated by Gate A, presented as one reviewable table. *Highest leverage: makes Pillars 10/11, §12 and §16 machine-verifiable.*
2. T0_Cross_Cultural_Link_Graph populated from the prose link-chains already in T1_Threads_22 (FK-resolvable rows; stands up the flagship P5 mechanic).
3. T0_Thread_Grid cross-bleed repair (104 flagged cells; re-derive from per-thread anchors) + reconcile the Thread 4/6 "every chapter" invariant.
4. L3 seeds for Ch 34/35/36 (HL_0047 compliance) from already-documented substrate.
5. WGM "No combat" reconciliation (Ch 38 first — it's a Tier-A boss; then 52/57) per Ruling 1, each edit re-grounded + critic-gated; wording confirmed at ledger batch 1 before the _source edit lands. Plus a T0_Vril_Site_Registry entry for Ch 57 (audit priority #7 — the substrate-defense layer has no anchor without it).
Grounded in the July-2026 game-design research (God-of-War Valkyrie exam taxonomy; three-axis Patterns×Puzzles×Preparation blend; Hades reward loop; Monster-Hunter orthogonal mastery; Mythic-Tales quest-gated verbs; E33 telegraph escalation; fairness checklist; the 2024-26 failure catalog — SotE overtuning, Wilds undertuning, Wukong unearned spikes):
T0_Boss_Encounter_Registry): one row per chapter-level boss with primary-tested-verb, secondary verb, three-axis split (never 100/0/0), phase count + escalation vector (evolve existing moves), win condition (HP/part-break/pacify/perceive/restraint), fairness answers (≥1 counter per signature attack, ≥2 for build variety), Hades-loop narrative reward, assumed mastery-tier verbs. Capstones = Sigrun-pattern recombinations at tier gates/act climaxes. Environmental bosses budgeted as level-design landmarks (SotC cost lesson). Ch 69 = materialized-argument playable boss.T0_School_Registry): the ~13 schools listed at CVD Pillar 4 (line 189) as Mythic-Tale questlines — quest teaches the verb diegetically, climax grants it, next chapter showcases it (metroidvania retroactive-unlock rule); tiers = new verbs → verb-modifiers → combination/expression (never bigger numbers); 120 quest gates test or narrate, never count; audit the 185 abilities against the verb rule (>70% "good", AC-Origins benchmark).[PROPOSAL - JOSH] package. That package ALSO carries the difficulty/accessibility proposal (not settled spec — no CVD section covers it yet): one canonical difficulty; in-fiction relief valves; granular judgment-free assist layer (Celeste language, GoW-Ragnarök preset structure); hardest mode prunes easy answers, never inflates HP.Ultracode workflow over every not-yet-reviewed file — T3 characters/familiars, T4 antagonist, T5 questlines, T6 weapons, T7 production, T98 legal, T0_Schema_Dictionary, remaining T1s (RNG_Sigma, Tier_C_MMO, Region_Page_Template, DRAFT specs) — each agent verifies content vs authority hierarchy, flags contradictions with file:line, never edits _source without a grounded-error case + critic gate. Output: one consolidated findings doc; grounded fixes applied; creative items flagged.
Per-title availability sweep over the ~158 MUST-ACQUIRE (publisher digital editions, archive.org/HathiTrust, institutional OA, library e-lending) → three bins: obtainable-online / buy-digital / buy-physical+scan (last resort). Output: final purchase list with links + cost estimate, scan-labor plan only for the irreducible remainder.
Phase-0 exit gate: run_gates.py green (net of baselines); runbook + adapter authored; 79/79 topography rows populated + Gate A passing (net of shrinking baseline); roster proposals delivered; Josh's batch-1 decisions collected. Allowed to trail into early Phase 6 (audit calls them "before/early"): 0.D.2 link graph, 0.D.3 Thread_Grid repair + invariant, 0.D.4 L3 seeds, 0.F sweep remainder, 0.G availability sweep — but all must close before the FIRST Range Review (Ch 12 gate), where three grids audit these tables. Sequencing note: front-loading rosters/Thread_Grid into the July 3-7 Fable window (§7) assumes 0.A lands day one — it's small, reproduced-defect fixes, so that's realistic.
---
drafted → Josh batch sign-off → lock + commit + tag./spine-chapter (runbook procedure + load manifest) and normalize-doc (critic rubric) — the per-process layer CLAUDE.md already names.*(Deliberate re-sequencing: T1_AaS's Drive-era plan put Book Processing after Phase 6; under the deep-research ruling the substrate work runs alongside the spine, feeding it per-chapter — operational-order change only, no world canon touched.)*
Deep-research synthesis is the default substrate (adversarially verified, cited). The OCR/extraction pipeline survives ONLY for the irreducible buy+scan remainder from 0.G; per-source corpus/<id>/text.md in-repo; Grep/Read over extracted text (no ChromaDB — a ~158-source corpus doesn't need a vector store; the §8 contract's 3,900-source premise is superseded). The 11-item primary-source verification queue runs as deep-research + adversarial-verify tasks filed to the T1 docs it names.
Region pages (§7) — after the two missing authority extensions are written (canonical_zones in WGM; fauna_behavior_substrate) and region_id format is reconciled → Quest writing (§6) — nearest-ready contract; needs condition_expression grammar + dataset format pinned → asset pipelines (§1-§5, §10) consume the canon anchors. Every pipeline runs agent-authored + critic-gated + machine-gated, per the adapter doc.
| Layer | Pin (July 2026) | Notes / upcoming |
|---|---|---|
| Engine | UE 5.8.x (released 2026-06-17; the FINAL major UE5) | Pin 5.8.x explicitly, not "UE5". Production-ready anchors: World Partition, PCG+PVE, Substrate, MegaLights, Motion Matching + Game Animation Sample, Nanite (static), Lumen (HQ; new 60fps radiance-cache Beta), MetaHuman Creator/Animator (free, license-open; phone face+body mocap via Markerless plugin). Experimental (fallbacks only): Nanite Foliage, Mesh Terrain, MetaHuman Crowds+Mass, Mover, MCP Server plugin — Claude Code can eventually drive the editor. Target: 60fps fully-dynamic lighting, no baked GI. UE6 EA end-2027 (Verse, portable content, AI-assisted authoring) = separate 2028 evaluation gate; write no contracts against it. Fab marketplace; royalty 3.5% (>$1M) with day-and-date EGS launch. |
| 3D assets | Meshy-6 backbone (GA 2026-01-18; watertight fix, Low Poly Mode, API; paid = full ownership) | Augment: Rodin Gen-2.5 pay-as-you-go for heroes (bosses/72 weapons/33 legendaries — quad topology, part-based, 3D ControlNet); Tripo month-passes for bulk props (P1.0 native-topology). Optional: self-hosted TRELLIS.2-4B (MIT) for free bulk. Avoid: Hunyuan3D open weights (EU/UK territory exclusion), Luma Genie (dead), YVO3D (crypto-token red flags). Reality: 80-95% on props, ~70% on characters; keep a Blender retopo/weights pass per character; Meshy→UE5 bone-name remap is known friction. |
| Music | AIVA CLOSED AS SKIP (Josh, 2026-07-27) — the enterprise-contact path is dead; canonical and hero themes are composer-in-loop, bulk music rides local ACE-Step 1.5 (MIT) / YuE (Apache 2.0), benchmark-gated per P2.5 | Second engine: ElevenLabs Music v2 (licensed training data; games cleared on paid plans; action item: written confirmation we're not "Large Studio Games"). Stable Audio 2.5 for stingers/loops. Never ship Suno/Udio (UMG+Sony litigation live; Udio can't export). Adaptive layer decision before scoring: Wwise 2025.1 (UE5.7-confirmed) vs FMOD 2.03 vs MetaSounds in-engine (no middleware license) — AI tools deliver stems; interactivity must be authored. |
| Voice | ElevenLabs v3 finals (audio tags, Text-to-Dialogue, 70+ langs; paid-plan rights persist post-cancellation) | Two-tier: OSS local (Chatterbox MIT / Maya1 Apache) for placeholder/bark bulk; v3 for hero/cinematic. Full-corpus VO ≈ $0.5-1.5k/pass — negligible; the real cost is per-line direction/QC → invest in CSV/JSON line-table → SoundWave batch tooling (Fab plugins exist). Watch Hume Octave 2 (#2; Play.ht is DEAD — vendor-mortality lesson: keep an exit path). Prefer designed/PVC voices over Voice Library for main cast. Never self-host Fish/OpenAudio (NC license). Pin model IDs eleven_v3/eleven_multilingual_v2/eleven_flash_v2_5 (v1 removed 2026-07-09). |
| AI build layer | Claude Code + Opus 4.8 default / Fable 5 reserve | See §7. Agent SDK headless = separate weekly token pool (since 6/15) for orchestration. Routines for nightly gate runs; Remote Control (Max, live) for mobile steering; Outcomes = productized version of our critic gate. |
effort: xhigh) carries volume; Fable 5 for what its documented edge buys — million-token focus (CVD + all T1 + a full Range's RCM in one window), file-based-memory gains, sustained parallel sub-agent orchestration. After July 7: Fable 5 credits only for verification-critical passes.fallbacks: [{model: "claude-opus-4-8"}] so declines degrade instead of failing runs. Fantasy-canon content is out of classifier scope (cyber/bio).SKIP as code; adopt one pattern. Continuo's memory stack (L0-L3 write-time artifacts, FTS5+vec retrieval router, entity brain with supersession/tombstones, grounding gates) is real, well-built (1913 passing tests, 0.965 truth-recall beta) — and solves problems we don't have: it defends against an untrusted 14B extractor hallucinating structure from noisy audio into an unbounded store. Our corpus IS the ground truth (authored, versioned, structured); git + registries + harness already provide provenance, current-truth, and integrity at the right cost. Its hardest-won operational lesson (one bounded current-state map beats append-only handoff chains) is already our CLAUDE.md design. Adopted: the source-anchor pattern (0.A) — every produced claim carries an anchor a deterministic script can resolve. Deferred trigger: a plain FTS5 index over section nodes IF per-chapter retrieval measurably strains sessions at future scale — skip embeddings regardless (ID-keyed corpus; keyword+structure wins).
Superseded as the live ledger bydocs/DECISION_DOSSIER.md(21-decision options+recs) +docs/BATCH1_RULINGS.md(current-truth rulings). This §9 list is the original 9-item sketch — kept for provenance; do not read as current. Seedocs/START_HERE.md.
1. Boss roster + school roster + topography re-pacing + difficulty/accessibility + Ch 70-77 deepest-layer-hook proposals (the 0.E package) — approve/amend.
2. WGM combat-layer reconciliation edits for Ch 38/52/57 (0.D.5, per Ruling 1) — confirm wording before the _source edits land.
3. Mode/topography table (0.D.1, 79 rows) — confirm; cross-cultural link-graph rows + link REWARDS (0.D.2) — confirm.
4. range_id: overwrite legacy values vs add review_range_id column.
5. Region count 67 (CSV) vs 69 (numerical canon); Questline_Index "23 rows" claim vs 0 live rows — verified-count rulings.
6. Folklore_Entity_Registry contradiction (absorbed per §2.11 vs live extraction target per §8.2/§8.6) — pick with our recommendation attached.
7. Autonomy contract ratification (0.B.9) + Pro/Epi inclusion in topography windows (Gate A spec knob).
8. Twelve-tier label (§12 names ten) — standing flag, preserve verbatim until ruled.
9. ElevenLabs "Large Studio Games" confirmation — approval to contact. (AIVA Pro subscription: CLOSED AS SKIP, Josh 2026-07-27 — no contact, no purchase.)
*(Ledger is the batch-1 set, not exhaustive — per-chapter [DECISION NEEDED - JOSH] markers arrive in Range-sized batches during the cascade.)*