ROADMAP_POST_5090_TO_SHIP.md

programs/ROADMAP_POST_5090_TO_SHIP.md

Post-5090 Roadmap — from the workstation handoff to a shipped Prologue→Ch 13 slice, then the chapter factory

## ▶ SLICE RESCOPE (Josh RULED 2026-07-27, fifth + seventh sittings — binding on every phase below)
The vertical slice this roadmap ships is PROLOGUE → CH 13 (15 nodes), not Ch 2-5. Everything the
phases below say about "the slice" reads against that scope. The four ruled parameters:
- Build order inside the slice — Ch 2-13 FIRST (the earthly arc, 11 chapters), THEN the Prologue +
Ch 1 (the fairy realm), so the concept-art pipeline, the presentation ladder, the W-SPACE grammar and
the QA belt are mature before the fairy realm is designed. The fairy realm designs and builds ONCE, at
slice-end; the endgame fairy-realm return (Ch 75-77) extends that build.
- The gate split — the Josh Gate fires TWICE. Gate 1 at the Ch 2-13 P3-exit (his verdict DIRECTS the
fairy realm's design, while it is still designable). Gate 2 at the full-slice P3-exit (the origin
judgement on his own authored material), and Gate 2 keeps the job of gating the P4 Steam listing.
- The EA boundary — the full 15-node slice ships as the Early Access base. No early cut. The origin
ships in designed order, first-in-read-order, for every buyer.
- The Ch-13 closing beat — the slice ends at Ch 13 with the healer's child joining and the departure,
the amulet passing to her AT THE DEPARTURE (the gift and the goodbye as one beat), to-be-continued.
Authority: docs/spine/DECISIONS_PENDING_JOSH.md fifth sitting (the slice + build order) and seventh
sitting (the gate split, the EA boundary, the gift staging, the ward-off-neck physics). Analysis pack:
docs/pipeline_review/SLICE_EXECUTION_BRIEF_2026-07-27.md and the three SLICE_SCOPE_* passes.
Josh's 2026-07-24 verbatim directives below are preserved as authored; where a directive names Ch 2-5 as
the target, this ruling supersedes its SCOPE and nothing else.

Status: PROPOSAL — DRAFT v0.1, awaiting director/Josh adjudication. Authored 2026-07-24; slice-rescoped

2026-07-27. This governs nothing canonical and edits no canon doc; it sequences the work that begins the

day the RTX 5090 workstation is installed and Josh's book scanning completes (the handoff, ~2-3 weeks out)

and ends with a complete, shipped Prologue→Ch 13 vertical slice on Steam, then codifies the proven

per-chapter factory for the remaining 60-plus chapters. It is the post-5090 successor to docs/PRE_5090_BUILD_PLAN.md: that plan owns

the ungated buildable surface up to the handoff; this one owns the gated generative passes, the ship bar,

and the factory that the handoff unlocks. It invents no pillars and no vision; every phase's machinery

cites the canon or contract doc that owns it, and every gated item traces to PRE_5090_BUILD_PLAN.md §13.

On acceptance it takes a docs/DOC_MAP.md row per the wiring doctrine (consumer: the post-5090 director

session; status PROPOSAL).

Provenance: Josh's 2026-07-24 directives (the synthesis_inputs.md pack) — the vertical slice at

max honest polish, the full deep-read enrichment pass, the generative surface passes, the fully-autonomous

QA machine as alpha/beta tester, and the completion-hours density curve. Those directives named Ch 2-5 as

the slice; the 2026-07-27 ruling in the banner above re-points that scope to Prologue→Ch 13 and leaves

every other clause of the directives standing. It grounds against

PRE_5090_BUILD_PLAN.md (the ungated build surface), docs/proposals/DEEP_BOOK_PROCESSING_CONTRACT.md

(the deep-read lanes), docs/proposals/AI_QA_LOOP_ARCHITECTURE.md (the QA fleet), the three generative

Translation Docs (T99_Translation_AssetGen, T99_Translation_Cinematic, T99_Translation_Audio),

docs/BOOK_ACQUISITION.md, and the slice map (ch2_5_slice_map.md is the built Ch 2-5 artifact and keeps

its filename; the Ch 6-13 legs extend it rather than replace it). The cardinal rules bind every phase: do not invent

canon, care means weight and authenticity never omission (CVD §17.1), the §17 hard-line floor is the one

absolute, and no output is done until it has a named consumer.

0. The gating model this roadmap inherits (binding)

PRE_5090_BUILD_PLAN.md §0 is the rule and it does not change: the 5090 gates ONLY heavy generative

inference (book deep-read, photorealistic 3D/asset/material generation, music/voice/SFX generation,

cinematic-video generation, VLM-OCR, roster-scale MetaHuman, the persona-voice LoRA training run, the

per-region headless PCG/HLOD/Nanite batch bake, the 14B on-device reference model). Everything else —

engine code, data, wiring, the deterministic terrain GIS + Gaea chain, PCG authoring, Blender-headless

finishing, the QA machine, Steamworks integration, cook/package — is ungated and, for the slice, largely

already built pre-handoff. This roadmap is therefore mostly about turning generative faucets on into

sockets the pre-5090 work already wired, not about new architecture.

Do NOT time-box to weeks; the phases gate on exit criteria, not calendar. The team executes well above a

naive estimate, and several P0 kill tests can DELETE planned work, so a week estimate authored before the

benchmark day would be fiction. The phase order is a dependency order.

The tag legend is the plan's: DONE, BUILD-NOW (ungated), GATED-5090, GATED-EXT (external service),

GATED-DEVKIT. New here: DROP-IN — an item whose socket is built pre-handoff and whose generated payload

