CH_39 — v3.1 EXEMPLAR (West Africa Modern: The Man Who Patents the Morning)
What this is. A worked transformation of docs/spine/CH_39.md (v2.5) to the SPINE_SCHEMA_v3.md v3.1 beat→fork→state graph — the gold-standard MODERN / reveal-LIFTED reference for the 79-chapter rewrite, and one of the three files harness/check_spine_graph.py is kept green on. It does NOT overwrite the live entry (the corpus stays v2.5 until Josh ratifies v3). It demonstrates the v3 DELTA: the machine layer (beat graph / fork graph / boss-as-beats / SQ beats / scene rows / seam diffs / derived axes) authored in full typed form to the v3.1 template — one row grammar, fixed field order, every field present-or-none, closed enums, the two-namespace state grammar (the ws namespace resolves to a Worldstate variable; the local namespace is produce-before-consume), first-class actors/systems/threads, and the per-beat reveal gate. The PRESERVED blocks are UNCHANGED from CH_39.md — cited by reference, not re-authored (that is the point: v3 is additive; the anchors + [SRC:] + reveal discipline survive intact).
CH39_B01 · seq 1 · role hook · mode character · site lagos_megacity · boss none · fork none
objective: Arrive in modern Lagos with the just-learned family name and feel the vertigo of standing in the present day on ancient ground — the same coast walked in an ancient age (the Ch 12 Yoruba coast).
layers: L1 · reveal: LIFTED(House nameable since Ch38; no operative→patriarch link, Grand Sage held) · [SRC: T1_World_Geography_Master # Ch 39]
CH39_B02 · seq 2 · role core · mode learning · site babalawo_compound_ile_ife · boss none · fork none
objective: Sit the Ifa consultation, read the 256-Odu casting as a real formal system, and through the deep sight perceive the unbroken line an age deep and the ase substrate beneath it.
layers: L2+L3 · reveal: HELD(ase felt-not-declared §17.9/HL_0043; protected community — no combat) · [SRC: T1_Research_Corpus_Master # Ch 39]
CH39_B03 · seq 3 · role core · mode discovery · site ouidah_python_temple · boss none · fork none
objective: Recognize the Ouidah Temple of the Pythons as the same living site walked in the deep-time chapter — the tradition continuous into a modern town.
CH39_B04 · seq 4 · role core · mode investigation · site ache_botanicals_front · boss none · fork none
objective: Identify Aché Botanicals and its director as the first modern House-of-Velheim operation (biopiracy), and read the theft carried in the trademarked word.
layers: L1+L2 · reveal: LIFTED(House named player-facing; chain dark above operative→Ch74, thesis→Ch76 HL_0043/HL_0046) · [SRC: T4_House_of_Velheim_Canonical # 9.1]
CH39_B05 · seq 5 · role core · mode combat · site ache_botanicals_front · boss BE_0039.P1 · fork none
objective: Infiltrate the lab-front; the firm's security moves on the same patrol grammar as the ancient temple-guards, read because it was fought for thirty-eight chapters.
CH39_B08 · seq 8 · role core · mode combat · site ache_botanicals_front · boss none · fork none
objective: The strengthened echo of a protocol she herself fumbled in the deep-time chapter returns harder — her own unpaid debt, not this coast's — perceive and purge, the loop across the ages settled.
CH39_B09 · seq 9 · role climax · mode investigation · site legal_arena · boss BE_0039.P3 · fork none
objective: The legal exposure — the firm's patent-claims stand up as constructs, taken apart with the prior-art they stole from, claim by claim, the pharmacopoeia older than the filing by ages.
CH39_B10 · seq 10 · role core · mode character · site legal_arena · boss none · fork FORK_CH39_A
objective: The exposure-response choice — how the recovered pharmacopoeia and the exposed apparatus are handled (the chapter's Substantial fork; textural, all bands authored).
CH39_B11 · seq 11 · role exit · mode transformation · site lagos_megacity · boss none · fork none
objective: Leave the modern arc's first chapter with the method laid bare, the face in the record, the word returned, the fixer's fate set, the echo quieted, and the certainty hardening that the modern world is this same extraction in a thousand suits, and she is the one hunting it — the journal's first modern page.
layers: L1+L3 · reveal: HELD(thesis §17.9 — no Grand-Sage hint despite the modern opening) · [SRC: T0_Hard_Lines @ HL_0043]
Beat-scale mode_variety (folds to the chapter mode_variety_check): combat B05/B08 · puzzle B06 · investigation→puzzle B04/B09 · learning B02 · discovery→learning B03 · character B01/B07/B10 · transformation B11 → projected five combat=Y; puzzle=Y; learning=Y; character=Y; transformation=Y earned by NAMED beats (retires the R4 waiver structurally). dominant_combat_mode direct (the modal combat beat B05).
---
§10b · FORK GRAPH (was: one prose trichotomy at the resolution bullet, band vocab inconsistent → now: two typed action-keyed forks; bands live ONLY in the derived delta)
FORK_CH39_A — the exposure-response (anchor CH39_B10)
FORK_CH39_A · anchor CH39_B10 · magnitude SUBSTANTIAL · kind exploration_interaction · care_band protected-elevated · convergence_node null · progression_guarantee: all options play through — the patent falls and the modern arc opens on every path; a close on the restored-knowledge route names the conserved leverage/kit alternative, so no through-line is gated
care_note: protected-community-adjacent — combat is never routed at the Yoruba/Fon community; the apparatus and the deep-time echo are the only combat.
OPTIONS are ACTION-keyed (2-6), each carrying a direction + a class-bounded delta; the five texture bands are DERIVED (§1), never option labels; path_bucket stays UNLOCKED pre-Ch-65:
option
direction
delta (class-bounded)
axis_value
mark_write
relationship/faction
opportunity_effects
ws_writes
restore the knowledge to the community, free the fixer cleanly
Vocabulary FIX vs v2.5: the live CH_39.md names truly_good / good_enough / neutral / evil (four labels, drops L5, mis-types "neutral"). v3.1 keeps the fork options ACTION-keyed with a direction; the five texture bands (Truly Good / Good Enough / Drifting / Evil / Pure Evil) are the DERIVED axis; "Neutral" is reserved for the WS3 world-state; path_bucket stays UNLOCKED here (committed only at Ch 65). [SRC: T1_Integrity_Paths_Worldstates_Master # 3.2]
FORK_CH39_B — the fixer-handling / Tunde (anchor CH39_B07)
FORK_CH39_B · anchor CH39_B07 · magnitude ACCUMULATIVE · kind exploration_interaction · care_band elevated · convergence_node null · progression_guarantee: both durable outcomes play through; Tunde's fate is textural, never a gate
coverage: {generative, corrosive} reachable (the neutral options collapse into the two durable outcomes)
canonical six (HL_0039/HL_0040): TRULY_GOOD · TRULY_BAD · SYMPATHETIC · DETACHED · CURIOUS · DEFIANT — collapsing to two durable outcomes:
option
direction
delta (class-bounded)
axis_value
mark_write
relationship/faction
opportunity_effects
ws_writes
free-and-turn — show him what he was part of, give the way out
validator: each ws.* assertion == CH_38.exit_state ∧ == CH_39.entry_state (else FAIL). [the prose bridge for the 3D arrival/departure asset stays in the transitions file]
assert ws.relationship_history: +Tunde (if free-and-turn) | −Tunde (if use-and-discard) · reveal_state: LIFTED-house carried · ws.faction_standing_per_faction: yoruba per FORK_CH39_A · home: Trade-1 Ouidah seen-modern (no new home rooted)
---
Exemplar notes (for Fable + Josh)
Additive, not a rewrite: every typed row above was LIFTED from content already in CH_39.md (the boss phases, the Key-sites zones, the integrity_divergence points, the End-state) — v3 only JOINED and TYPED it. The prose blocks + [SRC:] + reveal discipline are untouched.
The v3.1 grammar is machine-legible: every beat carries the fixed field order; ability:A_E3_005 is a real Ability_Tree id (not a slug); ws keys resolve to Worldstate variable_names; every consumed local key is produced by an earlier beat; the reveal gate binds per line. harness/check_spine_graph.py proves all of it.
The vocabulary fix is visible: the fork options are ACTION-keyed with a direction; the five texture bands are the DERIVED axis; path_bucket is UNLOCKED here. This is the corpus-wide grep-and-fix v3 applies.
QW-decomposability: each beat has objective / mode / systems / in→out → QW expands each into quest steps; the two forks give it the decision tree with per-branch consequence; the boss phases are addressable beats. This is the thing the v2.5 entry could not give it.
Generated by harness/site/structure_site.py — the URL path is the repo path. review root