chapters/CH_09/quests/main_story/CH_09.json
{
"node": "CH_09",
"quest_id": "QUEST_CH09_HIGHLANDS_UNLOCKED",
"checker_issues": [
{
"kind": "NO_DECLARED_STATE",
"detail": "12 beats carry no in/out state markers -- flag reachability is UNCHECKED, not passed. Author beats with 'in: local.x -> out: local.y' to make this gradable."
},
{
"kind": "UNSATISFIABLE_COMPLETION",
"detail": "completion requires local.biome_secured, which no beat produces"
},
{
"kind": "UNSATISFIABLE_COMPLETION",
"detail": "completion requires local.monopoly_broken, which no beat produces"
},
{
"kind": "UNSATISFIABLE_COMPLETION",
"detail": "completion requires local.rift_bound, which no beat produces"
},
{
"kind": "CONJUNCTIVE_COMPLETION",
"detail": "completion joins conditions with AND while forks exist -- an unchosen branch's flags are never set, so the quest cannot close"
}
],
"checker_status": "DEAD_END_RISK",
"quest": {
"node": "CH_09",
"quest_id": "QUEST_CH09_HIGHLANDS_UNLOCKED",
"quest_name": "The Word Made Fluent",
"quest_type": "main_story_per_chapter — quest_anchor_id CH09_HIGHLANDS, chapter 9.0, path_bucket UNLOCKED, encounter_facet none, twelve_tier_gate empty (no mastery gate binds at Ch 9), author_in_loop_required TRUE, quest_status proposal, cultural_depiction_tier elevated (living faith). [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1447 (enum, CG-21: main-graph beats are main_story_per_chapter, flavour rides encounter_facet)] [docs/spine/CH_09.md:12] [docs/spine/CH_09.md:199 (no twelve-tier gate binds)] [docs/spine/CH_09.md:272 (path_bucket UNLOCKED, Ch 65 is the lock)]",
"questline_id": "(empty — main story is not a questline aggregate; NULL per contract L1449). The three side lanes riding these same beats are separate side_questline_stage rows, all stage ADVANCE, all gate none, all non-gating on the main spine: SQ3 archaeology_inscription_occult (the chapter's LEAD lane, beats B02/B05/B09/B10), SQ11 lost_civilizations (B03/B04/B08), SQ1 fairy_tale_folklore (B04/B05). [docs/spine/CH_09.md:196-199] [registries/T0_Questline_Index [DRAFT v0.1]/Sheet1.csv @ SQ1, SQ3, SQ11] [registries/T0_Quest_Seed_Registry [DRAFT v0.1]/Sheet1.csv @ SEED_0040, SEED_0041, SEED_0042]",
"quest_giver": "environment — no participant-ref hands this chapter. The opener is the Sealed Letter read at the close of Ch 8, whose Aksumite pointer directs the protagonist here; the first NPC met (Emama Hiwot, CHAR_0065) offers hospitality, not a task. Value follows the one landed precedent on the registry (QUEST_CH02_ARRIVAL_UNLOCKED, quest_giver `environment`); the real trigger fact is carried on trigger_type. [docs/spine/CH_09.md:21] [docs/spine/CH_09.md:26] [docs/spine/CH_09.md:114-118] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1456]",
"trigger_type": "item_or_site — the carried Sealed Letter's Aksumite pointer opens the chapter on arrival in the highlands. (Observed-enum: giver_dialogue, origin_node_auto, environmental, pursuit, item_or_site; item_or_site is the member the canon fact fits — a carried object naming a site.) [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1457] [docs/spine/CH_09.md:21] [docs/spine/CH_09.md:26]",
"beats": [
{
"beat": "CH09_B01 · seq 1 · role hook · mode character · site coffee_slopes · boss none · fork none",
"what_happens": "The protagonist follows the letter's pointer up out of the coast into the coffee-forest slopes and is taken into the first house on the hill. Emama Hiwot pours in three rounds — Abol, Tona, Bereka — and reads the child not as a stranger but as a guest to keep. The previous chapter taught that an enemy can know you; this one opens by teaching that a friend can too. Out: local.highlands_welcomed, ws.relationship_history +emama_hiwot_positive_recognition.",
"player_verb": "arrive / sit / be received (character; no combat, no gate)",
"cite": "docs/spine/CH_09.md:114-118; :26; :89 (site coffee_slopes); registries/T0_Character_Index [ACTIVE v1.1]/T0_Character_Index DRAFT v1.1.csv @ CHAR_0065"
},
{
"beat": "CH09_B02 · seq 2 · role core · mode learning · site aksum_stele_fields · boss none · fork none",
"what_happens": "At the Ezana trilingual stele the inscription arc pays off: the protagonist reads Ge'ez, Greek and Sabaean fluently — literacy that runs, not a decode minigame. One breath later it is a danger. The master-cantor, who had been dismissing an unlettered outsider, watches far too closely the moment a line he believed sealed is read aloud. Out: local.geez_fluent_read, local.monopolist_marked. REVEAL: the read is literacy, never a tier-6 vril-signature read; his recognition runs through briefing, and the player perceives one interested man and nothing organised behind him.",
"player_verb": "read / decode (inscription:geez_trilingual_stele, decode:ezana_stele)",
"cite": "docs/spine/CH_09.md:119-123; :28; :48 (Thread 17); :59; :91 (site); :262 (script GE_EZ)"
},
{
"beat": "CH09_B03 · seq 3 · role core · mode discovery · site aksum_stele_fields · boss none · fork none",
"what_happens": "At Saint Mary of Zion the protagonist meets the Ark tradition as the tradition holds it — the Chapel-of-the-Tablet chamber referenced from outside, never entered, never targeted, never reproduced — and meets Zelalem its guardian, whose silent recognition asks nothing and reveals nothing. Out: local.ark_tradition_seen, ws.relationship_history +zelalem_silent_recognition.",
"player_verb": "approach / observe / withdraw (object:ark_tradition_reference)",
"cite": "docs/spine/CH_09.md:124-128; :51 (Thread 20); :91; :205; :243; :248"
},
{
"beat": "CH09_B04 · seq 4 · role core · mode character · site yeha_sheba_temple · boss none · fork none",
"what_happens": "At the Ethiopian Sabaean temple tradition the noblewoman Nardos gives the Queen of Sheba (Makeda) and the Kebra Nagast Solomonic lineage as her tradition tells it — Thread 10's archetypal anchor, delivered as living historiography rather than a lore page. Out: local.sheba_tradition_learned.",
"player_verb": "listen / ask (character; Thread 10 CONFRONTATION)",
"cite": "docs/spine/CH_09.md:129-133; :45; :62; :101 (site, with the D-11 Marib geography note); registries/T0_Character_Index @ CHAR_0067"
},
{
"beat": "CH09_B05 · seq 5 · role core · mode puzzle · site the_village_debtera · boss BE_0009_S3 (sub) · fork none",
"what_happens": "A household on the road is in mourning and afraid for its newborn: Werzelya, the child-slaying demoness the scroll-lore names and whom St Susenyos rides down, has fastened on the cradle. The protagonist sits at the shoulder of Tibebu, an unordained debtera scribe-scholar, and fights her the way the tradition itself fights her — by reading her own iconography and inscribing the correct Ge'ez asmat, measured to the child it guards, bearing the saint's name she swore never to cross. Two phases: her night-pressure on the cradle while the scroll is decoded, then her binding-off as the names complete. Out: local.child_warded, ws.relationship_history +tibebu_debtera_ally. This is a fully-staged boss, not a defanging and not a routed-around encounter — the inscription is the WIN CONDITION, not an exemption from the fight (HL_0122 honored-adversary). The debtera, the clergy and the faith are allies throughout; the demon is the target.",
"player_verb": "inscribe (primary) / ward (secondary) — axis 20/55/25 puzzle-dominant; counters: read the tradition's own iconography for the correct divine names, or hold the warded threshold with Tibebu until the scroll is finished",
"cite": "docs/spine/CH_09.md:134-138; :30; :109 (BE_0009_S3); :229 (the honored-adversary rule and why HL_0080 containment expressly does NOT govern her); :95 (site); registries/T0_Boss_Encounter_Registry [DRAFT v0.1]/Sheet1.csv @ BE_0009_S3; registries/T0_Character_Index @ CHAR_0119"
},
{
"beat": "CH09_B06 · seq 6 · role core · mode combat · site aksum_stele_fields · boss BE_0009_S1 (sub) · fork none",
"what_happens": "Through a time-fluctuation window the protagonist comes on the 1937 occupation crew rigging the obelisk field for extraction. Sever the rigging, stall the haul, turn the site's own terrain against the crew, hold the ground. Two phases: the extraction under way, then the rig collapsed and the field held. Combat routes through the occupier and its machinery — never the monument, never the heritage, never the Aksumite people. Win halts the looting and logs the historical restitution thread; loss maps the crew's method for the retry. Out: local.site_defended.",
"player_verb": "part-break (primary) / protect (secondary) — axis 45/25/30 patterns-and-preparation",
"cite": "docs/spine/CH_09.md:139-143; :109 (BE_0009_S1); :32 (a larger theft the protagonist can only feel); :225 (ruling 5 framing); registries/T0_Boss_Encounter_Registry @ BE_0009_S1; registries/T0_Quest_Seed_Registry @ SEED_0045"
},
{
"beat": "CH09_B07 · seq 7 · role core · mode traversal · site simien_highlands · boss BE_0009_S2 (sub) · fork none",
"what_happens": "On the escarpment toward Ras Dashen a poaching crew is working the endemic Walia ibex and Ethiopian wolf. The protagonist outpaces them on the fauna's own ground at altitude and corners them against the escarpment. Desta, an Ethiopian wolf, falls in beside the protagonist, and Tesfa the Amhara-Agaw pastoralist's trust is earned. Win secures the biome; loss logs the crew's route for the retry. Out: local.biome_secured, ws.familiar_bond_state +desta_g3_bonded, ws.relationship_history +tesfa_trust.",
"player_verb": "traverse (primary) / strike (secondary) — axis 30/40/30 puzzle-and-patterns; the fauna is protected, the crew is the target",
"cite": "docs/spine/CH_09.md:144-148; :109 (BE_0009_S2); :99 (site, environmental_params altitude/cold/escarpment); :258 (Desta G3); registries/T0_Boss_Encounter_Registry @ BE_0009_S2"
},
{
"beat": "CH09_B08 · seq 8 · role core · mode puzzle · site lalibela_rock_churches · boss none · fork none",
"what_happens": "At Lalibela eleven churches are cut downward into living rock as a New Jerusalem. The protagonist reads the cosmological layout as a sacred-geometry surface and runs the chapter's agility course — the roofline-to-floor vertical descent through subtractive stone, biome-rotated against Ch 8's naval rigging, with a stele-proportion Puzzle variant. The stone-carver apprentice Gebreyesus is present. Out: local.lalibela_traversed.",
"player_verb": "read the layout (gate:lalibela_cosmological_layout) / descend (agility_course:lalibela_descent)",
"cite": "docs/spine/CH_09.md:149-153; :97 (site); :253 (agility course + Puzzle variant, HL_0079); :60; registries/T0_Character_Index @ CHAR_0069"
},
{
"beat": "CH09_B09 · seq 9 · role core · mode stealth · site aksum_scriptorium · boss BE_0009 phase P1 · fork none",
"what_happens": "The fortress-scriptorium of the monopoly. Read the guard rotation and pass the gauntlet — a timing-gap read, or a Brute stagger with the chapter-anchored Brute weapon — then follow the manuscript cipher's trail toward the hoarded ledgers. The cipher has two independent decode chains, so no single read walls the route. Phase 1 escalates by evolution not swap: the formations tighten and the gaps shrink. Out: local.scriptorium_breached. REVEAL: the racket reads to the player as one man's corruption inside an institution — no family, no name, no pattern.",
"player_verb": "decode (primary) / expose (secondary), stealth register — composure nodes: stealth=guard_rotation_gap, direct=brute_stagger, puzzle_routed=cipher_decode_chains",
"cite": "docs/spine/CH_09.md:154-158; :93 (site); :108 (BE_0009 P1); :256 (the HL_0056 Ch 9-10 Brute slot as the stagger prep hook); registries/T0_Boss_Encounter_Registry @ BE_0009"
},
{
"beat": "CH09_B10 · seq 10 · role CLIMAX · mode investigation · site aksum_scriptorium · boss BE_0009 phase P2 · fork none",
"what_happens": "The exposure. Drag Gäbrä-Ṣəḥuf's hoarded ledgers into the light in front of the assembled clergy, with Kidane the scribe's private documentation as the corroborating lever, so the community sees what its gatekeeper has been doing in its name. The monopoly breaks on evidence, not blades. The blade route exists and is structurally costly — force resolves the fight but the collection does not come back whole. Phase 2 is a real fight in the composure/character register, not a cutscene. Out: local.monopoly_broken, ws.antagonist_operational_state_per_region +monopoly_broken_ethiopia. REVEAL: a corrupt individual within an institution; the faith and its clergy are untouched and are the audience, not the opponent.",
"player_verb": "expose / pacify / reduce (win_condition EXPOSE;PACIFY;REDUCE; has_nonkill_path TRUE; character_engagement_node phase=P2 verb=weigh, integrity_routed)",
"cite": "docs/spine/CH_09.md:159-163; :32; :108; :253 (main_boss_win_condition pacify); :225; registries/T0_Boss_Encounter_Registry @ BE_0009; registries/T0_Character_Index @ CHAR_0066"
},
{
"beat": "CH09_B11 · seq 11 · role core · mode transformation · site aksum_scriptorium · boss none · fork FORK_CH09_A",
"what_happens": "The turn is priced. With the gate broken, the protagonist decides what becomes of the knowledge it was standing on: freed back to the community that made it, broken-but-held-close, or the gatekeeper's own method learned and filed away as a tool. This is the chapter's single durable direction-set. Out: ws.integrity_score per FORK_CH09_A, ws.community_state_per_region +ethiopian_highlands per FORK_CH09_A (persistence, forward_track CH_59). REVEAL: felt entirely as the protagonist's own choice about kept-or-shared knowledge; nothing is perceived behind it.",
"player_verb": "decide (fork anchor; magnitude SUBSTANTIAL, kind exploration_interaction, care_band elevated, convergence_node null)",
"cite": "docs/spine/CH_09.md:164-168; :179-190 (the fork table); :265; :304 (why the other two Substantial candidates are boss outcomes, not forks)"
},
{
"beat": "CH09_B12 · seq 12 · role exit · mode character · site simien_highlands · boss none · fork none",
"what_happens": "The wolves are safe and the ledgers are in the light. The protagonist goes down out of the mountains alongside Tesfa, Desta still at heel, bound south for the East African Rift Valley. In: local.monopoly_broken AND local.biome_secured. Out: local.rift_bound. The Sealed-Letter mystery threads forward from its Aksumite pointer; the briefed recognition is eased without a hunt.",
"player_verb": "depart (exit beat; pins the CH_10 start state)",
"cite": "docs/spine/CH_09.md:169-173; :294 (the CH_09→CH_10 seam assertions); :102"
}
],
"objectives": [
"OBJ_01 · beat_ref CH09_B01 · \"Follow the letter up into the highlands. Sit through the three pours.\" · completion flag(local.highlands_welcomed) [docs/spine/CH_09.md:115-117]",
"OBJ_02 · beat_ref CH09_B02 · \"Stand at the three-register stone in the stele field and read it. All three.\" · completion flag(local.geez_fluent_read) & flag(local.monopolist_marked) [docs/spine/CH_09.md:120-122]",
"OBJ_03 · beat_ref CH09_B03 · \"Go to the second Zion. Meet the chamber's guardian at the threshold and leave the chamber alone.\" · completion flag(local.ark_tradition_seen) [docs/spine/CH_09.md:125-127]",
"OBJ_04 · beat_ref CH09_B04 · \"At the old temple, hear the queen's lineage the way the tradition tells it.\" · completion flag(local.sheba_tradition_learned) [docs/spine/CH_09.md:130-132]",
"OBJ_05 · beat_ref CH09_B05 · \"In the mourning household, sit with the debtera. Read the iconography for the right names.\" · completion has(local.asmat_names_decoded) — INFERRED SUB-STEP of the two-phase encounter (spine :134-138 and the boss row give the phase split; the sub-flag name is not fixed by canon and is proposed, not canonical)",
"OBJ_06 · beat_ref CH09_B05 · \"Inscribe the scroll over the cradle and hold the threshold until it is finished.\" · completion flag(local.child_warded) [docs/spine/CH_09.md:135-137; registries/T0_Boss_Encounter_Registry @ BE_0009_S3]",
"OBJ_07 · beat_ref CH09_B06 · \"Cut the rigging off the obelisk field and hold the ground until the crew breaks.\" · completion flag(local.site_defended) [docs/spine/CH_09.md:140-142]",
"OBJ_08 · beat_ref CH09_B07 · \"Turn the poachers off the ibex and the wolves. Corner them against the escarpment.\" · completion flag(local.biome_secured) [docs/spine/CH_09.md:145-147]",
"OBJ_09 · beat_ref CH09_B08 · \"Read the eleven-church layout, then take the descent from roofline to floor.\" · completion flag(local.lalibela_traversed) [docs/spine/CH_09.md:150-152]",
"OBJ_10 · beat_ref CH09_B09 · \"Get inside the scriptorium on the rotation's gaps. Follow the cipher to the ledgers.\" · completion flag(local.scriptorium_breached) [docs/spine/CH_09.md:155-157]",
"OBJ_11 · beat_ref CH09_B10 · \"Put the ledgers in front of the assembled clergy.\" · completion flag(local.monopoly_broken) [docs/spine/CH_09.md:160-162]",
"OBJ_12 · beat_ref CH09_B11 · \"Decide what becomes of the freed knowledge.\" · completion fork_resolved(FORK_CH09_A) [docs/spine/CH_09.md:165-167; :179-190]",
"OBJ_13 · beat_ref CH09_B12 · \"Go down out of the mountains with Tesfa. South.\" · completion flag(local.rift_bound) [docs/spine/CH_09.md:170-172]"
],
"completion_condition": "flag(local.rift_bound) — the exit beat's own out-write, which canon gates on flag(local.monopoly_broken) & flag(local.biome_secured) via CH09_B12's in-map. Written the long way for a builder: flag(local.monopoly_broken) & flag(local.biome_secured) & flag(local.rift_bound). §9.5 gate-and-condition mini-grammar; all three are local. chapter-scoped keys and none of them lands in state_writes (CG-23 promotion criterion — a local. key is promoted only if a later chapter seam or an End-state carry-forward block reads it, and the CH_09→CH_10 seam reads only ws. keys and the FORK_CH09_A mark). [docs/spine/CH_09.md:172] [docs/spine/CH_09.md:162] [docs/spine/CH_09.md:147] [docs/spine/CH_09.md:294] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1461] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1464-1465]",
"fail_state": "reward_on_death — every one of the four encounters in this quest pays out on loss, by its own registry row, so no attempt is ever spent for nothing. BE_0009: a loss retains partial manuscript copies via the pre-journal remembered tells, so each attempt decodes a little more (explicitly \"no fail-wall\"), and the monopolist moves the collection while the protagonist recovers — a consequence, not a wall, that feeds the Ch-39 restitution thread. BE_0009_S1: loss maps the crew's method for the retry. BE_0009_S2: loss logs the crew's route. BE_0009_S3: loss logs Werzelya's pressure-pattern. `retry_with_bank` was considered and is the weaker fit: the doctrine reserves reward_on_death for a loss that itself PAYS OUT, which is exactly what all four death_reward cells author. [docs/spine/CH_09.md:108] [docs/spine/CH_09.md:109] [registries/T0_Boss_Encounter_Registry [DRAFT v0.1]/Sheet1.csv @ BE_0009, BE_0009_S1, BE_0009_S2, BE_0009_S3 death_reward] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1462]",
"progression_guarantee": "plays_through — read by harness/check_no_dead_end.py. Four independent legs of the guarantee, each grounded: (1) FORK_CH09_A carries its own clause — \"every option plays through to the descent toward the Rift Valley — the direction sets texture and the manuscripts' fate, never a gate,\" and all three directions {generative, neutral, corrosive} are declared reachable. (2) The main boss has has_nonkill_path TRUE and a three-value win_condition EXPOSE;PACIFY;REDUCE, so the evidence route and the force route BOTH resolve the encounter; force is priced (the collection does not come back whole) and never blocked. (3) Every encounter is reward_on_death with an explicit no-fail-wall clause, so repeated loss advances the decode rather than walling it, and P1 offers two independent decode chains plus a stealth timing-gap read plus a Brute stagger. (4) All three side lanes at this node are gate none, and the node restates at line level that SQ gates are state-conditions and non-gating on the main spine. Killing an NPC cannot strand the chapter: the exit beat depends only on local.monopoly_broken and local.biome_secured, both of which have force routes. [docs/spine/CH_09.md:180] [docs/spine/CH_09.md:181] [docs/spine/CH_09.md:108] [docs/spine/CH_09.md:160] [docs/spine/CH_09.md:196-199] [registries/T0_Boss_Encounter_Registry @ BE_0009 has_nonkill_path, win_condition, counters] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1463]",
"branching_logic": "Three branch surfaces, one of them durable.\n\n(1) ROUTE branch at CH09_B09/B10, no fork row and no worldstate delta of its own. Phase 1 admits a stealth solution (read the tightening rotation, take the gap) or a direct one (Brute stagger with the chapter-anchored Ch 9-10 Brute weapon), and the manuscript cipher carries two independent decode chains so neither the stealth nor the decode route can wall. Phase 2 resolves by EXPOSE/PACIFY on the evidence route — Kidane's private documentation is the lever — or by REDUCE on the force route, which resolves identically for progression and is priced in the fiction: the manuscripts do not come back whole. Canon prices this route without typing it as a fork, and I have not typed one.\n\n(2) DURABLE direction-set at CH09_B11, FORK_CH09_A. Three ACTION-keyed options with a direction each; the five texture bands are DERIVED (§18), never option labels — the retired truly_good/good_enough/neutral/evil vocabulary must not be reintroduced here.\n\n(3) REWARD-BOTH-WAYS boss outcomes at CH09_B05 (the child warded) and CH09_B06 (the site defended). These are NOT branches. The v3 conversion ruled explicitly that typing them as player forks would require inventing accept-branches canon does not author — there is no authored \"leave the child unwarded\" or \"let the obelisk go\" limb — so they land as sub-boss outcomes on the Ch-2 bargain-refusal precedent. I have held that line.\n\nNo path-conditional or biography-conditional branch is available at this node: path_bucket is UNLOCKED until the Ch-65 lock, so no path bucket can be read for a branch here.\n\n[docs/spine/CH_09.md:155] [docs/spine/CH_09.md:160] [docs/spine/CH_09.md:184-190] [docs/spine/CH_09.md:190] [docs/spine/CH_09.md:304] [docs/spine/CH_09.md:272] [registries/T0_Boss_Encounter_Registry @ BE_0009 counters, composure_nodes] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1467]",
"fork_options": [
"{fork_id: FORK_CH09_A, option_ref: \"free the manuscripts back to the community that made them\"} · direction generative · delta +Substantial · mark_write {ethiopian_highlands: generative-valence, persistence, forward_track [CH_59]} · relationship: Aksum clergy and community trust deepens, Kidane's documentation freed · opportunity: the community's recognition and aid at the Ch-59 Africa revisit · ws.integrity_score +substantial-generative [docs/spine/CH_09.md:186]",
"{fork_id: FORK_CH09_A, option_ref: \"break the monopoly but hold the freed knowledge close\"} · direction neutral · delta ~0 · mark_write {ethiopian_highlands: neutral-valence, persistence, forward_track [CH_59]} · relationship: the monopoly broken, the community grateful but the knowledge kept · opportunity_effects none · ws.integrity_score ~0 [docs/spine/CH_09.md:187]",
"{fork_id: FORK_CH09_A, option_ref: \"keep the monopolist's method and file it away as a tool\"} · direction corrosive · delta −Substantial · mark_write {ethiopian_highlands: corrosive-valence, persistence, forward_track [CH_59]} · relationship: a coldness the community reads; the racket's method filed as a tool · opportunity: nothing walls — the tool-track opens instead · ws.integrity_score −substantial-corrosive [docs/spine/CH_09.md:188]"
],
"irreversible_choice": "FORK_CH09_A at CH09_B11 — what becomes of the knowledge the broken gate was standing on. The world keeps it; no limb closes progression, and every limb descends to the Rift. THREE LIMBS, EACH PRICED. Free them back to the makers: the protagonist gives up the only leverage the collection represents and walks out of Ethiopia holding nothing, and buys a community that will know them at the Ch-59 continental revisit. Hold the freed knowledge close: the gate is gone but the books are still in one traveller's keeping instead of the community's — costs nothing visible now and opens nothing later, the neutral mark, gratitude without recognition. Keep the method: the protagonist takes the one thing the monopolist actually had — how you make yourself the gate — and files it as a tool; it costs a coldness the community reads on them, and it opens the tool-track rather than closing anything. UPSTREAM PRICE that rides into this choice: if the player took the force route at CH09_B10 instead of the evidence route, the collection does not come back whole, so the generative limb is entered with less to give. Magnitude SUBSTANTIAL, care_band elevated, convergence_node null — nothing converges this away, and the Ch-65 lock is far ahead. [docs/spine/CH_09.md:165-167] [docs/spine/CH_09.md:180-190] [docs/spine/CH_09.md:160] [docs/spine/CH_09.md:265] [docs/spine/CH_09.md:284] [doctrine: docs/registry_extensions.json @ _column_doctrine.quest-turn.irreversible_choice]",
"state_writes": [
"ws.relationship_history: +emama_hiwot_positive_recognition — carried verbatim from CH09_B01 out-map; resolves to WS_008 [docs/spine/CH_09.md:117]",
"ws.relationship_history: +zelalem_silent_recognition — CH09_B03 out-map; WS_008 [docs/spine/CH_09.md:127]",
"ws.relationship_history: +tibebu_debtera_ally — CH09_B05 out-map; WS_008 [docs/spine/CH_09.md:137]",
"ws.relationship_history: +tesfa_trust — CH09_B07 out-map; WS_008 [docs/spine/CH_09.md:147]",
"ws.familiar_bond_state: +desta_g3_bonded — CH09_B07 out-map; WS_012; legal under the CG-27 familiar-bond write rule (an in-beat bond is a WS_012 state_write on its host beat, not a dedicated familiar_bond quest) [docs/spine/CH_09.md:147] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1465]",
"ws.antagonist_operational_state_per_region: +monopoly_broken_ethiopia — CH09_B10 out-map and the BE_0009 win row; WS_020 [docs/spine/CH_09.md:162] [docs/spine/CH_09.md:108]",
"ws.integrity_score: per FORK_CH09_A (Substantial class; +substantial-generative / ~0 / −substantial-corrosive by option) — CH09_B11 out-map; WS_001 [docs/spine/CH_09.md:167] [docs/spine/CH_09.md:186-188]",
"ws.community_state_per_region: +ethiopian_highlands per FORK_CH09_A (valence by option, persistence, forward_track [CH_59]) — CH09_B11 out-map; WS_019; this is also the world_memory_write [docs/spine/CH_09.md:167] [docs/spine/CH_09.md:182]"
],
"reward_class": "mixed — the quest pays across substrate_narrative, seed_unlock and loot_drop classes, per the chapter's own six-item reward map. reward_drop_refs (live rows, all present in T0_RNG_Drop_Table): DROP_CH09_GEEZ_TRILINGUAL_FLUENT_READ (inscription_decode_drop, B02), DROP_CH09_WERZELYA_ASMAT_WARD_CRAFT and DROP_CH09_WERZELYA_SUSENYOS_SCROLL_LORE (BE_0009_S3, B05), DROP_CH09_MANUSCRIPT_CIPHER_DECODE and DROP_CH09_MANUSCRIPT_MONOPOLY_INTEL (BE_0009, B09/B10), DROP_CH09_STELE_RESTITUTION_THREAD (BE_0009_S1, B06), DROP_CH09_BUNA_WELCOME_HOSPITALITY (boon, B01), DROP_CH09_DESTA_BOND (familiar, B07), DROP_CH09_AKSUM_ZAGWE_SHEBA_LORE (B03/B04/B08), DROP_CH09_AGILITY_LETTER_FRAGMENT (B08 collectible). reward_seed_refs: SEED_0040 (SQ3 lead), SEED_0041 (SQ11), SEED_0042 (SQ1), SEED_0043 (Desta bond), SEED_0044 (highland welcome), SEED_0045 (restitution thread). ability_unlock_refs EMPTY — canon is explicit that no ability unlocks at Ch 9 and no Ability_Tree row anchors here; the kit carried from Ch 2-8 holds at the Neophyte floor. The chapter-anchored Ch 9-10 Brute weapon is a SLOT placed here as the stagger prep hook, not an authored weapon, so no equipment ref lands. [docs/spine/CH_09.md:267] [docs/spine/CH_09.md:254] [docs/spine/CH_09.md:256] [registries/T0_RNG_Drop_Table [DRAFT v0.1]/Sheet1.csv @ DROP_CH09_*] [registries/T0_Quest_Seed_Registry [DRAFT v0.1]/Sheet1.csv @ SEED_0040-0045] [_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md:1472]",
"world_memory_write": "ws.community_state_per_region — resolves to T0_Worldstate_Variables WS_019 (variable_name community_state_per_region, type object). Write: +ethiopian_highlands, valence set by the FORK_CH09_A option taken (generative / neutral / corrosive), persistence TRUE, forward_track [CH_59]. The read node is the Ch-59 Africa continental revisit (modern Ethiopia), where reception varies by the manuscripts' disposition — the sibling of the CH_08 swahili_coast mark. This is the price the world keeps: the highlands remember what the traveller did with the books after the gate came down. [docs/spine/CH_09.md:167] [docs/spine/CH_09.md:182] [docs/spine/CH_09.md:186-188] [docs/spine/CH_09.md:294] [registries/T0_Worldstate_Variables [ACTIVE v0.1]/Sheet1.csv @ WS_019] [doctrine: docs/registry_extensions.json @ _column_doctrine.quest-turn.world_memory_write]",
"participants": [
"protagonist (elven child, internal age 11, Childhood — designer-only, never surfaced)",
"char:CHAR_0063 Liqä-Mäzämmir Gäbrä-Ṣəḥuf, the Scriptorium Monopolist — main boss, corrupt individual within the institution",
"char:CHAR_0064 Zelalem, guardian of the Ark tradition — silent recognition, never a target",
"char:CHAR_0065 Emama Hiwot, the coffee-ceremony mistress — the arc's first fully positive African recognition",
"char:CHAR_0066 Kidane the Scribe — apprentice under the monopoly, the evidence lever at B10",
"char:CHAR_0067 Nardos, the Makeda-archetype noblewoman — the Kebra Nagast lineage at B04",
"char:CHAR_0069 Gebreyesus, the Lalibela stone-carver apprentice — B08",
"char:CHAR_0070 Tesfa, the Simien pastoralist — trust at B07, the bridge into Ch 10 as a guide, not a traveling companion",
"char:CHAR_0119 Tibebu, the debtera scribe-scholar — the warding ally at B05, a protected craft-practitioner and never a target",
"familiar:desta_g3 Desta, the Ethiopian Wolf (Ground slot G3) — bonds across Ch 9-10",
"boss:BE_0009 (P1→CH09_B09, P2→CH09_B10)",
"boss:BE_0009_S1 the Stele-Field Looter-Foreman → CH09_B06",
"boss:BE_0009_S2 the Simien Highland Poacher → CH09_B07",
"boss:BE_0009_S3 Werzelya, the demon the scroll wards off → CH09_B05",
"antagonist:NW_0008 — DESIGNER-ONLY network row for CHAR_0063 (awareness FAMILY_BRIEFED). Nothing about the network reaches any player-facing surface at this node.",
"the assembled clergy (crowd, CH09_B10) — the audience of the exposure, never an opponent",
"char:CHAR_0002 the Healer's Child — carried mystery, not a scene participant here"
],
"hard_line_refs": [
"HL_0002 — living-tradition claims trace to primary-source record; the Ge'ez script, the zema tradition, the Kebra Nagast, the debtera's asmat craft and the Werzelya/Susenyos cycle are all sourced (Mercier, Art that Heals; the Met's Ethiopian Healing Scrolls; the Ezana stele) [docs/spine/CH_09.md:63, :229]",
"HL_0003 — the faithful community and its living tradition are never the story antagonist. Combat routes through the monopolist, the occupation looting apparatus, the poaching crew, and Werzelya's condemned demon-form — never the Ethiopian Orthodox Tewahedo Church, its clergy, the debtera, or the community [docs/spine/CH_09.md:69, :225]",
"HL_0004 — a culturally protected space still delivers a real fight; CH09_B06 (antagonist intrusion at a protected site) and CH09_B05 (the tradition's own monster) are both first-class combat and neither is routed around [docs/spine/CH_09.md:229]",
"HL_0005 — no Hollywood/cinema-shorthand framing; the debtera are unordained clergy-scholars keeping a protective craft, never sinister sorcerers, and Werzelya is never trope-horror [docs/spine/CH_09.md:230, :242]",
"HL_0006 — no stereotyped descriptors; each culture self-names (buna, asmat/kitab, debtera, zema, Ge'ez) [docs/spine/CH_09.md:225]",
"HL_0121 — genuinely malevolent beings grounded in a tradition are legitimate antagonists and legitimate combat; this is what makes Werzelya fightable [docs/spine/CH_09.md:138]",
"HL_0122 — the honored-adversary rule: a myth's own demon is a fully-staged boss, never defanged, never routed around, never reduced to a non-combat puzzle. The inscription is BE_0009_S3's WIN CONDITION, not an exemption from the fight [docs/spine/CH_09.md:229]",
"HL_0080 — NAMED AND EXPRESSLY NOT GOVERNING: the four-step non-damage containment protocol covers the sacred-site atmospheric echo class and never converts a fightable malevolent being into a containment puzzle. Do not re-route Werzelya through it [docs/spine/CH_09.md:229]",
"HL_0123 — lethal violence against human antagonists is core; it applies to the looting crew and the poachers, and §17.1 protection is COLLECTIVE, so it never makes an individual antagonist unkillable [docs/spine/CH_09.md:225]",
"HL_0028 / HL_0017 — substrate-perception unlocks at Adeptus Minor (Ch 15 crossing). The Ge'ez read at CH09_B02 is LITERACY, never a tier-6 vril-signature read; the monopolist's recognition of the protagonist runs through briefing, never a vril read [docs/spine/CH_09.md:123, :254]",
"HL_0035 / HL_0103 — REVEAL DISCIPLINE, ABSOLUTE AT THIS NODE. No House-of-Velheim name, no family, no pattern, no Inner-Council sector reaches any player-facing surface. The player perceives one corrupt master-cantor and one unexplained second stranger who looked at them and knew — an unresolved unease, not a network. Even a negated agent-noun leaks; do not write 'no organisation behind him' into any player-facing string [docs/spine/CH_09.md:110, :163, :303]",
"HL_0043 — the thesis is never declared and the Grand Sage is dark. Nothing at this node hints at the Ch 76-77 reveal; the §17.9 reveal-authority reference row is deliberately unnamed [docs/spine/CH_09.md:259, :273]",
"HL_0032 — the twelve canonical SQ names are locked; SQ3 / SQ11 / SQ1 advance here with gate none [docs/spine/CH_09.md:194-199]",
"HL_0049 — no consecutive dominant-combat-mode repeat; Ch 9 is stealth against Ch 7 direct and Ch 8 vril_management [docs/spine/CH_09.md:252]",
"HL_0056 — the first canonical Brute chapter-anchored weapon occupies the Ch 9-10 slot; placed here as the B09 stagger prep hook, the weapon itself deferred [docs/spine/CH_09.md:256]",
"HL_0078 — blended, three-axis, phase-escalating bosses with two counters per signature attack and a reward on win AND on death; satisfied on all four encounters [docs/spine/CH_09.md:106]",
"HL_0079 — one agility course per chapter, documented-site grounded, three variants; the Lalibela roofline-to-floor descent, Puzzle variant named [docs/spine/CH_09.md:253]",
"HL_0109 — documented-history figures are presented as history and never combat targets [docs/spine/CH_09.md:208]",
"§17.1 NAMING RULING (Josh, 2026-07-07) — the boss name is held clear of the patriarchal Abuna title AND of the revered saint Abba Giyorgis of Sägla. The registry's older 'Abuna Giyorgis' is REJECTED; Liqä-Mäzämmir Gäbrä-Ṣəḥuf is the ruled name. Do not regress it [docs/spine/CH_09.md:301]"
],
"named_gaps": [
"THE EXIT DEPENDENCY CHAIN LEAVES FIVE CORE BEATS UNWIRED. CH09_B12's in-map requires only local.monopoly_broken and local.biome_secured. Nothing in canon's in/out maps makes CH09_B03, B04, B05, B06 or B08 a precondition of anything downstream — B03 feeds only B06, and B05/B08 feed nothing. So canon does not fix whether the child-warding, the stele defence, the Sheba tradition, the Ark encounter and the Lalibela descent are REQUIRED objectives of the main quest or optional-core content. I have listed all thirteen objectives and set the completion_condition to what canon actually gates. A designer ruling is owed: required-core or optional-core. [docs/spine/CH_09.md:172 vs :127, :132, :137, :142, :152]",
"NO SCENE_SPEC ROWS EXIST. The six SC_CH09_* anchors (three_pours, trilingual_stele, werzelya_scroll, scriptorium_breach, ledgers_in_light, wolf_escarpment) are authored in the spine §13 table but T0_Scene_Spec_Registry contains ZERO SC_CH09 rows (positively controlled by grep). scene_anchor_array and dialogue_trigger_anchors can be authored against the spine ids, but they will be dangling FKs until that registry's [POPULATE→] leg runs. [docs/spine/CH_09.md:212-221]",
"NO SFX ROWS ANCHOR TO CH 9. T0_SFX_Registry has 680 rows and none carries chapter_anchor 9 or region_id ethiopia (positively controlled). quest_dialogue_sfx_id_ref_array lands EMPTY rather than invented; the spine's own [POPULATE→T0_SFX_Registry] at :247 owns it.",
"NO DIALOGUE DATASET HOME. docs/quest_dialogue/ does not exist in the repo, so dialogue_dataset_array lands EMPTY. The one landed precedent row (QUEST_CH02) declares a path into that non-existent directory; I have not copied a dangling path.",
"THE PROMISE LEDGER HAS ZERO CH_09 EDGES. 125 rows, no promise_node or payoff_node of CH_09 (grep count 0). So this definition opens and pays NO ledgered promise, and I could not cite one. The Sealed Letter's Aksumite pointer is honoured here as a trigger and threads forward, but it carries no PL_ edge — that is unbuilt ledger work, not a quest-authoring gap. [registries/T0_Promise_Ledger [DRAFT v0.1]/Sheet1.csv]",
"ONE OBJECTIVE SUB-FLAG IS PROPOSED, NOT CANONICAL. OBJ_05's local.asmat_names_decoded is my split of BE_0009_S3's authored two-phase structure (decode the divine names, then inscribe and hold). Canon fixes the phase split and the win condition but names only local.child_warded. Flagged so it is not mistaken for a canon key.",
"THE CH 9-10 BRUTE WEAPON IS A SLOT, NOT A WEAPON. HL_0056's first chapter-anchored Brute is placed at Ch 9 as the B09 stagger prep hook, but the weapon is deferred to the T0_Weapon_Registry stub and the Ch-9-vs-10 acquisition is ratifiable at RR-22. No equipment reward ref can be authored. [docs/spine/CH_09.md:256, :302]",
"IDENTITY-HIDING PRESSURE IS DERIVED, NOT A QUEST WRITE. The spine asserts pressure eases HIGH→MED across this chapter, but that is a §18 axis computed at chapter close, not a beat out-map write. Under CG-03 (a quest never mints a worldstate value) it does NOT land in state_writes. If the runtime needs the ease as a quest-committed write, canon must author it on a beat first. [docs/spine/CH_09.md:273, :290, :294]",
"AGILITY-COURSE VARIANTS ARE PARTIAL. HL_0079 requires three variants per course (Standard, Hardcore, Puzzle); the spine names the Lalibela descent and a stele-proportion Puzzle variant. Standard and Hardcore are unauthored. [docs/spine/CH_09.md:253]",
"TWO ENCOUNTERS HAVE NO AUTHORED LEAVE-IT-UNDONE LIMB, BY RULING. CH09_B05 and CH09_B06 are reward-both-ways sub-boss outcomes; the v3 conversion ruled that typing them as player forks would require inventing accept-branches. If a designer later wants 'walk away from the cradle' or 'let the obelisk go' as real limbs, that is new canon and Josh's, not a quest-row fill. [docs/spine/CH_09.md:304]",
"SQ7 IS A RECORDED, UNSTAGED CANDIDATE. The region page argues an unusually strong Sorcery/Music-Theory case here (the notation system, the feast-variable cantillation, the Yared attribution, and the fact that the chanter and the protective-craft holder are the same office) and asserts no stage because the spine assigns none. Explicitly a Josh call at the range review — not filled in. [_source/02_Tier_2_Region_Pages/ethiopia.md:926-931]"
],
"grounding": "PRIMARY SOURCE — docs/spine/CH_09.md (308 lines, v3.1 beat→fork→state event graph): header/care tier :7-17 · continuity anchor from CH_08 :21-22 · body prose :26, :28, :30, :32 · threads :38-53 · civilizational marks :59-63 · everything-woven :69-80 · §3b typed sites :88-102 · boss structure :106-110 · §10 beat graph :114-173 (B01 :114-118, B02 :119-123, B03 :124-128, B04 :129-133, B05 :134-138, B06 :139-143, B07 :144-148, B08 :149-153, B09 :154-158, B10 :159-163, B11 :164-168, B12 :169-173) · mode-variety fold :175 · §10b FORK_CH09_A :179-190 (option table :186-188, retired-vocabulary warning :190) · §11 side lanes :196-199 · ally NPCs :203-208 · §13 scene anchors :214-221 · protected-chapter combat framing (ruling 5) :225 · anti-fringe flags :229-232 · three-layer surfacing :236-238 · asset anchors :242-248 · mechanical anchors :252-268 (dominant mode :252, win condition + agility :253, abilities none :254, weapons :256, familiars :258, antagonist operative :260, cross-cultural links :263, main_quest_beat :264, integrity divergence :265, rewards map :267) · §18 derived axes :272-273 · end-state carry-forward :277-284 · seam diffs :290, :294 · decisions surfaced :300-307.\n\nSCHEMA AUTHORITY — _source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md §6.5: quest_type enum :1447 · quest_giver :1456 · trigger_type enum :1457 · quest_beat_structure :1458 · realized_beat_refs :1459 · objectives_array :1460 · completion_condition :1461 · fail_state enum :1462 · progression_guarantee enum :1463 · state_writes + ws.-keys-only rule :1464 · CG-23 promotion criterion and CG-27 familiar-bond rule :1465 · branching_logic :1467 · fork_option_refs :1468 · reward_class enum :1472. Turn-column doctrine (premise_as_given / falsifier / irreversible_choice / world_memory_write) — docs/registry_extensions.json @ _column_doctrine.quest-turn; tooth harness/check_quest_turn.py, gate `quest_turn`. NOTE FOR THE APPLY PASS: tooth Q3 fails a row that fills some of the four and not all, and tooth Q1 arms the chapter the moment any cell lands. This definition fills ALL FOUR — premise_as_given, falsifier (the hoarded ledgers, below), irreversible_choice, world_memory_write — so it arms chapter 9 with a complete turn and does not trip Q3.\n\nFALSIFIER (the fourth turn cell, no dedicated output field): the monopolist's own hidden ledgers, read at CH09_B09-B10 once Ge'ez runs fluently — his private record that the manuscripts he disliked were let rot on purpose. It cannot coexist with \"the gate is why nothing is lost\": the loss is in the gatekeeper's handwriting. [docs/spine/CH_09.md:32] [docs/spine/CH_09.md:155] [docs/spine/CH_09.md:160]\n\nREGISTRY JOINS VERIFIED AT HEAD — registries/T0_Quest_Definition_Registry [ACTIVE v1.0]/T0_Quest_Definition_Registry.csv (48 columns, 17 rows; QUEST_CH02_ARRIVAL_UNLOCKED is the only row past 22 populated cells and is the shape precedent) · T0_Boss_Encounter_Registry [DRAFT v0.1] @ BE_0009 + S1/S2/S3 (verbs, axis, counters, composure_nodes, win_condition, has_nonkill_path, win_reward, death_reward) · T0_Worldstate_Variables [ACTIVE v0.1] @ WS_001 integrity_score, WS_008 relationship_history, WS_012 familiar_bond_state, WS_019 community_state_per_region, WS_020 antagonist_operational_state_per_region (all four state_write keys resolve) · T0_Quest_Seed_Registry [DRAFT v0.1] @ SEED_0040-SEED_0046 (the seven CH_09 seeds) · T0_RNG_Drop_Table [DRAFT v0.1] @ eleven DROP_CH09_* rows · T0_Questline_Index [DRAFT v0.1] @ SQ1/SQ3/SQ11 · T0_Character_Index [ACTIVE v1.1] @ CHAR_0063/0064/0065/0066/0067/0069/0070/0119 · T0_Hard_Lines [ACTIVE v0.2] @ HL_0002/0003/0004/0005/0006/0028/0032/0035/0043/0049/0056/0078/0079/0080/0103/0121/0122/0123 · T0_Antagonist_Network_Registry @ NW_0008 · registries/T0_Promise_Ledger [DRAFT v0.1] — ZERO CH_09 edges (controlled).\n\nREGION PAGE — _source/02_Tier_2_Region_Pages/ethiopia.md: Zone Catalog :41-70 (seven zones, terrain/functions/threat/vril/affordance/protected copied verbatim from the spine §3b rows; the zone_ref side of the spatial join) · zone-bounds derivation and the deliberate edge-adjacency separating aksum_scriptorium from the protected stele plain :71-88 · Derived Indexes: boss index, SQ index, scene index, mark/state surface :88-107 · Section 13 Quest Framework, Main Story paragraph enumerating exactly these twelve beats :902-925 · the unstaged SQ7 candidate :926-931.\n\nAUTHORITY — CLAUDE.md: authority hierarchy (CVD → T1 → T0 → T99), the §17 hard-line floor, care delegated and calibrated bolder (rename/reframe never removal, timidity a defect of equal weight), the rated-M content bar, and the reveal-discipline standing rule (no Velheim pattern before ~Ch 38, no pre-Ch-76 Grand Sage hint, negated agent-nouns leak).\n\nNOT AUTHORED, DELIBERATELY: no beat, objective, site, NPC, fork limb, reward or state key appears above that is not carried from one of the cites listed. The single proposed value in the whole definition is OBJ_05's sub-flag name, flagged as proposed in named_gaps.",
"progression_guarantee_STATUS": "UNVERIFIED -- critic demolished the stated guarantee"
}
}