arrives through the asset-path/opaque-FK contract (§P2.0) with no re-wiring.

---

P0 — Handshake week: bring-up, kill tests FIRST, intake at scale

Goal — stand the workstation up, run the benchmarks and kill tests that can delete or redirect planned

work BEFORE any volume spend commits to a path, bring the book scans into the substrate at scale, and turn

on the local-model triage floor. Nothing generative-at-volume runs until this phase's kill tests clear,

because a kill test that fires after volume has committed wastes the volume.

Machinery it runs on (cited):

(PRE_5090_BUILD_PLAN.md §11 X9.5). The kill tests: the Gaea-vs-Landmass terrain-tool bake-off, the

69-region throughput extrapolation, the WP+PCG runtime cost at 1m-hero, the MOSS/ACE-Step scoring rigs,

and the runtime-inference perf budget. Several can DELETE work.

§11 X9.5 note): re-fetch the TRELLIS.2 issue #22 and Hunyuan3D-2.1 issue #111 state, check whether a

maintained TRELLIS.2-PyTorch3D fork or a new clean-licence open-weights release has shipped since

2026-07-15. A cleared licence collapses the §3 texture-hole recommendation; a still-blocked one confirms

the renderer-swap-vs-ArmorLab trade is live. This check may delete the PyTorch3D renderer-swap spike

entirely, which is why it precedes GPU time.

quarantine, and region-sorted triage into book_substrate, plus the wire-time RAG audit-backlog fixes

(docs/BOOK_ACQUISITION.md; DEEP_BOOK_PROCESSING_CONTRACT.md §0, §4.4 the resumable drain log). The

known data-quality fixes ride here: strip the 756 empty padding rows, resolve the placeholder titles to

concrete editions, normalize the mojibake, split the multi-item rows.

guardrail model already smoke-proven pre-handoff (PRE_5090_BUILD_PLAN.md C1.22; the ruled local-compute

posture — local 14B triage floor, paid tokens only where quality matters).

Entry — the workstation is installed and driver-clean; the X9.5 harnesses exist and self-test green

pre-handoff; the scan set is complete on Josh's side.

Exit — every kill test has a recorded verdict and the plan is reconciled to it (a deleted path is struck,

not left dangling); the per-category asset-gen defaults and the "time-to-game-ready" numbers exist as

measured facts, not desk-research; the scans are OCR'd, quarantined, region-sorted, and query-ready in

book_substrate; the 14B triage floor runs; the nightly-soak cadence (from P3) is already running on the

pre-handoff slice build.

What Josh does — hands over the completed scans; confirms the AssetGen texture-leg trade (§3 (a) renderer-swap

vs (b) ArmorLab vs (c) passthrough) once the licence re-check and benchmark return real numbers; makes the

AIVA go/skip call is CLOSED — Josh RULED SKIP on 2026-07-27 (“not emailing; the enterprise-contact path is dead”); nothing further is asked of him on the music vendor.

Honest risks — a kill test deletes real prior work (this is the harness working as designed, not a

failure — the discipline is to strike the path, not defend the sunk spike); the 5090's 32GB clears the

TRELLIS.2 24GB and Hunyuan3D-2.1 29GB floors but headroom shrinks fast under concurrent load, so early OOM

requeues are expected and are not defects; VLM-OCR quality on the highest-care non-Latin scripts (Ch 29

Sámi orthography, Ch 42/57 sources) may need a second human-verified pass before those rows are trusted.

---

P1 — The deep-read and enrichment pass: density climbs the curve in place

Goal — read the library against live canon, ratify what earns a canonical home, and RE-STAGE the harvest

into the already-built slice so the world gets denser without a rebuild. This is where Josh's "all the

additional weavings and culture, side quests and enhanced relationships" lands as real, cited, playable

content.

Machinery it runs on (cited):

floor over every book, the Opus deep read on the seed-rich set, the full-strength critic plus the §8.8

cultural-authenticity audit, the zero-token deterministic merge), producing the EXR record (§2) whose four

output arrays — story_seeds, weave_links, entity_candidates, l3_connections — plus civilizational_marks

queue into the existing ratification lanes (§3 the wiring table). The pilot (§4.2) is scoped as the

slice regions plus the reject-audit keepers; under the rescope that is the 13 slice regions, and the

pilot PROVES the machinery on the four already-built Ch 2-5 regions before the Ch 6-13 batches follow it

region-by-region (DEEP_BOOK_PROCESSING_CONTRACT.md §4.2/§4.3). The fairy_realm has no book substrate

and is authored canon, so it sits outside the deep-read lane entirely.

chapter's build pack (DEEP_BOOK_PROCESSING_CONTRACT.md §3.1). A proposed-but-unratified row never enters

authoring, so the deep read can never smuggle unratified canon in.

seed and weave appears exactly once, UNROUTED by default, and is dispositioned at the §7.5 Section-13

typing step in chapter context (quest_row / minigame_registry_row / region_page_ambient / trade_substrate

/ weave_only). Today the ledger holds 400 rows, 264 seeds UNROUTED — that backlog IS this phase's typing

and authoring queue for the slice regions.

MEMORY every-entity-detailed-persona-nonblocking-paths): personas fleshed on the slice's named and unnamed

members, community-ripple wired, multi-path/no-dead-end preserved — the "enhanced relationships" directive.

stable RowName==registry-id (guarded by the W4.9 DataValidation validator against the re-import-renames-a-row

orphan, PRE_5090_BUILD_PLAN.md W4.9), the fidelity baseline refreshes in the same commit, and the region

staging legs re-run — the flores-hardcoded import/dress/stage scripts generalized into region/chapter-

