chapters/CH_05/quests/main_story/CH_05_quests.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 — widen it by hand where it is thin):
CVD §13·CVD §17·T1_Build_Pipeline_Contracts·T0_Antagonist_Network_Registry·T0_Character_Index·T0_Quest_Definition_Registry·T0_Quest_Seed_Registry· (+3 more t0) ·docs/spine/CH_05.md·_source/02_Tier_2_Region_Pages/angkor_khmer.md·_source/02_Tier_2_Region_Pages/sumatra_java.md
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.
This is a schema-conformance validation draft for the Ch 2-5 quest-writing spike. It joins the CH_05 v3.1 spine's typed layer (beats, forks, boss rows, scene rows, side-questline advances, worldstate writes) and the sumatra_java region page onto the ratified quest and scene contracts, to prove whether those contracts hold real authored content before production quest writing begins. Nothing here is canon. Every value is derived from the spine, the region page, or the registries the spine cites; where the schema demands a value no source provides, the place is recorded in the Contract Gaps section rather than invented. Reveal discipline binds on every player-facing string: no House-of-Velheim name, family, pattern, who-frame agent-noun, Cassius, thesis, or Grand Sage appears; the first briefed enemy reads only as an unexplained, unnamed unease. The living Batak, Javanese, Sumatran, Malay, Khmer, and Cham traditions are rendered with weight and as they understand themselves; communities are never quest targets; the antagonist routes through the collapse-monetizing individual and his instruments.
The chapter's twelve typed beats group into nine main-story quests. The grouping is author discretion — the contract pins no beat-to-quest decomposition rule (see Contract Gaps). Each quest carries its quest_id, the spine beats it realizes, its zone anchor(s), its objective sequence, completion conditions, the worldstate writes carried verbatim from the spine (never minted), rewards drawn from the spine's own reward lines, and no-dead-end fail/branch handling. Every quest is quest_type main_story_per_chapter, path_bucket UNLOCKED, questline_id NULL for the main chain unless an SQ interleaves (the SQ tracking lives in the Side quests section).
| option (action-keyed) | direction | ws_writes |
|---|---|---|
| restore the baray flow and expose the official — turn the hoarded water back, reopen the sanctuaries, unseat him to answer | generative | ws.integrity_score +substantial-generative; ws.community_state_per_region +baray_restored_sanctuaries_reopened; ws.antagonist_operational_state_per_region +court_official_exposed; ws.relationship_history khmer/cham hosts respected; ws.faction_standing_per_faction temple_household + |
| turn the water back and settle it transactionally — the fields fed, the court's bargain left standing | neutral | ws.integrity_score ~0; ws.community_state_per_region +baray_restored; ws.relationship_history hosts unresolved |
| keep the court-ledger's leverage and take the integrity-gated killing-blow on the official (offered, never forced, never the only path) | corrosive | ws.integrity_score -substantial-corrosive; ws.reputation_biography_propagation +extraction-feared; ws.community_state_per_region +baray_restored; ws.faction_standing_per_faction court - |
| option (action-keyed) | direction | ws_writes |
|---|---|---|
| bring the decoded evidence and pacify him before the duel — the datu taken alive to answer | generative | ws.integrity_score +substantial-generative; ws.community_state_per_region +strait_reopened_begu_ganjang_hold_broken; ws.antagonist_operational_state_per_region +datu_brokerage_exposed; ws.relationship_history boru_simanjuntak/siddarta respected; ws.faction_standing_per_faction samosir_community + |
| break his hold in the compound duel and subdue him — the bought given a way back | generative | ws.integrity_score +substantial-generative; ws.community_state_per_region +strait_reopened_begu_ganjang_hold_broken; ws.faction_standing_per_faction samosir_community + |
| reopen the strait transactionally and move on | neutral | ws.integrity_score ~0; ws.community_state_per_region +strait_reopened; ws.relationship_history community unresolved |
| keep the two ledgers as your own leverage and take the integrity-gated killing-blow on the datu (offered, never forced, never the only path) | corrosive | ws.integrity_score -substantial-corrosive; ws.community_state_per_region +strait_reopened; ws.reputation_biography_propagation +feared |
The spine advances three side-questlines at Ch 5 (SQ4 ADVANCE, SQ11 SEED, SQ1 ADVANCE), gated by state-conditions rather than the twelve-tier mastery gate (see Contract Gaps). The region page's Section 13 adds three region-scope seeds; each is grounded in the spine's §11 side-quest note (the strait-route ledger network and the manuscript-recovery seed branch) or the region page and is flagged where its SQ linkage is region-page-derived rather than spine-advanced. All are path_bucket UNLOCKED; integrity implications use the ratified fork direction vocabulary (generative / neutral / corrosive), never the retired truly_good/good_enough/neutral/evil labels.
This exercises the §6.5 dialogue_dataset file structure against the chapter's most character-heavy quest (three named speakers). At the schema grain this single scene composes from multiple per-character dialogue_dataset files — DD_CHAR_0038_QS_CH_05_03 (the healer), DD_CHAR_0032_QS_CH_05_03 (the apprentice), and a protagonist file whose DD_<character_id> naming has no character_id target (the protagonist is player-selected, not a T0_Character_Index row — see Contract Gaps). The unified table below is the authoring view. Node SC05_HW_N03 is a six_option_voice_response node per CVD §13 (the six options Truly Good / Truly Bad / Sympathetic / Detached / Curious / Defiant); its selection is exactly the dialogue_six_option enum record that writes WS_018 six_option_cumulative_record (the write the FORK_CH05_B combat forks deliberately do NOT make). All player-facing text holds the reveal ceiling (the trouble is the corrupt datu and the killing-spirit he keeps, both strictly local; no family, name, pattern, or who-frame) and the care rules (the begu ganjang the tradition's own condemned being, held distinct from the revered sombaon and sumangot; the datu-office honored, the corrupt individual routed). Localization-ready discipline binds from the first string: every line lands in a String Table under the namespace ST_CH05_HW as FText, and the Batak ritual vocabulary carries glossary entries so localization does not flatten the tradition's own terms.
| line_id | speaker | trigger / beat | text | localization-ready FText note |
|---|---|---|---|---|
| SC05_HW_N01 | Siddarta Sinaga (CHAR_0032) | CH05_B05 · dialogue_initiation | Stay inside the marked ground. The line of ash and lime is not decoration. It is the work of her hands, and it holds. | ST_CH05_HW.N01; VO; monologue node; register calm-and-instructive |
| SC05_HW_N02 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · dialogue_initiation | You came up the mountain the hard way. Good. The soft ways are watched tonight. | ST_CH05_HW.N02; VO; register warding-authority |
| SC05_HW_N03a | protagonist | CH05_B05 · six_option_voice_response (TRULY_GOOD) | Tell me how to help you hold the line. I will stand where you need me. | ST_CH05_HW.N03a; VO; six_option node, writes WS_018; gender-neutral, player-voiced |
| SC05_HW_N03b | protagonist | CH05_B05 · six_option_voice_response (TRULY_BAD) | If the whole village fears one man this much, his name is worth something to the right buyer. | ST_CH05_HW.N03b; VO; writes WS_018; extraction-lean, reveal-safe (targets the corrupt individual only) |
| SC05_HW_N03c | protagonist | CH05_B05 · six_option_voice_response (SYMPATHETIC) | You have done this before. It costs you every time, does it not. | ST_CH05_HW.N03c; VO; writes WS_018 |
| SC05_HW_N03d | protagonist | CH05_B05 · six_option_voice_response (DETACHED) | Show me the wards. I will learn what they are for and nothing more. | ST_CH05_HW.N03d; VO; writes WS_018 |
| SC05_HW_N03e | protagonist | CH05_B05 · six_option_voice_response (CURIOUS) | What is it, exactly, that walks out there. Not a ghost. You do not ward a house against a memory. | ST_CH05_HW.N03e; VO; writes WS_018 |
| SC05_HW_N03f | protagonist | CH05_B05 · six_option_voice_response (DEFIANT) | Let it come to the line, then. I would rather meet it than sit listening for it. | ST_CH05_HW.N03f; VO; writes WS_018 |
| SC05_HW_N04 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | It is not one of ours. Understand that first. The dead we keep — the sombaon we lift up, the sumangot who watch the doorways — they do not hunt. This thing was made to hunt. | ST_CH05_HW.N04; VO; glossary: sombaon, sumangot (do not translate; gloss); care-critical line |
| SC05_HW_N05 | Siddarta Sinaga (CHAR_0032) | CH05_B05 · scripted_response | The pustaha names it, and it names the wrong that makes it. It is not superstition to fear a thing your own grandmothers learned to shut out. | ST_CH05_HW.N05; VO; glossary: pustaha; anti-fringe framing (real feared being, not trope-horror, not baseless) |
| SC05_HW_N06 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | A datu is meant to keep the doorway between the living and the honored dead. This one propped it open and sold what came through. Do not mistake the man for the office. The office is old and good. He is neither. | ST_CH05_HW.N06; VO; glossary: datu; care-critical (office honored, corrupt individual routed); reveal-safe (local motive) |
| SC05_HW_N07 | protagonist | CH05_B05 · monologue (interior) | Something out past the lime-line pulls at the place under the ribs where the hidden thing lives. Not a sight. Not a knowing. Only a pull, like standing near a drop in the dark. | ST_CH05_HW.N07; interior line, non-VO or low whisper; HL_0028 — a pull, never a tier-6 vril-sight; no reveal figure |
| SC05_HW_N08 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | Feel that? Everyone does, on a warding night. It is fear doing its proper work. Fear is knowledge that has not found its words yet. | ST_CH05_HW.N08; VO; recontextualizes the interior pull as ordinary warding-night fear (keeps the reveal held) |
| SC05_HW_N09 | Siddarta Sinaga (CHAR_0032) | CH05_B05 · scripted_response | Hold the eastern post. When the gondang starts, do not stop drumming, whatever you hear. The drums are not music tonight. They are the wall. | ST_CH05_HW.N09; VO; glossary: gondang; gameplay cue (hold-the-line sequence) |
| SC05_HW_N10 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · beat_transition (dawn) | It broke on the line and went back the way it came. It will not go hungry forever, but it did not eat here. That is the whole of a good night. Not a victory. A doorway kept. | ST_CH05_HW.N10; VO; the endure-and-hold ethic, mirrors the Naga Padoha lesson |
| SC05_HW_N11 | Siddarta Sinaga (CHAR_0032) | CH05_B05 · scripted_response | You held the post. My teacher would have said the mountain looked at you and decided to let you climb it. | ST_CH05_HW.N11; VO; Khan-bond lead-in flavor |
| SC05_HW_N12 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | There is a tiger on the ridge that has watched you since the lower path. It has not run and it has not charged. Among us that is not danger. That is a question. Answer it with stillness. | ST_CH05_HW.N12; VO; Khan respectful-distance bond trigger (ws.familiar_bond_state) |
| SC05_HW_N13 | protagonist | CH05_B05 · scripted_response (interior action) | The tiger's eyes hold across the warded ground. No looking away. No reaching. The great cat lies down at the edge of the light. | ST_CH05_HW.N13; interior action beat, non-VO; sets +khan_g1_bonded (offered, not forced) |
| SC05_HW_N14 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | Remember what you learned on the line. The thing to break is never the frightened house. It is the hand that set the fear loose. | ST_CH05_HW.N14; VO; the hand is the corrupt datu (local, named-able); reveal-safe |
| SC05_HW_N15 | Siddarta Sinaga (CHAR_0032) | CH05_B05 · scripted_response | When you go down to the port, the ledger will feel colder than any spirit on the line. Read it the same way we read tonight. Do not fear it. Name it. | ST_CH05_HW.N15; VO; threads to QS_CH_05_02 / SQ4 |
| SC05_HW_N16 | protagonist | CH05_B05 · monologue (interior) | Filed with the rest — the drum-wall, the honored dead, the difference between a frightened house and the man who set the fear loose in it. Filed and unnamed, the way everything is carried. | ST_CH05_HW.N16; interior line, non-VO; the filed-and-unnamed motif; no reveal |
| SC05_HW_N17 | Boru Simanjuntak (CHAR_0038) | CH05_B05 · scripted_response | Sahala go with you. You kept a doorway tonight. Wherever you are going, there will be more of them than you think. | ST_CH05_HW.N17; VO; glossary: sahala; closing blessing |
Each entry is a place where the §5 or §6 schema demanded something the spine, region page, and registries do not provide. A gap surfaced is the spike succeeding at its job; none was filled by invention.