CH_05_quests.md

chapters/CH_05/quests/main_story/CH_05_quests.md

CH_05 Quest Set — Sumatra and Java (Quest-Writing Spike)

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.

Front block

Main-story quest chain

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).

QS_CH_05_01 — The Monument That Makes You Small

QS_CH_05_02 — The Strait Is Sold

QS_CH_05_03 — The Killing-Spirit and the Healer

QS_CH_05_04 — The Serpent Under the Caldera

QS_CH_05_05 — Follow the Sold Routes North

QS_CH_05_06 — The God-King's Stolen Water

option (action-keyed)directionws_writes
restore the baray flow and expose the official — turn the hoarded water back, reopen the sanctuaries, unseat him to answergenerativews.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 standingneutralws.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)corrosivews.integrity_score -substantial-corrosive; ws.reputation_biography_propagation +extraction-feared; ws.community_state_per_region +baray_restored; ws.faction_standing_per_faction court -

QS_CH_05_07 — The War's Other Peer

QS_CH_05_08 — The Datu Who Sold the Strait

option (action-keyed)directionws_writes
bring the decoded evidence and pacify him before the duel — the datu taken alive to answergenerativews.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 backgenerativews.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 onneutralws.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)corrosivews.integrity_score -substantial-corrosive; ws.community_state_per_region +strait_reopened; ws.reputation_biography_propagation +feared

QS_CH_05_09 — The Strait Reopened

Side quests

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.

SS_CH_05_SQ4 — The Sold-Strait Ledger

SS_CH_05_SQ11 — The Empire Selling Itself

SS_CH_05_SQ1 — The Killing-Spirit and the Honored Dead

SS_CH_05_PUSTAHA — The Pustaha in Trade

SS_CH_05_HARBOR — A Way Back

SS_CH_05_ORANGPENDEK — The Small Forest Man

Dialogue dataset sample — QS_CH_05_03 (The Killing-Spirit and the Healer)

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_idspeakertrigger / beattextlocalization-ready FText note
SC05_HW_N01Siddarta Sinaga (CHAR_0032)CH05_B05 · dialogue_initiationStay 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_N02Boru Simanjuntak (CHAR_0038)CH05_B05 · dialogue_initiationYou came up the mountain the hard way. Good. The soft ways are watched tonight.ST_CH05_HW.N02; VO; register warding-authority
SC05_HW_N03aprotagonistCH05_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_N03bprotagonistCH05_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_N03cprotagonistCH05_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_N03dprotagonistCH05_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_N03eprotagonistCH05_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_N03fprotagonistCH05_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_N04Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseIt 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_N05Siddarta Sinaga (CHAR_0032)CH05_B05 · scripted_responseThe 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_N06Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseA 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_N07protagonistCH05_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_N08Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseFeel 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_N09Siddarta Sinaga (CHAR_0032)CH05_B05 · scripted_responseHold 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_N10Boru 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_N11Siddarta Sinaga (CHAR_0032)CH05_B05 · scripted_responseYou 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_N12Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseThere 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_N13protagonistCH05_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_N14Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseRemember 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_N15Siddarta Sinaga (CHAR_0032)CH05_B05 · scripted_responseWhen 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_N16protagonistCH05_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_N17Boru Simanjuntak (CHAR_0038)CH05_B05 · scripted_responseSahala 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

Contract gaps

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.

Generated by harness/site/structure_site.py — the URL path is the repo path. review root