parameterized drivers (the slice map's named cross-cutting seam, ch2_5_slice_map.md) so new sites, beats, and encounters

fold into the built map without a rebuild.

main / 1-2k h side+weave / 8-10k h to 100%; the slice is early-game, deliberately lighter and seed-rich,

opening the game. Ch 2-5 sit at the low, seed-rich end and Ch 6-13 sit FURTHER UP the same curve — the

band is a ramp across the earthly arc, not one flat early-game target. The Prologue is a ceiling tutorial

and Ch 1 is declared out of corpus scope, so both sit OFF the curve and need declared sentinels rather

than band values (see the scorecard dependency in P5 and PRE_5090_BUILD_PLAN_VOL2.md §A.1). This phase

climbs each node to its own curve position — not to the endgame density — and the P5 scorecard makes "at

its curve position" an arithmetic check, not a feeling.

Entry — P0 done; the slice's 12 earthly regions have their books ingested and triage-scored (the four

built regions — flores_island, bali, sumatra_java, angkor_khmer — plus the eight Ch 6-13 regions, which

have no region pages today and are the measured long pole); the earthly slice is staged from the pre-5090

waves (Ch 2 built; Ch 3-5 structures staged per the slice map; Ch 6-13 staged as their region legs land).

The fairy_realm (Prologue + Ch 1) has no book-ingest entry criterion — it enters at slice-end, after the

Ch 2-13 build has matured the pipeline, on the invented-terrain path prototyped during the Ch 6-13 window.

Exit — the slice regions' deep-read batches are ratified; the housing-ledger seeds for the slice are typed

and the quest_row ones authored through the standard quest track; weave_links land on the link graph;

personas are complete on every slice entity; the enrich packs carry the ratified harvest; the built slice

is re-staged with the new content and the QA loop re-verifies it (P3). Every slice node's density scorecard

reads at-or-above its own curve target (the Prologue and Ch 1 against their declared sentinels).

What Josh does — confirms the high-care per-record review load (per-record for the high-care three, batch

for elevated/standard — DEEP_BOOK_PROCESSING_CONTRACT.md OPEN Q7); rules any deep-read finding that

asserts new canon (a new slug, a chapter-assignment implication, a locked numerical, a name, a hard line,

a new system) — those route to the flag, never changed by the loop; plays the enrichment as it lands and

flags anything genuinely too insensitive or brutal for a RENAME/REFRAME (never removal), the care backstop.

Honest risks — the housing-ledger backlog is large (264 open seeds for the four built regions alone, and

the Ch 6-13 regions add their own) and typing is per-seed judgement, so every slice region must be finished

before the pass is declared done, not sampled (the verify-with-fan-out-not-labels lesson); the HIGH-care

region in the widened slice (Ch 10, the /Gwi San — a living Indigenous community) carries per-record review

that does not parallelize cheaply and paces its own leg; a deep-read row that reads insensitive is reframed or re-originated,

never scrubbed, and mis-applying that as omission is the more costly error per the delegated-bolder

calibration; comparative-mythology books (Frazer/Eliade/Campbell) belong to no single region and need the

separate cross-region lane (DEEP_BOOK_PROCESSING_CONTRACT.md OPEN Q5) or their weave density defers to

the end.

---

P2 — The generative surface passes: each a drop-in over the built sockets

Goal — render every generated surface of the slice to AAA polish, each pass a drop-in that lands its payload

at a path the pre-5090 work already references, so a surface can be re-generated or upgraded without touching

gameplay wiring.

P2.0 — The asset-path / opaque-FK drop-in contract (the seam every pass below rides)

The registries carry a pointer, never the asset; the built slice references the stable id/path now (with a

placeholder behind it), and the generated payload drops in at that same path with its state machine flipping

pending→complete — no gameplay re-wire (T99_Translation_AssetGen §4.1 mesh_id_ref/mesh_tags, the

5-state machine; T99_Translation_Audio Music/Voice Step 5 the SoundFactory import + path convention;

T99_Translation_Cinematic Step 4 / §5.5 the /Game/Cinematics/Scenes/... convention; the underlying T1_BPC §2.6

read-canon/write-pointer rule). This is why the passes below are DROP-IN, not rebuilds.

P2.1 — Terrain hero pass (BUILD-NOW simulation + GATED-5090 batch)

(PRE_5090_BUILD_PLAN.md §6 W4.4/W4.8; T99_Translation_Terrain via the UE5_Build split). The DEM/GDAL/Gaea

simulation is ungated and mostly run pre-handoff for flores; the tool choice is settled by the P0

Gaea-vs-Landmass kill test; only the ×N-region headless PCG/HLOD/Nanite batch bake is GATED-5090.

Landscapes, and PCG-populated biomes; in-engine flythrough captures read by the image critics (P3).

N/A (dimensional), so the deterministic derive_region_bbox → COP30 DEM → WorldCover → import → dress

→ stage chain has no input: the Prologue and Ch 1 are 100% authored geography through a path this repo

has never executed. The mitigation is ungated and costs no model spend — prototype the authored-terrain

chain DURING the Ch 6-13 window, so the path is proven before slice-end consumes it. If that prototype

fails to produce a shippable-grade result, or its first honest estimate exceeds the whole Ch 6-13 terrain

leg, the EA boundary re-opens (trigger T1 in the slice brief) and Ch 2-13 becomes the EA base with Pro+1

as the EA finale — an ordering the ruled build order already produces for free.

P2.2 — Characters and creatures (GATED-5090 geometry; reference-built for real culture)

(T99_Translation_AssetGen §2 routing table); MetaHuman-first for named NPCs (§1 constraint 4; the

in-engine creator, Epic sunsets the browser Creator 2026-11-05 so named-NPC MetaHuman work is done in-engine).

