programs/ROADMAP_VERTICAL_SLICE_2026-08.md
T99-operational. Sets no canon. This is the living slice roadmap: the ordered program that carries
Prologue→Ch 13 from where the seven pipelines actually stand today to the AAAAA bar THE JOSH GATE
names. It is subordinate to the CVD, the T1 tier docs, the spine nodes and the T0 registries in the
authority order at docs/START_HERE.md:10-22; where it and canon disagree, canon wins and this file
is the defect.
Supersession-in-place law. This file is current-truth only, never an append-only log. When a phase
closes, a ladder step lands, or a blocker clears, the owning line is EDITED IN PLACE and displaced
narrative goes to STATUS.md. No dated pointer paragraphs, no "historical" banners — the
docs/START_HERE.md:109-120 discipline applies to this file by adoption.
Consumers. Every seat boots into its phase assignment from THIS doc per
build/ops/CAPACITY_ROTATION.md:28-51 (the window queue) and :52-66 (the pacing constant).
docs/START_HERE.md's Ranked next stays GENERATED from harness/queue.py — this file is the
program behind the queue, never a hand-edit of it.
Derivation. Six read-only cross-repo state sweeps, 2026-08-08, one per pipeline family, each
citing artifacts rather than labels (returns and per-lane detail files in this session's scratchpad:
CHARACTERS_SLICE_ROADMAP_DETAIL.md, WORLD_ENGINE_SLICE_STATE_2026-08-08.md,
QUESTS_NARRATIVE_RUNTIME_SLICE_STATE.md, COMBAT_SYSTEMS_SLICE_STATE_2026-08-08.md,
AUDIO_MUSIC_SLICE_STATE.md, QA_SITE_BOARDS_OPS_SLICE_STATE.md). Plus
build/ops/CAPACITY_ROTATION.md, docs/pipeline_review/POSTMORTEM_LIKENESS_2026-08-08.md,
docs/START_HERE.md, CLAUDE.md (THE JOSH GATE). Every step below is a sweep's own step, kept
substantially verbatim; nothing was invented and nothing dropped. The PHASE letter and the ACCOUNT
LANE tag are this document's additions.
WIRING OWED AT LANDING (this lane could write one file only). This doc needs its
docs/DOC_MAP.md row in the SAME landing commit (anti-orphan law, docs/START_HERE.md:103-105),
and the landing director owes the pointer swap in docs/START_HERE.md's Current state. Until both
exist this file is an orphan by the repo's own definition.
The slice is PROLOGUE→CH 13 — fifteen nodes (CH_PROLOGUE + CH_01…CH_13), built Ch 2-13 first,
then Prologue + Ch 1 last with the fairy realm designed once at slice-end on the matured
concept-art pipeline. The slice closes at Ch 13 with the healer's child joining and the departure
(CHAR_0002 Ntala, Tier A, joins at Ch 13 — the slice's closing beat). Josh plays NOTHING until it is
AAAAA-polished; the AI QA loop plus the image/feel critics are the only players until then, and every
play-quality claim carries its critic-read evidence trail (CLAUDE.md, THE JOSH GATE, ruled
2026-07-24, slice redefined 2026-07-27 fifth sitting).
Slice regions, from the live T0_Chapter_Index: PRO + Ch 1 Fairy Realm · Ch 2-3 Flores ·
Ch 4 Bali · Ch 5 Sumatra and Java · Ch 6 Sri Lanka · Ch 7 South India · Ch 8 Swahili Coast ·
Ch 9 Ethiopia · Ch 10 Rift Valley · Ch 11 Congo Basin · Ch 12 West Africa · Ch 13 South Africa.
Eleven earth regions plus the fairy realm; all twelve earth region pages exist and PASS
check_region_page.py; eight of them have no map at all (Content/Maps/ holds FloresIsland,
Bali, BorobudurMerapi, PalembangMusi, SamosirToba, plus non-slice AngkorKhmer, GreyboxArena,
LiangBua_TerrainSmoke).
Every claim in every report about this slice declares one of three tiers, and never borrows the
language of a higher one.
looked at it, or heard it. Claims at this tier may describe shape, coverage and counts. They may
never describe feel, look or quality.
audio declared as placeholder. Claims may describe mechanics and feel with a critic-read evidence
trail attached. They may never describe final quality.
attached and nothing declared-not-armed in the channel that decided it. **Zero artifacts in this
corpus are at this tier today** — docs/PIPELINE_LEDGER.md:36-46, total accepted generated
exemplars corpus-wide = 0; build/site/build_report.json publish_gate.complete = [].
Publication discipline, binding on every seat (POSTMORTEM_LIKENESS_2026-08-08 RC6, ruled as a
rule and not a gate): nothing reaches Josh without (i) its own record's HONEST_TIER read aloud in the
message, (ii) a current eval of the exact artifact shown, (iii) the declared-not-armed lenses listed.
end. The cast, the companions and the creatures wait on a driver that reproduces the protagonist
field for field; harness/asset_factory/character_factory.py is verified ABSENT on disk, so the
protagonist was carried by hand and there is no factory to cascade yet.
fan-out. The likeness lens is the pattern: it was built before regenerating anything, its own
fresh-context critic returned NO-GO, and its absolute bands still publish
DESCRIPTIVE_CANNOT_GATE — which is the instrument doing its job, not a failure. The same law binds
the music exposure ledger and distinctness check, the comparator rubrics, the quest-turn teeth, the
counter-class gate and the world difference gates. An instrument that cannot fire is not armed,
and a gate that crashes reports nothing at all.
chapter, Ch 2→13, as playable verticals. Each wave pulls from every pipeline at once — world,
characters, quests, combat, audio, UI — and the AI QA loop plays the chapter before the next wave
opens. Prologue, Ch 1 and the fairy realm come last, on the matured pipeline.
Seat truth table and resets are build/ops/CAPACITY_ROTATION.md:15-26; that file wins on any seat or
reset conflict. Lane tags used throughout this document:
rulings, contested adjudication, final integration, landing. Never volume-codes.
claude-jmilks terminal loops),weekly reset SAT ~1:00am. Engine/code lanes and verification critics.
claude-milks, opens SUN ~10:00pm. Canon-side volume authoring.claude-hf, opens TUE ~3:00am..engine_lane_lock. Serialized across the entire program (see §5).| Phase | Window | Seats live | What it closes |
|---|---|---|---|
| A | now → Sun 10pm ET | workhorse solo (+ GPU, + ENGINE); milks joins at the boundary | The protagonist loop closed end to end — inversion winner, multi-view arm, ears/groom/eyes on the winning base, re-authored body plates, all likeness-gated. Plus the engine import chain, THE RESIDUE LANDING WAVE, and red-gate cleanup. At Sun 10pm milks opens on canon-side volume: region pages for every Ch 2-13 region, boss personas critic-and-land, quest-turn population. |
| B | next week; hf joins Tue ~3am, m90 Tue ~7pm | workhorse + milks + hf + m90, GPU hot, ENGINE serialized | The factory cascade (companions, slice cast, creatures through the proven chain); the Flores world assembly — the world ladder's steps W-01→W-14; and Ch 2's main quest running end to end in engine as the runtime template every later chapter copies. |
| C | weeks 3-5 | all four accounts on chapter verticals | Chapter verticals Ch 2→13 at greybox-feel, roughly 2-3 chapters per account-week, each QA-played before the next opens, each board-published per wave. |
| D | weeks 5+ | all four accounts + GPU + Josh's look grades | The final-tier ladder: FACS-class facial rig and texture-synthesis skin (the two named FF7R gaps), lookdev-calibrated everything, music pass-N behind the proof-before-spend gate, partial VO, the feel wave — then Prologue, Ch 1 and the fairy realm, and the slice close. |
Phase boundaries are evidence, not dates. A phase closes when its steps' own done-when clauses
read true with their gates green UNPIPED, not when the calendar says so. The window column is the
capacity plan, not the commitment.
The director's command structure named seven pipeline sections plus a short eighth for UI/VO. The
sweeps returned six pipeline families. This document carries those six verbatim-laddered, plus a
seventh short section for the un-swept UI/VO/cinematics remainder — and names the discrepancy here
rather than inventing a pipeline to fill it. Step ids keep each sweep's own numbering with a
family prefix (C- characters, W- world, QN- quests, CS- combat, MA- music/audio, QA- ops); where a
sweep left its ladder unnumbered the ordinal is this document's and is stated as such. Every step
carries PHASE · LANE · scale · depends-on exactly as its sweep declared them.
Honest state. The 2D exemplars are FINAL for the protagonist and closed by Josh authoring
rather than by the factory producing — his V3 supersession ("New exemplar for all 7… These are also
their Full body exemplar and bald for the 3D", docs/spine/DECISIONS_PENDING_JOSH.md L5065-5354)
retires the bald-derivative stage for CHAR_0001 and re-sources mesh generation to the bald plates,
which are capped at 209×870 native (CHAR_0001_EXEMPLAR_BODY_LADDER_V3_SPLIT.json plates[0]) —
POSTMORTEM:46, "a re-bake cannot fix the body". The 3D chain has a SOLVED cage
(build/3d/cage/CAGE_PICK.json PICK = S2 numpy landmark-NRICP, p95 0.01749 vs do-nothing 0.05232;
three blend proofs PASS and all seven WRAP_A*_V3Q.obj exist) against a RED asset on the head legs
(EVAL_A14_ASSET_TEX_V4.json: L02_silhouette RED, L03_face_structure RED, L04_tone GREEN,
L05_colour AMBER, L06_seam AMBER, L08 READY_STATIC) — the graded head is still a bare cage wrap with
no ears, no hair, no eyes and a ~190×-starved head texture (POSTMORTEM:37-48), while TRELLIS.2's
native full-PBR ran 2026-08-08 (75 s GPU, 191,732 textured faces, 2048² basecolor + MR, seed-42
geometry control PASSED) and the director's sighting is that "the native row is the only 3D row that
reads as a CHARACTER" — carried with its unsoftened counterweight, "the native face reads ADULT — it
is not yet the 14-year-old boy", and RC4's twice-read field verdict that a photoreal human face is
unevidenced field-wide. The likeness lens is **armed by its own account at W0 and never
re-verified**: FIXPASS_ACCEPTANCE_W0.json shows all four 1e-6 sensitivity mutations turning the
self-test red, zero fixture inversions, AUC 1.0 on four channels and 59 controls PASS — but **every
L10 channel publishes status DESCRIPTIVE_CANNOT_GATE** (n_c1 = 2 against a minimum of 8), so the lens
may not hand down GREEN/AMBER/RED on any view today. Groom and eyes are SPEC ONLY with zero execution
(both specs' §0: "This spec is SCAFFOLDING. Every execution step below is BLOCKED."); rig/anim has
0 face bones, 0 ROM profiles, no skeleton LODs and no installed biped auto-rigger. **The cast has not
started:** 167/167 T0_Character_Index rows read generation_status pending with
mesh_pipeline_type / generation_tier / binding_kind / mesh_id_ref empty on all 167, and
harness/asset_factory/character_factory.py is verified ABSENT from disk.
Blockers with owners. B1 the cage-verdict question is MIS-CLASSIFIED — eyes and groom are blocked
on an Anny-vs-MHR bake-off nobody scheduled while their real prerequisite (shared-topology
correspondence) already exists with a passing blend proof (owner: DIRECTOR). B2 L11 face identity
UNARMED — SFace/YuNet weights unfetched, licence line unread (owner, verbatim on the record: "the
director — a licence read is not a delegated call"). B3 SUPERSEDED 2026-08-10 — ship-scale on-screen
pixel height is RULED per spec class and L12 is SCORED. The superseded reading, true until
2026-08-10 and kept here as history: the height was undefined in every doc in the repo, so L12
refused. C-03 ruled it (hero closeup 3,834 px at 1080p, operative plate-native cap 2,822 px)
into docs/LOOKDEV_STANDARD.md §12 and build/3d/eval/likeness/SHIP_SCALE_RULING.json, and the
S16 run scored ten ship-scale frames COMPLETE_FIGURE against that ruling at ratios 0.3264 to
0.3813 measured over operative
(build/3d/eval/likeness/S16_LANE_D_SHIP_SCALE_FINISH.json, DESCRIPTIVE — the proof run declares
itself a surrogate with an OPTIMISTIC bias). What stays open on this row is the capture and
publish wiring (owner: engine lane / director; POSTMORTEM action G). B4 the
C1 plate-twin corpus is 3 strict pairs on the face view and ZERO on every other view against a
minimum of 8 (owner: the director — "a generation cost, not something the instrument can derive").
B5 no stage script emits a LIKENESS_CHAIN row, so attribution is unanswerable by construction (owner:
the 12 producer scripts under build/3d/finish_a14/, sequenced by the director). **B6 the body-plate
resolution ceiling — 209×870 native panels; POSTMORTEM:117 names it "the one thing no re-bake fixes"
and assigns NO OWNER. This roadmap assigns it: PHASE A, workhorse + GPU, per the command structure's
"re-authored body plates" — it has no ladder step of its own and must not be lost between them.**
B7 character_factory.py does not exist (unowned until C-18). B8 T0_Character_Index carries no
age-variant columns (owner: director, registry sitting plus same-commit baseline refresh). B9 no
biped auto-rigger, 0 ROM, 0 face bones, no skeleton LODs; UniRig NOT INSTALLED so the humanoid path
is a manual bind, and SkinTokens is a Josh-tier licence read ("An MIT weight licence does not
launder the training corpus"). B10 T0_Persona_Index/_Schedule/_Bucket specified, not minted, and
the no-dead-end gate unbuilt — "volume NPC generation cannot legally start until both". B11 FORK 1 is
Josh's and undecided (§7). B12 W0 was never re-verified by a fresh critic after the nine-fix pass
(owner: director) — under the repo's own rule a lane's gate table is an input, never the pass.
Ladder.
CAGE_PICK.json decided the bake-off (S2), the blend-proof blocker closed as an instrument-reference defect proven by four controls (build/3d/cage/blend_fix/BLEND_G4_REFERENCE_FINDING.json, 869ba32f), and eye + groom EXECUTED on the ROUTE-A lineage (face_pass eye records; the 68k-strand groom, canon 49e97ae8 / game 0542b95) with their remainders owned by charter rows S10/S11. Superseded in place, THE CLASS SWEPT not just the named instances (standing law): playbook blend-proof blocker sentence + Stage-5 table row + O-2, EYE_STAGE_SPEC §0 + honest-tier line, GROOM_STAGE_SPEC §0 (originals preserved verbatim in both specs), EVAL_A14_ASSET_TEX_V4.json HONEST_TIER (its tone/colour prose contradicted its own VERDICT block), PIPELINE_LEDGER blend-blocker paragraph, DOC_MAP race-close status clause, and the 0-graded-plates lines in AAA_WORKFLOW_CORRESPONDENCE + BODY_ASSEMBLY_ARCHITECTURE_BRIEF (the V4 approval postdates both). Ledger C1 headline verified NOT stale as sweep-described — its current text already carries the keystone-wave-2 grades; left untouched. DECISIONS entry: the 2026-08-10 director-rows tail append.build/3d/eval/likeness/LIKENESS_CHAIN_A14.json EXISTS with 21 hash-carrying rows (stage_id, script, producing_record, input/output sha256, on-disk presence) and an ARMS_WHEN contract naming the real manifest's owner. UNVERIFIED remainder, stays open: whether the rows are emitted BY the producer scripts per-run (vs reconstructed once), and the DONE-WHEN half (L09's head-band exclusion as a per-run DECLARED NOT-ARMED row). The next workhorse lane on this row verifies those two off the producers, not off this note.docs/LOOKDEV_STANDARD.md §12 + machine-readable build/3d/eval/likeness/SHIP_SCALE_RULING.json, with the operative plate-native cap (2,822 px, MEASURED off the compared plate; the 1,300 gate floor is named as not-a-cap after the critic refused a first draft that used it) and the 1.36× SHIP_SCALE_DEBT published rather than hidden. DONE-WHEN demonstrated: L12 SCORED for the first time on a landed pair (L12_PROOF_RUN_SHIP_SCALE.json, hf ratio 0.2850 at the near-ship footprint — descriptive; per-run resample directions published, bias unresolved pending the P3 re-render). Wiring into a capture/publish path stays the game-repo lane's owed item (charter S16).docs/licence_records/opencv_zoo_sface_yunet/ — YuNet MIT, SFace Apache-2.0, commit-pinned), weights fetched (build/3d/eval/likeness/weights/), L11 arming proof + readings landed (L11_ARMING_PROOF_FACE.json condition 1 DISCHARGED; L11_READINGS_A14_NATIVE_VS_CHAIN.json, face_pass L11 records).CRITIC_VERDICT_W1.json. DONE WHEN GO or GO-WITH-FIXES with fixes applied; W0 is then discharged by someone other than the lane that built it.verify_landed.py T7 anatomy tooth green, face bones greater than zero. Split: the rig + ROM half is PHASE B (the cascade cannot bind without it); the FACS set is one of the two named PHASE D FF7R gaps.harness/asset_factory/character_factory.py on the standing_batch.py precedent: subprocess the proven per-stage tools and reimplement none, six explicit gate pause points G1-G6, resume/idempotence on input hashes, driver-enforced cross-axis isolation. PRODUCES one command per character. DONE WHEN the protagonist re-runs end to end under the driver and reproduces the landed records field for field (KEYSTONE INVARIANCE: a MISSING baseline FAILS). RULE 1's discharge point — no cascade before this.T0_Character_Index, derived mechanically from the two measurements in PLAYBOOK §3.2, with the fidelity baseline refreshed in the same commit. PRODUCES 167 rows carrying their variant tier. DONE WHEN registry_fidelity.py --emit-baseline lands in the same commit and run_gates.py exits 0 read UNPIPED.verify_landed.py is clean over the slice roster and APP-C8 roster coverage is MEASURED for the first time.T0_Persona_Index plus its child tables and the no-dead-end gate FIRST, then one exemplar persona (a Ch-2 Flores NPC) wired and graded, then the variant engine (regional masters plus parametric variation on real per-region anthropometry). PRODUCES volume NPCs carrying personas. DONE WHEN the no-dead-end gate is armed and mutation-proven, the exemplar persona is critic-GO, and regional proportions cite per-region research rather than recolouring the protagonist's numbers.Phase-tag notes. (i) C-17 declares depends_on: C-15, C-16 while C-16 is a PHASE D final-tier
step; the gauntlet's measurements (penetration, LOD borders, package bytes) do not require final-tier
texture, so the mechanics arm is tagged B and the final-tier re-run rides D. **This is a
phase-tag split made by this document, not a sweep claim — the director re-rules if wrong.**
(ii) C-15 is likewise split (rig + ROM at B, FACS at D) to match the command structure's naming of
FACS as a PHASE D gap. (iii) B6, the body-plate ceiling, is assigned to PHASE A here because the
command structure names "re-authored body plates" in Phase A and the sweep found no owner and no
ladder step for it.
Sweep-named gaps carried forward. Four stale prose instances falsified on disk (playbook:650-653
asserts a failing blend proof; EYE_STAGE_SPEC:17 asserts 0 graded plates; PIPELINE_LEDGER:137 row C1
headline; EVAL_A14_ASSET_TEX_V4.json's HONEST_TIER string contradicting its own VERDICT block) —
C-01 closes them. Nothing in docs/work_queue.json covers this pipeline family at all, so no
character step can surface through harness/queue.py next today. APP-C8 roster coverage is
UNMEASURED — "nothing counts how much of the cast has been through this rubric", which is exactly the
progress bar a slice roadmap wants. The 2D body lane and the 3D lane disagree about what the body
exemplar IS. And the RC4 supersession is partly refuted: Seed3D 1.0 is NOT an open model (action F
closed permanently-by-fact) and RC4's "reusable benchmark protocol" has no located source — any lane
picking up that annex needs the carve-out named in its prompt.
Honest state. **Tooling is far ahead of output, and the gap widened since the program doc was
written.** Honest tier by class: Flores outdoor = greybox-feel; every other slice region = structure
or absent; caverns, water and settlement = absent as systems; the fairy realm = correctly deferred.
What moved: the W8 substrate-plus-instrument wave CLOSED and its owed engine window ran end to end
(GAME:QA/bench/world/ENGINE_WINDOW_W8_20260807.md, game 9a5936b) — the blocky-probe station is
restored and VERIFIED 0 cm off with pair spread 0.0008 (from W7a's 0.0205), substrate adoption is
byte-verified 13 ADOPTED / 0 engine-parented, the material allowlist is verified clear in vivo 18/18,
and the world comparator is ARMED into the wave-close ritual; **both surviving far-field-artifact
mechanisms are now measured NULL** ("the strongest surviving candidate is measured dead at this
station") so the artifact stays VISIBLE AND UNATTRIBUTED; DT_InteriorSpace exists and is imported,
44 rows for 44 (game 0ffd236) — docs/PIPELINE_LEDGER.md D9 is STALE saying otherwise; and **the
Liang Bua cave-mouth carve has actually run off-engine and passes its own containment gate**
(111 posts displaced, 0 outside the footprint, cut max 20.556 m under a 40 m ceiling, floor grade
7.97° under 30°), recording its own two debts (D-MPV non-conforming at 3.9 m/post vs the zone's ruled
1 m; the un-terrace debt, because Sculpt_Pads already flattened the hillside the carve cuts into).
What has NOT moved: Flores is still not World Partition (FloresIsland.umap = 610,093,084 bytes),
architecture is still ONE building (Content/Meshes/Architecture/ = 8 uassets, SM_AR_MBARU_MASS the
only mesh), water is not a system (no water tool exists in Tools/world/ at all), one biome file
covers a 76-region world, and only 3 environment props are in-engine. W9 is authored and unrun
(terrain_stage6.py and landcover_continuous.py both exist; E:/terrain/w9_landcover/ is EMPTY and
no stage-6 output exists anywhere), and the karst kit is authored and does not build
(pieces_declared 65, pieces_built 0, pieces_failed 1 — the first piece dies on
AttributeError: 'NoneType' object has no attribute 'select_set' under Blender 5.2.0 LTS), so **zero
cave geometry exists on the box while the slice's first built minute is inside that cave**
(docs/spine/CH_02.md L24). Forty Flores env props are generated and battery-clean off-engine
(checked 40 / clean 40 / findings 0) at MESH_RUNG_1_4 with their own honest tier capping basecolor at
PREVIZ and rig at NONE; none is in the game tree. Engine lookdev A-ENG-1..4 are all four OWED and the
in-engine at-ship-LOD review is named not-armed.
Naming trap for every seat: "W9"/"W10" in the GAME git log (8c04b16, 89f4e0f, 0c36eb8, 76448e3)
are the COMBAT/HUD wave numbering. The WORLD program's W9 and W10 have no commits at all.
Blockers with owners. Uncommitted W9/W10 world tooling plus the ONLY cave-carve evidence on the
box — ten untracked, un-gitignored paths under Tools/world/ plus E:/terrain/cave_carve/ outside
both repos; one git clean loses the whole W9/W10 build (owner: the walled §8.13/§8.15 seats;
adjudication: the director's residue landing wave). PAWN OFF-MESH AT SPAWN, a regression that blocks
every playability claim — off-mesh on two runs including a 150 s settle against the W6-era on-mesh
read, nav bounds changed 5.458×3.559 → 8.491×3.144 km between reads, and the 18-shot flores pass
FAILED on AIRBORNE_PAWN at two stations (owner: the navmesh/locomotion seat). UE-256471 open and
unmeasured, and the control cannot arm — properly cell-serialized payload actors still produce ZERO
payload HLODs (owner: the world/engine seat). Landscape edit layers DECIDED and UNAPPLIED, and it is
a landscape-CREATION-time decision — the importer flattens the 13 pads into layer 0 including W10's
carve target, so rebuilding without Option C means rebuilding twice (owner: the world seat /
HumanityLandscapeImporter). The cave kit does not build (owner: the cave/asset-factory seat).
Engine access is a single serialized resource — .engine_lane_lock, wait-never-steal except on
the ruled process-absence evidence test (owner: DIRECTOR); this is the binding throughput constraint
on the whole program, not a per-step note. No world teacher lens has ever been run, so every world
quality verdict is uncalibrated — the comparator's verdict is "world BELOW", honestly, because no
teacher lens has ever been run (owner: the comparator/lens seat). The frame tail has been
unattributed since W5 — FrameTime p99 61.486 ms against GPUTime p99 13.282 ms inside a 16.67 ms
budget, --csv-channels still BLOCKED, so **every "it fits" claim in W9-W13 is currently
unfalsifiable** (owner: the world/perf seat). Canopy substrate is a spend item behind a GUI/sign-in
gate — canopy layer 0.0/0.02, meshes: [], and the biome file's own words are that the canopy "is
the layer that most decides whether a frame reads as jungle" (owner: JOSH, via the RustDesk
touchpoint; §7). Dynamic World probability bands are not acquirable from this box — Earth Engine REST
answers 401 CREDENTIALS_MISSING; the implemented per-class-radius fallback is the program doc's own
named fallback, so this is a NAMED DEGRADATION, not a stop, and the ecotone claim must be graded
against the fallback rather than the ideal (owner: the W9 landcover lane, already routed around).
Ladder. Ordinals W-01…W-22 are this document's; the sweep returned the ladder ordered and
unnumbered.
Tools/world paths by explicit path, and commit the cave-carve evidence record (or a pointer record with its hashes, since the rasters live on E:/). Adopt-or-attribute per the dead lane's own claim block; never git add -A. PRODUCES the W9 erosion tool, the continuous-landcover tool, the Mesh Terrain spike, the karst kit spec + builder, the cave-carve tool + zone config, and the carve difference report in git history instead of one git clean away from gone. DONE WHEN git status --untracked-files=all Tools/world returns clean for those paths at a named commit, and E:/terrain/cave_carve's five outputs are referenced by sha256 from a committed record. Highest value per minute in the family and it costs zero tokens.run_world_loop_fps.py --csv-channels and name what costs 61.486 ms p99 against a 13.282 ms GPU p99. PRODUCES a per-channel attribution of the tail, and the budget lines every later wave's "it fits" claim is measured against. DONE WHEN --csv-channels returns a record instead of BLOCKED, and the tail is attributed to a named subsystem with a repeatability pair.UHumanityLandscapeImporter::ImportHeightmapLandscape: create the five-layer stack at import, rename layer 0 DEM_Source, move the pad sculpt to Sculpt_Pads, create Carve_Interiors and the water layer empty, enable Landmass, and add the assertion that refuses if layer 0 is not DEM_Source or reports any post-import write. PRODUCES a landscape whose real silhouette is always recoverable, a reference plane for W9's difference gate, and the hard prerequisite for W11's Landmass water carving. DONE WHEN a re-import produces a landscape reporting five named layers with the pads on Sculpt_Pads and layer 0 byte-unchanged from the DEM, and the assertion fires on a mutated negative control.landcover_continuous.py to E:/terrain/w9_landcover, with the CGLS-LC100 control live, splitting karst limestone from volcanic ash out of bare_rock and emitting the missing wetland weightmap (or re-confirming its measured absence per game 9494cc3). PRODUCES a continuous per-class fraction stack with per-class ecotone radii, the split rock classes W6 owes, and a home for PM_Flores_RiverbankMud's authored TrackCarry 0.85. DONE WHEN E:/terrain/w9_landcover is non-empty, the manifest's source_evaluation block records the CGLS control read, and the class-boundary gradient metric is measured before and after.terrain_stage6.py erosion and detail synthesis, plus the abiotic field bake (slope, plan/profile curvature, altitude, occlusion/illumination, D8/D-inf flow accumulation, TWI, aspect as sin/cos, distance-to-water, wind vector), with the difference gate rejecting any cell displaced beyond tolerance against the source DEM. PRODUCES the missing 1-62.4 m band (gullies, streambanks, terrace risers, scree) put back, and the abiotic stack that W11's hydrology, W12's ruleset, audio, wildlife and fog all consume from one bake. DONE WHEN slope and curvature histograms of the built heightfield match the source COP30 above 31.2 m and differ below it (the claim is a number, not a look), the difference gate rejects a mutated positive control, and the abiotic stack has one raster per named field.Content/__ExternalActors__/Maps/FloresIsland exists and is populated, post spacing read back off the landscape per zone conforms to build/zones/flores_island.csv (today 0/11), and FloresIsland.umap is no longer a single ~610 MB package.docs/spine/CH_02.md L339-352 currently cannot bind to ("There is no id to bind to", L376). DONE WHEN the Carve_Interiors layer reads the carve by byte-verified import, the difference report's containment numbers re-derive in-engine (0 posts displaced outside the footprint), and the pad-minus-DEM conflict over the carve footprint reads zero.Humanity.uproject. PRODUCES a ruling on whether the cave gross volume is engine-native or kit-assembled — which decides how much of the next two steps exists at all. DONE WHEN the spike runs at the canon volume (not a toy volume) and emits a PASS/FAIL record with its own negative control; Humanity.uproject is byte-unchanged.bl_build_kit.py AND BUILD KIT_KARST_V1: 65 declared pieces at Blender 5.2, each finished with the exact boolean intersect against its envelope and the 0.75 m seam mask that makes butt-jointing possible. PRODUCES the modular karst kit the research says is the right answer for cave LAYOUT (Skyrim's modular approach; no shipped AAA title verified using procedural cave layout generation). DONE WHEN kit_manifest.json reads pieces_built 65 / failed 0 with per-piece triangle, material-slot and vertex-ratio numbers read back off the built mesh, budget_check A1 and A3 green, and out/meshes is non-empty.DATA_LAYERS_GATE_SPEC.md §5 (planes T/F/M, requirements R1-R7) and §7 build order, honoring INT_0006's portal_sublevel access class and the diegetic portal law (a passage the player walks, never a fade). PRODUCES an enterable first chamber and approach, load/unload-gated by Data Layers, joined to the 44 imported DT_InteriorSpace rows. DONE WHEN emit_interior_access_split.py --check stays CLEAN against the built assets with its positive control still firing, the three Data Layer assets exist, and the player can walk mouth→chamber without a fade.docs/spine/CH_02.md L339-352 cites a live feature id. This is the close of the PHASE B Flores world assembly.flores_monsoon.json to a schema reading the abiotic stack (per-species rules on slope, altitude, TWI, aspect, curvature, landcover probability); adopt Far Cry 5's arbitration verbatim (priority first, viability breaks ties, viability radius excludes competitors, size variants bound to viability bands); add the write-back/pigment layer and RVT substrate blending; evaluate Epic's PCG Biome Core before hand-authoring; wire the 225 T0_Environment_Grammar features the zones already reference; and make PCG parameters reachable via a headless-callable UFUNCTION in Source/HumanityEditor. PRODUCES a generator instead of one region's baked constants — the thing that decides whether the remaining slice regions cost days or weeks each. DONE WHEN ecotone width is measured in metres across the lingko_forest_edge → mount_inerie_cone_country transition (today a step), species-vs-slope and species-vs-altitude conformance is sampled off the spawn records, Zone Catalog column fill moves 0/11 → 11/11, and a positive-controlled grep for EG_00 over Tools/ and Source/ moves off zero.flores_island.md L63); populate T0_Dwelling_Registry past its 2 rows; mint the KIT id space (WQ_0032, D1-05 is P0 and unkeyed; kit_id_ref blank on all 44 interior rows); re-author the 40 flores props past PREVIZ basecolor and import them; and write the layout to files so a town is tweakable without a full re-cook. PRODUCES Wae Rebo as seven enterable mbaru niang placed by rule, and an architecture factory that survives 76 regions instead of one village. DONE WHEN each house's distance and bearing from the compang centroid conforms to the page's stated arrangement, slope under every footprint passes audit_region_spaces.py (mean ≤ 10°, max ≤ 20°), the props' honest_tier reads a real albedo rather than PREVIZ, and Content/Meshes/Architecture holds a kit rather than one mass.harness/comparator_rubric_scorecard.json's known_limits[1] ("No world/environment TEACHER LENS has been run") is retired by a committed lens return. Split under RULE 2: the teacher lens is an instrument and arms in C, before the nine-region volume closes; the A-ENG capture debt is final-tier and rides D.harness/comparator_rubric_scorecard.json shows an armed world verdict per slice region, every region's tier register reads final rather than greybox-feel, and the board is viewable on Josh's phone.Sweep-declared limits, carried. This lane opened no UE editor and ran no tool; every "has run /
has not run" claim derives from output artifacts, tool headers that self-declare their run state, git
history and the bench records' own words. It read no capture PNG — no tier claim depends on a
sighting. It did not verify the program doc's §2.4 research citations or its engine-side facts about
PCG Biome Core, Nanite Foliage and Mesh Terrain; those are carried as the program doc's claims. A
ledger refresh pass on the world/interior rows is owed and is deliberately NOT in the ladder because
it is bookkeeping, not build.
Honest state. **The ENGINE is ahead of the CANON DATA, and the two are wired to different
tables.** Strong tier is the spine's typed layer: 179 beats / 82 scene rows / 15 forks / 52 fork
options across the 15 slice nodes, with 82/82 scene beat_ref FK misses = 0, 52/52 fork_option
fork_id misses = 0, and all 49 ws.* heads referenced in slice beats resolving to a live
T0_Worldstate_Variables row. Wired tier is the runtime: UQuestSubsystem runs a real data-driven
beat DAG off DT_Beat with produce-before-consume state deltas, forks, save/restore and a completion
broadcast; the scene subsystem auto-plays on the matching beat_ref; the quest log surfaces MAIN and
SIDE tracks; and HumanityCondition is ALREADY the verbatim C++ port of harness/condition_expr.py
with the 49-case golden corpus — QW-1c is DONE, not owed. The seam, in the ledger's own words
(docs/PIPELINE_LEDGER.md:119): "The driver reads SPINE tables, not T0_Quest_Definition_Registry — a
hand-staged slice driver, not a general graph runtime." Thin tier is the quest layer itself:
T0_Quest_Definition_Registry = 17 rows / 48 cols, slice main-quest coverage 2 of 15 nodes,
zero W3 teacher turns exist anywhere (0 full / 0 partial / 17 untouched, world_memory_write blank
on 17/17 against 48 live ws keys, teeth Q1-Q4 all NOT_ARMED), and the one authored exemplar is
genuinely typed and unreachable from the engine by construction. **The authoring frontier is
exactly Ch 5 → Ch 6 and it is sharp:** player_objective is populated on 77 of 179 slice beats (PRO
16, CH01 14, CH02 11, CH03 12, CH04 12, CH05 12) and 0 on Ch 6-13's 102 beats; string_status and
voice_register_ref sit on the identical 77; player_option on 18 of 52 fork options at the same
boundary — so eight of fifteen slice chapters are structurally complete and narratively mute.
Dialogue is proof-of-shape, not a floor: 115 nodes / 312 options / 4 speakers against ~89 named slice
characters, T0_Dialogue_Line = 6 rows, DIVERGENT 7 of 104 multi-option nodes (6.73%),
consequence-bearing options 33 of 312 (10.58%), **option state writes 0, tooth V6 NOT_ARMED — a
conversation currently cannot change the world.**
Two stale headlines corrected by the sweep, binding on the next lane. (1) The ledger's "12
blocks-production gaps" on B1 is self-corrected in place at L119 — CG-01..05, CG-07..12, CG-13..28
are CLOSED; only CG-29 is open; the next B1 lane must not re-close closed gaps. (2) The
build_readiness Cinematic BLOCKED-ON is a REGION-PAGE gap (check_build_readiness.py:302-309 reads
p.scene_index), NOT a spine-scene gap — the spine's scene rows already carry all three fields on
82/82.
Blockers with owners. B1, hardest and cheapest: QuestDefinitionRegistryRow.h is **22 COLUMNS
STALE** (27 UPROPERTYs against a live 48-column / 17-row registry) and the 22 missing members ARE the
quest runtime payload — objectives_array, completion_condition, state_writes, progression_guarantee,
fail_state, fork_option_refs, reward and turn columns; DT_QuestDefinition exists and is in the
import manifest but cannot carry one objective (owner: GAME lane, Tools/gen_row_struct.py). B2
SceneSpecRegistryRow.h is 7 columns stale — lower severity because nothing consumes DT_SceneSpec
yet, but it blocks cinematic-tier routing off the table (owner: GAME lane). B3 the exemplar quest's
dialogue_dataset_array points at docs/quest_dialogue/, a directory that does not exist (owner:
canon lane B1). B4 zero quest turns armed corpus-wide; canon's own resolution is that CH_02's turn
belongs on the FORK_CH02_A quest and that row does not exist (owner: canon lane B1). B5 dialogue
cannot write state — ChooseFork (QuestSubsystem.cpp:841-897) does not resolve a fork option's
mark_write through the write path, "the one deliberate gap" (owners: canon for authoring, GAME for
W-3/W-5). B6, the largest authoring debt in the family: player-facing strings stop at Ch 5 (owner:
canon lane, docs/NATURAL_VOICE_DOCTRINE.md). B7 WQ_0049, the quest_hook vocabulary seam is open at
BOTH ends — the engine tooth accepts any hook containing ":" while the emitter would REFUSE the key
forms the runtime understands. B8 WQ_0074/WQ_0075 ws-id collisions (owners: death-choice lane / GAME
lane). B9, **not this family's but it gates every "runs in engine at final tier" claim: 9 of 15 slice
nodes have NO LEVEL** — this family can reach "quest graph runs headless and in greybox" for all 15
without it; "plays in its own place" waits on the world lane.
Ladder. Ids QN-01…QN-14 map to the sweep's S1…S14.
Tools/gen_row_struct.py against the live T0_Quest_Definition_Registry (48 cols) and T0_Scene_Spec_Registry (37 cols); rebuild the module; re-import DT_QuestDefinition / DT_SceneSpec through import_all_registries.py with an expect= count pin. PRODUCES FQuestDefinitionRegistryRow at 48 UPROPERTYs and FSceneSpecRegistryRow at 37; DT_QuestDefinition carrying the CH_02 exemplar's objectives_array, completion_condition, state_writes and the four turn columns. DONE WHEN the 804eb55 drift validator reports 0 column drift on both structs, AND the per-member column probe (a failed bind returns N empty strings, an unresolvable property returns an EMPTY array, both RED) passes per member on the CH_02 row — not "the import returned 0".HumanityQuestSliceDriver's source of truth from the hard-coded chapter id to a DT_Quest row lookup, and give objectives their own local.* write path ordered by objectives_array rather than beat order. QW-1c is already DONE — do not rebuild it. PRODUCES Ch 2's main quest running END TO END headless: giverless auto-arm → six objectives → per-objective flag() completion → one ws.familiar_bond_state write → completion on the conjunction. DONE WHEN the exemplar's own literal acceptance (QUEST_EXEMPLAR_CH02_OPENER.md §9 QW-1g) holds, plus its negative control: "A run that completes the quest without local.ward_recovered is a failure of the port, not of the row." This is the PHASE B runtime template every later chapter copies.ChooseFork so a fork option's mark_write resolves through the WorldState write path, and settle the membership predicate (the condition grammar has no set-membership test while FConditionState::Ws is TMap<FString,FString> and a mark is a NameSet token — a grammar decision, not only code). PRODUCES the consequence half: a choice at FORK_CH02_A writes a durable mark and a Ch-3 state_in can read it. DONE WHEN W-6's play proof holds as written — play CH_02 choosing generative, then the CH_03 read surfaces DL_000184, a frame plus a state dump, not a claim — and tooth V6 and the fork mark path both leave NOT_ARMED.docs/quest_dialogue/ with DD_QUEST_CH02_ARRIVAL_UNLOCKED.csv so the exemplar's dangling pointer resolves. PRODUCES one armed turn — the mechanism every later quest replicates — and a non-dangling exemplar. DONE WHEN harness/check_quest_turn.py flips Q1 (CH_02), Q2, Q3 and Q4 from NOT_ARMED to PASS with world_memory_write naming a live T0_Worldstate_Variables key; fresh-context normalize-doc critic returns GO or GO-WITH-FIXES-applied; the referenced dialogue file exists. This is the "quest-turn population" the command structure assigns to the milks lane at the Sun-10pm opening.harness/emit_dialogue_rows.py hook_problems() to accept the key-and-value forms the runner dispatches instead of refusing them. PRODUCES a hook vocabulary that means the same thing on both sides of the repo boundary. DONE WHEN the positive control fires in BOTH directions — "garbage:x" is REFUSED by the engine tooth (it currently passes) and a legal runtime key form is ACCEPTED by the emitter (it currently refuses) — then T1_Build_Pipeline_Contracts §6.5.1's weakened sentence is strengthened back.condition_expr.py, fidelity and citation baselines are refreshed in the same commit, and per-chapter critics return GO. Ch 11's zero-ws-write gap closes here.check_dialogue_divergence.py holds the divergence and consequence floors at scale, tooth V6 ARMS because options write ws state, every quest_hook resolves under the QN-06 vocabulary, and a fresh-context critic grades a full six-option beat for whether it sounds like a PERSON.T0_Scene_Spec to the consumed index or fold its intent trio (thematic_anchor / audio_priority_layer / scene_audio_intent / cinematic_tier) into the scenes.csv the engine already reads. PRODUCES one scene index with a live consumer, with the cinematic and audio lanes able to route off cinematic_tier and scene_audio_intent for the slice. DONE WHEN every slice scene row carries the intent trio and a cinematic_tier; cinematic_status leaves "pending" on at least the Ch-2 set with an assembled artifact behind it; DT_SceneSpec is either imported and read by HumanitySceneSubsystem or formally retired in DOC_MAP so no lane authors into an orphan.check_seed_housing.py reports a non-zero routed count with flores fully typed and zero seeds silently dropped; each routed seed resolves to a real quest or questline id.T0_Journal_Entry_Registry is minted, a journal UI surface renders both Ch-13 entries off journal_status, and the journal_voice gate is armed against the twelve testable register rules the exemplar set.run_loop_qa.py returns GREEN on a MAIN-quest station for each slice chapter (today's green station is an SQ1 side-quest ACCEPT, not a main quest run), the ws dump after each run shows the chapter's authored state_writes present, and the director re-reads the frames rather than accepting the agent's description.Sweep-named gaps carried forward. Ch 11 writes ZERO ws.* keys across 13 beats — the one slice
chapter that leaves no durable trace on the world; found by census, never flagged before; QN-08
closes it. clues.csv is populated for CH_02 only (10 rows) and empty for all 13 other slice
chapters while UHumanityClueSubsystem exists — the discovery layer has one chapter of content.
T0_Scene_Spec_Registry (the rich table) is consumed by NOTHING in-engine — two scene tables coexist,
one authored-rich and orphaned, one thin and live, and which is the scene index is an unstated fork
(QN-10). cinematic_status = pending on every scene row read. PROLOGUE and CH_01 carry ZERO forks —
consistent with the fairy realm being designed last, but it should be a deliberate ruling rather than
a silence. Only 5 voice registers exist against 8 further cultures in Ch 6-13, so the string pass is
blocked on a register decision per culture, not just on writing. The slice's SIDE-quest surface has
an accept and nothing after it (370 sq rows, "No SQ has playable content past the accept").
Honest state. **The design layer is far ahead of the build layer, and the build layer has exactly
one authored data exemplar with no engine consumer.** Structure tier is real and gate-covered:
T0_Boss_Encounter_Registry 284×56 of which the slice carries 53 (CH_PROLOGUE 1, CH_01 1, Ch 2-13
51), 51 kits on disk 1:1 with the Ch 2-13 rows, T0_Ability_Tree_Registry 185×44,
T0_Ability_Presentation_Tier 298×16, T0_Weapon_Registry 72×33 with defensive_class LANDED
(none 65 / riposte 3 / parry 2 / block 1 / catch 1 — **only 7 of 72 weapons can answer a defensive
prompt at all**). Greybox-feel tier is frameworks that run on almost no content: 45 combat .cpp,
parry / chain meter / hitzone / attack library / boss character / boss state-tree nodes / arena
mutation / ability foundry all present, 29 combat-feel probe records — but **the chain meter's only
live content consumers are the Hollow encounter classes and the debug HUD; NO BOSS DRIVES IT**, and
no boss playthrough record exists in QA/bench. Final tier: nothing in this family — zero
Josh-graded exemplars, GA_* blueprint assets = 0 against firing positive controls (NS_* = 10,
DT_* = 49), 5 of 185 abilities bound in the shipping set, and 72/72 weapon meshes generated and
staged with 0 imported. The ledger's own headline is stale and must be corrected in place:
docs/PIPELINE_LEDGER.md L64-65 says T0_Boss_Attack_Rail = 0 rows over 284 encounters; measured =
19, all belonging to BE_0002 alone, with counter-class distribution any 8 / dodge_only 8 /
trigger_interrupt 1 / cover 1 / weak_point 1 — zero parry rows, which is exactly why BE_0003 was
named the parry second exemplar. **Engine consumption is the real wall: 8 of 20 combat-family
registries have a DataTable and 12 do not**, most damagingly the boss attack rail itself. Both landed
boss_design exemplars (CH_02, CH_05) are UNTRACKED working-tree files — any lane deriving from them
derives from unlanded work.
Blockers with owners. B1 the 81-gate suite is RED in this working tree —
check_counter_class_coverage.py crashes with a TypeError at L970 (8 format specifiers against 7
arguments; the missing arg is len(live_elements)), and it is an **UNCOMMITTED in-flight
sibling-lane edit (+474/-20; the crashing string does not exist at HEAD) — coordinate with that
lane, never clobber; the fix is one argument.** B2 A12/A19/A11 all queue behind BE_0003's rail, the
corpus's own named next claim (owner: rail-authoring lane). B3 the 19 authored rail rows have no
engine consumer (owner: engine lane). B4 the zone mint is gated on three untracked pages, **but the
slice half is not actually blocked** — all 253 EG tokens come from the 12 HEAD pages, which are
exactly the slice regions; the block is an ordinal-allocation artifact, and it is DIRECTOR-ACTIONABLE
today by making the ordinal page-scoped. B5 A3 tiered variants hard-blocked behind A2's exemplar
route. B6 the 71-weapon volume pass is banned behind Josh's grade of the WPN_033 exemplar AND the
legendary-grade-level fork — correctly queued, not defects. B7 ten of twelve slice boss_design docs
do not exist and the two that do are untracked (claimed 2026-08-07 ~20:05 ET by a parallel director
seat as five Opus lanes × two chapters). B8 **the 12-tier mastery progression has no owning
pipeline** — LOCKED canon with no data home; eight registries carry gate-reference columns pointing
at a table that does not exist, 0 of the 120 canonical quest gates are authored, and no Domain A
ledger row names it (UNOWNED — needs a pipeline row minted). B9 BE_PROLOGUE and BE_01 have no kits
and three of 284 boss_ids break the BE_\d{4} form, two of them in slice — any id-keyed emitter
assuming four digits silently drops the slice's bookend encounters. **B10 a structural contradiction
needing a one-line DIRECTOR ruling, not a Josh question:** the ledger demands a "Josh-graded floor"
per exemplar while THE JOSH GATE says Josh plays nothing until the slice is complete. The corpus
already implies the split — **Josh grades LOOK (frames, turntables, tracks); the QA loop grades PLAY
with critic evidence** — but never states it, so the combat exemplar chain deadlocks until the
director states it. OWED, not ruled here.
Ladder. Ids CS-01…CS-25 map to the sweep's S1…S25.
len(live_elements)) at harness/check_counter_class_coverage.py L970-979. PRODUCES a green 81-gate suite for every lane in this working tree. DONE WHEN python harness/run_gates.py runs UNPIPED and exits 0, AND the A5d note prints a real live-element count, AND the tooth is mutation-proved (mutate the alias map → RED). Identical to QA-A1 — one defect, two ladders; do it once.emit_zone_registry.py re-emits byte-identical, and the ordinal is page-scoped so the 3 out-of-slice pages can land later WITHOUT renumbering the 79-of-84 hazard.T0_Mastery_Tier_Ladder (level 1-12 → CVD §12 name mapping → gate quest ref → unlock class) as the FK target the 8 existing gate-reference columns currently point at nothing; a new ledger row; a DOC_MAP entry. DONE WHEN all 8 referencing columns resolve or are explicitly declared, the row appears in PIPELINE_LEDGER §2 and DOC_MAP.md, and the 120-gate count is either populated or its debt is declared WITH A NUMBER.DT_BossAttackRail plus the attack-library consumer. PRODUCES the first engine consumer of rail data; BE_0002 and BE_0003 rails readable in-engine. DONE WHEN READ-BACK evidence is logged (the wave-7 precedent that caught the empty-canon-id defect) and HumanityAttackLibrary drives one boss phase from ROWS, not from code.grep -l ChainMeter over Source names a boss-side consumer.BE_\d{4} with every referrer updated in the same commit, or the exception is declared AND every id-keyed emitter carries a positive control proving it does not silently drop them.docs/ABILITY_EXEMPLAR_DOSSIER_A_E_003.md pass, the ability is castable in-engine, and the GA_* asset count moves off 0.find Content -iname '*WPN*' returns non-zero with a routing proof; the import chain is already proven on EQS_* (45) and CR_0* (51).grep Imprint over Source returns a real consumer.grep Loadout over Source returns a consumer and the Ch-2 Flores site performs ALL THREE of save, recharge and loadout.docs/proposals/AGILITY_COURSE_EXEMPLAR_CH02.md) — A18: the traversal-verb roster (engine gap 51), then the Ch-2 Flores agility course greybox and playtest. PRODUCES the slice's first playable agility course, all three variants (Standard / Hardcore / Puzzle), plus the proposed T0_Agility_Course_Registry at per-variant grain. DONE WHEN the course is PLAYED and critic-graded — the row's own clause that today is explicitly not met — with every reach bounded by the shipped movement constants.Sweep-named gaps carried forward. The chain meter's only content consumer is the Hollow encounter
class. Only 7 of 72 weapons carry a non-"none" defensive_class, which caps how much of the
seven-member counter-class vocabulary the slice can teach; parry ships Ch 3+ at the earliest.
T0_Equipment_Registry holds 23 rows with exactly ONE loot-bearing, whose own notes say it is never
rolled, crafted or an imprint base — "equipment/loot flowing" has no payload for a 13-chapter slice.
Familiars are ruled build components but carry 5 of ~110 bond-ability rows, creature_ref on 1 of 21,
no familiar actor and no bond runtime. A16's vril seat/device bonding has no structured registry, but
**every bonding beat falls OUTSIDE Pro→Ch 13 — named here so it is not rebuilt as slice work by
accident.**
Honest state. Tier: STRUCTURE everywhere; ZERO graded audio of any class.
docs/factory_complete.json::factories.music.chain is four falses and docs/PIPELINE_LEDGER.md:43
reads "Music | 0 | 20 complete tracks staged; none carries a Josh grade". **Three rounds have graded
down** — round 1 (18 tracks, 4 rows) and round 2 (2 cues) are all turned_down, so the review queue
is EMPTY of music; round 3 (pass 3) was deliberately WITHHELD by its own verdict ("Nobody has
heard these tracks… publishing is the director's act") and its audio sits OFF-REPO at
D:/audio/pass3/. Pass 3 scores **55 of 57 score-side targets against round 2's 7 of 57 by the same
code**, with two named misses and one genuine failure (ROUNDS: 22 planned sections measured as 3,
structural_yield 0.0667, dynamic_arc FAIL). The slice cue count, derived and counted:
build/audio/music_cue_table.csv is EXACTLY the slice — 216 rows over CH_PROLOGUE + CH_01..CH_13 and
nothing else (PRO 12, CH_01 13, CH_02 22, CH_03-06 16, CH_07 15, CH_08 14, CH_09 15, CH_10 13,
CH_11-13 16); by source, composer_in_loop 95 / ace_step_worklist 110 / sonniss_landed 11 — **so the
composition burden for the slice is 95 cues and pass 3 has produced 3 of them, none graded.** Two
live defects on that table: emit_music_cues.py --check returns DRIFT (216 disk / 222 derived), and
theme_ref has TWO distinct values across all 216 rows. Registries: T0_Theme_Registry 38 rows
with plant_node 0/38 and diegetic_surface 0/38 (owed before the next Tier-A render — pass 3 rendered
without them); T0_Motif_Registry 1 row. SFX: 680 rows, generation_status pending on 680/680,
build_asset_path empty on 680/680, 652/680 are MAGIC_EFFECT so the whole non-magic world-sound
surface is 28 rows, and chapter_anchor gives only 85 slice rows — **the Prologue and Ch 1/5/8/9/11/12/13
carry ZERO. In-engine there are 41 uassets in Content/Audio/SFX of which 22 are named
_placeholder**. Foley is genuinely well-wired (footstep component, foley bank, 10 anim-notifies) and
0 graded — the cheapest tier-advance available in the whole family. VO: no generated line exists
anywhere; T0_Dialogue_Line holds 6 rows; VO rides the C6 dialogue lane and has no backlog of its
own because there is no dialogue corpus. Two label-vs-content corrections: the ledger's
"T1_Audio_Spec is a 2-line empty stub" is STALE (the file is 357 lines, header DRAFT v1.0, but
UNCOMMITTED); and D-GRAND-SAGE-VOICE is not a blocker — Josh RULED it 2026-07-23c, the row is
re-scoped, and check_grand_sage_silence.py returns PASS. Source material is not the constraint:
419 GB of Sonniss sits on D:/audio/sonniss, unindexed.
Blockers with owners. B1 JOSH'S EAR — three rounds, 23 candidates, zero passes (owner: Josh;
the director publishes); nothing in this domain advances a factory chain or reaches a chapter page
until one track is graded up. B2 pass 3 is unheard and unpublished by construction (owner: DIRECTOR)
— the single cheapest unblock in the family. B3 the scaling economics are stale against Josh's own
CROSS-TRACK NOVELTY ruling and carry no supersession note — the whole 95-composed-cue estimate rests
on an amortisation claim the ruling voided (owner: music lane / director). B4 G1: 36 of 38 themes are
attached to nothing (owner: music lane). B5 doctrine gate 5 half-unmet before every render (owner:
music lane). B6 T0_Motif_Registry = 1 row and the registry-shape question is explicitly UNRULED,
while the motif bank is called "the highest-value authoring in the whole program" (owner: DIRECTOR).
B7 SFX has no slice inventory (owner: SFX lane). B8 **no mix, no space, no loudness doctrine anywhere
— GAP-183 is OPEN with NO blocking rank. This is what Josh hears on every track and no instrument
reports it** (owner: audio lane). B9 G8: the palette cannot sing — the round-2 floor names
voice/chant/humming/clapping and the sample palette has none (owner: acquisition lane, BUILD-NOW
priority 1). B10 the care-doctrine cultural-substrate benchmark has never been run, all 12 region
cells held pending — "the domain's largest open care gate", and it gates every ACE-Step region bed
(owner: audio lane). B11 composer-in-loop: two rulings one day apart pointing opposite ways; both
agree an identity theme is COMPOSED not prompted, they disagree on who holds the pen, and a human
composer is a named cost and a booking trigger — "a Josh-level fork, not a drafting choice"
(owner: director to frame, Josh to rule; §7). B12 VO cannot start because dialogue has not (owner:
the C6 dialogue lane, upstream). B13 cue table drift, six canon cues not on disk (owner: music lane).
B14 the domain's T1 owner is uncommitted and still DRAFT (owner: DIRECTOR).
Ladder. Ids keep the sweep's own labels under an MA- prefix.
T1_Audio_Spec DRAFT→ACTIVE. PRODUCES a committed, critic-gated T1 owner for the audio domain; PIPELINE_LEDGER rows C9/F1/F2 corrected (they still assert a 2-line stub against a 357-line file); a DOC_MAP row. §10.1 and §10.5 stay OPEN in the flipped doc by design. DONE WHEN normalize-doc returns GO, run_gates.py is green UNPIPED, the three ledger rows are edited in the same commit, and git status is clean on the audio paths.emit_music_cues.py --check returns clean, with the fidelity baseline refreshed in the same commit if any registry cell moves.sfz_palette.py. DONE WHEN the licence read is recorded per set at face value, the samples are in the palette, and one probe render proves they sound. Ranked BUILD-NOW priority 1 in the gap hunt's own table.docs/factory_complete.json::music.josh_graded_exemplar flips true on at least one cue with a real evidence string. This is the only step in the ladder that no amount of work substitutes for, and every step below it is dead weight until it passes.build/audio/ace_step_bed_worklist.json (licence read already recorded at face value: ACE-Step 1.5, MIT, no output restriction). DONE WHEN 110 beds are rendered, write_generation_licence_ref is written on every row, and the Care-Doctrine cultural-substrate question is RUN on the 12 held region cells before any of them publishes — no region bed publishes on an unrun care gate.Content/Audio/SFX, with build_asset_path, generation_method, generation_licence_ref and generation_status populated per row. DONE WHEN zero _placeholder names remain in the slice's imported set, lifecycle columns are non-empty for every imported row, and the fidelity baseline is refreshed in the same commit.factory_complete.music.wired_in_game flips with a real evidence string.docs/NATURAL_VOICE_DOCTRINE.md. DONE WHEN the natural-voice critic passes and Josh's ear grades it, per-row licence recorded, the clone gate untouched (synthetic only, description-driven, never an ethnicity menu).Phase-tag note. The command structure names music only in PHASE D ("music pass-N behind the
proof-before-spend gate"). This document places the zero-token instrument work (MA-A1…A6, MA-B1) in
PHASE A under RULE 2, pass 4 and the round-3 grade in PHASE C, and the composed sweep (MA-C3/C4/C5)
in PHASE D. **The proof-before-spend gate is honored exactly: no render batch beyond pass 4 spends
until one cue is graded up (MA-C2).** This is a phase-tag call by this document, not a sweep claim.
Sweep-named gaps carried forward. The G13 reconciliation line — is 216 an inventory or a target?
Josh's bar is "20+ complete tracks per region or cultural node"; the emitted table averages 15.4
rows/node with only CH_02 at 22, and the reconciliation is assigned to nobody. There is **no cost
model or render-hour budget for the sweep**, and with B3's amortisation claim voided the slice's real
cost is unknown. G12: the cue is never checked against the scene it plays under. **No dedicated audio
comparator research has ever been run** — "The thirty-year melodic bar in particular has no
comparator anchor." The measurement rig is calibrated on 30 identified reference works, not the
182-row corpus and not the 1180 formula cards (1150 are unmatched filler). **Five of the six
audio-battery instruments return honest nulls** (within-album AUC 0.501, sensory roughness 0.4963,
counter-melody-from-audio 0.195 — "on the WRONG side of chance"): the score-first ruling routes
around them, nothing has replaced them, so render-side quality is effectively unmeasured. And
groove.onset_rate_per_s is degenerate across all 1180 cards — it measures the analysis hop rate, not
the music; nothing may use it as a pulse or density proxy.
Honest state. The instruments are built; the coverage is one chapter of fourteen. The QA loop
is real and verified in source, not labels: 26 files under Source/Humanity/Private/QA/, **108
automation-test macros**, capture / input-driver / loop-QA / feel-probe subsystems, and
Humanity.Build.cs:107 now links FunctionalTesting + AutomationController, so the architecture doc's
recorded QA-2 precondition is MET. The bug ledger is disciplined: 57 records, fixed 47 / open 6 /
repro-ready 1 / wont-fix 3, with 52 of 57 carrying a regression_test_ref. But canon carries 179
beats across the 14 slice nodes and exactly ONE beat blockout exists (CH_02, 11/11 placed, read
back post-save, 4/4 placeable systems SERVED) — and the loop has been IDLE 2-3 days (latest feel
2026-08-05, combat_feel 2026-08-05, look and ui 2026-08-06; no AI-player session on 08-07 or 08-08
while the art, character and music factories ran hot). Comparators: the gate PASSES with 4 teeth and
10 fixtures, must-fire proven — live counts sections 183, wave_closes 12, rubrics 17, **ARMED = 1,
NOT-ARMED = 11**; exactly one armed wave-close has ever carried a verdict (WAVE 8: character_appeal
NOT_APPLICABLE, movement NOT_APPLICABLE, world BELOW), the would-score backlog in the 11 pre-law
entries is 34 domain-verdicts never taken, and **6 of 17 domains have never been touched by any
wave-close** (discovery, raising, building, vehicles, minigames-secrets, aggro_threat). Live BELOW
verdicts on record: comparator_movement 0.561 / 0.604 / 0.614 / 0.402 over 1,884 contact frames, and
world BELOW on four axes. Site: deployed 2026-08-08 00:45 UTC at humanity-review.pages.dev, 1,252
pages, images: 0, and already stale against both HEADs; gates GREEN with real positive
controls (the curation sweep is CLEAN across 50 published board pages against a CONTROL of 2,595
findings on the same boards' factory sheets). The gallery is correctly empty:
publish_gate.complete = [] — 0 of 10 factories — with 4,262 figures withheld (creatures 1,491,
world 807, protagonist 553, props 421, weapons 374, abilities_vfx 300, architecture 147, bosses 139,
equipment 30) and exemplar ACCEPTED 1 against NONE ACCEPTED 60 across 70 pipeline rows. Boards:
structural PASS on 50 boards / 3,148 plates / 3,046 present / 102 honest WARNs — but **every one of
the 50 boards is subject_canon_id = flores_island, so Ch 4-13 have ZERO boards**, writeback_status
is PENDING on 50 of 50, and critic_verdicts is PENDING corpus-wide. Ops is the headline:
uncommitted residue measured at HEAD is **659 canon paths + 572 game paths = 1,231 across both
repos — it has GROWN, not shrunk, since §8.15 boarded it. And the reds and the residue are the
same debt:** line_citations FAIL (422 findings), scan FAIL (909 new keys), region_pages FAIL (on
exactly the three half-authored batch-2 pages — all 12 slice region pages PASS),
canon_derivation FAIL (10 findings, 9 of them new untracked proposals), ledger FAIL (9 L1 danglers
pointing at residue paths) — every cited target is an UNCOMMITTED file. **Landing the residue
correctly clears five reds BY CONSTRUCTION — it is one wave, not five repairs.** The survivors are
orientation+queue (one paste) and counter_class_coverage, which does not fail — it CRASHES, so
the armed tooth for the boss-rail wave currently reports nothing at all.
Blockers with owners. B1 Cloudflare MCP unauthenticated (owner: JOSH, one interactive
/mcp) — blocks the review.humanityrpg.com attach and therefore the phone-first boards law's real
target; Artifact interim path meanwhile. B2 1,231 uncommitted paths (owner: DIRECTOR, the residue
landing wave) — this holds 5 of 7 gate reds red for EVERY lane, **and a red nobody owns HIDES the
next real finding**. B3 counter_class_coverage cannot execute (owner: any lane, zero-token). B4 no
map for Ch 6-13 (owner: ENGINE/WORLD) — **the AI player has no surface to play, so every per-chapter
QA cadence stops at Ch 5.** B5 zero boards outside Flores (owner: art/concept lanes, gated behind the
protagonist + exemplar chain) — the slice's look-law exists for 2 of 13 chapters, and volume is
BANNED behind an unpassed exemplar by the ledger's own precondition test. B6 `publish_gate.complete =
[]` (owner: every generation pipeline) — nothing this family can fix; the gallery is honest and empty
and lifts only as exemplars pass. B7 all 50 boards writeback pending, BRD_0001 awaiting_pick since
2026-08-04 — a pick that never reaches canon is not a decision; and WQ_0001's note claims the four
image critics ran and returned GO_WITH_FIXES while MANIFEST.csv carries critic_verdicts PENDING on
every row — **one of the two records is wrong and the sweep could not resolve which; a director check
is owed before QA-C2 dispatches critics that may already have run.** B8 the engine lock serializes
every in-editor step (owner: DIRECTOR seat).
Ladder. Ids keep the sweep's own labels under a QA- prefix.
harness/check_counter_class_coverage.py:970). PRODUCES a gate that RUNS instead of crashing — the armed tooth the boss-attack-rail wave is supposed to score against. DONE WHEN the script exits without traceback AND a must-fire mutation still turns it red (the noisy-gate-CONCEALS law: a gate that cannot fire is not armed). Identical to CS-01.python harness/queue.py view over the ranked-next section of docs/START_HERE.md. PRODUCES orientation/queue agreement — the map's line 5 currently says "Art Phase B1" where the queue says "THE EXPOSURE LEDGER". DONE WHEN check_orientation.py reports T-QUEUE-VIEW silent and queue.py --check reports T-DERIVATION / T-GATE / T-NODE silent, with both self-tests still at 23/23 and 50/50. — LANDED 2026-08-11 by the hf seat (claim 9193590c): orientation AND queue gates RED→GREEN, all teeth silent, self-tests 23/23 + 50/50; the queue teeth traced to five music-lane items' METADATA (WQ_0085/0086 proposal-and-build derivations re-rooted to canon with the method refs preserved in their notes; WQ_0087-0089 re-typed music→gate with gate music_battery — the craft content untouched); the map trimmed to exactly 120/120 with the dated pointer removed and two stale Current-state facts corrected in the same pass (region pages 12→15; BRD_0001 awaiting_pick→PICKED per the WQ_0001 reconciliation).-A, and --emit-baseline for line_citations / scan / fidelity / ledger in the SAME commit as the content it describes. PRODUCES the actual cause of five gate reds removed — not five repairs, one wave. DONE WHEN git status --porcelain in BOTH repos returns only live-lane paths, AND run_gates.py UNPIPED shows scan, line_citations, canon_derivation and ledger GREEN. W-01 is this wave's first and highest-value cluster.check_region_page.py --self-test passes 15 of 15 with the self-test still reported ARMED. — LANDED 0a73d34e 2026-08-11 by the hf seat (claim e65638b2): 15/15 PASS self-test ARMED, three author/fix Opus lanes + three fresh-context Opus critics (one BLOCKING care-inflation defect repaired on levant §17), scan + region_pages gates GREEN, baselines re-emitted same-commit.check_ledger_integrity.py reports 0 L1 DANGLING and the L2/L3/L4 ratchets no longer print DECLARED NOT-ARMED (run --emit-baseline, commit the file, pass --baseline)./mcp in an interactive terminal on the josh@humanityrpg.com account, then attach review.humanityrpg.com. PRODUCES the phone-first publish target the boards law actually names. DONE WHEN the site loads over https://review.humanityrpg.com from a phone-class viewport and site_deploy_record.json names that URL.site_deploy_record.json.canon_sha == canon HEAD and .game_sha == game HEAD, and it fires when they diverge..engine_lane_lock) · deps: QA-A1..A3 — Adopt QW-3, the --start-at-phase QA entry (the ledger I2 row's own next step: "QA replay time is the binding cost until the Josh Gate"). PRODUCES QA sessions that enter at a named phase instead of replaying from the top. DONE WHEN a session manifest records its entry phase and a before/after replay-seconds measurement lands in QA/bench/.Tools/place_beat_markers.py across every slice chapter that has a map (it already read back 11/11 for CH_02). PRODUCES a beat blockout per slice node — today exactly ONE of fourteen exists against 179 canon beats. DONE WHEN QA/BEAT_BLOCKOUT_CH_NN.md exists per mapped node, each showing beats-in-canon == markers-placed == read-back-after-save-and-reload, with every "placeable" declared system SERVED.harness/read_captures.py joins its manifest against harness/qa/capture_expectations.json with zero unmatched shots.check_comparator_rubric.py shows armed climbing with every wave and ZERO armed entries missing a verdict (today: armed=1 in three days).Saved/Logs/*.log and Saved/Crashes/**/CrashContext.runtime-xml into typed bug records. PRODUCES a loop that finds bugs without a human, so Josh's hours stay pure feel-testing. DONE WHEN every "open" record carries an artifact ref and regression_test_ref coverage holds at or above today's 52 of 57 as the record count grows.firewall.py --sweep-boards.read_boards.py no longer reports critic_verdicts PENDING and no board sits in critics_running.read_boards.py structurally and each carrying critic verdicts.build_report.json already declares: protagonist → creatures → weapons → equipment → bosses → architecture → props → abilities_vfx → music → world. PRODUCES a review site with pictures on it. DONE WHEN publish_gate.complete names each factory as it passes, rollups.figures > 0, and site_deploy_record.json images > 0.run_gates.py GREEN unpiped; zero open bug records above the severity floor; every fun-bearing domain scored MEETS-or-better with its critic-read evidence trail; every play-quality claim carries a backing frame; and the packet loads on a phone.Sweep-named gaps carried forward. The QA loop has no per-chapter cadence artifact — four
cadences are named and nothing under QA/ emits a per-chapter scorecard, so "the AI QA loop covers the
slice" is a claim backed by exactly one chapter of evidence. The comparator gate's text-match limit
is materially biting: armed=1 after three days of heavy landings means either the waves genuinely
touched no fun-bearing domain (implausible) or the trigger tokens missed them — **the fix is charter
discipline (QA-B5), never loosening the gate.** AngkorKhmer.umap exists but Angkor is not a slice
chapter on the live index — one director check owed before QA-B2 assigns maps to chapters. The sweep
did not verify that the game currently builds or launches; the engine lock was held by a live module
rebuild, so every engine-window step assumes that rebuild lands green. And the line_citations census
shows empty_slice 148 against an allowance of 146 — **2 over its ratchet at HEAD, which will surface
as a C6 finding once the residue lands.**
No sweep owns this family, and that is itself the finding. UI, HUD, menus and cinematics have no
pipeline ladder of their own; their work exists only as steps inside other families' ladders, which
means no instrument answers "is the slice's UI complete" and no lane boots into a UI assignment.
This section exists to keep those steps visible until the family gets an owner; **it invents no steps
and points only at ladder entries already declared above.**
QN-07 (player_objective on all 179 beats). Today it draws nothing for eight of fifteen chapters.
the emptiest, and which sits INSIDE the slice at Ch 13.
HumanityDebugHUD.cpp; the meter's player-facing surface is a feel claim, not a data claim.
CS-19 (grep Loadout over Source returns 0 files today, so of the vril site's three ruled sanctum
functions LOADOUT CANNOT BE LIVE).
cinematic_tier routing, blocked on the 7-column-stale SceneSpec struct; cinematic_status = pending on every scene row read, **no scene in the slice has ever been marked
assembled**.
"partial VO", both riding the C6 dialogue lane: **VO has no backlog of its own until dialogue
exists**, and T0_Dialogue_Line holds 6 rows for a 79-node arc.
QA/ui captures, last written 2026-08-06. It is the onlyUI-shaped evidence stream in either repo.
Owed: a director call on whether UI/HUD becomes its own pipeline row in docs/PIPELINE_LEDGER.md
with a state sweep of its own before PHASE C opens, or stays distributed across the six families with
this section as its index. Recommended: its own row — the art-program queue already carries a
UI/HUD producer item (WQ_0034, Art Phase B4) with no ladder behind it, which is the same unowned-work
shape B8 has in the combat family.
These are the dependencies that order the whole program. A join is listed here when a step in one
family is the gate on a step in another — the places where a lane can stall the program without ever
touching its own ladder.
five ladders are ENGINE-tagged** and every one of them queues behind a single .engine_lane_lock
(world ~13, combat ~12, QA ~6, music 3, characters ~4, quests 1). Two lanes already stalled waiting
on it and recorded it (engine_steps_owed_W8A.json, _W10C_*.json). **Consequence for the
rotation: engine windows must be BATCHED per wave, not interleaved per lane** — the director
schedules one long window per wave and fills it with every family's owed in-editor step, rather
than letting four seats each hold the lock for one step. Wait-never-steal holds except on the ruled
process-absence evidence test. This join is why PHASE B is a Flores-assembly phase and not four
parallel engine phases.
CONSTRUCTION AND SAVES THE ONLY CAVE-CARVE EVIDENCE ON THE BOX.** The cited targets of the
line_citations, scan, canon_derivation, ledger and region_pages failures are — every one of them —
uncommitted files: arabia_persia, BOSS_ENCOUNTER_DESIGN_CH_02, levant, GENRE_SPAN_ANCIENT_TO_TECHNO,
ORGANOLOGY_SLICE_CULTURES, mesopotamia. It is one wave, not five repairs, it costs zero tokens,
and until it lands **every lane in the tree reads a red suite in which a real new finding would be
invisible.** Separately, ten untracked Tools/world paths plus the cave-carve difference report are
one git clean from gone, and the combat family's two landed boss_design exemplars are untracked
working-tree files that other lanes are already deriving from. **This is the first thing PHASE A
does after the two one-line gate repairs.**
L10 channel publishes DESCRIPTIVE_CANNOT_GATE because the C1 plate-twin corpus is 3 strict pairs on
the face view and zero on every other view against a minimum of 8. Until C-06 grows the corpus,
no character asset may be reported GREEN, AMBER or RED on any view — which means the route
ruling (C-08), the cascade driver (C-18), CHAR_0002 (C-20), the slice cast (C-21), the board critics
(QA-C2) and the publish gate (QA-C5, C-23) all inherit a descriptive-only instrument. RULE 2's
pattern case: the lens was correctly built before regeneration, its own fresh-context critic
correctly returned NO-GO, and **the honest thing to say about every character verdict until C-06 is
that the instrument is armed for direction and not for grading.**
PLAYABLE MINUTE.** UE-256471 verdict (W-04) → landscape edit layers Option C (W-05) → World
Partition rebuild (W-08) → cave-mouth carve applied (W-10) → the karst kit builds (W-12, currently
0 of 65 pieces) → the Liang Bua interior assembled with its Data Layers (W-13) → the measured
instrument, lux and traversal (W-14). **docs/spine/CH_02.md L339-352 has no feature id to bind to
until W-10 lands** ("There is no id to bind to", L376), and the slice's FIRST BUILT MINUTE is inside
that cave (CH_02.md L24). Every downstream family waits on the tail of this chain: the Ch-2 quest
play proof (QN-13), the Ch-2 beat blockout generalization (QA-B2), the Ch-2 vril site (CS-20) and
the Ch-2 agility course (CS-24). **Two of its seven links are one-line-fix-shaped (W-12's
select_set crash) and one is a landscape-CREATION-time decision that costs a full rebuild if
taken late (W-05).**
QuestDefinitionRegistryRow.h is 22 columns stale and SceneSpecRegistryRow.h is 7 — and the
22 missing members ARE the runtime payload, so the one authored slice quest is **unreachable from
the engine by construction**. QN-01 is zero-token, has no dependencies, and is the head of its
ladder; everything the quest family does in PHASE B and C (QN-02 objectives, QN-03 the Ch-2 runtime
template, QN-04 the consequence write path, QN-05's turn columns, QN-10's scene index) is downstream
of it. **The same drift class was partially paid at game 0ffd236 for 36 structs and quest definition
was not among them.**
Content/Maps/ entry, so the AI QA player has no surface (QA-B2/B3/B4 stop at Ch 5), the quest
play proof cannot run for those chapters (QN-13's own declared dependency), and the boards have
nothing to be a look-law for (QA-C4). **W-19's measured throughput number is therefore the single
most load-bearing measurement in the whole program** — it converts "nine regions" from an unknown
into a schedule, and it is the reason W-19 must not start before W-15/W-16/W-17 land on Flores.
DOMAIN.** MA-A3's two fail-closed teeth — no theme completes at zero exposure, no cue class is
composed for a region whose theme is unattached — gate MA-C1, C3, C4 and C5 by their own terms, and
MA-A3 costs no render hours. Downstream of it, **MA-C2 is the only step in that ladder no amount of
work substitutes for**: three rounds and 23 candidates have graded down, the review queue is empty
of music, and factory_complete.music is four falses until one cue is graded up. Pass 3's renders
are sitting on D:/audio/pass3/ unheard by construction, awaiting a director act.
missing format argument in an uncommitted sibling-lane edit. Do it once, coordinate with the live
lane, never clobber the +474/-20 in-flight work — and note that **the armed tooth the boss-rail
wave is supposed to score against currently reports nothing at all.**
native panels, "the one thing no re-bake fixes", with no owner in any sweep. Every silhouette
verdict (L02), every body texture claim (C-16), the swap gauntlet's penetration read (C-17), the
cast cascade (C-21) and every published character page (C-23) inherits it. **PHASE A owns it by the
command structure's own wording, and it has no ladder step — it must be tracked as a named PHASE A
deliverable or it will fall between the steps again.**
independently found a stale ledger row (D9 "no DT_InteriorSpace" against 44/44 imported; C1's
"0 ACCEPTED" headline; §1's "Boss_Attack_Rail = 0 rows" against a measured 19; C9/F1/F2's "2-line
stub" against a 357-line T1_Audio_Spec; H3's "the REBUILD is the open half" against a landed
rebuild; B1's "12 blocks-production gaps" against 11 closed). Each sweep assigns its own in-place
fix; nobody owns the sweep. A single ledger-refresh pass at the close of PHASE A, folded into
the residue wave's integration commit, retires the whole class — and it is bookkeeping, so it never
displaces build work.
contested findings, does final integration, lands as it goes, and **monitors every account's usage
to balance the pool**. Never volume-codes. Its own ladder items are the rulings: C-01, C-03, C-04,
C-08, the B10 look-vs-play split, the two-scene-table fork (QN-10), the motif-registry shape, and
the residue wave's integration. It reads returns and summaries, not raw file dumps; it verifies by
spot-check, not re-derivation; and **it re-reads the deciding frames itself rather than accepting an
agent's description** (QN-13's own done-when).
critics, and the residue integration. It shares the director's weekly pool, so parallel
claude-jmilks seats launch only when the director's own runway allows.
personas, quest-turn population, player strings, registry mints. Target 95%+ by its next Sunday
wall.
queue segments — in PHASE B and later, the per-chapter authoring fan-outs and the second and third
chapter verticals running in parallel with the first.
box is never idle while there is local compute to do**, and GPU work never waits on model budget.
step. See J1.
Five hundred percent of 5-hour limits equals 100% weekly; strong passes may spike far above the
average and quiet windows sit below. The director steers the average across windows, per account.
running 24/7/365.
Never launch a wave that cannot land before its seat's wall. Near a reset the burn law applies —
spend-to-the-floor beats stranding budget, and a wall at the reset boundary costs nothing.
gates anything, and is never a reason to thin a wave. **The defect is stranded budget, not a hit
ceiling.** Workflow resume plus land-as-you-go make a wall costless.
model explicitly tothe top Opus; mechanical work goes to deterministic scripts; efficiency comes from routing volume
down-tier, never from skipping verification.
Every wave, every seat, no exceptions:
python harness/run_gates.py with the exit code read directly — a pipe masks a red gate. Any baseline the wave moved is re-emitted with --emit-baseline **in the same
commit as the content it describes.**
git add -A — lanes share this tree. docs/DOC_MAP.md row; a landed pipeline change is not done until its docs/PIPELINE_LEDGER.md row
reads current-truth (see J10).
touched: "COMPARATOR VERDICT — <domain> vs <teacher>: EXCEEDS | MEETS | BELOW | UNMEASURED —
<evidence, instrument named>". UNMEASURED is honest only when it names what it would take;
UNMEASURED is never a pass.
path is interim until QA-A6 lands review.humanityrpg.com.
current eval of the exact artifact shown, and the declared-not-armed lenses listed.
percentage at every wave close; terminal seats are read from build/ops/usage_status.md.
never borrow final language.
Carried forward, not re-asked. Each is briefed with its recommendation per the standing decision
protocol; none is a bare question.
IP-out).** Buy one generation each from Rodin Gen-2.5 and Tripo P1 on the CHAR_0001 V3 plates. FOR:
an afternoon buys a hard upper bound on what the field can do with our exact plates, and if the paid
leaders ALSO miss, the post-mortem reframes off tooling and onto our own head/hair/skin stages.
AGAINST, verbatim: chasing a better generator may treat the wrong root cause — a better mesh feeds
the same assembly — and it uploads unreleased exemplar plates of our protagonist to third-party SaaS
under their retention terms. **RE-FRAMED by the wave-1 reader's omission finding: Tripo P1 / Prism
3.1 is the LIKENESS arm the evidence supports; Rodin is the ARCHITECTURE bet** (multi-view
conditioning + quad topology), not the likeness bet. RECOMMENDATION: yes, run it in parallel after
the native-TRELLIS.2 read, as a discriminating experiment rather than a procurement. **STRONGEST
OBJECTION: the IP-out is irreversible in a way the $40 is not.**
complete-and-reshow first; the current grade was rendered on an artifact missing all three plus its
own head texture. OBJECTION: if the ladder shows the generator sculpt was already off at S1,
completion polish is spent on a wrong base — which is exactly what the ladder exists to decide.
STATUS: the recommendation is already the ladder (C-05 the ladder, then C-10 head completion),
so this fork needs Josh's veto rather than his approval — it proceeds unless he stops it.
Cloudflare MCP plugin servers are unauthenticated and this session cannot OAuth non-interactively.
Run /mcp in an interactive claude terminal on the josh@humanityrpg.com account (or authorize via
claude.ai connector settings) and approve them. Until then the phone-first boards law's real target,
review.humanityrpg.com, cannot be attached and boards publish via the Artifact interim path.
(QA-A6.)
canopy layer reads 0.0/0.02 with meshes: [] and substrate_gap: true, and the biome file's own
words are that the canopy "is the layer that most decides whether a frame reads as jungle". The Fab
plugin exposes no acquisition API and Megascans stopped being blanket-free after 2024-12-31, so the
acquisition is a GUI session plus a sign-in. **Per the standing RustDesk protocol, Josh is notified
to check RustDesk when a step needs a GUI or a permission; the GUI is never driven unannounced.**
Related and separate: the 48 ACQUIRED_UNBOUND rows did not go to zero because of a 16-sampler
material ceiling, not an unfinished import.
corpus is ripped game models: "An MIT weight licence does not launder the training corpus." It is
one of three candidate biped auto-rig routes in C-15 (the others are a UniRig install and MetaHuman
5.8 Mesh-to-MetaHuman), each priced with its archetype-joint naming map. No spend and no adoption
until the read.
are designing that... It's another pass or few layers and patterns we may just need to figure
out."** The 2026-08-05 retirement stands permanently; "composer_in_loop" as a cue source class
means the factory's own composition ladder (the pass system), never a hire. No booking trigger,
no human-composer cost line. The bars unchanged: composed never prompted, score is master,
Josh's ear grades every round. Recorded at T1_Audio_Spec §10.1 + the DECISIONS tail.
PLAY not LOOK: the Rock Throw exemplar frame plus its motion strip (CS-13, with **no further
per-tile GPU spend until graded**), and the music round-3 publish (MA-C2, the only step in that
ladder no amount of work substitutes for). The legendary-grade-level fork (form-at-99 versus
grade-at-maximum) is already filed in the DECISIONS tail and blocks the 71-weapon volume pass.
Checked and NOT a Josh item — recorded so it is not escalated by mistake. The **ship-scale
on-screen pixel height is RULED, and L12 is SCORED** — docs/LOOKDEV_STANDARD.md §12 plus
build/3d/eval/likeness/SHIP_SCALE_RULING.json (hero closeup 3,834 px at 1080p, operative
plate-native cap 2,822 px), scored on ten ship-scale frames in
build/3d/eval/likeness/S16_LANE_D_SHIP_SCALE_FINISH.json. **HISTORY, superseded 2026-08-10 by
C-03 and that run:** until that date the height was undefined in every doc in the repo and L12
refused without it. The routing note it was recorded for is unchanged either way — its own sweep
assigns it to the engine lane / director at script-tier
(C-03; POSTMORTEM action G) — it is a delegated director ruling, not a Josh fork, and what
remains open on it now is the capture and publish wiring, not the number. Likewise the
combat family's look-versus-play grading split (B10) is explicitly "a one-line director ruling, not a
Josh question", and the motif-registry shape is the director's to rule.
Recorded rather than buried, so the director can re-rule any of them.
with the combat sweep's do-not-clobber caution (an uncommitted +474/-20 sibling-lane edit) carried
as binding on both.
Tools/world paths plus thecave-carve evidence; the QA sweep's covers 1,231 paths across both repos. Adjudicated as **one
wave** (QA-A3) with the world paths as its first and highest-value-per-minute cluster (W-01).
doc landed; three independent sweeps said 81 (and named asset_budgets as gate 75 of 81). START_HERE
now prints no count: docs/START_HERE.md:32-33 makes harness/gates_config.json the roster of record.
mechanics arm belongs in PHASE B; C-15 bundles rig, ROM and FACS across the B/D boundary; W-18
bundles the teacher lens (needed in C under RULE 2) with the A-ENG capture debt (final-tier, D).
Each is split-tagged with the reason stated inline.
places the zero-token instruments in A and pass 4 plus the round-3 grade in C, on the ground that
RULE 2 wants the instruments early and that the proof-before-spend gate is satisfied exactly by
letting nothing beyond pass 4 render until MA-C2 passes.
the four image critics ran and returned GO_WITH_FIXES; MANIFEST.csv carries critic_verdicts PENDING
on all 50 rows. The sweep could not resolve it read-only. **A director check is owed before QA-C2
dispatches critics that may already have run.**
sweeps returned six pipeline families. This document carries the six verbatim-laddered plus §4.7 for
the un-swept UI/VO/cinematics remainder, and recommends UI/HUD be given its own pipeline row rather
than a section that indexes other people's steps.