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: SPIKE DRAFT — validation artifact, not canon. This document exists to prove whether the ratified quest and scene schema holds real authored CH_02 content. Nothing here is canonical; the cardinal do-not-invent rule binds throughout. Every value is joined from the CH_02 spine's typed layer, the flores_island region page, and the registries it cites. Where the schema demands a value no source provides, the omission is logged in Section 5 as a contract gap rather than invented — a surfaced gap is the spike succeeding at its job.
Front block
chapter: CH_02 — Flores Island, Liang Bua Cave (Arrival); region_primary Flores Island, Indonesia; region_id flores_island.
region page consumed: _source/02_Tier_2_Region_Pages/flores_island.md (the pilot page; covers the CH_02 and CH_03 zone catalog). Zone anchors below copy the page Zone Catalog zone_ids, which mirror the spine §3b site_ids verbatim.
authoritative skeleton: docs/spine/CH_02.md (v3.1 beat→fork→state event graph) — the §3b sites, §10 beat graph, §10b fork, boss structure, §11 side-questlines, §13 scene rows, and the reward and ability lines are the skeleton every quest below realizes.
schema sources read: T1_Build_Pipeline_Contracts [ACTIVE v1.0] §6 (Quest Writing Pipeline Contract — §6.5 Quest Spec Schema, §6.7 quest_status state machine, §6.11 open items) and §5 (Cinematic Scene Build Pipeline Contract — §5.5 Scene Spec Schema, the scene_type and path_bucket vocabulary); §9.5 Spine Entry Schema as it is already realized in the CH_02 entry header. Note on section numbering — the task brief labels the quest and scene contracts as "§5" and the spine schema as "§9"; in the executed contract doc the Quest Writing schema is §6, the Cinematic Scene schema is §5, and the Spine Entry schema is §9.5. This draft cites the doc's own section numbers.
reveal ceiling honored: no House-of-Velheim name, family, pattern, or agent-noun who-frame appears on any player-facing string. The Ch-2 corruption predates the family entirely (the family first appears at Ch 8); the hollowing is the polo's soul-eater bargain, a purely local folkloric agency, and the player perceives it only as sensation. The Grand Sage is dark. Verified against the antagonist-pattern-reveal-timing standing rule (no agent-noun in the safe register).
care posture (§17.1): standard-care chapter. No living Flores community (Manggarai, Ngada, Nage, Lio) is ever a quest target. The one human antagonist, Rangku Wera, is the polo's victim and is freed, never killed. The polo is the tradition's own condemned witch-being (never a real dukun or living person); the Ebu Gogo is a mythic wild-folk ambient threat (never a hunt-the-wild-people beat, never the historical cave-burning). Combat routes only through the corrupted individual, the folkloric beings, and threatening fauna.
path_bucket for the whole chapter: UNLOCKED. Ch 2 precedes the Ch-65 lock; path commitment has not locked, so no per-bucket quest variants exist yet (§18 path_bucket UNLOCKED; §5.5/§6.5 UNLOCKED enum value).
schema-field convention: each quest block below is laid out against the §6.5 quest_substrate field set (quest_id, quest_anchor_id, quest_name, quest_type, chapter, path_bucket, questline_id, twelve_tier_gate, participant_entity_refs, quest_beat_structure, branching_logic, dialogue_trigger_anchors, spatial_requirements_array, scene_anchor_array, dialogue_dataset_array, hard_line_relevance, quest_status, author_in_loop_required). Fields the task asked for that the schema does not carry (giver, objectives-sequence, completion conditions, ws writes, rewards, fail/branch) are authored here from the spine and flagged in Section 5.
Section 2 — Main-story quest chain
The chapter is one continuous survival-horror arc across ten beats (CH02_B01 through CH02_B10). It decomposes into five main-story quests at the natural mode and site boundaries. All five are quest_type main_story_per_chapter, chapter 2, path_bucket UNLOCKED, questline_id NULL (main story, not a questline aggregate), twelve_tier_gate NULL (no mastery gate binds at Ch 2), author_in_loop_required TRUE (the origin-node opener and the restored malevolent-being content carry author-in-loop per the spine header). quest_status pending — the target registry T0_Quest_Definition_Registry is unpopulated at spike time (POPULATE→T0_Quest_Definition_Registry).
QS_CH_02_01 — Waking in the Dark
quest_id: QS_CH_02_01 · quest_anchor_id: CH02_ARRIVAL · quest_name: Waking in the Dark · quest_type: main_story_per_chapter
giver / trigger: no NPC giver — this is the origin node. Trigger is the CH_01→CH_02 seam: the protagonist falls through the rift at the Ch 1 close and the quest opens at scene_entry SC_CH02_rift_fall_waking. (Schema has no quest-giver field and no environmental/seam trigger enum — Gap G3.)
participant_entity_refs: CHAR_0001 (protagonist). The Child Familiar is present-then-lost but is not a Character_Index row available to reference here (Gap G15).
zone anchor(s): liang_bua_cave (cave_system), then mount_inerie_cone_country (mountain).
objectives sequence (mapped to beats; encounter_mode_tag per §6.5 spatial_requirements_array):
Wake on cold stone in Liang Bua and watch the Child Familiar bite, bolt, and die from the crack in the rock — arrival as loss (CH02_B01; encounter_mode_tag character).
Survive the first days in the cone country beneath Mount Inerie: solve the fire-making survival puzzle, forage, and improvise shelter, learning that the rift took an atmosphere, not a place (CH02_B02; encounter_mode_tag puzzle).
completion conditions: CH02_B01 out {local.alone: true}; CH02_B02 out {local.fire_made: true}. Quest completes when local.fire_made resolves true. (These are the spine's chapter-local flags; the quest schema carries no completion_condition field — Gap G4.)
ws.* writes carried from the spine (never minted): ws.familiar_bond_state: +child_familiar_lost_believed_dead (CH02_B01 out-state). Reveal binding on this write: believed-dead only — the Child Familiar canonically escaped; the Ch-58 Truly-Good reveal is held from every surface artifact.
rewards (from the spine's own lines): abilities A_F_001 Ember Strike and A_T_002 Cloaking unlock at the Neophyte floor (CH02_B02 systems: ability:A_F_001, ability:A_T_002). Substrate reward: the arrival-as-loss framing that seeds the whole arc. Loot and seed anchors deferred (POPULATE→T0_RNG_Drop_Table).
fail / branch handling (no-dead-end): the fire-making puzzle is non-gating — failure loops the survival loop (cold, hunger) rather than walling progression; there is no combat here and no death-state. The believed-dead familiar is a fixed narrative beat, not a branch.
dialogue_dataset_array: none authored (CH02_B01 is a per_chapter_cutscene with protagonist-only close-third interiority; no voiced lines — Gap G10).
hard_line_relevance: Child Familiar believed-dead only, the Ch-58 reveal held from every surface artifact (HL_0043 reveal-authority reference). No tier-6 substrate read; perception at the Neophyte register only (HL_0028).
QS_CH_02_02 — The First Water
quest_id: QS_CH_02_02 · quest_anchor_id: CH02_FIRST_WATER · quest_name: The First Water · quest_type: main_story_per_chapter
giver / trigger: no NPC giver. Trigger is beat_transition from CH02_B02 (local.fire_made true) — the environmental pull toward falling water. Anchor SC_CH02_first_water opens at the recharge source.
participant_entity_refs: CHAR_0001 (protagonist). Shell (W1, familiar candidate) registers here as vril-trace only; Shell is a T3_Familiars_Named / T0_Familiar_Registry entity, not a Character_Index row — it cannot be a participant_entity_ref under the FK constraint (Gap G15).
zone anchor(s): recharge_waterfall (water_body, vril_density anchor, climactic_affordance threshold).
systems staged: sub_boss BE_0002_S1 (the Kelimutu Guardian), vril_site VS_CH02_001, familiar shell_w1.
objectives sequence:
Pass the Kelimutu Guardian test: read the Komodo dragon and reticulated python guarding the source as a dual-serpent pair, step the constriction and strike lanes on the tell or attune the breath, and the guardian withdraws, opening the source — a permitted guardian-test, never a hunt (CH02_B03; sub_boss BE_0002_S1, verbs EVADE/ATTUNE, axis 30/45/25; encounter_mode_tag combat, though the beat is puzzle-forward — see the mode-tag divergence in Gap G12).
Stand in the spray with hands open and learn in the body that vital force gathers at falling water: the emptied vessel fills; the realm left behind and the world woken into become one continuous distance; Shell surfaces as visual and vril-trace registration only, the bond deferred to Ch 3 (CH02_B04; encounter_mode_tag learning).
completion conditions: CH02_B03 out {local.source_opened: true}; CH02_B04 out {local.first_recharge: true, ws.familiar_bond_state: +shell_registered_no_bond}. Quest completes when local.first_recharge resolves true.
ws.* writes carried from the spine: ws.familiar_bond_state: +shell_registered_no_bond (CH02_B04 out-state).
rewards (from the spine's own lines): the first recharge source unlocked (VS_CH02_001, passive) and the Shell bond-seed; the serpent-dual-form fragment from the guardian pair (also feeds SQ9). The Kelimutu Guardian, per the boss rule, yields on win and on a lost attempt alike (guardian-test opens the source rather than a hunt).
fail / branch handling (no-dead-end): BE_0002_S1 is a guardian-test with reward on win and on death per the T1_Combat failure-states rule (HL_0078); a lost attempt logs the guardian's cadence and re-opens the approach rather than walling the source. The recharge learning beat cannot fail-wall.
dialogue_dataset_array: none authored (SC_CH02_first_water is a per_chapter_cutscene, felt-not-declared, protagonist-only interiority — Gap G10).
hard_line_relevance: the realm-continuity is felt through the hands, never spoken; perception at the Neophyte vril-trace register only, never a tier-6 read (HL_0028).
giver / trigger: no NPC giver. Trigger is beat_transition from CH02_B04 (local.first_recharge true) — the waking Neophyte perception draws the child back to the deep stratigraphy and, at the crater lakes, into the polo's escalating offer. Anchor SC_CH02_polos_offer opens at the bargain (dialogue_initiation).
participant_entity_refs: CHAR_0001 (protagonist). The Ebu Gogo (CR_0010) and the polo (folklore_attribution, no CR id) are the encounter agencies but cannot be participant_entity_refs — the field FKs only to Character_Index or Antagonist_Network_Registry (Gap G15).
zone anchor(s): liang_bua_cave (cave_system; the discovery-only deep-cave backtrack), then kelimutu_crater_lakes (sacred_site, vril_density anchor).
systems staged: inscription vril_trace_backtrack (CH02_B05), sub_boss BE_0002_S2 (the Polo's Vital-Force Theft, CH02_B06).
objectives sequence:
Evade the Ebu Gogo pressing from Liang Bua's deep layers — a crop-raiding, child-snatching wild-folk genuinely dangerous to a lone child — and read the first vril-trace on the inscription-locked backtrack once the Neophyte perception wakes (CH02_B05; encounter_mode_tag stealth — a value the §6.5 encounter_mode_tag enum does not carry, Gap G12).
Read and reject the polo's soul-eater bargain: sense through the waking vril-trace that the gift's vril runs hollow, hold refusal through the escalating offer, and the offer collapses — the same bargain that hollowed the hunter, named to the player only as sensation (CH02_B06; sub_boss BE_0002_S2, verbs REFUSE/SENSE, axis 20/50/30, puzzle-dominant; encounter_mode_tag puzzle).
completion conditions: CH02_B05 out {local.deep_cave_read: true}; CH02_B06 out {local.bargain_refused: true}. Quest completes when local.bargain_refused resolves true.
ws.* writes carried from the spine: none at ws grain — both beats write chapter-local flags only (local.deep_cave_read, local.bargain_refused). The durable consequence of refusing the bargain is consumed downstream at CH02_B08 (the climax gates on local.bargain_refused). (That the refusal is a mandatory main-spine action rather than a player fork is the resolved v3 typing — it is a reward-both-ways boss outcome, not a branch.)
rewards (from the spine's own lines): the polo-corruption lore fragment (also feeds SQ1); the deep-time hominin-stratum read (feeds SQ9); the naturalist's-eye method from the deep-cave inscription. On refusal the offer collapses; per the boss rule the encounter rewards on the sensed-and-refused outcome and on a lost attempt alike (no accept-branch is authored — the refusal is the spine's mandatory action).
fail / branch handling (no-dead-end): the Ebu Gogo stealth is an evade-and-survive presence, not a kill-quest and never a hunt-the-wild-people beat (HL_0005); being caught costs the child, it does not wall. BE_0002_S2 is a materialized-argument mini-encounter with a reward-both-ways outcome; there is no fail-wall.
dialogue_dataset_array: partial — SC_CH02_polos_offer is typed dialogue_initiation, but its only non-protagonist participant is the polo as voice-register (a non-lexical sensation), which the dialogue_type enum cannot express and which has no character_id to key a dataset file on (Gap G9, Gap G15). No dataset file authored for QS_CH_02_03.
hard_line_relevance: the vril-bargain-that-empties is surfaced at seed scale, felt never declared; the polo is the tradition's own condemned witch-being, never a real dukun or living person (HL_0005). No pre-Ch-76 pattern, name, or agent-noun.
realizes beats: CH02_B07 (core, combat, mount_inerie_cone_country, boss BE_0002.P1), CH02_B08 (climax, combat, kelimutu_crater_lakes, boss BE_0002.P2)
giver / trigger: no NPC giver. Trigger is beat_transition from CH02_B02 (local.fire_made true) — the hollowed tracker reads the child's tracks and turns a kind man's reading into a hunt. This is the chapter's main boss, BE_0002, driven by antagonist operative NW_0001.
participant_entity_refs: CHAR_0001 (protagonist), CHAR_0008 (Rangku Wera, the Quiet Step). Antagonist system reference NW_0001 (Corrupted Hunter, Cat-1 Individual Corruption, VRIL_STANDALONE, awareness UNAWARE — not House of Velheim; he predates it).
zone anchor(s): mount_inerie_cone_country (mountain; the stalk opens here), then kelimutu_crater_lakes (sacred_site; the cornered frenzy in the waterfall caverns beside Tiwu Ata Polo, the lake of the wicked dead).
systems staged: boss BE_0002.P1 (CH02_B07), boss BE_0002.P2 (CH02_B08), abilities A_E_001 Stone Skin (CH02_B07) and A_E_002 Tremor Stomp (CH02_B08). BE_0002 verbs DODGE/STRIKE, axis 60/20/20, phases P1→CH02_B07, P2→CH02_B08.
objectives sequence:
Survive the jungle stalk: side-dodge Rangku Wera's lunge-feint, break line of sight behind a cave pillar, and expose his tells with a torch lit from the geothermal vents — the finest tracker of his highland village, hollowed, reading the child up through the cone country (CH02_B07; boss BE_0002.P1; encounter_mode_tag combat).
Break the polo's hold at the cornered frenzy: the hold peaks as the hollowed hunter is drawn toward the lake edge (the black-and-blood-red shift the corruption's endpoint tell); win by hit points and the hold breaks — Rangku Wera freed and pulled back, a rescue, not a kill, the first person the child fights to save (CH02_B08; boss BE_0002.P2, climactic_affordance required; encounter_mode_tag combat).
completion conditions: CH02_B07 out {local.stalk_survived: true}; CH02_B08 in {local.stalk_survived: true, local.bargain_refused: true} → out {local.hunter_freed: true}. Quest completes when local.hunter_freed resolves true. (Note the climax consumes local.bargain_refused from QS_CH_02_03 — a cross-quest precondition the quest schema cannot express as an entry-gate; it lives only on the spine beat's in-state, Gap G4.)
ws.* writes carried from the spine: ws.antagonist_operational_state_per_region: +polo_hold_broken_hunter_freed (BE_0002 win-state).
rewards (from the spine's own lines): on win, the polo's hold breaks and the hunter is freed (ws write above), plus abilities A_E_001 Stone Skin and A_E_002 Tremor Stomp at the Neophyte floor. On a lost attempt (death), Rangku Wera's stalk cadence is logged and a polo-corruption lore fragment drops — the thread advances on win and on death alike, no fail-wall (BE_0002 death-reward per the T1_Combat failure-states rule, HL_0078).
fail / branch handling (no-dead-end): reward on win and on death, per the boss rule above. The rescue is the canonical resolution of a win; the spine authors no kill-branch (Rangku Wera is the polo's victim, freed, never a kill — the care line). A lost attempt loops the encounter with the cadence logged, never walls.
dialogue_dataset_array: [/04-Quest Writing/Dialogue Datasets/DD_CHAR_0008_QS_CH_02_04.<ext>] — authored as the Section 4 sample. The file_extension is unpinned by the contract (Gap G1); the Drive-style path is the contract's literal convention, which no longer resolves to a repo-native home (Gap G1).
hard_line_relevance: the hunter is not himself — the mystery register, sound-without-meaning before it is understood; the corruption is the enemy, the hollowed man its victim (HL_0005, HL_0004). No family name, pattern, or agent-noun who-frame — the corruption predates the House of Velheim entirely (NW_0001 VRIL_STANDALONE).
QS_CH_02_05 — The First Wound
quest_id: QS_CH_02_05 · quest_anchor_id: CH02_FIRST_WOUND · quest_name: The First Wound · quest_type: main_story_per_chapter
giver / trigger: no NPC giver for the fork; trigger is beat_transition from CH02_B08 (local.hunter_freed true). The village-edge contact (CH02_B10) opens at scene_entry SC_CH02_village_edge, the chapter's first NPC contact.
participant_entity_refs: CHAR_0001 (protagonist), CHAR_0009 (Elder Rato, Manggarai ritual elder), CHAR_0012 (Child Teresa, the arc's first human-peer). Both NPCs are inviolate, never targets.
zone anchor(s): kelimutu_crater_lakes (the aftermath and the carved mark), then manggarai_village_edge (agricultural; the lingko spider-web fields, referenced not entered).
systems staged: object kelimutu_carved_mark (CH02_B09). FORK_CH02_A anchors at CH02_B09.
objectives sequence:
Set what the hunter's deception and the bargain's shape are allowed to become in the child — the chapter's direction-set fork — and carve the mark at the waterfall cavern, the ancient→modern world-state anchor the Ch-63 Austronesian continental-revisit reads (CH02_B09; encounter_mode_tag transformation; fork FORK_CH02_A).
Come down at dusk to the edge of a Manggarai village where the lingko fields spread their spider-web lines and gong-waning carries up from the houses (the first vril-active-instrument resonance, felt not named); take the first glimpse of welcome-with-wariness and the one mercy the chapter offers — attachment to this world is possible — carried down into Ch 3 (CH02_B10; encounter_mode_tag character).
completion conditions: CH02_B09 out {local.first_wound_set: true}; CH02_B10 in {local.first_wound_set: true} → out {local.village_edge_reached: true, ws.identity_hiding_status: +first_concealment_pressure_rising}. Quest completes (and the chapter exits) when local.village_edge_reached resolves true.
ws.* writes carried from the spine: ws.identity_hiding_status: +first_concealment_pressure_rising (CH02_B10 out-state). The fork write ws.integrity_score is set per FORK_CH02_A (see the fork table below), plus the durable mark_write to the Kelimutu carved mark carried forward to the Ch-63 read.
FORK_CH02_A — the first wound (anchor CH02_B09; magnitude ACCUMULATIVE; kind exploration_interaction; care_band open; convergence_node null; path_bucket UNLOCKED; progression_guarantee every option plays through to the Ch-3 village edge — direction sets texture and the mark's valence, never a gate). Options keyed by ACTION with a direction; the derived bands are computed at §18, never option labels:
carry the betrayal as a whole wound — grieve it and keep the road
generative
+accumulative-generative
manggarai: generative-valence, permanent
opens the trust-earned reception track at Ch 3
swallow it unfelt and walk on
neutral
~0
manggarai: neutral-valence, permanent
none
harden it into the first small permission to distrust
corrosive
−accumulative-corrosive
manggarai: corrosive-valence, permanent
opens the cold-read reception track at Ch 3 (nothing walls)
rewards (from the spine's own lines): the direction-set itself and the durable Kelimutu carved mark (read at the Ch-63 continental-revisit); the village-edge proto-hook into Ch 3 (the one mercy — attachment is possible). No loot anchor authored (POPULATE→T0_RNG_Drop_Table).
fail / branch handling (no-dead-end): FORK_CH02_A is ACCUMULATIVE and non-gating — all three directions play through to the village edge; the fork sets texture and the mark's valence, never a wall. The village-edge contact cannot fail-wall (it is a character beat).
dialogue_dataset_array: candidate — SC_CH02_village_edge carries CHAR_0009 and CHAR_0012 as speaking participants (the first NPC dialogue of the arc), so DD_CHAR_0009_QS_CH_02_05 and DD_CHAR_0012_QS_CH_02_05 would author here. Deferred in this spike (the Section 4 sample covers the more character-heavy QS_CH_02_04); flagged so the parallel authoring pass does not drop it.
hard_line_relevance: concealment starts as reflex, not strategy — the island holds older watchers than the hunter; no House-of-Velheim name, family, or pattern. The gong-waning resonance is felt, not named (Thread 21 first vril-active-instrument demonstration).
Section 3 — Side quests (the spine's SQ seeds)
The pre-social opener carries only SEED-stage side quests, assigned from CVD §17.6 where the T0_Questline_Index registry is a stub (POPULATE→T0_Questline_Index; the questline_id FKs below have no target rows yet — Gap G13). Both are quest_type side_questline_stage, chapter 2, path_bucket UNLOCKED, twelve_tier_gate NULL, author_in_loop_required FALSE (standard quest track), quest_status pending. SQ gates are state-conditions, non-gating on the main spine — expressed on the spine's Block 11 row (sq_stage enum + a gate condition-expression) but a gate shape the §6.5 quest schema's twelve_tier_gate field cannot carry (Gap G14).
realizes / interleaves beats: CH02_B05, CH02_B06, CH02_B08 (the folklore-bearing beats).
participant_entity_refs: CHAR_0001 (protagonist). The folkloric agencies (the polo, the Ebu Gogo CR_0010, the Tiwu Ata Polo tradition) are substrate, not FK-able participants (Gap G15).
zone anchor(s): liang_bua_cave, kelimutu_crater_lakes.
objectives sequence: gather the Flores folklore substrate as it surfaces — the polo soul-eater (CH02_B06), the Ebu Gogo wild-folk (CH02_B05), and the Tiwu Ata Polo lake-of-the-dead tradition (CH02_B08) — held as the traditions frame them, never as horror trope.
completion conditions: SEED-stage — the questline records the first fairy-tale-thread entry when local.bargain_refused and local.deep_cave_read resolve true; no discrete completion flag exists in the spine (the SQ advances at Ch 3). (No SQ-stage completion field in the schema — Gap G4.)
reward (from the spine's own line): the Flores folklore substrate (the polo, the Ebu Gogo, the Tiwu Ata Polo lake-of-the-dead tradition) and the first fairy-tale-thread entry carried forward — the arc's first SEED, advancing at Ch 3 (the darat, naga tana, potent-landscape belief).
hard_line_relevance: the polo is the tradition's own condemned witch-being; the Ebu Gogo a mythic wild-folk ambient threat, never a hunt-the-people beat and never the historical cave-burning (HL_0005). Anti-fringe corrective authorial only — the Homo floresiensis / Ebu Gogo resonance is a deliberate echo, never asserted as proof.
participant_entity_refs: CHAR_0001 (protagonist); creature substrate CR_0001 (Komodo dragon), CR_0002 (reticulated python), CR_0011 (Sumatran Orang Pendek, invoked comparatively). Creature roster ids are not FK-able as participant_entity_refs (Gap G15).
zone anchor(s): recharge_waterfall (the guardian pair), liang_bua_cave (the deep-time stratum).
objectives sequence: study the Komodo and reticulated-python dual-serpent fauna at the guardian test (CH02_B03) and the deep-time hominin stratum at the deep cave (CH02_B05); the wider Indonesian small-hominin cryptid discourse (the Orang Pendek of Kerinci-Seblat) is invoked comparatively through the Homo floresiensis find, never credited as a Flores-local tradition.
completion conditions: SEED-stage — records the cryptozoology-substrate depth when local.source_opened and local.deep_cave_read resolve true; no discrete completion flag (Gap G4).
reward (from the spine's own line): the cryptid/fauna-substrate depth and the naturalist's-eye method — the dual-serpent fauna, the comparative small-hominin discourse, and the deep-time hominin stratum.
fail / branch handling: non-gating, accretive substrate; nothing to fail.
hard_line_relevance: the Orang Pendek discourse is a Western cryptozoology construct examined authorially, never credited as Indigenous tradition (the cryptid-vs-Western-cryptozoology care line); the deep-time resonance is a documented paleoanthropology echo, never lost-race proof (SCIENCE_GROUNDING).
Section 4 — Dialogue dataset sample (QS_CH_02_04, the Quiet Step)
The most character-heavy quest is QS_CH_02_04: it carries the chapter's named-character boss (Rangku Wera, CHAR_0008), the freed-not-killed emotional climax, and the polo's peaking hold — the dramatic centre. The dataset below realizes the beats CH02_B07 (stalk) and CH02_B08 (freeing at SC_CH02_freeing_the_hunter). It is authored against the §6.5 dialogue_dataset file structure: dialogue_dataset_id DD_CHAR_0008_QS_CH_02_04, character_id CHAR_0008, quest_id QS_CH_02_04, and a dialogue_node_array of monologue and scripted_response nodes.
Voice register (per the spine's voice_and_crowd note): the protagonist has no spoken dialogue at Ch 2 — the child's presence is close-third interiority only. The hollowed hunter carries a degraded register that flickers between the man surfacing and the hollow answering. The polo is a voice-register only — a non-lexical sensation the child perceives without meaning. This composition surfaces three distinct schema tensions (see Gaps G8, G9, G10); the lines are authored faithfully and the schema-fit notes ride the FText column.
Reveal ceiling: no line carries a House-of-Velheim name, pattern, or agent-noun who-frame. The hunter's grief is his own; what hollowed him is a folkloric bargain felt as sensation, never framed as a who, a hand, an old play, or a pattern. Care: the man is the polo's victim, freed; the polo is the tradition's condemned being, never named by the child.
line_id
speaker
trigger / beat
text
localization-ready FText note
DLG_CH02_HH_001
Rangku Wera (hollowed)
CH02_B07 stalk begin
Small feet. Cold feet. You leave a trail even the dark can read, little one.
The child does not answer. The child has already learned that answering is a door.
Interiority caption, not a voiced line — no character voice track (Gap G10). Renders as on-screen close-third text; no FText speaker attribution.
DLG_CH02_HH_003
Rangku Wera (the man surfacing)
CH02_B07
Run. While the wanting still lets me shape the word — run from me.
Key HH_003. Register flicker to the man beneath; softer, strained. Voiced (CHAR_0008).
DLG_CH02_HH_004
Rangku Wera (the hollow answering)
CH02_B07
No. Come closer. Come and be still. It only takes what you could never keep.
Key HH_004. Register flick back to the hollow; flatter, hungrier. Voiced (CHAR_0008).
DLG_CH02_HH_005
The polo (register)
CH02_B07
(a low water-sound with no source; a pull under the ribs; no words)
Non-lexical vocalization — no subtitle; sensation caption only. No character_id to key a dataset on (Gap G9, G15). Audio-register cue, localization-exempt.
DLG_CH02_HH_006
Rangku Wera (hollowed)
CH02_B07 torch-tell
You bring fire. Good. It shows me your eyes. It shows me where you are soft.
Key HH_006. Ties to the geothermal-torch tell mechanic. Voiced (CHAR_0008).
DLG_CH02_HH_007
Protagonist (interiority)
CH02_B07→B08
Not to kill him. The thought arrives whole, from nowhere the child can name: not to kill him.
Interiority caption (Gap G10). Seeds the rescue-not-kill climax; no agent-noun, no reveal.
DLG_CH02_HH_008
Rangku Wera (hollowed)
CH02_B08 cornered frenzy
The lake is behind me. The red one. It wants me to lie down in it and I am so tired.
Key HH_008. Tiwu Ata Polo endpoint tell; glossary link Tiwu-Ata-Polo (lake of the wicked dead). Voiced (CHAR_0008).
DLG_CH02_HH_009
The polo (register)
CH02_B08 hold peaks
(the water-sound swells to a roar with no echo; the wanting turns to an undertow, cold to the bone, dragging toward the lake)
Non-lexical; no subtitle (Gap G9). Sensation caption. Deliberately no agent-noun and no invoke-and-negate who-frame — the pull is pure sensation, never framed as a who (reveal ceiling).
DLG_CH02_HH_010
Rangku Wera (the man surfacing)
CH02_B08
I gave it my grief to hold for me. It took the holding, and the hands, and all the rest.
Key HH_010. His grief is unspecified in the corpus — no named loss invented (Gap G16). Voiced (CHAR_0008).
DLG_CH02_HH_011
Rangku Wera (hollowed)
CH02_B08 climax
Stop pulling me back. Stop it. Let me go down where it is warm.
Key HH_011. Peak of the hold; the win-condition is HP, the fiction is the hold breaking. Voiced (CHAR_0008).
DLG_CH02_HH_012
Protagonist (interiority)
CH02_B08 win
The child does not let go. The child has already lost one warm thing today and will not lose a second to the water.
Interiority caption (Gap G10). Callback to the Child Familiar (QS_CH_02_01); believed-dead reveal held.
DLG_CH02_HH_013
The polo (register)
CH02_B08 hold breaks
(the roar thins to a trickle, then to nothing; the cold pull lets go all at once, like a current releasing a stone)
You did not put me in the lake. You had every reason and the strength, small as you are. Why did you not.
Key HH_015. Names the rescue without naming the mechanic; no thesis, no reveal. Voiced (CHAR_0008).
DLG_CH02_HH_016
Protagonist (interiority)
CH02_B08
The child has no word for why, and would not spend it if they had one. They only know the difference between a wound and a weapon, now.
Interiority caption (Gap G10). Sets the FORK_CH02_A direction thematically without stating a label.
DLG_CH02_HH_017
Rangku Wera (freed)
CH02_B08
It wore me like a coat and I let it, because I was so cold. Do not ever be that cold, child. Do not ever take the warm thing it offers.
Key HH_017. The bargain-refusal lesson (ties QS_CH_02_03); folkloric, no agent-noun. Voiced (CHAR_0008).
DLG_CH02_HH_018
Rangku Wera (freed)
CH02_B08 exit
Go down to the fields before dark. Keep your face turned from the fires. Not everything that watches this island means you well — and not all of it walks.
Key HH_018. Hands off to QS_CH_02_05 (village edge) and the older-watchers register; reveal-safe (no who). Voiced (CHAR_0008).
Dataset schema-fit summary: 18 lines across two beats. Of these, 11 are voiced monologue/scripted_response nodes keyed to CHAR_0008 (the only lexical speaker), 4 are protagonist interiority captions with no character voice track, and 3 are the polo's non-lexical sensation register with no character_id and no lexical text. Zero six_option_voice_response nodes were authorable — the protagonist is pre-verbal at Ch 2, so the CVD §13 six-option system (Truly Good / Truly Bad / Sympathetic / Detached / Curious / Defiant) has no speaker to attach to (Gap G8). No line_variant_array branching was authored: path_bucket is UNLOCKED and integrity_score is at the direction-set zero, so no path-conditional or integrity-conditional variant can meaningfully diverge yet (Gap G11).
Section 5 — Contract gaps
Each entry is a place where the §5 or §6 schema (or the task's requested quest fields) demanded a value or structure that could not be typed at quest grain. A surfaced gap is the spike succeeding. Two classes appear below: true corpus gaps (a value or structure no contract section provides), and cross-schema gaps (the structure IS specified in the §9.5 spine schema — the ws.*/local.* namespace grammar, the gameplay_function enum and its Pillar-1.12 projection, the terrain_type enum, the Block-11 sq_stage + gate-condition shape — but the quest schema §6.5 and scene schema §5.5 neither carry it nor cross-reference it, so a quest/scene artifact cannot express it and must defer to the spine). G5, G12, and G14 are cross-schema gaps and are stated as such (they were over-broad in an earlier draft and were narrowed on critic review against §9.5). Several gaps are already acknowledged in the contract's own §6.11 open-items; those are marked contract-acknowledged.
G1 — dialogue-dataset landing path and file_extension unpinned. §6.4 resolves dialogue datasets to a Google-Drive path (/04-Quest Writing/Dialogue Datasets/DD_<character_id>_<quest_id>.<file_extension>). Canon has migrated out of Drive into this repo, so that path resolves to nothing repo-native, and the file_extension is explicitly deferred ("pins per Quest Writer LLM output format at build pipeline configuration", §6.11). The spike itself has no defined home for a dialogue dataset either — it lives inline in Section 4. Needed: a repo-native dialogue-dataset landing convention and a pinned file format. (Contract-acknowledged in part.)
G2 — quest_id format unpinned; the spike's QS_CH_02_NN diverges from the schema examples. §6.5 quest_id examples are QUEST_CH76_... (QUEST_ prefix, UPPER_SNAKE). The task prescribes QS_CH_02_NN. §6.11 (Buildability P0) defers the canonical quest_id format to the Phase 5M Schema Dictionary universal entity_id spec. Needed: the universal entity_id format ruling so quest_id, quest_anchor_id, and dialogue_dataset_id align. (Contract-acknowledged.)
G3 — no quest-giver field and no environmental/seam trigger enum. The task asks for giver/trigger per quest, but §6.5 carries neither a quest_giver character reference nor a trigger-type field. The nearest structure is dialogue_trigger_anchors (anchor_type scene_entry / beat_transition / dialogue_initiation / branch_decision_point), which encodes where dialogue fires, not who or what hands out the quest. Every CH_02 main quest is giverless (origin-node, environmental, or pursuit-driven), which this schema cannot express as such. Needed: an optional quest_giver FK and a trigger_type enum that includes chapter-seam and environmental/pursuit triggers.
G4 — no typed objectives, completion conditions, or state-write fields on the quest. §6.5 collapses objective progression into free-text quest_beat_structure and branching into free-text branching_logic. There is no objectives array, no completion_condition field, and no on_complete / state_write field. The real completion conditions and durable writes live only on the spine beats (in/out states). Cross-quest preconditions (QS_CH_02_04's climax consuming QS_CH_02_03's local.bargain_refused) cannot be expressed on the quest at all. Needed: a typed objective→completion-condition→state-write structure, or an explicit contract that quests defer all of that to the spine beat graph.
G5 — the ws.* versus local.* namespace is documented for the spine but never surfaced in the quest or scene schema (corrected on critic review — the prior draft claimed the namespace was "undocumented anywhere," which is false). §9.5's "Three grammars — the load-bearing machine contract" already specifies both namespaces precisely: ws.{name} is DURABLE and must resolve to a WS_NNN registry variable_name; local.{name} is chapter-scoped and must be consumed within the chapter (produce-before-consume) or explicitly promoted; the seam validator and the Block-19 fold run over ws.* only. The real gap is cross-schema: neither the quest schema (§6.5) nor the scene schema (§5.5) references either namespace or carries any state-write field, so a quest/scene artifact cannot type its own state writes — it can only defer them to the spine beat graph (see G4), and the durable ws.* writes this chapter's quests carry are joined here from the spine, not expressible on the quest row. Needed: a §6.5/§5.5 cross-reference to the §9.5 namespace grammar (or an explicit contract that quests and scenes never carry state writes and always defer to the spine), plus the ruling §9.5 still leaves open — whether the local.* flags the spine mints are canon or an authoring convenience the save subsystem discards.
G6 — no reward or loot field on the quest. §6.5 has no reward, loot, ability-unlock, or seed field. CH_02's rewards (ability unlocks A_E_001/A_E_002/A_F_001/A_T_002, lore fragments, the Shell bond-seed, the first recharge source) are carried on spine systems and reward lines and point to unpopulated registries (POPULATE→T0_RNG_Drop_Table, POPULATE→T0_Quest_Seed_Registry). Needed: a reward map on the quest (or an explicit binding to a populated drop/seed registry) and population of those two registries.
G7 — no typed fail/branch or no-dead-end field. The no-dead-end guarantee and the reward-on-win-and-death rule (HL_0078, T1_Combat failure-states) live in prose on the spine, not as a quest field. branching_logic is free text. The spine's fork progression_guarantee has no analogue in the quest schema. Needed: a fail_state / progression_guarantee field so the multi-path, no-dead-end contract is machine-checkable at quest grain.
G8 — the six-option voice system has no speaker at Ch 2. §6.5 dialogue_type six_option_voice_response and the CVD §13 six-option set assume a speaking protagonist, but the CH_02 spine fixes the protagonist as pre-verbal (close-third interiority, no dialogue yet until Ch 3). No six-option node was authorable in the character-heaviest quest. Needed: a documented handling for pre-verbal-protagonist chapters (choice-without-voiced-line, or a mute-protagonist node type), reconciled with when the six-option system switches on. (Related to §6.11 six_option_array documentation.)
G9 — no dialogue_type for non-lexical / sensation vocalizations. dialogue_type covers monologue, six_option_voice_response, branch_decision, scripted_response — all assuming lexical line_text. The polo's voice-register (a non-lexical sensation with no subtitle, carried as an audio cue and an optional sensation caption) has no node type and no line_text semantics. Needed: a non_lexical_vocalization dialogue_type with a sensation-caption field and a subtitle-exempt flag.
G10 — close-third protagonist interiority has no home. Interiority captions are player-facing text but are not spoken lines keyed to a voiced character; the dialogue_dataset file is keyed per character_id with a voice track, and there is no non-voiced narration channel in either the quest or scene schema. Four of the Section 4 lines are interiority with no schema-legal slot. Needed: a narration/interiority channel distinct from character-voiced dialogue datasets.
G11 — line_variant_array condition_expression grammar unpinned. §6.11 explicitly flags the condition_expression grammar (integrity_score range, path_bucket, biography_state, age_stage, appearance_score range, relationship_history) as undocumented. At Ch 2, path_bucket is UNLOCKED and integrity_score sits at the direction-set zero, so no path- or integrity-conditional variant can meaningfully branch — the spike cannot exercise the field at all. Needed: the documented expression grammar and a ruling on how variants behave pre-lock. (Contract-acknowledged.)
G12 — the §6.5 encounter_mode_tag enum is narrower than the spine's, which §9.5 already reconciles (narrowed on critic review — the spine schema resolves more of this than the prior draft acknowledged). §6.5 spatial_requirements_array.encounter_mode_tag is specified as the Pillar 1.12 mode-variety vocabulary (combat, puzzle, learning, character, transformation), and CH02_B05 uses stealth — not in that five. But §9.5 already carries the full gameplay_function enum (combat, puzzle, learning, character, transformation, traversal, investigation, dialogue, stealth, vril_management, discovery, trade) AND a ratified projection onto the Pillar-1.12 five for the mode-variety roll-up (combat and stealth to combat; discovery and trade to learning; traversal as context) — so stealth, discovery, and traversal are already vocabulary-defined and already mapped at spine grain. Likewise required_zone_type: §9.5 (and §7.3) fix the terrain_type enum verbatim as forest, mountain, desert, wetland, coastal, urban, ruins, sacred_site, agricultural, wilderness, cave_system, water_body — so the five site terrains (cave_system, sacred_site, mountain, water_body, agricultural) are all already members, no confirmation pending. The residual real gap is confined to §6.5: its encounter_mode_tag enum text has not yet adopted the spine's gameplay_function vocabulary and projection, which §6.11 acknowledges as pending at the Schema Dictionary. Needed: reconcile §6.5's encounter_mode_tag to the §9.5 gameplay_function enum + projection (so the quest row can carry stealth/discovery/traversal as the spine already does).
G13 — questline_id FK has no target rows. §6.5 questline_id FKs to T0_Questline_Index, which the spine marks a stub (POPULATE→T0_Questline_Index). The two SQ seeds (SQ1, SQ9) reference questline aggregates with no registry rows to resolve to. Needed: population of T0_Questline_Index with the twelve SQ rows (and the ten trade questlines). (Contract-acknowledged as a registry populate.)
G14 — SQ state-condition gates are expressible on the spine (Block 11) but not in the quest schema (corrected on critic review — the prior draft called them "inexpressible," which is false: §9.5 carries them). §9.5 Block 11 side-questline rows carry sq_id, questline, stage (the sq_stage enum SEED/ADVANCE/GATE/COMPLETE), a gate condition-expression, the beat list, the reward, and twelve_tier_gate where it binds — SQ gates as state-conditions, non-gating on the main spine, exactly as the CH_02 SQ1/SQ9 seeds use. The real gap is cross-schema: the quest schema §6.5 offers a side_questline_stage quest_type with only twelve_tier_gate (a mastery-tier value) and no stage field and no state-condition gate field, so the quest-grain SQ row cannot carry what the spine Block 11 row expresses. Needed: the §6.5 quest schema to carry the spine's sq_stage enum plus the optional state-condition gate expression, distinct from the mastery gate (or an explicit contract that SQ staging/gating lives only on the spine Block 11 row and the quest defers to it).
G15 — participant_entity_refs cannot reference folkloric beings, creatures, or familiars. The field FKs only to T0_Character_Index and T0_Antagonist_Network_Registry. But CH_02's dialogue/scene participants and quest agencies include the polo (folklore_attribution, no id), the Ebu Gogo (CR_0010), the guardian fauna (CR_0001/CR_0002), the comparative Orang Pendek (CR_0011), the Child Familiar, and Shell (a T0_Familiar_Registry entity) — none FK-able. The scene row SC_CH02_polos_offer even lists "the polo (voice-register only)" as a participant the schema cannot encode. Needed: participant_entity_refs widened to T0_Creature_Roster and T0_Familiar_Registry (and a folklore_attribution reference), so non-character agencies can be scene/quest participants.
G16 — Rangku Wera's grief is unspecified persona depth. The spine grounds his hollowing in "a kind man's grief" and "the bargain taken in grief" but names no specific loss. The freed-register dialogue naturally reaches for what he lost; the sample holds it unspecified (line HH_010) rather than invent a named dead relative. Needed: either an authored persona detail (BOSS_PERSONAS / T0_Character_Index @ CHAR_0008) or an explicit ruling that the loss stays unspecified. This is a persona-depth gap, not a schema gap — logged so the boss-persona pass resolves it before production.
G17 — quest_status has no spike/proposal value and the target registry is unpopulated. §6.7 quest_status begins at pending, but T0_Quest_Definition_Registry (created but not yet populated per §6.6) has no rows for these quests, and there is no draft/spike status to distinguish a validation artifact from a real pending row. All quests here are marked pending with the caveat that they are not registry-entered. Needed: registry population and, optionally, a proposal-tier status value for spike content.
Generated by harness/site/structure_site.py — the URL path is the repo path. review root