The real Rangku Wera hunter model replaces the mannequin (the Josh-download hunter model on the pre-5090

list; CHAR_0008 persona already ruled, DECISIONS_PENDING_JOSH D-RANGKU-PERSONA).

(T99_Translation_AssetGen §1 constraint 3, §6) — reference-built / photogrammetry-grounded / licensed-kit,

behind the capture-rights gate (PRE_5090_BUILD_PLAN.md AG7.2; the capture-rights register). Generation is

reserved for fantastical structures (vril sites) and non-attributed forms.

Blender-headless finishing to the illustrative steam_deck_minimum budget); named NPCs are MetaHuman;

the hunter model is in; every high-care asset passed the pre-build cultural-authenticity audit.

P2.3 — Props and environments per region (GATED-5090 volume; DROP-IN)

(T99_Translation_AssetGen §4.1 the two-track sequencing), one fantastical vril-site asset run whole first

as the corrected-field-set smoke (PRE_5090_BUILD_PLAN.md AG7.8).

visual QA reads them (P3).

P2.4 — VFX (BUILD-NOW cue channel; BUILD-NOW authoring (Niagara is hand-authoring, neither external-service nor generative inference; tag-law consistency) for the art)

(PRE_5090_BUILD_PLAN.md C1.16); this pass authors the real Niagara systems on the wired cue channels

(hit/telegraph/status/vril-polarity + one per broken-composure-node), timed/triggered from the cinematic

and combat events (T99_Translation_Cinematic §3 Step 4 the VFX-track spike #5 — resolve the native

Niagara track class here). Color-independent by design (the L1 accessibility floor).

accessibility floor independent of the art.

P2.5 — SFX and music (GATED-5090 generation; BUILD-NOW adaptive wiring)

pre-handoff into the segregated no-AI-training tree, PRE_5090_BUILD_PLAN.md A6.7) then MOSS-SoundEffect

gen-fill; ACE-Step/YuE bulk music + composer-in-loop canonical themes (AIVA closed as skip 2026-07-27); the MetaSounds/Quartz

adaptive framework (already smoke-proven, A6.5). The Grand-Sage constraint gates one asset: the

GRAND_SAGE_REVEAL row is non-lexical (vibrational-imprint/intuition-pulse sensation, a Music/SFX/haptic cue,

NOT a voice), ruled and gate-enforced so no voice_ref ever resolves to it (DECISIONS_PENDING_JOSH

D-GRAND-SAGE-VOICE ruled re-scope; gate #25 grand_sage_silence).

adaptive graphs play against real stems; the audio benchmark gate (T99_Translation_Audio Music Step 3)

cleared before scale.

P2.6 — HUD art skin (BUILD-NOW)

skins it to the AAA reference bar with the readability/accessibility audit (AI_QA_LOOP_ARCHITECTURE.md

QA-12 — legibility of tell, bar, prompt; colorblind-safe; scalable). HUD art is not generative-inference-gated.

(BUG-0006..8) closed or triaged.

P2.7 — Movie cinematics (BUILD-NOW assembly; GATED-5090 only for rendered assets)

Sequences over the 11 scene-type templates, participant resolution against MetaHuman/antagonist registries,

beat→site→region anchoring, path-conditional DT_SceneDispatch variants, and the realtime trigger channel

fired from the boss-phase-threshold StateTree event and quest-beat entry/exit (PRE_5090_BUILD_PLAN.md

CN5.6, the scene-anchor runtime + Humanity.Boss.EmitPhase debug emitter so cinematics test with no boss

AI). MRQ renders the dailies; image critics read them (the QA directive's canonical case,

AI_QA_LOOP_ARCHITECTURE.md §3 WS-5). Only the generated participant assets and any cinematic-video

generation are GATED-5090.

dailies read by critics and sent to Josh; the audio-driven facial mode drives dialogue beats against real

voice tracks.

P2.8 — VO policy — ✅ RULED: PARTIAL VO (Josh 2026-07-24; see the decisions register)

The policy is RULED (partial VO — see the decisions register); what follows is the pipeline it executes on.

The audio pipeline is built to serve any of the options

(T99_Translation_Audio §2.4 Kokoro bulk + ElevenLabs hero behind the §4.4.1 clone gate), and spoken-VO

localization tiering is still a named Josh-rules deferral (T99_Translation_Audio §2.6, §4.11). Under the

rescope the hero-line budget spans 15 nodes, not 4 — and the Prologue and Ch 1 carry the slice's most

performance-dependent lines (the King, the mother, the best friend), so they are the hero lane's ceiling

reference and not its overflow. The FText subtitle floor stands regardless (every player-facing string in a

String Table from the first widget, PRE_5090_BUILD_PLAN.md P2.5) so the slice is playable and localizable

with or without VO.

Goal (phase) exit — every generated surface of the slice is at its AAA target with critic-read captures;

the VO policy is ruled; all placeholder assets are replaced or explicitly triaged as polish.

What Josh does — rules the AssetGen texture-leg trade (carried from P0), the VO policy (P2.8), and the

per-surface reference-title quality bars the polisher measures against (AI_QA_LOOP_ARCHITECTURE.md §2.4).

**He does NOT play surface passes (RULED 2026-07-24: "I won't be playing it until it's AAAAA polished 2-5

after handoff and 5090 passes and final 5090 polish AAAAA")** — the QA loop + image/feel critics carry ALL

in-progress verification; Josh's first contact with the running game is THE JOSH GATE below. The 2026-07-24

quote names "2-5" because that was the slice then; the 2026-07-27 rescope widens WHAT is polished before he

plays and changes nothing about the rule that he plays nothing unpolished. Under the gate split his first

contact is Gate 1 — the AAAAA-polished Ch 2-13 earthly arc — and the fairy realm is still unbuilt at that

moment BY DESIGN, so his verdict directs it.

Honest risks — the PBR texture leg is genuinely unsolved as of 2026-07-15 and its resolution depends on the

P0 licence re-check and benchmark (T99_Translation_AssetGen §3), so a surface may fall back to

ArmorLab-manual or the passthrough interim, converting an assumed-automated stage to a partly-manual one;

generated cultural content that reads insensitive is reframed at Josh's playtest (THE JOSH GATE — post-P3,

not per-pass), never scrubbed; the

MetaHuman batch cloud-throughput at roster scale is an open spike (T99_Translation_Cinematic §4 item 1)

that could bottleneck the named-NPC pass.

---

P3 — The QA fleet at ship bar: the honest zero-bug definition

Goal — run the AI QA machine at ship intensity over the whole slice continuously, and reach the honest

zero-bug bar stated as ledger arithmetic, so Josh's time is pure feel-testing and the ceiling, never

bug-finding.

Machinery it runs on (cited):

(scripted Tier-1 → agent Tier-2 → soak Tier-3), the bug fixer (repro-first, regression-accreting), the

feature enhancer, the AAA polisher. QA-1/2/5/6 are already DONE and LIVE and caught ten typed bugs in

their first days (AI_QA_LOOP_ARCHITECTURE.md §6; PRE_5090_BUILD_PLAN.md progress ledger).

expansion named in synthesis_inputs.md directive 5) — many parallel long-run packaged instances with

