Pipeline Adapter — Repo-Native Re-Pointing for T1_Build_Pipeline_Contracts
Status: v1.0, 2026-07-03, authored per docs/ROADMAP.md §0.C. Operational (T99-class) — this doc re-points the ACCESS LAYER of the ten build-pipeline contracts from the dead Drive store to the repo; it changes no contract logic. The contract doc — _source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md ("BPC" below; all L-refs are its physical lines) — stays authoritative for state machines, schemas, dependency cascades, and regeneration semantics. Where a contract cites a Drive path, Sheets API surface, or gdoc ID, the mapping below is the binding repo-native reading. Where re-pointing exposes a canon-grade choice, it is flagged [DECISION NEEDED - JOSH] here and rolled up in the final section — nothing is applied to _source, which stays frozen.
Verification basis: every load-bearing claim below was spot-checked against BPC, the live registries/ CSVs, T1_World_Geography_Master [ACTIVE v2.3], T1_Integrity_Paths_Worldstates_Master [ACTIVE v2.1], and T0_Schema_Dictionary [ACTIVE v1.3] in this session (byte-level diff for the §4.11 corruption; header reads for every divergent registry).
Shared re-pointing rules (all contracts, including BPC §0)
These rules apply everywhere; per-contract sections list only accesses specific to that contract.
Registry reads and writes: every "Sheets API" fetch, "T0 sheets", "canonical Drive sheets", or /Humanity/08-Canonical Reference/Tier_0/ reference → registries/(registry name)/(tab).csv, the live-canon layer. The xlsx files under _source/00_Tier_0_Master_Indices/ are the frozen migration baseline and are never written. Column adds specified in a locked contract instantiate as empty CSV columns (the ROADMAP §0.B.2 precedent — schema already specified, not canon invention); row content lands on a working branch gated by the harness/ fidelity and FK gates plus a fresh-context critic for canon prose.
Drive read discipline (BPC L17 "companion edits land at separate session per Drive read discipline"): → git discipline. Read at HEAD; companion edits land as separate commits; concurrent-edit safety comes from branches, not session separation.
Provenance, completion records, markers: → git commits and tags (the CLAUDE.md routing), never Drive state or memory markers.
gdoc-ID columns: every column holding a Drive doc ID becomes a repo-relative path-string column at schema instantiation (per-contract renames listed below). Heading anchors replace intra-doc Drive anchors.
Build asset stores (BPC L314, L510, L818, L2463 "separate from Drive canon"; L2644 names /Humanity/build-assets/audio/sfx/ a canonical operational path): → one repo-external build asset store. Proposed root: C:\dev\humanity-build-assets\ with subtrees meshes\, audio\cues\, audio\voice\, audio\sfx\, concept_art\. Marked [PROPOSAL - JOSH] because L2644 calls the Drive path canonical; heavy binaries stay out of the git repo either way.
Translation Docs (BPC §0 L25, L31): the six T99_Translation gdocs at /Humanity/99_Tier_99_Operational/ → docs/translation/T99_Translation_(PIPELINE).md, authored at Phase 6 vertical slice per L31. None exist yet — expected phase sequencing, not a defect.
T0_Translation_Doc_Registry (BPC §0 L35): dead forward reference — L35 promises a "Translation Doc Registry schema lock below" that exists nowhere in the 2,706-line doc, and no such registry exists in registries/ (29 dirs checked). [DECISION NEEDED - JOSH]: recommend DROP — track translation-doc state in git (six markdown files do not need a registry) and delete the L35 sentence at the next contract revision; alternative is to spec and create the registry. Registry roster composition is data-model canon, so this is Josh's call.
"Build pipeline configuration" (38 citations; full ledger below): no such artifact exists anywhere in the repo or the frozen export. Proposed repo-native home: a single versioned config file, config/build_pipeline.toml, holding non-secret values, with credentials in the OS secret store or environment — never in the repo. [DECISION NEEDED - JOSH]: the contract treats this configuration as a binding authority, so creating the file (and blessing it as that authority) is Josh's call. Until it exists, every entry in the ledger below is pinned when load-bearing, in the file, at first consumption.
Contract §1 — UE5 build pipeline (BPC 37-305)
Re-pointing
L98 build-time export ("Pipeline fetches all T0 sheets via Sheets API, converts to JSON, compiles into UE5 data tables"): → the export reads registries/ CSVs directly (harness/convert_registries.py already owns the xlsx→CSV side); CSV→JSON→data-table is the remaining build-side step. Service-account credential handling → config ledger.
L43 and L104 ("canon edits go directly to T0 sheets and T8 docs via Drive; build pipeline triggered manually or on commit"): → canon edits land on registry CSVs and repo markdown; the on-commit trigger becomes a git hook or manual harness run — the commit is the publish event.
L110 stage 1 ("Claude reads canonical substrate from Drive registries and reference docs"): → repo reads: registries/ CSVs plus _source/ T1 docs.
L102 ("Drive cannot host UE projects so canon-side save sync is not architecturally possible"): rationale is moot in the repo world; the conclusion stands unchanged — the UE project lives outside canon storage.
L260-266 concept art (/97_Tier_97_Concept_Art/ at Drive root, per-region subfolders, saves to "Drive concept art folder"): → build asset store concept_art\(region)\ keeping the concept_(subject)_v(n).(ext) naming; the project-relative Concept_Art/(region)/ mirror is unchanged.
L98 T8 region page markdown parse: → future repo region pages per Contract §7 below.
Autonomy readiness
Read-only consumer at the end of the dependency chain (L43) — not on the near-term autonomy path, by design. Blocked on: registry population (Phase 6 outputs), §1.6 column instantiation across 13 registries, engine and plugin pins (ROADMAP §6 pins UE 5.8.x explicitly), and the config file (schema pins, credentials, per-spec-class budgets). Per-category tool inventory defers to NeoStack plugin documentation (L300) — correctly outside this contract.
Blockers
No canon decision unique to §1. The config-file creation decision (shared rules) and the Phase 6 numeric deferrals (L131, L170, L199, L246-254 — ledger) gate it operationally.
Contract §2 — Meshy 3D asset pipeline (BPC 306-501)
Re-pointing
L312 ("writes mesh_id_ref back to canonical store"): → the six §2.6 generation columns (mesh_id_ref, mesh_tags, generation_status, generation_prompt_hash, last_generated_timestamp, regeneration_trigger) instantiate on the seven consuming registry CSVs; writes are CSV edits on branch.
L314 and L358 mesh files: → build asset store meshes\ subtree.
L406 ("T0_Vril_Site_Registry Drive populate at Phase 5M"): → the registry is live in-repo (T0_Vril_Site_Registry [ACTIVE v0.1]); populate means CSV rows.
Autonomy readiness
Schema instantiation needed (ROADMAP §0.C status line). Verified live states this session:
T0_Weapon_Registry [DRAFT v0.1]: Sheet1.csv is 33 bytes — a single title line, no header row, no columns, zero rows. The contract expects the §2.3 L338 field set before any Meshy run can read it.
T0_Creature_Roster [DRAFT v0.1]: header-only, 0 data rows, 25 live columns whose names diverge from the contract reads — creature_name vs §2.3 common_name; folklore_attribution_source vs folklore_attribution; primary_region_ids vs region_native; scientific_name, rarity_tier, morphology_tags, cultural_significance_per_region absent. None of §2.6's six columns present; §7.6's fauna_behavior_substrate object is partially split into top-level live columns (folklore_behavior_substrate, vril_substrate_response, integrity_visible_aesthetic_shift).
T0_Character_Index [ACTIVE v1.1] (118 rows; the CSV filename still says DRAFT v1.1 — label mismatch, content wins): 12 live columns; no age; voice_signature_ref exists only as free-text voice_signature_notes; none of the §1.6, §2.6, §3.6, §5.6, §7.6, or §9.6 adds present; five live-only columns (chapter_first_appearance, chapters_present, seed_status, thread_involvement, authoritative_doc) appear in no contract.
Naming note: the contract says T0_Boss_Encounter throughout; the live directory is T0_Boss_Encounter_Registry [DRAFT v0.1]. Recommend documenting the mapping here (done) rather than renaming — no rename needed.
Blockers
[DECISION NEEDED - JOSH] Weapon_Registry schema authoring: the contract names the same fields two ways — §2.3 L338 (trait, category, region_of_origin, materials_construction) vs §10.3 L2485 (weapon_trait, weapon_class, weapon_material, weapon_origin_region). Pick the canonical column names before the header is authored; recommend the §2.3 short forms since §2 is the schema-owning contract for mesh consumption and §10 only reads. Column naming on a flagship registry is data-model canon.
[DECISION NEEDED - JOSH] Creature_Roster and Character_Index reconciliation: adopt the live column names and amend the contract at next revision (recommended — the live headers are the authored, populated layer; the contract reads are one session's naming), or migrate the CSVs to contract names. Either ruling then also settles folklore_attribution vs folklore_attribution_source (see the Folklore decision under Contract §8).
Contract §3 — Music pipeline (BPC 502-763; AIVA CLOSED AS SKIP 2026-07-27 — local ACE-Step/YuE bulk + composer-in-loop hero themes)
Re-pointing
L510 and L556 cue files ("build asset store separate from Drive canon"): → build asset store audio\cues\; the cue path convention /Game/Audio/Cues/(cue_category)/A_(cue_identifier) (L758) is UE-internal and unchanged.
L651 ("Vril_Site_Registry at Phase 5M populate"): → CSV rows, as §2.
T0_Theme_Registry: created by this contract (Decision 3B) and verified conforming — live [DRAFT v0.1], 12 rows, 22 columns = the §3.6 17-column schema (L613-629) in exact order + cinematic_anchor_array (§5.6 L1182) + the four lifecycle columns. No re-pointing needed; it was born in-repo.
Autonomy readiness
Nearest autonomous-ready (with §4 and §6, per the ROADMAP §0.C status line). The registry the contract creates matches it column-for-column; the state machine has storage today. An agent can run once the first-run config values pin: the local music-lane model and checkpoint selection (no vendor credential exists after the 2026-07-27 AIVA skip ruling; L563 is dead), iteration budget per theme (L579), target_duration per cue category (L736), cue format (L727), schema-version pin (L729).
Blockers
None canon-grade. The AIVA Pro subscription approval is CLOSED, not pending — Josh ruled AIVA a skip on 2026-07-27, so ROADMAP §9 ledger item 9 is dead for the music half and the lane needs no purchase approval. Config pins land at first run per the ledger below.
L818 voice track files: → build asset store audio\voice\; T0_Voice_Registry row carries elevenlabs_voice_id_ref resolving under /Game/Audio/Voice/(voice_category)/V_(voice_id) (L880) — UE-internal, unchanged.
T0_Voice_Registry: created by this contract (Decision 4) and verified conforming — live [DRAFT v0.1], 10 rows, 17 columns = §4.6 12-column schema (L869-880) + cinematic_anchor_array (§5.6 L1184) + four lifecycle columns. Born in-repo.
Autonomy readiness
Nearest autonomous-ready (with §3 and §6). Same shape as §3: conforming registry, storage live, blocked only on first-run config pins (credentials L825, formats L974, schema pin L978, clone-workflow iteration budget L841) and the per-voice calibration baselines the contract deliberately pushes to §6 dialogue datasets (L861).
Blockers
Source corruption in §4.11 — repair proposal below. Not a blocker to running the pipeline (the corrupt text is a stray duplicate, not a broken spec), but it must not survive into any doc an agent loads as §4 authority.
The "Large Studio Games" written confirmation from ElevenLabs (ROADMAP §6 voice row) is a licensing action item, not a canon decision.
Finding (byte-verified this session): lines 1027-1044 are byte-identical (diff-verified) to lines 1171-1188 inside §5.6 "Per-Registry Cinematic Column Adds"; line 1026 equals §5.6's line 1170 minus its lead-in clause "T0_Chapter_Index minimum-viable adds at Phase 5M Schema Dictionary work — ". The fragment is a partial-selection copy of the §5.6 cinematic column-add block pasted into §4.11 (voice domain), starting mid-sentence.
Insertion, not overwrite: line 1024 ends a complete sentence closing a complete §4.11 group; every §4.11 open-items group (lines 982-1024) is intact; sibling sections §2.11 and §3.11 end the same way with no trailing prose; the §4.12 heading (line 1046) and its boilerplate body are undamaged. Nothing original was lost.
Repair (pure deletion, zero new authorship — same faithful-recovery class as the Ch 59 repair): delete lines 1026-1045 inclusive (the ten fragment paragraphs at even lines 1026-1044, their interleaved blanks, and one adjoining blank), leaving line 1024, one blank line, then the §4.12 heading. The canonical copy of the deleted text survives complete, with its lead-in, at §5.6 lines 1170-1188. Recoverability verdict: fully recoverable, no [DECISION NEEDED] on content.
[DECISION NEEDED - JOSH] venue only: this task's standing instruction keeps _source frozen, while the grounded-error precedent (Combat Amazon→Southwest; the three Integrity mis-citations) applied provably-wrong fixes in place on confirm. Recommend the in-place _source edit under that precedent — the corrupt block sits in a section agents will load as §4 authority, and leaving it guarantees re-contamination. Apply only on Josh's confirm.
Contract §5 — Cinematic scene build (BPC 1050-1321)
Re-pointing
L1104 Level Sequence assets (/Game/Cinematics/Scenes/(scene_category)/LS_(scene_id)): UE-internal — no re-point needed. L1111: no external service credentials for this pipeline (NeoStack in-editor only) — nothing to move to the config file except the workstation spec.
T0_Scene_Spec_Registry: created by this contract (Decision 4A, "14th New T0") and verified conforming — live [ACTIVE v0.1], 16 rows, 31 columns = §5.5 26-column schema (L1135-1160, including sfx_id_ref_array per §10.6 L2575) + quest_anchor_id_array (§6.6 L1464) + four lifecycle columns. Born in-repo.
Upstream readiness checks (L1102, L1117): the mesh_id_ref, voice_signature_ref, music_cue_id_ref, and SFX readiness verifications read the same registry CSVs the upstream contracts write — no Drive surface involved once §2-§4 and §10 re-point.
Autonomy readiness
Blocked on the animation contract by design (ROADMAP §0.C status line) — the contract's own scope boundary, not a defect. Also behind §2, §3, §4, and §10 in the dependency order via its upstream-readiness gates, and behind the config file for the director-seat workstation spec (L1258), Sequencer format pin (L1268), and scene iteration budget (L1127). scene_id format waits on the universal entity_id spec (L1317 — ledger).
Blockers
None canon-grade beyond the shared entity_id-spec sink. The registry it owns is live and conforming.
L1331 and L1383 dialogue datasets (/04-Quest Writing/Dialogue Datasets/DD_(character_id)_(quest_id).(ext) "per canonical Drive path resolution"): → repo path canon/dialogue_datasets/DD_(character_id)_(quest_id).(ext) [PROPOSAL - JOSH]. The file extension itself is unpinned by the contract (L1580) — ledger; pin extension and format together at the first quest authored.
L1400 and L1498 author review "at the Drive doc and dialogue dataset file surface" / status enum "author has the quest under review at Drive doc": → Josh reviews the repo files on a branch diff; the under_review state reads as "under Josh review at the repo doc". State machine unchanged.
T0_Quest_Definition_Registry: created by this contract ("15th New T0") and verified conforming — live [ACTIVE v1.0], 16 rows, 27 columns = §6.5 23-column schema (L1414-1436) exactly + four lifecycle columns. Born in-repo.
Autonomy readiness
Nearest autonomous-ready (with §3 and §4) and the nearest-ready CANON pipeline — its registry is live and conforming and its inputs (Chapter, Character, Questline, Trade, Weapon, Familiar, School, Creature, Vril_Site, Language_Script, Inscription_Spine, Quest_Seed, Scene_Spec) are all repo CSVs. Remaining needs per ROADMAP §5: the condition_expression grammar and the dialogue dataset format pinned; note School_Registry (a §6.3 read) is 0 rows until the 0.E roster proposal lands, and quest_id format waits on the entity_id spec (L1619).
Blockers
No canon decision unique to §6. Model-selection-per-quest-category and dataset-format pins are ledger items (load-bearing at first authoring run).
Contract §7 — Region page build (BPC 1622-1907)
Re-pointing
The heaviest dead-store section; every mapping below is load-bearing for the post-spine pipeline order (ROADMAP §5).
L1626 and L1711 region pages ("69 T8 region page gdocs" at /Humanity/03-Region Pages/, naming T8_Region_NNN_RegionName.gdoc): → repo markdown; proposed canon/region_pages/T8_Region_(region_id).md [PROPOSAL - JOSH]. L1876 defers naming resolution to the Schema Dictionary — this proposal stands in until that lock, and the region_id decision below feeds it.
L1728 region_page_drive_id column: → rename to region_page_path (repo-relative path string) at instantiation. L1752's mirror column on T0_Chapter_Index: same rename. L1782 legendary_quest_drive_id on T0_Weapon_Registry: → legendary_quest_path.
L1794-1798 §7.7 state descriptions ("region page Drive doc placeholder", "Drive doc assembled"): → the same states over repo files; Mode A research outputs (/02-Book Processing/region_research_outputs/) → corpus/region_research/ per Contract §8 re-pointing.
L1850 agent dependencies (04_query_corpus.py, ChromaDB at /02-Book Processing/chromadb_data/, "Drive doc access at Author seat", 08_build_region_page.py): → superseded per Contract §8: retrieval is Grep/Read over the corpus/ tree plus deep-research synthesis; no ChromaDB; author-seat access is plain repo file access. The two build scripts survive only if the scan remainder needs them (see §8).
FK writes to "canonical T0 registry sheets" (L1711, §7.6 L1748-1788): → the standard registry CSV mapping, including the largest column-add of the doc onto T0_Region_Index (L1750) and region_id FKs across 13 registries.
Autonomy readiness
The ROADMAP §0.C status line ("two canonical-authority pointers reference text never written + region_id format claim false") is now stale in its first half — verified this session, content over labels:
canonical_zones pointer (L1652) RESOLVES: T1_World_Geography_Master [ACTIVE v2.3] §14 "Canonical Zones Substrate" exists (heading at its line 998) and §14.1 explicitly claims the per-region canonical_zones authority feeding the §7.6 Region_Index column expansion. Residual gap: §14.8-14.9 provide the authoring cadence and exemplars — full per-region zone catalogs remain to be authored, which is population work, not missing authority.
fauna_behavior_substrate pointer (L1658) RESOLVES in two of three legs: T1_Integrity_Paths_Worldstates_Master [ACTIVE v2.1] §8.9 exists and claims the Pillar 12 Layer 3 authority (its line 359, quoting the §7.3 charter verbatim at 367); T8 Section 3 per-region authoring is expected phase sequencing. The thin leg: T1_Combat_System_Spec [ACTIVE v1.0] carries only two passing fauna references (its lines 322, 371) and no predator-prey-ecology section — that leg of the distributed authority is still mostly unwritten and should be authored before region pages build.
region_id format claim (L1721) remains FALSE: verified — the live T0_Region_Index [ACTIVE v1.2] uses lowercase snake_case slugs (fairy_realm, flores_island, bali…, 67 data rows, zero occurrences of any T8_ or REG_NNN pattern), while L1721 claims T8_REGION_NNN_REGION_NAME "per existing T0_Region_Index spec" and T0_Schema_Dictionary [ACTIVE v1.3] line 186 plus ~15 FK references say REG_NNN. Three formats, one registry. Decision below.
Net readiness: behind the spine by design (ROADMAP §5 ordering); unblocked once the region_id ruling lands, the Combat predator-prey leg is authored, and per-region zone catalogs populate alongside the cascade.
Blockers
[DECISION NEEDED - JOSH] region_id canonical format: recommend adopting the live snake_case slugs as canon — 67 populated rows already use them, zero migration cost, human-readable — then correcting BPC §7.5 L1721 and the Schema Dictionary's REG_NNN references as grounded fixes. Alternative: adopt REG_NNN per the Buildability-Audit-P0 universal entity_id route, forcing a 67-row migration plus every slug reference (e.g. §8.5 region_tags at L2026). FK blast radius is currently zero either way — T0_Chapter_Index has no region_id FK column (region_primary is free display text) — so canonicalizing is cheap now and expensive later. Fold into the Known-issue-3 FK canonicalization pass.
Observation for the same pass: 67 live rows vs the 69-region numerical canon — reconciliation check already on the ROADMAP §9 ledger (item 5).
Grounded-fix candidate (propose, apply on confirm): T1_Integrity_Paths cross-cites the WGM canonical_zones authority as §13 / §13.2 (its lines 365, 389, 525), but WGM v2.3 places it at §14 — one section off, same class as the three already-applied Integrity mis-citation fixes.
Contract §8 — Book processing pipeline (BPC 1908-2203)
Re-pointing
Superseded-in-part by the deep-research ruling (ROADMAP §4, online-first): deep-research synthesis is the default substrate; the OCR/extraction pipeline survives only for the irreducible buy-and-scan remainder of the ~158 MUST-ACQUIRE set (docs/BOOK_ACQUISITION.md); the contract's 3,900-source premise is superseded. Within that reduced scope:
Layer 1 processed PDFs (/02-Book Processing/source_pdfs/_processed/, L1918, L2015): → corpus/(source_id)/ with extracted text at corpus/(source_id)/text.md (ROADMAP §4); source_filepath rows in the live T0_Source_Material_Registry (5 placeholder rows, §8.5-conformant 28 columns, verified) still point at the dead Drive path — re-point row values at first real population.
Layer 2 ChromaDB (L1918, L2002, L2150) and 03_index_corpus.py / 04_query_corpus.py: → RETIRED. Retrieval is Grep/Read over corpus/ — a ~158-source authored corpus does not need a vector store; embeddings are skipped per the Continuo verdict (ROADMAP §8). The 768-dim embedding spec (L2043) and chunking parameters (L1994, L2150) apply only if the scan remainder ever justifies an FTS5 index (deferred trigger, ROADMAP §8).
Scripts 00-09 (/02-Book Processing/scripts/, L1992-1998) and the venv/Ollama/Tesseract stack (L2150): → survive only as scan-remainder tooling; proposed home harness/bookproc/ if and when the 0.G availability sweep leaves an irreducible remainder. Their "read-write against T0_Source_Material_Registry columns" surface → the registry CSV.
Extraction outputs (/02-Book Processing/category_extractions/, L2041) and audit reports (L1996): → corpus/category_extractions/ and docs/audits/; "appends to canonical T0 sheet on sign-off" → CSV append on Josh's sign-off, critic-gated.
Superseded-in-part; runs alongside the spine per the ROADMAP re-sequencing (operational-order change only). The deep-research path is autonomous today (it is the standing substrate method); the OCR path is dormant pending 0.G. The 50-book pilot gate (L2006) applies only to the scan remainder.
Blockers
[DECISION NEEDED - JOSH] T0_Folklore_Entity_Registry contradiction: §2.11 L496 (with §2.2 L322, §2.6 L398, and T0_Schema_Dictionary lines 928 and 945 corroborating) records the registry as ARCHIVED in Phase 5M-prep triage, function absorbed into T0_Creature_Roster; yet §8.2 L1943, §8.3 L1964, and §8.6 L2051 spec it as a live extraction target (also listed at L2177 and L2190). Ground truth: no such registry exists in registries/ or _source/00_Tier_0_Master_Indices/ (both checked exhaustively); T0_Chapter_Index carries folklore_entities_in_chapter with all 79 rows reading [POPULATE→T0_Folklore_Entity_Registry] — pointed at the retired registry; the live Creature_Roster carries the absorbed columns. RECOMMEND Option A — honor the absorption and retarget §8: fold the L1943 stream into the existing Creature_Roster expansion stream (L1949), retarget L1964 to Creature_Roster row schema, merge L2051's adds into the Creature_Roster adds at L2063 (only primary_source_citation_text is new there), drop the name from the §8.11 lists, repoint the 79 Chapter_Index placeholders at folklore-class creature_ids, and reconcile folklore_attribution vs folklore_attribution_source naming. Option B (resurrect the registry) would recreate a registry three docs record as retired, for a schema that exists nowhere. Registry roster composition is data-model canon — Josh decides.
Contract-text amendment recording the deep-research supersession: the ruling is standing (ROADMAP §4), but amending an ACTIVE T1 contract to say so is a _source edit — wording on Josh's confirm, batched with the Option A edits if ruled.
Contract §9 — Story spine pipeline (BPC 2204-2450)
Re-pointing
L2212 and L2246 spine entries ("/Humanity/01-Foundation/T1_Story_Spine canonical Drive doc", CHAPTER_NN_REGION_TITLE naming): → _source/01_Tier_1_Foundation/T1_Story_Spine [ACTIVE v1.0].md is the frozen v1.0 baseline; the cascade authors the v2.4 successor as a repo doc per docs/CASCADE_RUNBOOK.md (0.B), ENHANCING v1.0 entries per Ruling 4. Entry naming carries over as markdown headings.
L2295 spine_entry_drive_anchor column on T0_Chapter_Index: → rename spine_entry_anchor; value = markdown heading anchor into the v2.4 doc.
L2400 agent dependencies (04_query_corpus.py, ChromaDB, "Drive doc access at Author seat"): → superseded by the runbook: Step 7 substrate = RCM chapter section + deep-research (the ChromaDB backing system never existed; T1_AaS sequenced Book Processing after Phase 6). Author seat = repo file access.
§9.6 scatter (L2291-2319, no new registry per Decision 1B): → the ~20 Chapter_Index columns plus the 12-registry scatter instantiate as empty CSV columns per ROADMAP 0.B.2 — the state machine gets storage.
Hash-based regeneration (generation_prompt_hash semantics): → per the runbook, session-as-author; regeneration trigger = git diff on input docs, not prompt hashes.
Autonomy readiness
Alignment via 0.B (ROADMAP §0.C status line): the contract's state machine and 200-400-word body spec (L2242, L2285: the 18-node hard-line set) stand; docs/CASCADE_RUNBOOK.md supersedes-per-section the Drive-era operational steps. Ready when 0.A gates + 0.B runbook + column instantiation land — this is the main Phase 6 work.
Blockers
The range_id question (overwrite legacy R_NN_NN values vs add review_range_id) is owned by 0.B (ROADMAP §9 ledger item 4) — noted here because §9.6 L2295 writes range_id.
Iteration budget per chapter (L2266) and chapter_id entity-spec gate (L2444) — ledger.
Contract §10 — SFX pipeline (BPC 2451-2706)
Re-pointing
L2463 and L2503 audio files; L2644 store ("/Humanity/build-assets/audio/sfx/ canonical operational path"): → build asset store audio\sfx\ under the proposed root (shared rules). L2559 "Drive populate deferred to Phase 5M" → CSV populate.
T0_SFX_Registry: created by this contract ("17th New T0", Decision 1A) — but the live registry contradicts it; see below.
Autonomy readiness
Shipped registry contradicts its own contract (ROADMAP §0.C status line) — verified header-level this session:
Live T0_SFX_Registry [ACTIVE v1.0] (12 rows, 19 columns) shares only sfx_id, notes, extensions (plus lifecycle populated_from) with the §10.5 20-column contract schema (L2534-2553).
Zero generation-state columns live: no generation_status, generation_prompt_hash, last_generated_timestamp, build_asset_path, track_assignment — the pipeline's state machine has no storage in the shipped registry.
ID format: live SFX_00001 (5-digit) vs contract SFX_NNNN (4-digit, L2534 and L2691).
Class enums: live sfx_class values (ambient ×8, cinematic_cue ×1, cultural_traditional ×3) have zero overlap with the contract's six-value uppercase sfx_category set (WEAPON, FOOTSTEP, FOLEY, ENVIRONMENTAL_AMBIENT, MAGIC_EFFECT, SPECIAL_ASSET_CLASS, L2535).
Live special_asset_class carries the value canonical_track (row 1) — the semantics of the contract's track_assignment under a contract column name from the wrong domain. Live rows also carry UTF-8 mojibake ("CVD §19.1").
Blockers
[DECISION NEEDED - JOSH] reconcile or re-spec: RECOMMEND Option A — migrate the live registry to the §10.5 contract schema: 12 rows is a cheap migration; the contract schema carries the generation-state machine the pipeline cannot run without; map sfx_class values into the sfx_category enums, re-key to SFX_NNNN, carry the live cultural columns (cultural_authenticity_source, cultural_depiction_required, hard_line_anchors) into cultural_substrate and hard_line_relevance or as extensions — they encode §17-grade care worth keeping. Option B (amend §10.5 to match the live registry) discards the generation-state design for 12 rows of early population — not recommended. Either way, fix the mojibake. Registry schema is data-model canon — Josh decides.
Procedural API model + library version pins (L2644), licensing cadence (L2680), sfx_id entity-spec gate (L2691) — ledger.
Unpinned-config ledger — pin-when-load-bearing
BPC cites "build pipeline configuration" as binding authority 38 times; no such artifact exists. Standing policy for every entry below: PIN-WHEN-LOAD-BEARING — the value is decided and recorded (in config/build_pipeline.toml once Josh blesses it; until then, in this ledger via commit) at the first run that consumes it, and never invented ahead of need. Grouped by category with BPC line cites.
Service credentials (never in the repo — OS secret store or environment)
UE5 service account (L98) — pin at first build-time export. Note: the Sheets-API credential itself is OBSOLETE under re-pointing (CSV reads need no credential); what remains is any build-signing or store credential.
Meshy API (L367) — pin at first mesh generation run.
Music lane (L563) — no API credential to pin: AIVA is closed as skip (Josh 2026-07-27); the bulk lane is local ACE-Step/YuE (benchmark-gated) and the hero lane is composer-in-loop.
ElevenLabs API (L825) — pin at first voice run.
Anthropic API (L1390 Quest, L1713 Region, L1995 and L2004 Book, L2248 Spine) — already live in the operating environment; pin the version reference at first pipeline-scripted use.
Procedural SFX API + licensed library access (L2510) — pin at first SFX run.
LLM and model selections
Quest Writer model per quest category (L1390, L1558) — pin at first quest authored. Current answer per ROADMAP §7: Opus 4.8 default, Fable 5 reserve.
Region Builder model per region category (L1713, L1850) — pin at first region page.
Spine Cascade model per chapter category (L2248, L2400) — pin at cascade start (0.B).
Book Processing LLM per Phase 3/4/Layer 4 (L2004, L2150) — pin only if the scan remainder activates those phases.
Embedding model selection (L2150) — SUPERSEDED: embeddings retired with ChromaDB (Contract §8); pin never, absent the deferred FTS5 trigger.
SFX procedural API model (L2644) — pin at first SFX run.
Schema-version pins per agent (each agent aligns to a T0_Schema_Dictionary version at its first run)
UE5 build (L231); Meshy (L470); music lane (L729); ElevenLabs (L978); Cinematic (L1272); Quest Writer (L1572); Region Builder (L1864, also aligns to Region_Page_Template version); Book Processing agent set (L2168, also aligns to embedding/chunking set — scan remainder only); Spine Cascade (L2414, also aligns to T1_Story_Spine version); SFX (L2658, also aligns to API model + library pins).
Asset and file format pins
Mesh asset format (L468) — pin at first mesh imported to UE.
Music cue format WAV/OGG/FLAC/MIDI (L727) — pin at first cue delivered.
Voice track format WAV/MP3 (L974) — pin at first voice track.
Level Sequence format (L1268) — pin at first cinematic build.
Dialogue dataset file extension and format (L1568, L1580) — pin at first quest authored; the extension is currently unpinned by the contract itself.
Quest data-table assembly format (L1548, L1595) — pin at vertical slice per the contract's own deferral.
Plugin, library, and engine version pins
UE5 engine version — ALREADY PINNED by ROADMAP §6: UE 5.8.x explicitly, not "UE5".
NeoStack plugin (L220) — pin at first UE5 build alongside engine version.
Cesium plugin (L222) and Gaea2Unreal plugin (L223) — pin at first terrain build.
Operational tooling inventory (L225) — surfaces in the config file at first build.
SFX licensed library versions (L2644: Boom, Pro Sound Effects, Soundly or equivalent) — pin at first library pull; licensing renewal cadence (L2680) pins with it.
Hardware and workstation
Director-seat workstation specification (L1258) — pin at first cinematic directing session.
Operational values and numeric deferrals
Human-in-loop iteration budgets — value never numerically defined anywhere: per task class (L112), per theme (L579), clone workflow (L841), per scene (L1127), per quest (L1406), per chapter (L2266), per SFX entry (L2526). Pin each before the FIRST autonomous run of its pipeline — the escalation gate is load-bearing from run one. Candidate default for ratification with the 0.B.9 autonomy contract: a single shared budget value overridable per pipeline.
MAJOR schema-bump migration handling, specified per-bump (L189) — pin at first MAJOR bump.
Cesium tile + heightmap terrain-affordance integration; vril_substrate_response runtime integration (L250, two items) — pin per first UE5 terrain build.
Chunking parameters (L2150; contract-internal values 512-token/75-overlap at L1994 stand as the default) and Tesseract language packs (L2150) — scan remainder only.
Phase 6 numeric deferrals inside §1: environmental_params, perf budget, mode_variety_check, Niagara tiers (L131); per-spec-class polygon and draw-call budgets (L170); Journal registry promotion (L199); per-region perf and console columns (L246-254) — pin as Phase 6 surfaces them, per the contract's own sequencing.
target_polycount per asset class (L477) and reference-image substrate decision (L478); mesh_tags expansion (L381) — Phase 6 per contract.
target_duration per cue category (L736); cue path convention final lock (L758) — first cue run / Schema Dictionary.
Voice calibration baselines (stability/clarity, L816, L861) — per-voice at casting, with per-line overrides in §6 dialogue datasets as designed.
Localization ramp (L1020) — post-vertical-slice per contract.
ue5_streaming_bounds_ref geometry format (L1874); canonical_zones enums + area_bounds geometry (L1877); corpus query top_k defaults per section (L1893) — pin at region-page pipeline start.
Universal entity_id format spec (the third sink — Phase 5M Schema Dictionary lock)
Gates scene_id (L1317), quest_id (L1619), region_id (L1905), source registry location note (L2178), chapter_id CH_NN (L2444), sfx_id (L2691). The region_id decision under Contract §7 is the forcing instance — recommend ruling it first and letting the universal spec generalize from it.
Open decisions — roll-up
Every [DECISION NEEDED - JOSH] this adapter surfaces, one line each, with the owning section.
§4.11 corruption repair venue (Contract §4): apply the byte-verified pure-deletion recovery in place to _source under the grounded-error precedent (recommended), or hold as overlay. Content is provable; venue and confirm are Josh's.
Folklore_Entity_Registry contradiction (Contract §8; ROADMAP §9 ledger item 6): Option A retarget §8 to Creature_Roster (recommended) vs Option B resurrect the retired registry.
region_id canonical format (Contract §7; feeds ROADMAP §9 ledger item 5's 67-vs-69 count check): adopt live snake_case slugs (recommended) vs REG_NNN vs the contract's T8_REGION_NNN_REGION_NAME which matches nothing.
Build pipeline configuration home (shared rules): create config/build_pipeline.toml as the single versioned non-secret config authority — the contract treats this artifact as binding authority, so its creation is Josh's call.
T0_Translation_Doc_Registry (shared rules): drop the dead L35 forward reference and track translation docs in git (recommended) vs spec and create the registry.
T0_SFX_Registry reconcile-or-re-spec (Contract §10): migrate live 12 rows to the §10.5 contract schema (recommended) vs amend the contract; fix mojibake either way.
Weapon_Registry canonical column names (Contract §2): §2.3 short forms (recommended) vs §10.3 prefixed forms, before the header is authored.
Creature_Roster and Character_Index column reconciliation (Contract §2): adopt live names and amend contract (recommended) vs migrate CSVs to contract names.
§8 contract-text amendment (Contract §8): wording confirm for recording the deep-research supersession in the ACTIVE T1 doc, batched with the folklore edits if Option A is ruled.
Build-asset store root and repo path declarations (shared rules; Contracts §6, §7, §8): confirm the proposed C:\dev\humanity-build-assets\ root and the canon/dialogue_datasets/, canon/region_pages/, corpus/ trees — L2644 calls the Drive SFX path canonical, so the re-declaration deserves an explicit confirm.
Integrity_Paths stale WGM cross-citation (Contract §7): grounded-fix proposal — its lines 365, 389, 525 cite WGM §13/§13.2 for canonical_zones; WGM v2.3 places it at §14. Apply on confirm, same class as the applied Integrity mis-citation fixes.
Generated by harness/site/structure_site.py — the URL path is the repo path. review root