chapters/CH_02/quests/main_story/QUEST_EXEMPLAR_CH02_OPENER.md
CANON SUBORDINATION — this document is PROPOSAL-TIER: it serves canon and never outranks it.
The canon: the CVD · the T1 foundation docs · the T0 registries (registries/) · the spine
(docs/spine/CH_*.md) · the region pages (_source/02_Tier_2_Region_Pages/). Authority order:docs/DOC_MAP.md§ 0.
Canon served (scanned from this document's own citations):
CVD §17·T1_Build_Pipeline_Contracts §6.5/§6.7/§6.8/§9.5·T0_Quest_Definition_Registry·
T0_Quest_Seed_Registry·T0_Questline_Index·T0_Promise_Ledger·T0_Worldstate_Variables·
T0_Scene_Spec_Registry·T0_Hard_Lines·T0_Character_Index·T0_Familiar_Registry·
T0_Equipment_Registry·T0_Ability_Tree_Registry·T0_RNG_Drop_Table·T0_SFX_Registry·
T0_Gather_Node_Registry·docs/spine/CH_02.md·_source/02_Tier_2_Region_Pages/flores_island.md
Newly derived since this block was last widened:CVD §15·T0_Chapter_Index·T0_Dialogue_Line
READ THAT CANON FIRST — open it and derive from it before you build anything from this document.
If this document disagrees with canon, CANON WINS and this document is the defect — fix the
document, never the canon. Nothing here is applied until it is ratified into canon.
Status: PROPOSAL-TIER. Lane A of the 2026-08-07 content-exemplar wave 2 (claim block at the tail of
docs/HANDOFF_2026-08-05_ACCOUNT_SWITCH.md, commit eb9a3895). Nothing here is canon; this document edits no
registry, no spine node, and no _source tier doc. It is the pipeline-B1 exemplar docs/PIPELINE_LEDGER.md
L119 asks for — one ordinary per-chapter quest authored end to end, in a form the director can apply
mechanically as one registry row.
Scope discipline, stated once and stated exactly, because an overclaim here is what sends the next lane back
through closed ground. T1_Build_Pipeline_Contracts [ACTIVE v1.0] §6.5 L1440 records the 2026-07-20
mechanical completion pass closing CG-01, CG-02, CG-03, CG-04, CG-05, CG-07 through CG-11, the DIALOGUE-HOME
HALF of CG-12, and CG-13 through CG-28. Three items are NOT closed and this document does not pretend they
are: CG-06 (T0_Questline_Index) and the CG-12 RESIDUE (the landing surface plus a spike-or-proposal
quest_status value) are named by L1440 itself as a separate registry-population leg, and CG-29 (Champa
source grounding, book-gated) remains open. The live T0_Quest_Definition_Registry header carries every
typed field the Ch 2-5 spike called missing. So this document closes no SCHEMA gap and re-litigates none;
what it does is the POPULATION leg L1440 names — the registry carries sixteen rows, every one endgame or
hard-line, and not one ordinary per-chapter row for Ch 2-13. CG-06 is untouched here because this quest's
questline_id is NULL by evidence; the CG-12 residue is finding #1.
DERIVED FROM — every element below traces to one of these lines, quoted where the quotation does work.
docs/spine/CH_02.md §10 Beat graph — the three beats this quest realizes, verbatim:CH02_B01 · seq 1 · role hook · mode character · site liang_bua_cave · boss none · fork none;objective "Wake on cold stone in the dark of Liang Bua after the rift-fall; the Child Familiar bites once,
bolts, and is watched dying from a crack in the rock"; `in: {none} → out: {ws.familiar_bond_state:
+child_familiar_lost_believed_dead, local.alone: true}; layers: L1 · reveal: HELD(believed dead only)`.
CH02_B11 · seq 2 · role core · mode discovery · site liang_bua_cave; objective "turn the loosestone the landing threw up, follow the line the scatter came to rest along, feel into the cold seams, and
read where the outside light reaches and where it stops"; "The search cannot fail and cannot wall: the
tells escalate to certainty, so a player who keeps looking always finds it and no one is ever held at this
beat"; in: {local.alone: true} → out: {local.ward_recovered: true}; systems: [object:mothers_amulet];
threads: [THREAD_20:ANCHOR]; layers: L1+L2 · reveal: HELD(... per HL_0095).
CH02_B02 · seq 3 · role core · mode puzzle · site mount_inerie_cone_country; objective "Survivethe first days in the cone country beneath Mount Inerie — the fire-making survival puzzle, forest foraging,
improvised shelter"; systems: [ability:A_F_001, ability:A_T_002]; `in: {local.alone: true} → out:
{local.fire_made: true}; layers: L1 · reveal: none`.
docs/spine/CH_02.md L162 — the mode-variety fold: "discovery projects to the LEARNING letter per the SPINE_SCHEMA_v3 §4 mode-projection table". This is the authority for the encounter_mode_tag value on the
find-beat and the reason no enum member is invented for it.
docs/spine/CH_02.md L12 — canonical_hard_line_flag FALSE, author_in_loop_required TRUE, cultural_depiction_tier standard. L17 — the shaping constraints HL_0005 and HL_0028.
docs/spine/CH_02.md L21 — the origin start state: "vril-depleted on entry, integrity initialized at zero... no inventory in the acquisition sense — the one realm object that fell with them is a worn thing rather
than a carried item ... unreadable and unidentified on this side of the barrier until the Ch-8 script reveal
opens that door (HL_0095)".
docs/spine/CH_02.md L24 — "the first morning of a life that will be measured from a wound" (the quest'sworking name). L26 — the search prose, "The child comes back to the crack with empty hands and works the
loose earth the landing threw up along it"; "It is the first quiet work of the new world, done alone and
unhurried, and the chapter offers no comfort with it beyond the fact of the thing in the hand". L28 — the
emptied-dark night, "no fire, nothing eaten — the black eases by a single shade, a faint lightening of the
air with no source the child can find". L30 — "Climbing out of the cave into the volcanic cone country
beneath Mount Inerie".
docs/spine/CH_02.md L83-84 — the liang_bua_cave site row, "terrain cave_system · functions [combat,discovery, learning, stealth, character] · ambient_threat moderate · vril_density low · climactic_affordance
none · protected true"; env "the landing leaves a scar of loose thrown-up earth along the crack in the rock,
the searchable ground of the find-beat, and the place beyond the crack stays unreachable by design; hosts
CH02_B01/CH02_B11/CH02_B05". L87-88 — mount_inerie_cone_country, "terrain mountain · functions [traversal,
combat, puzzle] ... hosts CH02_B02/CH02_B07".
docs/spine/CH_02.md L183-185 — the §11 side-questline rows (SQ1 beats CH02_B05/B06/B08, SQ9 beatsCH02_B03/B05) and "(twelve_level_gate: none binds at Ch 2)". Neither SQ interleaves a beat of this quest,
which is why reward_seed_refs is empty and honest.
docs/spine/CH_02.md L203-204 — the §13 scene rows: `SC_CH02_rift_fall_waking | CH02_B01 | per_chapter_cutscene | UNLOCKED | scene_entry | protagonist and SC_CH02_the_first_search | CH02_B11 |
canonical_set_piece | UNLOCKED | beat_transition | protagonist`.
docs/spine/CH_02.md L225 — L1 self-contained, "a lone depleted child wakes with nothing, searches theground where everything was lost and gets one small thing back". L226 — the L2 lane.
docs/spine/CH_02.md L237 — the realm object asset anchor, "recovered at CH02_B11, worn from there unbrokento the Ch-13 departure where it is given away; a worn thing and never inventory, unrechargeable on this side
of the barrier, and no in-world name is minted here". L238 — the garment states, ELEVATED by Josh 2026-08-06.
docs/spine/CH_02.md L243 — dominant_combat_mode environmental. L245 — "abilities_unlocked the arc's first— A_E_001 Stone Skin, A_E_002 Tremor Stomp, A_F_001 Ember Strike, A_T_002 Cloaking, all at the Neophyte
floor". L249 — "weapons the protagonist's first survival body-grammar; chapter_anchored_weapon_add none".
L251 — "the Child Familiar present at open and lost mid-chapter ... a §17.9 reveal-authority reference row
also applies and is deliberately not named (HL_0043/0046)". L254 — the main_quest_beat line, "survive the
arrival, recover the realm object out of the fall-strewn earth at the crack (CH02_B11)". L257 — the rewards
line and its two [POPULATE→] targets.
docs/spine/CH_02.md L271 and L281 — the end-state and CH_01→CH_02 seam: "carried object at entry: the realmobject crossed with the child and the familiar and lies scattered in the earth the landing threw up,
unrecovered until CH02_B11 (a prose carry, not a ws key and not inventory — the no-inventory start state is
unaffected)".
docs/spine/CH_02.md L299 — the eleventh-sitting ruling and its APPLIED SHAPE: "the find-beat is CH02_B11 atseq 2, immediately after the waking and inside the same site, and it is REAL PLAYABLE SEARCH rather than a
cutscene ... a quiet quest with search verbs, low difficulty and escalating tells so it can never wall a
player, per the clues-are-never-unsolvable and never-gate discipline."
_source/02_Tier_2_Region_Pages/flores_island.md L51 — the liang_bua_cave Zone Catalog row: bounds "220×180×60 karst interior + 400 m forest approach", build_priority P1 (origin node), meters_per_vertex
1, footfall_surface stone / secondary leaf-litter, care_tier elevated, environment_grammar_refs
EG_0005;EG_0006;EG_0007. L53 — mount_inerie_cone_country: "stratovolcano slope corridor ~2.5 km, agility
pod 120×120", P2, mpv 5, gravel/dirt, care_tier standard, EG_0003;EG_0004;EG_0005;EG_0012.
_source/02_Tier_2_Region_Pages/flores_island.md L105 — the terrain build recipe carving the Liang Bua cavemouth as a scripted composite. L921-928 (Section 11) — "None. This is a reveal-ladder constraint ... The
House of Velheim does not exist to the player here and first appears at Ch 8". L1195-1197 (Section 13, Main
Story) — "the CH_02 origin beats (survive arrival, the polo's bargain, the Quiet Step stalk, reach the
village edge)". L1526 — the Trade-4 forage line lands "on the Ch-2 valley corridor the substrate already uses
for the stalk — the liang_bua_cave forest approach".
_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md §6.5 — L1444 the quest_id formatrule "quest_id is QUEST_\<quest_anchor_id\>_\<path_bucket\>"; L1447 the twenty-one-member quest_type enum and
the CG-21 spine-role rule; L1448 encounter_facet; L1449 CG-28 chapter ownership; L1450 the path_bucket
enum; L1453-1454 sq_stage and sq_gate_condition; L1455 CG-08 participant prefixes; L1456 quest_giver and
its environment sentinel; L1457 the trigger_type observed-enum; L1459 realized_beat_refs; L1460
objectives_array ("an objective's completion_condition reads only state a prior beat or objective wrote");
L1461 completion_condition; L1462 fail_state; L1463 progression_guarantee; L1464 CG-03/CG-24/CG-25
state_writes; L1468 fork_option_refs; L1470 spatial_requirements_array; L1471 scene_anchor_array and
the CG-20 coverage predicate; L1472-1475 the reward fields; L1478 the CG-09/CG-10 dialogue home
docs/quest_dialogue/DD_\<quest_id\>.csv and the CG-12 residue; L1480 quest_status; L1483
author_in_loop_required; L1496-1520 the T0_Dialogue_Line column contract, pinned at L1494 and running
line_id (L1496) through source_ref, notes, extensions (L1520); L1534 the CG-16b wheel scoping.
T1_Build_Pipeline_Contracts §6.7 L1605-1613 — the standard quest track state machine (pending,substrate_check, blocked_on_substrate, authoring, complete, rejected, regeneration_required).
T1_Build_Pipeline_Contracts §6.8 L1635 — CG-26 as calibrated by Josh 2026-07-21: elevated-care contentoutside the fixed eight (Ch 29, 42, 57, 11, 12, 13, 47-48, 50) routes to the LIGHTER tier, batch-level audit
only; "Care-tier INFLATION is itself a defect class"; and the CH_04 precedent resolving a spine-TRUE against
a quest-row-FALSE on the same chapter.
T1_Build_Pipeline_Contracts §9.5 L2450-2452 — the two state namespaces, the FK-checked systems prefixes,and the one gate-and-condition mini-grammar.
docs/CONDITION_EXPRESSION_GRAMMAR.md §1-§5 — the EBNF, the five predicate surfaces, and theproduce-before-consume doctrine every completion condition below is written under.
docs/proposals/STATE_DELTA_GRAMMAR.md — the state_in/state_out delta columns are key-equals-value onlyand never mix with the gate grammar; this quest's conditions live on the condition-grammar surface.
registries/T0_Quest_Definition_Registry [ACTIVE v1.0] — the 48-column live header, read in full, and theQUEST_CH77_FINAL_REVEAL and QUEST_CH77_ENDING_TRULY_GOOD rows read as form exemplars.
registries/T0_Questline_Index [DRAFT v0.1] — SQ1 fairy_tale_folklore and SQ9 cryptids rows exist and are live; neither is this quest's questline, so questline_id is NULL rather than dangling.
registries/T0_Quest_Seed_Registry [DRAFT v0.1] — the four live CH_02 rows: SEED_0001 (SQ1, beats B05/B06/B08), SEED_0002 (SQ9, beats B03/B05), SEED_0003 (Trade 6 Tailoring via Emma), SEED_0004 (Shell bond-seed,
VS_CH02_001). None anchors a beat of this quest.
registries/T0_Promise_Ledger [DRAFT v0.1] PL_0107 — ARC_0001 · CH_01 → CH_02 · payoff · PAID · object,promise_anchor "CH01_B08 — the fall, writing local.amulet_crossed", payoff_anchor "CH02_B11 — the find-beat
at the waking, the object recovered scattered nearby", reveal_ceiling CH_38. This quest is the payer of that
debt, and PL_0107 is the reason the find-beat is inside the opener rather than deferred.
registries/T0_Worldstate_Variables [ACTIVE v0.1] WS_012 familiar_bond_state — "object with familiar_id,bond_tier (the corpus-attested familiar bond-quest ladder: approach | accepted | mastery, with qualitative
per-familiar bond-event writes)". WS_012 is a member of the CG-25 append-legal set, so the + prefix is
legal and child_familiar_lost_believed_dead lands as a qualitative bond-event write.
registries/T0_Scene_Spec_Registry [ACTIVE v0.1] — SC_CH02_rift_fall_waking and SC_CH02_the_first_search are both live rows, so scene_anchor_array resolves.
registries/T0_Character_Index [ACTIVE v1.1] — CHAR_0001 "The Protagonist"; CHAR_0007 "The Grand Sage",role "collective_consciousness_canon_reference_authority_per_CVD_17_9", chapter_first_appearance
"Ch_02_environmental_impressions", seed_status "canonical_reveal_protected_per_CVD_17_9".
registries/T0_Familiar_Registry [DRAFT v0.1] FAM_22 — slot 22, "the occupant is the player's Ch 1 selection from the 12 elven fairy-realm legendary species", chapter_first_encounter CH_01, chapter_bonding_window
CH_01;CH_58. This is the Child Familiar, and it is the CG-08-legal participant ref for CH02_B01.
registries/T0_Equipment_Registry EQ_0001 "Mother's Amulet" — instance_policy MATERIALIZED_STORY_OBJECT, exchange_value_class unsellable, notes "THE CH-2 STAGING, RULED ... lifted out at CH02_B11 ... a one-sided
prose carry, never a ws key and never inventory", and "never rolled, never crafted, never an imprint base".
registries/T0_Ability_Tree_Registry [ACTIVE v0.1] — A_F_001 and A_T_002 are the two abilities CH02_B02's systems line names.
registries/T0_RNG_Drop_Table [DRAFT v0.1] — the four CH_02 drops (DROP_CH02_POLO_CORRUPTION_LORE,DROP_CH02_RECHARGE_SOURCE, DROP_CH02_SERPENT_DUAL_FORM, DROP_CH02_SHELL_BOND_SEED) all link to BE_0002_S1,
BE_0002_S2 or Shell. None links to a beat of this quest, so reward_drop_refs is empty by evidence.
registries/T0_SFX_Registry — SFX_00013 Liang Bua Cave Interior Ambient Bed, SFX_00014 Flores Monsoon ForestApproach Ambient Bed, SFX_00016 Mount Inerie Cone-Country Wind Bed, SFX_00021 Gather-Yield Confirm,
SFX_00062-00065 Ember Strike four-beat cast cues, SFX_00076-00078 Cloaking cast cues — all chapter_anchor
2.0, region_id flores_island.
registries/T0_Gather_Node_Registry — GN_0001 (flora, site_anchor liang_bua_cave, tool_or_trade_requiredHerbalism_T4) and GN_0010 (mineral vein, mount_inerie_cone_country, Mining_T2); both
progression_critical FALSE.
registries/T0_Hard_Lines [ACTIVE v0.2] — HL_0003, HL_0005, HL_0028, HL_0043, HL_0046, HL_0047, HL_0095,HL_0121, HL_0123, read in full for the care and reveal sections.
docs/registry_extensions.json _column_doctrine/quest-turn and harness/check_quest_turn.py — thedefinitions of the four turn columns and the gate-47 teeth Q0-Q4 that read them.
docs/PIPELINE_LEDGER.md L119 (row B1) — the exemplar's own acceptance condition, "author + Josh-grade ONEquest end to end (the CH_02 opener — the Rock Throw of this domain), wire it as a REAL graph (adoption
QW-1)", and the wiring statement "The driver reads SPINE tables, not T0_Quest_Definition_Registry". The
first half is load-bearing for author_in_loop_required in Section 5; the second is Section 9's premise.
docs/proposals/quest_spike/CH_02_quests.md — PROPOSAL-TIER prior art, self-labelled "SPIKE DRAFT — notcanon", predating the eleventh-sitting amendment (it works a ten-beat graph with no CH02_B11). Its QS_CH_02_01
grouping of CH02_B01 with CH02_B02 is adopted and extended; its QS_CH_02_NN id form is retired per the
L1444 format rule; its gap list is superseded by the §6.5 completion pass.
NOT DERIVED — authored judgment, with why each had no canon home:
quest_anchor_id CH02_ARRIVAL and the objective ids OBJ_01..OBJ_06 — schema-mandated identifiers. §6.5 L1445 gives the anchor-id FORM (CH13_CONVERGENCE_NODE, CH76_FATHER_ENCOUNTER) and L1460 requires a
quest-local stable objective_id, but no canon mints these particular tokens. The anchor reuses the spike's
CH02_ARRIVAL so two proposal-tier artifacts do not disagree.
quest_name "The First Morning" — lifted from the spine's own body prose at L24 ("the first morning of alife that will be measured from a wound") rather than composed, but the selection of that phrase as the
display label is mine. It is a WORKING LABEL, not display text: the §6.5 seed-column note at L1476 pins that
discipline for quest_name and the natural-voice naming pass owns the final string.
local.scatter_line_read, local.seams_searched, local.shelter_made.§6.5 L1460 sanctions objective-produced state in terms ("an objective's completion_condition reads only
state a prior beat or objective wrote"), and each key realizes a search or survival verb the beat's own
objective line names. No beat produces them, so harness/check_spine_graph.py will not see them; they never
leave the quest, are never promoted, and never touch ws.. Section 7 states the zero-mint fallback the
director can take in one edit. One tension named rather than silently resolved: §9.5 L2452 says a consumed
local key "must be produced by a prior beat's out:" while §6.5 L1460 says "a prior beat or objective
wrote" — this doc relies on L1460 as the later and more specific clause; the contract-lock pass should
harmonize the §9.5 wording.
dialogue_trigger_anchors ids CH02_ARRIVAL_ENTRY and CH02_THE_FIRST_SEARCH, and the four-fieldobject shape they ride in. The column is named in §6.5's substrate list (L1424) but carries no typed field
definition anywhere in the contract, so both the tokens and the shape are authored form, offered as the
shape the contract-lock pass could adopt.
DN_CH02_* in section 7. The DN_<beat>_<NAME> form is authored; the landed dialogue lane's convention in dialogue_registry_rows.csv is one node per beat (DN_CH02_B10), so the
contract-lock pass must pick one form — this doc's five-node split is the proposal, not a settled convention.
quest_dialogue_sfx_id_ref_array. Every cue id resolves in T0_SFX_Registry,but which cues belong to THIS quest is authored judgment — the registry has no quest-to-cue mapping to
derive from, and the column itself carries no field definition anywhere in the contract (the same
definition-gap class as the turn columns in finding 2). The selection was ELEVEN and is now ten: `SFX_00021
Gather-Yield Confirm` was removed on review, because finding 9 argues in terms that a generic gather confirm
is the wrong register for a recovery offered without comfort, and a cell that carries the cue its own
document complains about is the cell that is wrong. The finding stands; the cue does not ride the row.
The chapter decomposes into quest anchors "at natural mode and site boundaries" (§6.5 L1445, CG-10). The
opener takes three beats: CH02_B01 (seq 1, hook, character), CH02_B11 (seq 2, core, discovery) and CH02_B02
(seq 3, core, puzzle). Four reasons, each canon-cited rather than asserted.
main_quest_beat line opens with two clauses and they are these: "survive the arrival,recover the realm object out of the fall-strewn earth at the crack (CH02_B11)" (L254). The third clause,
"refuse the polo's bargain", is the next anchor.
out: {local.fire_made: true} is consumed by CH02_B03 (the guardian test, L124) and by CH02_B07 (the stalk,
L144) — both OUTSIDE this anchor, and by nothing inside it. The test is deliberately not a fan-out test: a
first cut of this bullet argued that B02 was the last single-successor beat, and that is false on the
graph's own face. CH02_B01's out feeds BOTH CH02_B11 (in: {local.alone: true}, L114) and CH02_B02
(in: {local.alone: true}, L119), so the fan-out is at the FIRST beat, not the last; and CH02_B11's own
output local.ward_recovered is consumed at CH02_B10 (L159), far outside the anchor, so B11 is not B02's
predecessor at all. Stated as the arithmetic actually runs: exactly one key produced in this anchor is
consumed inside it (local.alone, produced at B01, consumed by B11 and by B02), and the other two
(local.ward_recovered, local.fire_made) are consumed only outside it. That closure is the seam.
spatial_requirements_array is a PER-BEATarray (§6.5 L1470: "array of spatial requirement objects per quest beat ... Each entry covers beat_id ...
site_ref"). A multi-site quest is schema-native, and the two sites ride two entries.
CH01_B08 → CH02_B11, andthe eleventh-sitting ruling at L299 places the find-beat "at seq 2, immediately after the waking and inside
the same site". Deferring it would leave a PAID edge unrealized.
What the opener is NOT. It stages no boss and no sub-boss (all three beat rows read boss none). It anchors
no fork (all three read fork none; the chapter's only fork is FORK_CH02_A at CH02_B09, L151). It interleaves
no side-questline stage (SQ1 and SQ9 take B03/B05/B06/B08, L183-184). It carries no mastery gate (L185). Each
of those is a NULL in the row below, and each NULL is evidence rather than omission.
QUEST_CH02_ARRIVAL_UNLOCKED — the L1444 rule applied literally: QUEST_<quest_anchor_id>_<path_bucket>,and "For UNLOCKED and ALL rows the suffix is the literal path_bucket token".
CH02_ARRIVAL.main_story_per_chapter. CG-21 rules quest_type by spine role, and all three beats are role hookor core on the main graph. The survival-and-search flavour never bends the primary type.
none. The facet enum is folklore, materialized_argument, none; this quest stages neitherencounter class, and the folkloric register of the chapter belongs to the polo and Ebu Gogo beats.
2.UNLOCKED — Ch 2 precedes the Ch-65 lock. Per the CG-15 axis separation at L1468, this rowcarries no direction value, because direction rides a fork option and this quest anchors no fork.
["protagonist","char:CHAR_0001","familiar:FAM_22"] — the JSON-array form the live header's existing rows carry, matching Section 8's cell exactly. The bare protagonist token is the
mute player node per CG-08 and CHAR_0001 is its persona row (§6.5 L1534). FAM_22 is the Child Familiar, and
CG-08 widened this field precisely so a familiar is expressible; the beat's actors line reads
[protagonist] only, so this ref is the quest-grain widening the contract added rather than a contradiction
of the beat. Reveal note carried on the row: FAM_22's own registry row holds the Ch-58 resolution, so the
join is DESIGN-LAYER and no player-facing string ever says anything but believed-dead.
environment — the L1456 sentinel "for a giverless quest whose hook is the world rather than anagent". There is no NPC in this quest; the chapter's first human contact is CH02_B10.
origin_node_auto — the L1457 enum member for exactly this case. Ch 2 is the origin node ofthe build order (L21) and the quest opens on the CH_01→CH_02 seam (L281).
Six objectives, ordered; objective order carries progression per §6.5 L1460. Every completion condition is a
single predicate in the §9.5 mini-grammar, validated against docs/CONDITION_EXPRESSION_GRAMMAR.md §1.
Objective text is player-facing and reveal-safe: no line names the object, the familiar's fate, or anything a
child alone in a cave could not know.
| objective_id | beat_ref | objective_text | completion_condition | key produced by |
|---|---|---|---|---|
| OBJ_01 | CH02_B01 | Wake. | flag(local.alone) | beat CH02_B01 out |
| OBJ_02 | CH02_B11 | Go back to the crack and turn the loose stone the landing threw up. | flag(local.scatter_line_read) | objective (quest-local) |
| OBJ_03 | CH02_B11 | Feel into the cold seams. Read where the outside light reaches and where it stops. | flag(local.seams_searched) | objective (quest-local) |
| OBJ_04 | CH02_B11 | Lift what the ground gives back. Clean it. Put it on. | flag(local.ward_recovered) | beat CH02_B11 out |
| OBJ_05 | CH02_B02 | Climb out into the cone country. Forage, and get a shelter up out of the wet. | flag(local.shelter_made) | objective (quest-local) |
| OBJ_06 | CH02_B02 | Make fire. | flag(local.fire_made) | beat CH02_B02 out |
All seven expressions (six objective conditions plus the quest-level conjunction) were run through the
reference evaluator harness/condition_expr.py — Condition(src) compiles each without a
ConditionSyntaxError, UnknownKeyError or DomainError, and consumed_local_keys() returns exactly the
key each is meant to read.
Produce-before-consume, checked by hand against §5 of the grammar doc. OBJ_01 consumes nothing. OBJ_02's beat
consumes local.alone, produced by OBJ_01's beat one seq earlier. OBJ_03 follows OBJ_02 in order. OBJ_04 tests
the beat's own terminal write. OBJ_05's beat consumes local.alone, already produced. OBJ_06 tests the beat's
terminal write. No condition reads a key produced later, and no condition reads a ws. key at all — this
quest tests only chapter-local state, which is what a chapter opener with no inherited world state can do.
flag(local.ward_recovered) & flag(local.fire_made).Both conjuncts are beat-produced and both are this quest's own outputs. The conjunction is deliberate rather
than convenient: local.ward_recovered is consumed downstream at CH02_B10 (L159, `in: {local.first_wound_set:
true, local.ward_recovered: true}`), so a quest that could close without it would leave the chapter's exit beat
unsatisfiable.
Why the search takes three objectives rather than one. The ruling at L299 is explicit that CH02_B11 is "REAL
PLAYABLE SEARCH rather than a cutscene" with "search verbs, low difficulty and escalating tells". A single
objective reading "find the thing" would represent a cutscene, not a search. Three objectives make the ladder
of tells machine-visible, and OBJ_02 and OBJ_03 are the two escalation rungs the ruling names before the beat's
own terminal write lands at OBJ_04.
What is NOT an objective, and why. The faint lightening of the air on the worst emptied night (L28) is real
authored canon inside this quest's span — it happens before fire, which puts it between OBJ_05 and OBJ_06 —
and it is deliberately not an objective, not a reward, and not a participant. Section 5 says what it is and
Section 8 files the finding that no typed beat carries it.
ws.familiar_bond_state: +child_familiar_lost_believed_dead.That is the whole durable footprint, and the smallness is the point. CH02_B11 and CH02_B02 write only local.
keys, and §6.5 L1464 is absolute that "local. keys are chapter-scoped and NEVER land on a quest row". The
value is carried verbatim from CH02_B01's out map per CG-03 — a quest never mints a worldstate value — and
it is legal twice over under CG-25: WS_012 is a member of the append-legal set, and its declared domain admits
"qualitative per-familiar bond-event writes" on bond_tier.
The recovered object is NOT a state write. EQ_0001's own registry row and the spine's seam block at L281 both
type it as "a one-sided prose carry, never a ws key and never inventory". A quest row that wrote it would
contradict two canon surfaces at once, so world_memory_write and state_writes both leave it alone and
local.ward_recovered carries the whole mechanical fact.
mixed.ability:A_F_001; ability:A_T_002 — carried from CH02_B02's own systems line (L118)and confirmed by the abilities line at L245, "all at the Neophyte floor".
stages none of them.
offered without comfort (L26), and the beginning of the habit of looking that the deep-cave backtrack later
asks for (L112).
none. No beat in this quest carries a loss state. There is no boss, so the reward-on-death rulehas nothing to attach to; the search "cannot fail and cannot wall" by the ruling's own construction (L112);
and the fire-making puzzle loops the survival pressure rather than terminating an attempt. retry_with_bank
was considered and rejected: a bank presupposes an attempt that can be lost, and none of these three beats
has one.
plays_through. Every objective completes on every route; nothing here branches, and harness/check_no_dead_end.py reads this field (§6.5 L1463).
Care tier and audit routing, and the one place the CG-26 default is correctly overridden. The chapter is
cultural_depiction_tier standard (L12) and Ch 2 is not among the fixed eight §6.8 names, so CG-26 as Josh
calibrated it routes Ch-2 quest content to the LIGHTER tier — batch-level cultural authenticity audit, never
full author-in-loop by default. That default governs the FACTORY rows: the Ch 3-13 per-chapter quests that
follow this exemplar down the slice carry author_in_loop_required FALSE and run the §6.7 STANDARD
quest-track state machine, and nothing below is an argument for raising them.
THIS row carries author_in_loop_required TRUE, for two reasons that are specific to it and do not
generalize. First, the spine's chapter-level TRUE at L12 does not float free — it names its reasons, and the
first of them is "the origin-node opener", which is this quest and no other. The CH_04 precedent at §6.8
L1635 separates a spine-entry TRUE from a quest-row FALSE where the spine's flag was about the chapter BUILD;
here the flag's stated subject is the beat span this row realizes, so the separation has nothing to separate.
Second, this row is the ledger's B1 EXEMPLAR, and the ledger's own words for it are "author + Josh-grade ONE
quest end to end" (docs/PIPELINE_LEDGER.md L119). An artifact whose acceptance condition is Josh's grade is
author-in-loop in fact; typing it FALSE would make the row lie about the process that produced it.
Which state machine this row runs, since the flag selects one. TRUE puts the row on §6.7's author-in-loop
machine, whose terminal state is accepted — "author signed off, dialogue_dataset_ref locked" (L1601) — and
that is precisely the state the ledger's "Josh-grade" acceptance condition needs a name for; the standard
machine's terminal complete has no sign-off in it. One honest schema observation rides along: §6.5 L1483
states the flag as "TRUE for canonical hard-line quest track quests", and this chapter's
canonical_hard_line_flag is FALSE (L12), so this is the first row to carry TRUE off the hard-line track.
The implication in L1483 is therefore one-way in practice — hard-line implies TRUE, TRUE does not imply
hard-line — and reading it as a biconditional would forbid exactly the case the exemplar needs. Named here
rather than left for a validator to discover.
The care-tier-inflation caveat is undiminished and is the reason the override is scoped this tightly. §6.8
names inflation as a defect class, and Josh's 2026-08-04 standing calibration is that the care register does
not accrete. So: no new protection is invented here, no care tier moves, the chapter stays standard, and
the lighter tier remains correct for every batch row that follows. What changed is one boolean on one
exemplar row, on a clause the spine wrote about that row.
What the batch audit checks on this row, named so the lighter tier is not a thinner one:
across all three beats; the Manggarai, Ngada, Lio and Nage enter the chapter at CH02_B10 and Ch 3. HL_0003
binds and has nothing to bite on here.
dominant_combat_mode is environmental (L243) and this quest's share of itis weather, dark, hunger and stone.
liang_bua_cave zone carries care_tier elevated on the region page (L51) and protected true on thesite row (L83) because it is a real archaeological type-site. The site row's own words bind the build:
"Homo floresiensis type-site (referenced not reproduced)". No excavation, no stratigraphy dig, and no
fossil is staged as a findable — the ground the player works is the fall's own impact scar, which L299
explicitly distinguishes from the site.
Reveal discipline, three separate ceilings holding at once.
reveal: HELD(believed dead only). No objective text, no reward line and nodialogue node may confirm, deny, or re-open it; the Ch-58 Truly-Good reveal is held from every surface
artifact. FAM_22 sits in participant_entity_refs as a design-layer join only.
"Lift what the ground gives back. Clean it. Put it on." — no name, no property, no HUD, no charge, no
inventory entry. The row's hard_line_relevance says so in terms, and EQ_0001's own notes say the same.
The garment states at L238 are look-development and carry ornament without glyphs under the same line.
and the spine at L251 says a §17.9 reveal-authority reference row applies and "is deliberately not named".
The faint lightening at L28 is that impression. HL_0046 is absolute that the Grand Sage never speaks, and
HL_0043 that the thesis is never declared. So: CHAR_0007 is NOT in participant_entity_refs, the impression
is NOT an objective, NOT a reward and NOT a dialogue node, and it is carried on the quest as an ambient
environmental cue with no agent, no caption naming an agent, and no player-legible attribution. The child
lays it to hungry eyes and does not think of it again, which is the spine's own disposal of it.
House of Velheim does not exist to the player here. Nothing in this quest reaches for it.
Register. Per CVD §17.14 the player-facing strings above are plain prose with no emphasis marks, and per the
CH_02 dialogue-set declaration at L211 the orthography is US and the village register is a lightly plain
English. This quest has no village in it, so that declaration binds only the interiority channel.
Gate 47 (harness/check_quest_turn.py) reads four columns whose doctrine lives at
docs/registry_extensions.json _column_doctrine/quest-turn. Tooth Q1 ARMS a chapter the moment any main
row of that chapter puts a value in ANY of the four, and then demands at least one fully-populated turn in
that chapter's main quest set. Tooth Q3 fails a row that fills some and not all.
The honest read of this quest against that doctrine:
premise_as_given has a candidate. The spine hands the player a framing at the waking — the fall tookeverything, the child "comes back to the crack with empty hands" (L26).
falsifier has a candidate. The ground gives something back: one thing did cross, and it cannot coexistwith the empty-handed framing.
irreversible_choice has NO candidate anywhere in canon. CH02_B11 authors no decision; the chapter's singledurable choice is FORK_CH02_A at CH02_B09 (L166-176), which is a different anchor and a different quest.
world_memory_write has NO candidate. CH02_B11 writes one chapter-local key and no ws. key at all, andQ2 fails a cell carrying prose without a resolving key.
Verified against the live gate rather than reasoned about. python harness/check_quest_turn.py at HEAD reports
main=16/16 rows · turns full=0 partial=0 · chapters armed=0 and prints its arming conditions in terms: "the
moment ONE cell of ONE row lands, that row must fill all four" (Q3), and per chapter "the moment any of them
carries any turn cell, this chapter must carry >=1 FULLY-populated turn" (Q1). Its census line names CH_02
among the 73 index chapters carrying no main-quest row at all — which the proposed row moves to 72.
So all four cells are LEFT EMPTY on the proposed row. Filling two would trip Q3 and would arm chapter 2 for Q1
against a chapter whose only turn-bearing quest is not yet authored. The finding this produces is worth more
than a filled cell: the ledger's named B1 exemplar is, by canon's own construction, a NO-TURN quest — a
survival opener with no giver, no framing handed by an agent, and no choice — and CH_02's turn belongs on the
quest that realizes CH02_B09. Section 8 files that as owed work rather than resolving it here.
Dialogue home per CG-09 and CG-10: docs/quest_dialogue/DD_QUEST_CH02_ARRIVAL_UNLOCKED.csv, one CSV per
quest, carrying the pinned T0_Dialogue_Line column contract at §6.5 L1496-1520. That directory does not exist
in the repo today.
The six-option wheel does not appear in this quest, and the reason is structural rather than a CG-16b appeal.
CG-16b scopes the wheel to spoken dialogue moments; this quest has no interlocutor at all across three beats,
so there is no dialogue moment of any kind to hang a wheel on. That holds whichever way the pre-verbal
question is later ruled.
The node inventory the dataset needs, typed but not minted:
DN_CH02_B01_WAKING — interiority_narration, trigger_beat CH02_B01, no_voice TRUE. The CVD §15.1close-third channel per CG-18. This is where the arrival-as-loss register is authored.
DN_CH02_B01_THE_BITE — non_lexical_vocalization per CG-17, trigger_beat CH02_B01, speaker_ref familiar:FAM_22, subtitle_exempt TRUE, with a sensation_caption for the bite and the bolt. Reveal
binding: the caption describes what the child perceives and never what is true.
DN_CH02_B11_THE_SEARCH — interiority_narration, trigger_beat CH02_B11, no_voice TRUE. The escalatingtells are read here.
DN_CH02_B11_THE_LIFT — interiority_narration, trigger_beat CH02_B11, no_voice TRUE. Bound by L26: thechapter offers no comfort beyond the fact of the thing in the hand, so this node states the object in the
hand and stops.
DN_CH02_B02_THE_FIRE — interiority_narration, trigger_beat CH02_B02, no_voice TRUE.Line ids are NOT minted here. line_id is a GLOBAL, immutable, never-reused id space (§6.5 L1496) and the
live emitted set at docs/proposals/dialogue/dialogue_registry_rows.csv already runs to DL_000433 across 427 rows.
Hand-minting into that space from a proposal doc would collide. The lines are the dialogue lane's to author
through harness/emit_dialogue_rows.py; this section gives that lane its node contract and nothing more.
One row for registries/T0_Quest_Definition_Registry [ACTIVE v1.0]/T0_Quest_Definition_Registry.csv, every
one of the 48 live columns disposed of. quest_status is written proposal — minted into both §6.7 state
machines by the director pass of 2026-08-07 executing the CG-12 residue leg (finding 1 carries the ruling
and the rejected alternative). Cells written (empty — reason) land as genuinely empty cells at apply; the
parenthetical is this document's evidence note, not cell content.
| column | value |
|---|---|
| quest_id | QUEST_CH02_ARRIVAL_UNLOCKED |
| quest_anchor_id | CH02_ARRIVAL |
| quest_name | The First Morning |
| quest_type | main_story_per_chapter |
| chapter | 2.0 |
| path_bucket | UNLOCKED |
| questline_id | (empty — main story, not a questline aggregate) |
| twelve_tier_gate | (empty — no mastery gate binds at Ch 2, CH_02.md L185) |
| participant_entity_refs | ["protagonist","char:CHAR_0001","familiar:FAM_22"] |
| quest_beat_structure | origin-seam waking with no giver and no framing; the loss beat played rather than narrated; the return to the crack; a real playable search of the fall-strewn earth on escalating tells; the recovery, offered without comfort; the climb out into the cone country; forage and shelter under monsoon exposure; the fire that ends the first days and opens both onward routes |
| branching_logic | (empty — no path-conditional, biography-conditional or fork-conditional branch exists; path_bucket is UNLOCKED, integrity is initialized at zero, and this anchor holds no fork) |
| dialogue_trigger_anchors | [{"anchor_id":"CH02_ARRIVAL_ENTRY","anchor_type":"scene_entry","scene_anchor_id":"SC_CH02_rift_fall_waking","beat_id":"CH02_B01"},{"anchor_id":"CH02_THE_FIRST_SEARCH","anchor_type":"beat_transition","scene_anchor_id":"SC_CH02_the_first_search","beat_id":"CH02_B11"}] |
| spatial_requirements_array | [{"beat_id":"CH02_B01","site_ref":"liang_bua_cave","zone_ref":"liang_bua_cave","required_zone_type":"","encounter_mode_tag":"character","climactic_affordance_required":false},{"beat_id":"CH02_B11","site_ref":"liang_bua_cave","zone_ref":"liang_bua_cave","required_zone_type":"","encounter_mode_tag":"learning","climactic_affordance_required":false},{"beat_id":"CH02_B02","site_ref":"mount_inerie_cone_country","zone_ref":"mount_inerie_cone_country","required_zone_type":"","encounter_mode_tag":"puzzle","climactic_affordance_required":false}] |
| scene_anchor_array | ["SC_CH02_rift_fall_waking","SC_CH02_the_first_search"] |
| dialogue_dataset_array | ["docs/quest_dialogue/DD_QUEST_CH02_ARRIVAL_UNLOCKED.csv"] |
| hard_line_relevance | Child Familiar believed-dead only; the Ch-58 Truly-Good reveal held from every surface artifact per HL_0043 reveal-authority. No fairy-realm-script identification of the recovered object before the Ch-8 in-chapter reveal per HL_0095 — no name, no property, no HUD, no inventory entry, no charge state. The §17.9 reveal-authority reference row that first surfaces at this chapter as environmental impression is never named, never speaks and is never a participant per HL_0046 and HL_0043. Perception at the Neophyte vril-trace register only, never a tier-6 substrate read per HL_0028. The Liang Bua type-site is referenced and never reproduced; no excavation or fossil is staged. No House of Velheim name, family or pattern exists to the player here. |
| quest_status | proposal |
| generation_prompt_hash | (empty — not yet authored through the §6.7 pipeline) |
| last_authored_timestamp | (empty — same reason) |
| author_in_loop_required | True |
| regeneration_trigger | (empty) |
| notes | The B1 population exemplar. Origin-node opener, giverless; realizes the eleventh-sitting find-beat and pays promise-ledger edge PL_0107. |
| extensions | {} |
| populated_from | {"quest_type":["T1_Build_Pipeline_Contracts §6.5 L1447 CG-21"],"quest_id":["T1_Build_Pipeline_Contracts §6.5 L1444"],"realized_beat_refs":["docs/spine/CH_02.md L106","L111","L116"],"objectives_array":["docs/spine/CH_02.md L107","L112","L117","L299"],"completion_condition":["docs/spine/CH_02.md L114","L119","L159"],"state_writes":["docs/spine/CH_02.md L109","T0_Worldstate_Variables @ WS_012"],"spatial_requirements_array":["docs/spine/CH_02.md L83","L87","_source/02_Tier_2_Region_Pages/flores_island.md L51","L53"],"scene_anchor_array":["docs/spine/CH_02.md L203","L204","T0_Scene_Spec_Registry"],"ability_unlock_refs":["docs/spine/CH_02.md L118","L245"],"hard_line_relevance":["T0_Hard_Lines @ HL_0043","@ HL_0046","@ HL_0095","@ HL_0028"],"quest_giver":["T1_Build_Pipeline_Contracts §6.5 L1456"],"trigger_type":["T1_Build_Pipeline_Contracts §6.5 L1457","docs/spine/CH_02.md L21"],"progression_guarantee":["T1_Build_Pipeline_Contracts §6.5 L1463","docs/spine/CH_02.md L112"],"quest_dialogue_sfx_id_ref_array":["T0_SFX_Registry"],"schema_authority":["T0_Schema_Dictionary §3.20"]} |
| recent_changes | [] |
| last_updated | (director stamps at apply) |
| version | 1.0.0 |
| encounter_facet | none |
| sq_stage | (empty — quest_type is not side_questline_stage) |
| sq_gate_condition | (empty — same reason) |
| quest_giver | environment |
| trigger_type | origin_node_auto |
| realized_beat_refs | ["CH02_B01","CH02_B11","CH02_B02"] |
| objectives_array | [{"objective_id":"OBJ_01","beat_ref":"CH02_B01","objective_text":"Wake.","completion_condition":"flag(local.alone)"},{"objective_id":"OBJ_02","beat_ref":"CH02_B11","objective_text":"Go back to the crack and turn the loose stone the landing threw up.","completion_condition":"flag(local.scatter_line_read)"},{"objective_id":"OBJ_03","beat_ref":"CH02_B11","objective_text":"Feel into the cold seams. Read where the outside light reaches and where it stops.","completion_condition":"flag(local.seams_searched)"},{"objective_id":"OBJ_04","beat_ref":"CH02_B11","objective_text":"Lift what the ground gives back. Clean it. Put it on.","completion_condition":"flag(local.ward_recovered)"},{"objective_id":"OBJ_05","beat_ref":"CH02_B02","objective_text":"Climb out into the cone country. Forage, and get a shelter up out of the wet.","completion_condition":"flag(local.shelter_made)"},{"objective_id":"OBJ_06","beat_ref":"CH02_B02","objective_text":"Make fire.","completion_condition":"flag(local.fire_made)"}] |
| completion_condition | flag(local.ward_recovered) & flag(local.fire_made) |
| fail_state | none |
| progression_guarantee | plays_through |
| state_writes | ["ws.familiar_bond_state: +child_familiar_lost_believed_dead"] |
| fork_option_refs | [] |
| reward_class | mixed |
| ability_unlock_refs | ["ability:A_F_001","ability:A_T_002"] |
| reward_drop_refs | [] |
| reward_seed_refs | [] |
| quest_dialogue_sfx_id_ref_array | ["SFX_00013","SFX_00014","SFX_00016","SFX_00062","SFX_00063","SFX_00064","SFX_00065","SFX_00076","SFX_00077","SFX_00078"] |
| premise_as_given | (empty — see Section 6) |
| falsifier | (empty — see Section 6) |
| irreversible_choice | (empty — see Section 6) |
| world_memory_write | (empty — see Section 6) |
Three notes on cells a reader will want to challenge.
required_zone_type is EMPTY on all three spatial_requirements_array entries, and empty is the correctvalue rather than a gap. §6.5 L1470 types the field as a FALLBACK: "required_zone_type enum matching
T0_Region_Index canonical_zones terrain_type vocabulary RETAINED as the fallback where no site_ref or
zone_ref resolves". Both site_ref and zone_ref resolve on every entry — the site ids come from the
spine's §3b rows (L83, L87) and the zone ids from the region page's Zone Catalog (L51, L53), where the
catalog copies the site rows verbatim. A fallback populated beside a resolving primary is a second source
of truth for the same fact, which is exactly the hand-synced duplication the CG-05 spatial join was added
to end. An earlier cut of this row carried cave_system and mountain here; they were removed, not lost —
both terrains are readable from the resolving site rows.
encounter_mode_tag reads learning on CH02_B11 whose native beat mode is discovery. §6.5 L1470 pins the tag to the Pillar-1.12 five and discovery is not among them; the spine's own fold at L162 states the
projection, "discovery projects to the LEARNING letter per the SPINE_SCHEMA_v3 §4 mode-projection table". So
the value is the ratified projection of a ratified mode, not an approximation, and CG-31 (the
encounter_mode_tag enum-text sync the contract itself lists as cosmetic and gating nothing) is the residue.
traversal_distance_from_anchor and canonical_anchor_override are absent from every spatial_requirements_array entry rather than filled with zeros. Neither has a canon value: no distance
band is authored for these beats, and no vril site or settlement anchor overrides procedural placement in
this quest (VS_CH02_001 belongs to CH02_B04, two beats later).
Stated as a named owed item. No engine work is done here and none is claimed.
The ledger's B1 row records the exact condition: "The driver reads SPINE tables, not
T0_Quest_Definition_Registry — a hand-staged slice driver, not a general graph runtime"
(docs/PIPELINE_LEDGER.md L119). HumanityQuestSliceDriver.cpp auto-arms CH_02 and stages CH_02 through
CH_05 from DT_Beat. So landing this row changes nothing in-engine until the driver's source of truth moves.
What that move requires, derived from the row above rather than from a wish list:
DT_Quest DataTable and row struct over the 48-column header, imported with a read-back count pin the way DT_Beat and DT_SideQuestBeat already are. Without it there is nothing for a runtime to read.
objectives_array is a nested ordered array of four-field objects inside one CSV cell. The engine needs either a child DataTable keyed quest_id + objective_id or a parse-on-import
step; the row above is authored so either shape works, since objective_id is stable and quest-local.
docs/CONDITION_EXPRESSION_GRAMMAR.md §6 states that the C++ evaluator is a PORT of harness/condition_expr.py and pins the port's obligations, including the
64-level nesting bound and the four typed errors. This quest exercises exactly one predicate surface,
flag(local.key), across seven expressions — which makes it the cheapest possible first port target, and
the reason the opener is a good exemplar rather than only a required one.
local. keys, three ofwhich are objective-produced and appear in no beat row. The runtime needs a per-chapter local flag store
that objectives can write, distinct from the ws. save state, and it needs the produce-before-consume order
to come from objectives_array order rather than from beat order.
quest_giver = environment with trigger_type = origin_node_auto means thequest must arm from the chapter seam with no interaction. The slice driver already auto-arms CH_02, so this
is a re-point rather than a build: the arm condition becomes a row lookup instead of a hard-coded chapter id.
ws.familiar_bond_state, appending a qualitative bond-event token to a WS_012 object. docs/proposals/CALLBACK_EXEMPLAR_CH03.md reports the generic write path exists; this row
is a one-write smoke test for it.
DT_Quest, presents six objectives in order, completes each on its own flag() predicate, writes exactly
one ws. key, completes the quest on the conjunction, and never presents a fail state. A run that completes
the quest without local.ward_recovered is a failure of the port, not of the row.
Ranked by what blocks the row from landing.
1. quest_status = proposal is not an enum member — the one mechanical blocker, and the only item here that
stops the row from landing at all. RULED by the director: the mint proceeds. Both options are recorded
because a ruling with only its winner written down is not auditable.
Option (a), the no-mint alternative: write pending, which IS enum-legal on both §6.7 machines and needs
no canon edit whatever. It is the cheapest possible path and it LOSES. §6.7 L1594 and L1607 define
pending as "quest row exists in T0_Quest_Definition_Registry, quest authoring not yet attempted" — which
is false of this row, since the authoring is the document you are reading. Typing it pending erases the
one distinction the proposal-tier-to-ratified firewall depends on: an empty placeholder row and a
fully-authored-but-ungraded row would be indistinguishable in the registry, so a later pass could not tell
which of the two it was looking at, and the sixteen genuinely-unauthored endgame rows would sit in the
same state as this one. A status that lies about the work done is worse than a missing enum member,
because the missing member is visible and the lie is not.
Option (b), the mint — RECOMMENDED and RULED. proposal lands as a pre-pending member on BOTH §6.7
state machines, meaning the row exists and is authored at proposal tier and has not entered the pipeline.
This is not new canon reaching past the contract; it is the contract's own work order executing. §6.5
L1440 names the item in terms — "the T0_Quest_Definition_Registry landing surface plus a spike-or-proposal
quest_status value (CG-12 residue)" — and lists it among the population-leg items rather than among the
closed gaps. The mint's home is §6.7, not §6.5: L1480 does not define the enum, it points at §6.7, so the
member lands on the two state machines and L1480's pointer stays exactly as written. The lane mandate
named §6.5; §6.7 is where the enum actually lives. The director makes this edit; this lane does not.
Corroboration rather than one lane's opinion: docs/proposals/TRADE_GATE_EXEMPLAR_Q_TR6_NEO.md §7.3 hit
the identical blocker from a different domain in the same wave, calling it "the single mechanical blocker
between this document and three real registry rows".
2. The four turn columns DO have a definition, and the sibling lane's finding that they do not is stale —
stated precisely, because the sibling is right about the thing it actually looked at.
TRADE_GATE_EXEMPLAR_Q_TR6_NEO.md L641-647 records that the four "carry no definition anywhere in §6.5's
field enumeration, which stops at extensions", and offers provisional readings. That claim is TRUE of
§6.5's field enumeration and FALSE of the corpus: docs/registry_extensions.json
_column_doctrine/quest-turn defines all four verbatim, and gate 47 harness/check_quest_turn.py reads
them with teeth Q0 through Q4. The defect is therefore a scope-of-search one, not a reasoning one, and the
fix is a one-line correction on that document plus — the more useful half — a pointer FROM §6.5's
enumeration TO the column-doctrine block, so the next lane that reads §6.5 to the end does not conclude
the same thing again for the same good reason.
3. CH_02 has no turn-bearing quest authored, and this quest cannot be one. Section 6 gives the arithmetic. The
chapter's turn belongs on the FORK_CH02_A quest (CH02_B09 plus CH02_B10), where an irreversible choice and
a durable write both exist. Until that quest is authored, gate 47 will correctly report chapter 2 as
unarmed rather than passing. Owed work, not a defect in this row.
4. The protagonist SPEAKS at CH02_B10 in the landed dialogue lane, which contradicts CG-16b as written.
docs/proposals/dialogue/dialogue_registry_rows.csv carries 108 CH02_B10 rows including
dialogue_type = player_option with six_option_slot populated and vo_tier = voiced_performance
(DL_000008 "I'm not in it. I'm at the edge."). §6.5 L1534 states the spoken wheel "switches on at
protagonist speech" at approximately Ch 3, and preserves the pre-verbal question as a veto surface for
Josh. This is a real conflict between a ratified contract clause and landed lane output, and it does not
touch this quest (there is no interlocutor in it), so it is filed rather than resolved. Note the same file
uses dialogue_type values npc_line and player_option, neither of which is among the six ratified
members at L1500.
5. The dialogue dataset key form does not match the contract. The landed CH02_B10 rows carry
dialogue_dataset_ref = DLGSET_CH02_B10_CH03_WAE_REBO_HUB, while CG-09/CG-10 pin the form to
DD_<quest_id>. Once the CH02_B10 quest row exists, that key becomes re-pointable; until then the dataset
is keyed to a hub rather than to a quest. Naming it now is cheaper than migrating it later.
6. The region page's Derived Index for scenes is stale. flores_island.md L86 lists five CH_02 scenes and
omits SC_CH02_the_first_search, which the eleventh-sitting amendment added and which IS a live row in
T0_Scene_Spec_Registry. The block's own preamble says "Generated from the spine at build time;
regenerate, never hand-edit" (L69), so this is a regeneration owed, not a hand edit.
7. No seed row exists for the object-recovery payload. T0_Quest_Seed_Registry carries four CH_02 rows and
none anchors CH02_B11 or THREAD_20, while the spine at L47 names THREAD_20 as a NEW carrier joined at
CH02_B11 and says in terms that the grid row "is registry follow-through this entry implies and does not
itself write". Two registry follow-throughs are implied and neither is taken here: a THREAD_20 / CH_02
T0_Thread_Grid row, and the refreshed beat count on the T0_Chapter_Index CH_02 row that L162 flags.
8. The opener's survival substrate has no reachable node. Every flores gather node carries a
tool_or_trade_required (GN_0001 Herbalism_T4 at liang_bua_cave, GN_0010 Mining_T2 at
mount_inerie_cone_country) and no trade is unlocked at Ch 2, so OBJ_05's forage has no rowed source. All
eleven are progression_critical FALSE, so the no-dead-end law is not threatened — the beat plays as
scripted survival. But a survival opener whose forage is unrowed is a hole the B8 economy lane will hit
again at every pre-trade chapter. Recommend a trade-free survival-gather class rather than a per-chapter
exception.
9. Two SFX gaps on this quest's beats. The four-beat cast cues exist for both abilities the quest unlocks
(SFX_00062-65 Ember Strike, SFX_00076-78 Cloaking) and the ambient beds exist for both sites, but there is
no ignition cue for the fire-making puzzle and no cue for the find-beat's lift — the chapter's most
load-bearing single moment of the three. SFX_00021 Gather-Yield Confirm is the nearest and is a generic
gather confirm, which is exactly the wrong register for a recovery offered without comfort.
10. The spike draft is now materially stale and should be marked so. docs/proposals/quest_spike/CH_02_quests.md
works a ten-beat graph with no CH02_B11 and carries seventeen gaps of which the great majority are closed
by the §6.5 completion pass. It remains useful as prior art for Ch 3-5. A one-line SUPERSEDED-IN-PART
banner on its CH_02 section would stop the next lane re-reading closed gaps as open.
docs/proposals/QUEST_EXEMPLAR_CH02_OPENER.md (this file). Nothing else. No registry, no spine node, no _source doc, no DOC_MAP.md entry and no commit — the director-lands protocol recorded on the claim.