the MarkHeartbeatActive hang detector; this is what the 5090's parallelism is for on the QA side. Beta-player

agents (QA-4) play the whole slice continuously via InjectInputForAction (packaged-valid).

image-critic + shots-to-Josh, per-milestone RR-style path/care audit + polish wave + full cross-workstream

regression re-run, pre-Josh-session dailies packet. The self-testing-gate law (§4.2) and the tuning

firewall (§4.3 — the loop verifies shapes/relations/floors, never tunes an absolute number before the

Phase-5M audit).

enum open/repro-ready/in-fix/fixed/wont-fix/regressed; a record cannot reach fixed without a

regression_test_ref; the never-relitigate discipline makes "is this bug back" a deterministic fact.

The honest zero-bug definition (stated as the ledger arithmetic it is, never a metaphysical claim of

perfection): the slice is at the zero-bug bar when — zero open records at severity blocker, major, or minor;

every polish-severity record is either closed or triaged with a written rationale (polish is a ceiling

judgement, not a floor failure); the full accreted regression suite is green (every previously-fixed bug's

test still passes); and N consecutive clean soak-days have elapsed on the Gauntlet fleet with no new

blocker/major/minor opened. It is a count over a durable, diffable ledger and an accreted test suite — not

a claim that no bug exists in the universe, only that no bug is open in the ledger and none the machine can

reach has reproduced within the soak window.

Entry — P1 and P2 landed; the slice is content-complete and surface-complete; QA-1..14 built (13 pre-handoff,

QA-14 Gauntlet stood up on the workstation).

Exit — the zero-bug bar above is met; 100% of each workstream's verified-by-playing clause is asserted by

executable Tier-1 tests (AI_QA_LOOP_ARCHITECTURE.md §3, the DT coverage per WS row); the AAA polish sweep

is done with before/after captures; Josh's feel-pass returns no blocker/major/minor and only enhancer/polisher

intake.

What Josh does — plays the slice as pure feel-testing (fun, does it land, does it read), never bug-finding;

his flags enter as enhancer/polisher intake or as care RENAME/REFRAME, never as scrubs; seeds and tunes the

per-surface reference-title bars.

Honest risks — a green suite is verified, not proven good; the ceiling is the image critic, the fresh-context

critic, and Josh, and a green QA run has still shipped stragglers before (the class-closed lesson), so the

soak window and the fan-out re-verify are load-bearing; N (the clean-soak-day count) is a director/Josh call,

not a fixed constant, and a too-short N is a false ship-ready; the loop never tunes an absolute balance

number, so combat/pacing feel that depends on tuned numbers stays a Phase-5M + Josh judgement outside this

bar.

---

THE JOSH GATE — the first playtest (RULED 2026-07-24; SPLIT IN TWO, RULED 2026-07-27 seventh sitting)

Josh's verbatim target: **"I won't be playing it until it's AAAAA polished 2-5 after handoff and 5090

passes and final 5090 polish AAAAA."** The RULE is untouched: he plays nothing that is not AAAAA-polished

— after the 5090 handoff, after every P2 generative surface pass, after the P3 zero-bug bar, after final

polish to the AAAAA standard (the tier above AAAA this studio is defined by). Until then the AI QA

loop, the capture harness, and the image/feel critics are the only players — which raises, not lowers,

the in-progress verification bar (every "it plays well" claim needs its critic-read evidence trail,

because no human backstop arrives earlier).

What the 2026-07-27 ruling changed is the gate's PLACEMENT, not its rule. Under the ruled build order the

fairy realm builds LAST, so a single gate at the very end would deliver his judgement on the game's

grandest display AFTER it was finished — reviewing the crown jewel instead of informing it. The gate

therefore fires twice, and both firings are on AAAAA-polished content:

on 11 AAAAA-polished earthly chapters. Its purpose is DIRECTION: his care/feel verdict lands while the

Prologue and Ch 1 are still designable, and the pipeline is validated by the human backstop before it is

aimed at the crown jewel. Positioned as a working director's pass, not as The Playthrough.

the mother, the fall, the amulet), played in designed order, origin included — the whole-game first

contact. Gate 2 keeps the existing job: his verdict gates the P4 Steam listing.

What the gates carry (accumulated reserved-for-playtest items, resolved HERE): the pip-chain

wipe-on-mistake severity; the field-sense scope; care-doctrine reframe flags on generated

cultural content (rename/reframe, never scrub); every within-vision feel anchor Josh tunes. Gate 1 takes

every item that lives inside Ch 2-13; Gate 2 takes the origin-specific set (the sovereign kit's presentation

ceiling, the SEAL/ENDURE encounter classes, the guilt engine's opening and closing).

P4 — Steam ship

Goal — ship the polished, zero-bug slice on Steam as an honest first release, with the store framing, ratings,

and launch discipline a real commercial release needs.

Machinery it runs on (cited):

BuildCookRun headless per-region cook + -run=DataValidation; W4.9 the RowName + reveal-ladder + hard-line

cook-time validators; X9.1 the Shipping-config guards and the mandatory human-in-the-loop checkpoint on any

§17/hard-line-touching or bulk/destructive op). The QA regression pack rides the same CI

(AI_QA_LOOP_ARCHITECTURE.md QA-10).

ship-phase): achievements, cloud saves over the existing WorldState SaveGame stack (PRE_5090_BUILD_PLAN.md

P2.7), the overlay, and controller/input via the built Enhanced Input config (P2.3). Declared ENGINE (a

reuse-machine harvest for game #2, per the standing reuse goal).

slice of a larger game, never over-promised — it opens where the game opens and stops at a declared

act-break, so the framing is "the first 15 nodes, complete," not "a sample"); the localization tier for

launch built on the FText/String Table floor (P2.5).

declared accurately, not defanged and not overstated; the §17 hard-line floor is the genuinely-banned-content

bar, not the rating).

cinematic captures, and boss-fight playthrough video (Josh directive 2026-07-28; program home

docs/MARKETING_WEB_PROGRAM.md — skeleton/i18n pre-5090-workable, captures gated on the P2+ surfaces;

go-live timing is a P4-adjacent business brief).

P4.1 — The shipped locale ring — ✅ RULED (Josh, 2026-08-04, SHIP-LANGUAGES)

Josh agreed the recommendation in chat. This closes the last open half of the localization question:

the three-tier data table was already ruled (J2 = (c), twenty-eighth sitting — tier 1 full

subtitle + UI, tier 2 subtitle-only, tier 3 unsupported), and membership was explicitly parked

until the store format settled. It is now ruled, and this is its home.

Early Access — 14 text locales, tier 1 (full subtitle + UI):

English · French · Italian · German · Spanish (Spain) · Spanish (Latin America) · Portuguese

(Brazil) · Polish · Russian · Turkish · Chinese (Simplified) · Chinese (Traditional) · Japanese ·

Korean.

Early Access — voice: English only, and partial — the partial-VO policy ruled at P2.8

(Josh 2026-07-24) is unchanged and this ruling does not widen it.

1.0 — four locales join, and the slice's voice completes: Arabic · Thai · Vietnamese ·

Indonesian are added to the tier-1 ring, and the slice ships full VO rather than partial.

The bar every locale passes before it ships: native review. No locale reaches a storefront on

machine translation alone, at EA or at 1.0. A locale that cannot clear native review does not ship

in that release — it waits for the next one. This is the localization arm of the same

zero-bug-means-measured discipline P3 runs on: an unreviewed locale is a shipped defect that every

player in that language sees on the first screen.

Notes that keep this consistent with what is already built:

describe a locale that gets subtitles under *non-English* voice; with VO English-only at EA, every

supported locale is tier 1 and everything else is tier 3. The tier becomes meaningful only if VO

ever ships in a second language.

presence carries its own smaller ring (docs/MARKETING_WEB_PROGRAM.md: EN + zh-Hans + DE + FR +

es-419 + JA + RU, then KO + pt-BR), which is a launch-sequencing decision about a website and is

a subset of this one. Neither ruling overrides the other.

a locale an added data table rather than a code change, and it closes independently of which

locales are in the ring — which is exactly why membership could be ruled last.

bundle.

Entry — P3 zero-bug bar met over the full 15-node slice, and GATE 2 returned (Gate 1 is a P3-internal

milestone at the Ch 2-13 exit and does NOT open P4).

The EA boundary (RULED 2026-07-27, seventh sitting) — **the Early Access base is the full 15-node slice.

No early cut.** The origin ships in designed order, first-in-read-order, for every buyer, so the amulet

gift lands provenanced on first play and the "it starts in the middle and never explains why" review

sentence never gets written (EA reviews do not expire). The accepted cost is stated honestly: first

revenue and the first EA feedback sit behind the fairy realm, the one leg with zero measurement behind it.

The reversal conditions are the slice brief's triggers T1 (the invented-terrain prototype fails or

over-runs) and T3 (runway makes first revenue load-bearing) — either one RE-OPENS the boundary for Josh's

ruling, with Ch 2-13 as the EA base and Pro+1 as the EA finale as the alternative on the table. Neither

trigger flips the base on its own: the boundary is Josh's ruling and only Josh's ruling changes it.

Exit — the slice is live on Steam; the Shipping build cooks clean with all DataValidation validators green;

Steamworks features function (achievements/cloud-save/overlay/input verified by the QA fleet on the packaged

build); the store page is up with honest framing and correct ratings; a day-0 patch path exists and runs

through the bug ledger.

What Josh does (BUSINESS BRIEFS — his call, presented with options and a recommendation, never bare):

loop's); provides the developer/publisher identity for the store page.

Honest risks — Steamworks integration is new code and gets the full QA loop before it is trusted on the

packaged build (cloud-save conflict handling and achievement-unlock idempotency are the usual traps); console

packaging remains GATED-DEVKIT and is explicitly out of this ship (PRE_5090_BUILD_PLAN.md §13 devkit);

launch-cert QA runs on the real Shipping build, not the editor, because the Shipping config is where a latent

non-Shipping-module link would surface (the FunctionalTesting Developer-module lesson,

AI_QA_LOOP_ARCHITECTURE.md §3 note).

---

P5 — The chapter factory: the proven pipeline, per chapter, for 60-plus

Goal — codify the exact sequence that shipped the slice into a repeatable per-chapter factory, with the density

curve as a measurable per-chapter target and the standing bars that never relax, so the remaining chapters

build as content updates at a known cadence.

Machinery it runs on (cited) — the factory is the phases above, per chapter, in order:

are acquired and the rest deep-researched (docs/BOOK_ACQUISITION.md); the region's pass-2 carries its

deep-read batch (DEEP_BOOK_PROCESSING_CONTRACT.md §4.3 region-by-region batches).

generalization seam, already paid once by the RG.1/RG.2/RG.3 --slug/--chapter work so Ch 6-13 inherits

it free — derive_region_bboxterrain_fetch_preprocess → Landscape import (weightmap paint

asserted nonzero) → dress → stage); new boss-verb behaviors and puzzle/minigame runtime accrete once and are

reused. **THEN the W-SPACE pass, per chapter, always (wired 2026-07-25 from the slice's measured lesson —

6 of 11 staged sites sat on >15° raw slope):** the slope/space AUDIT (measured slope per encounter footprint

own area_bounds specs with the approach→threshold→arena→payoff grammar per boss site → **the AMPLIFICATION

doctrine applied** (reality is the floor: under-sized settlements expanded and interiors deepened, guided by

the culture's own architectural grammar, cited like everything else) → the graded golden-path trails + the

travel presentation for over-scale legs → and the PERMANENT TEETH (a slope assertion under every encounter

volume, navmesh-continuity along every route, shot-state + scene-exclusivity + material-identity expectations

in every capture) so space quality can never silently regress.

re-staged into the built map (P1 machinery). **Plus the per-chapter authored lanes proven on the slice

(each critic-gated before staging consumes it):** the spoiler-safe PLAYER STRINGS sidecar (beat objectives /

fork options / site display names, reveal-critic per chapter — the designer prose never reaches a surface),

the DISCOVERY CLUE lane (DT_Clue rows per encounter, legal-source enum, clue = legibility never a gate),

the per-boss NON-KILL/pip schema population (has_nonkill_path / pip_count / pip_reveal_threshold /

defeat_protected per the ratified template), the festival windows, and the region's ambient/SFX rows.

The per-chapter content-budget + test-coverage scorecard (the density curve made measurable) — one scorecard

per chapter, gating shapes and floors only (the tuning firewall), carrying:

against the chapter's curve position (early-game lighter/seed-rich, modern chapters lengthened; the full

game ~100-200h main / 1-2k h side+weave / 8-10k h 100%, synthesis_inputs.md directive 6). The check is

"at or above its curve target," never a uniform per-chapter number (the directive supersedes the

CANON_AUDIT uniform-density reading).

this roadmap does not set them.** The scorecard family (check_slice_scorecard.py + QT-17/18/19) carries

Ch 2-5 early-game targets today. Ch 6-13 sit further up the same curve; the Prologue is a ceiling tutorial

and Ch 1 is declared out of corpus scope, so BOTH sit off the curve entirely and need DECLARED SENTINELS,

not band values — otherwise the monotonicity tooth fires a false regression, exactly the defect class

already caught for Ch 77's exempt demand_ordinal. The band/sentinel work is its own item and is the

precondition for arming the tooth on any node past Ch 5; it is deliberately NOT applied here, because

inventing band numbers would cross the tuning firewall. Owner: the scorecard/sentinel item in the window

plan; spec home PRE_5090_BUILD_PLAN_VOL2.md §A.1 + §11.5.5.

and multi-path asserted; **space quality — every encounter footprint slope-verified under the combat

threshold, every route navmesh-continuous, the chapter's space-audit report on file (the W-SPACE bar).**

for reachability and fork-completability; captures exist for every surface.

leaks before their canon window); the §17 floor asserted.

The cadence math (honestly ranged, not a single number) — the factory throughput is set by the slowest

serial leg per chapter (the deep-read ratification and the QA soak window are the usual long poles; the

deterministic terrain/staging and the drop-in asset passes parallelize). With the fleet running many chapters'

QA and asset-gen in parallel on the 5090 and the authoring tiered (Opus for volume, local triage floor for

bulk, deterministic scripts for mechanical applies), the 60-plus remaining chapters build as a pipelined

queue, not a serial march — but the honest statement is a RANGE that the first three post-slice chapters

MEASURE and this doc refuses to fabricate before that measurement exists (the same discipline as P0's kill

tests: the throughput number is a measured fact, not a desk estimate).

The standing bars that never relax — the care and reveal gates (CVD §17.1, the reveal windows, the §17

hard-line floor); canon-first (every item cited or absence-proven, nothing re-invented); the QA teeth (the

self-testing-gate law, repro-first, the accreted regression suite, the tuning firewall); and Josh's playtest

gate per milestone (feel and ceiling, care backstop).

Entry — the Prologue→Ch 13 slice shipped (P4 done); the factory's every leg has run once end-to-end and is

proven. The slice ran each leg more than once (12 earthly regions, not 4), so the factory enters P5 with a

measured cadence rather than a single-instance one — and the fairy-realm leg proved the invented-terrain

path the later realm chapters (Ch 66-77) will reuse.

Exit — this is the standing operating model, not a terminal phase; its "exit" is each subsequent chapter

shipped to its scorecard and the range-measured cadence holding.

What Josh does — plays each chapter's milestone build as the feel/ceiling/care gate; rules the per-chapter

cardinal-canon items as each region is reached (they route to the flag, never the loop); sets the

reference-title bars per new surface class.

Honest risks — the factory's cadence is genuinely unknown until measured on the first post-slice chapters,

and any number stated before that is fiction; higher-care chapters later in the arc (Ch 29 Sámi, Ch 42 Haiti,

Ch 57 Australia) carry per-record review load that does not parallelize as cheaply and will pace their own

regions; Tier-C MMO scope, New Game+ carry-over, and console packaging remain out of the single-player-first

factory and are sequence-gated or devkit-gated (PRE_5090_BUILD_PLAN.md §13, §12 items 27-28).

---

Decisions register — ✅ ALL FIVE RULED (Josh, 2026-07-24, in-conversation: "I agree with all your recommendations")

§4.4.1 clone gate); bulk/ambient stays subtitle; high-care cultural roles subtitle-or-synthetic.

P2.8 executes to this shape. The FText subtitle floor ships regardless.

game; chapters ship as updates; the EA feedback channel feeds the care backstop + density curve.

**SCOPE RULED 2026-07-27 (seventh sitting): the EA base is the FULL 15-node Prologue→Ch 13 slice — no

early cut.** Reversible only on trigger T1 (the fairy_realm invented-terrain prototype fails or its

honest estimate exceeds the whole Ch 6-13 terrain leg) or T3 (runway makes first revenue load-bearing);

either one RE-OPENS the boundary for Josh's ruling rather than flipping it — the alternative put to him

is Ch 2-13 as the base with Pro+1 as the EA finale, which the ruled build order already produces as a

by-product.

P3-exit (direction, before the fairy realm is designed), Gate 2 at the full-slice P3-exit (the origin

judgement, and the gate that opens P4). See THE JOSH GATE above.

CH-13 DEPARTURE** — the gift and the goodbye as one beat, the slice closing on the inheritance. The

departure IS the first scare, so the gift reads "you are coming with me into danger, wear this."

trap is the forcing FACT, not the answer, and canon still says "None of it is a menu. All of it is a

life." This row is carried, not ruled — it sits below three ruled rows and is not one of them. The

forcing fact: character creation (the four selections) must land at the FRONT of the build order even

though Ch 1, its canonical woven home, builds LAST. Ch 2's opening beat needs a chosen familiar and

Ch 13's Ntala needs a bound best-friend gender, so the whole 11-chapter earthly build and Gate 1 run on

selections whose canonical home does not exist yet. The proposed remedy, pending J-F: if the

menu-then-woven shape is ruled in, neither implementation is wasted — the selection surface becomes the

returning-player skip path once the woven childhood version ships with Ch 1. The prepend-safe entry architecture (chapter-select / new-game

entry so a front-prepended Prologue is reachable) rides the same item — it is a data-and-content

operation today and an expensive one after players have saves.

game as a PERMANENT discount off a $69.99 AAA anchor — "always show on sale as an appreciation to

the players and as an acknowledgment that I used AI tooling efficiently so my costs were low

compared to an AAA studio even though my game is in an even greater tier — target SSS studio as

inventing the next level up!" [TERMINOLOGY CORRECTED same-day: the tier name is **AAAAA

(Quintuple-A)** — Josh, after the industry tier chart: "AAAA is not good enough and AAA is far

below the floor"; AAAA is the existing $300M+ budget tier, AAAAA the invented OUTPUT-defined

tier above it. SSS retired.] The store-page work (P4) carries this identity; final numbers at P4.

(fits T1_Trades_Master §9.2 + immersive teaching). The per-region exchange designs are LANE-CANON

author items (cited to each region's real documented systems); EC-vendor/EC-medium UNBLOCK.

verbs imply non-HP defeat axes for several slice bosses; the wave presents the brief).

Carried parameters (not decisions): the AssetGen texture-leg trade (resolves on the P0 benchmark);

N clean-soak days (P3 calibration); per-surface reference bars (director-seeded, Josh-tuned at

playtest); AIVA go/skip (RULED-SKIP-acceptable). Provenance: the original five briefs with full

options/objections are preserved in git history at 040f515.

What this roadmap does NOT claim

not run; the AssetGen PBR texture leg is genuinely unsolved as of 2026-07-15 and its resolution is gated on

the P0 licence re-check and the 5090 benchmark (T99_Translation_AssetGen §3). The routing tables are

desk-research defaults to benchmark FROM, not final answers.

throughput (P5) is explicitly a range the first post-slice chapters must MEASURE, and this doc refuses to

fabricate it before that measurement.

an accreted regression suite plus a soak window — no open blocker/major/minor, polish triaged, suite green,

N clean soak-days — never a metaphysical claim of perfection.

fresh-context critic, and Josh (AI_QA_LOOP_ARCHITECTURE.md §7). A green suite is verified, not proven good.

Phase-5M balance audit and the 5090 measurement; the density-curve scorecard checks "at or above curve

position," a shape, never a tuned absolute (the tuning firewall).

deep-read or enrichment output lands proposal-tier, cited, adversarially verified, and ratified-only into

build packs; anything that would assert new canon (a slug, a chapter assignment, a numerical, a name, a

hard line, a new system) routes to Josh as a full brief, never changed by the loop.

buildable pre-handoff and this roadmap only sequences the faucets into the sockets the pre-5090 work wired

(PRE_5090_BUILD_PLAN.md §0).

Generated by harness/site/structure_site.py — the URL path is the repo path. review root