systems/TRADE_GATE_EXEMPLAR_Q_TR6_NEO.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 §12·CVD §14·T1_Build_Pipeline_Contracts·T1_CVD_Creative_Vision_Document·T1_Trades_Master·T0_Character_Index·T0_Equipment_Registry·T0_Flora_Registry·T0_Gather_Node_Registry· (+8 more t0) ·docs/spine/CH_02.md·docs/spine/CH_03.md·docs/spine/CH_07.md·docs/spine/CH_21.md·_source/02_Tier_2_Region_Pages/flores_island.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.
Status: PROPOSAL-TIER. Lane C of the content-exemplar wave (claim ff6ac790). Nothing here is canon; nothing
here edits a registry, a spine node, or a _source tier doc. This document is the pipeline-B3 exemplar
docs/PIPELINE_LEDGER.md L121 asks for — one trade's Neophyte gate authored end to end, with the in-engine
tier-gate unlock named precisely enough that the next engine window can execute it from this doc alone.
It also carries one finding the mandate could not have known, because it lives in a single CVD line: the
Neophyte gate is pinned by the constitution to the trade's canonical home-base chapter, and Trade 6's home
base is Ch 21 China, not Ch 2 Flores. Section 1 is that finding, with options and a recommendation. Sections
2 through 11 author the exemplar under the recommendation, so the wave gets its deliverable either way.
DERIVED FROM — every claim below traces to one of these lines, and each is quoted where it does work:
_source/01_Tier_1_Foundation/T1_CVD_Creative_Vision_Document [ACTIVE v1.4].md L629-631 — "Tier 1 —Neophyte (LEVEL 1; numerical 1-9) · Initial unlock, beginning practitioner. · Quest gate:
trade-introduction questline at canonical home-base chapter". The gate's location is constitutional.
the internal progression the 120-slot roster re-keys on. "the grade NAME (Neophyte through Magus) is the
canonical-primary key, with the numbers as secondary encodings."
Manggarai ikat, Yoruba aso-oke, Asante kente, and Chinese silk carry pattern-substrate. Pattern-vocabulary
encodes proverb tradition... Mastery unlocks pattern-memory perception." The CVD itself names Manggarai
ikat as Trade 6 pattern-substrate. This is the strongest grounding the Flores content has, and it is
constitutional rather than page-tier.
_source/01_Tier_1_Foundation/T1_Trades_Master [ACTIVE v1.0].md L75 (§3.6) — Trade 6 ancient home Ch 21China, modern home Ch 60 Japan (pinned at §3.11 L102). L117 (§4.1) — "Level 1 Neophyte. Numerical
threshold 1. The first quest-unlock; the player commits to the trade as a developable capability and
unlocks Neophyte content. Trade master first-encounter content authors here." L178 (§5.6) — the Trade 6
gate roster, level_1_neophyte:Q_TR6_NEO. L210 (§6.3) — the Atelier compound houses Trades 6 and 7.
L248 (§8.2) — "every trade master teaches the worldview the trade encodes alongside the operational skill
at every tier from Neophyte through Magus." L256-258 (§8.4) — the institutional-individual and
community-substrate trade-master registers. L275 (§9.1) — T6+T9 encoded garment patterns at Adeptus Minor.
L291 (§10.1) and L307 (§10.5) — "Worldview surfaces through DOING — the craft, its tools, its moveset —
never as a mandatory monologue or lecture, and never gating progression."
docs/spine/CH_02.md L55 — the ikat civilizational mark, "the Trade 6 Tailoring substrate seed via theweaver Emma". L70 — "Trades seed the Trade 6 Tailoring substrate (the weaver Emma, cotton-ikat)... no home
base in the survival opener." L91-92 — the manggarai_village_edge site row, protected true. L156-160 —
CH02_B10, the exit beat at the village edge with CHAR_0009 and CHAR_0012. L185 — "(twelve_level_gate: none
binds at Ch 2; SQ gates are state-conditions, non-gating on the main spine.)" L190 — Weaver Woman Emma
(CHAR_0010), "the ikat weaver who opens the Trade 6 Tailoring substrate through the Manggarai cotton-ikat
tradition; a teacher, never a target." L250 — "trades no home base; Weaver Woman Emma seeds the Trade 6
Tailoring substrate through the cotton-ikat tradition (the Trade 6 ancient home itself roots later, at
Ch 21)." L257 — the rewards line, seed anchors deferred.
docs/spine/CH_21.md L91-92 — the suzhou_silk_workshops site row, "the Trade 6 Tailoring ancient home,sericulture continuous from the legendary Leizu, kesi tapestry-weaving, brocade and embroidery regalia;
hosts CH21_B07." L141-145 — CH21_B07, mode trade, "root the Trade 6 Tailoring ancient home base",
out {ws.dwelling_home_ledger: +trade_06_tailoring_china_ancient_home, local.trade6_rooted: true}.
_source/02_Tier_2_Region_Pages/flores_island.md L831-832 — "cotton (the ikat/songket weaving fiber — theTrade-6 Tailoring substrate)". L837-842 — "No trade home base roots in the region — the Trade-6 Tailoring
substrate seeds via the weavers (Emma at Ch 2, Ibu Martina at Ch 3), with the ancient home rooting later
at Ch 21." L1494-1495 (Section 14) — "Trade 6 Tailoring — trade-masters Weaver Emma (Ch 2) and
Weaver-Elder Ibu Martina (Ch 3); the cotton-ikat and songket backstrap-weaving substrate." L346-350 and
L1705-1708 — the textile substrate declared an honest acquisition GAP. L378-381 — the Keo hand-spun cotton
measure. L421-425 — the Ndao and Bugis cloth trade reach. L1212-1216 — the cross-culture attribution
discipline. L1256-1259 — the protected-village staging rule.
T0_Trade_Registry @ TRADE_06 (ancient Ch_21 China, modern Ch_60Japan_kimono_textile, the full twelve-gate array, ceremony refs Q_TR6_PRT and Q_TR6_BAB);
T0_Questline_Index @ TRADE_06 (chapter_span Ch_21-Ch_59_65_TBD_phase_6, "12-tier gates Q_TR6_NEO..
Q_TR6_MGS"); T0_Quest_Seed_Registry @ SEED_0003 and @ SEED_0008 (read-only — a sibling seat owns that
registry); T0_Character_Index @ CHAR_0010, @ CHAR_0018, @ CHAR_0012; `T0_Gather_Node_Registry @
GN_0004 (cotton, manggarai_village_edge, crop_cycle, tool_or_trade_required = Tailoring_T6`);
T0_Flora_Registry @ FL_0006 (Cotton, *Gossypium arboreum*, flores_island, CH_02-CH_03, gatherable
boll_fiber;seed); T0_Recipe @ RCP_0014 (T6+T9 encoded garment patterns, station atelier, level 6);
T0_Quest_Definition_Registry (16 rows, all endgame or hard-line, header carries every §6.5 typed field).
T1_Build_Pipeline_Contracts [ACTIVE v1.0] §6.5 L1440-1500 — the quest schema, and the mechanicalcompletion pass that closed CG-01 through CG-05, CG-07 through CG-12 (dialogue half), and CG-13 through
CG-28.
framework is universal and does not vary by capability), HL_0085 (Book of Trades fill paths; never by
combat alone and never purchased), HL_0003 and HL_0002 and HL_0005 (the care floor), HL_0039 through
HL_0041 (six options, all six written and voiced, actions and silence are valid options).
docs/proposals/dialogue/ch2_ch3_dialogue.json — 22 authored rows carrying Emma's voice, DL_CH02_B10_A22 and A23 (Teresa's blanket, hook TRADE_06_TAILORING_SEED) and DL_CH03_HUB_EMMA_C01 through C18 and G01
through G04 (the loom sequence and the penti sequence).
docs/CONDITION_EXPRESSION_GRAMMAR.md §1-2 — the one gate grammar every condition below is written in.NOT DERIVED — authored judgment, each with the reason it had no canon home:
teacher, the material, the lesson content, and the register; it gives no objective decomposition anywhere,
because §5 of Trades_Master explicitly defers gate content to Tier 5 and that Tier 5 doc is a two-line stub.
ws.trade_mastery_state, ws.book_of_trades_entries, ws.trade_06_substrate_opened). None of the three exists in
T0_Worldstate_Variables — verified by reading the rows, not assumed. All three are PROPOSED here and
minted by the registry lane, never by this doc.
Ch-21 half of that split is a resolution of a canon conflict, argued in Section 1; the Ch-2/Ch-3 half is
NOT authored judgment and belongs above rather than here — it is compelled by §6.5 L1449's
chapter-is-ownership-unit rule and mirrors the registry's own SEED_0003 → SEED_0008 chain.
natural-voice doctrine and are replaceable.
DT_Trade reader with GGreyboxRequiredUnits = 2) toward the canon the runtime does not yet hold, and it is engineering
judgment about order, not canon.
The mandate, and docs/PIPELINE_LEDGER.md L121 behind it, names the exemplar as "Trade 6 Tailoring at Ch 2
Flores". Read strictly against the constitution, a Neophyte gate cannot sit at Ch 2.
CVD §12.1 L631 states the Tier 1 gate as "trade-introduction questline at canonical home-base chapter (or
capability-introduction questline for non-trade capabilities)". Trade 6's canonical home base is Ch 21 China
(T1_Trades_Master §3.6 L75, pinned at §3.11 L102; T0_Trade_Registry @ TRADE_06). Flores explicitly roots
no home base — the region page says it outright at L840-842 and the spine repeats it at CH_02.md L250 — and
HL_0033 pins one ancient home per trade, so a Ch-2 home base would break a hard line, which is exactly why
SEED_0003's own notes refuse the trade_questline_home_base type and why CHAR_0010's extensions cell
reads trade_6_tailoring_seed_introduction_full_ancient_home_base_at_Ch_21_china_per_T1_Trades_Master_3_6.
Four registry rows and two doc lines all say the same thing independently.
There is also an AFFIRMATIVE schema reason the split below is the right shape rather than merely the
permitted one. §6.5 L1449 rules the chapter to be the quest-ownership unit — "a quest belongs to its
chapter" (CG-28) — which makes a single quest row spanning Ch 2 and Ch 3 illegal, not just untidy. The
registry already models the legal shape for exactly this content: SEED_0003 at CH_02 and SEED_0008 at
CH_03, chained by prerequisite_quest_ids. This document follows that chain rather than inventing one.
Two apparent conflicts are NOT conflicts, and both are worth recording so a later pass does not re-litigate
them:
CH_02.md L185 "(twelve_level_gate: none binds at Ch 2)" is not a prohibition on trade gates. The identical line appears at CH_21.md L204 — Trade 6's own home base, where the trade demonstrably roots —
and at CH_07.md L228, where two home bases root. The line sits inside the side-questline block and means
no SQ stage is gated behind a mastery level. It is boilerplate about SQ gating.
T1_Trades_Master §4.1 L117 "Trade master first-encounter content authors here" does not place the gate atEmma. It says trade-master first-encounter content authors AT the Neophyte gate; it is silent on location,
and CVD is not. Where T1 is silent and CVD specifies, CVD binds.
THE BEST ARGUMENT FOR THE ORIGINAL CH-2 DESIGN, stated at full strength and then answered, because it
deserves better than the paragraph above gives it. Chain two lines and the Ch-2 gate looks canonical:
flores_island.md L1494 says outright "Trade 6 Tailoring — trade-masters Weaver Emma (Ch 2) and
Weaver-Elder Ibu Martina (Ch 3)", and §4.1 L117 says "Trade master first-encounter content authors here" —
at the Neophyte gate. If Emma is a trade-master, and trade-master first-encounter content authors at the
Neophyte gate, then the Neophyte gate is where Emma is, which is Ch 2. That is a real argument from two real
canon lines and it is why the ledger's exemplar sentence reads the way it does.
It fails on three counts, in ascending order of force. First, authority: flores_island.md is a Tier-2
region page, subordinate to CVD and to T1 by the authority hierarchy, so where it and CVD §12.1 L631 imply
different gate locations, CVD wins by construction — the page cannot relocate a constitutional gate by
naming an NPC. Second, the inference is invalid on its own terms: naming an NPC a trade-master states that
a trade-master is present, not that a HOME BASE is rooted, and §4.1's "here" is the gate, not the teacher —
the sentence places CONTENT at the gate, it does not place the gate at the content. Third, and decisively,
the same page refuses the conclusion in its own voice eight hundred lines earlier: L840-842, "No trade home
base roots in the region — the Trade-6 Tailoring substrate seeds via the weavers (Emma at Ch 2, Ibu Martina
at Ch 3), with the ancient home rooting later at Ch 21." The page calls them trade-masters and denies them a
home base in the same document, which is not a contradiction — it is the page correctly distinguishing a
teacher from a rooting, exactly as this section does.
So the conflict is real and it is singular: the exemplar's chapter. Four options, each steelmanned.
friction. Cost: Ch 21 sits outside the ruled slice (Prologue through Ch 13), so the exemplar can never be
played or Josh-graded under the Josh Gate — which is the entire point of an exemplar. This option produces
a document and no playable proof.
it costs. Cost: it is a CVD edit, the constitution wins every conflict, and CLAUDE.md makes cardinal canon
Josh's. Not a lane's call, and not a director's either.
enrolment row, and the Ch-21 gate (three rows, because §6.5 L1449 owns the Ch-2/Ch-3 half of that split).
The Flores content is authored end to end as what canon already types it: a trade_expression — "a trade's
craft, material, technique, or forage expressed as playable content outside that trade questline's tier
ladder, where the trade is the subject and not the progression track" (§6.5 quest_type enum, the definition
SEED_0003 already cites). It is fully playable in the slice, fully gradeable, opt-in and non-gating, and
it writes real durable state. Q_TR6_NEO proper is authored at Ch 21 CH21_B07, and it CONSUMES that Flores
state: a player who wove Emma's first band arrives at Suzhou carrying it, and the gate quest recognizes it.
Everything B3 asks the engine to grow — the mastery ladder, the tier-gate unlock path, the DT_Trade gate-id
join, the Book of Trades write — is built and exercised, and the slice gets a real playable trade surface.
under-noticed, and stronger than first stated: Ch 7 South India roots Trade 3 Blacksmithing and Trade 4
Herbalism (CH_07.md L79, L285, L309, beat CH07_B03 at L130), Ch 8 Swahili Coast roots Trade 10, Ch 12
West Africa roots Trade 1. And the CVD-canonical shape is not merely available in the slice — it is
ALREADY TYPED there. T0_Quest_Seed_Registry carries 23 seed rows with a trade_anchor, of which four
are typed trade_questline_home_base outright: SEED_0031 (CH_07, TRADE_03), SEED_0032 (CH_07, TRADE_04),
SEED_0037 (CH_08, TRADE_10) and SEED_0066 (CH_12, TRADE_01). Those four are home-base seeds at home-base
chapters inside the slice, which is precisely the shape CVD §12.1 L631 asks a Neophyte gate to hang on,
and none of them needs a split to be legal.
So B3's premise needs narrowing rather than rejecting. "Trade 6 Tailoring at Ch 2 Flores is the only trade
with authored slice substrate" is TRUE and unmatched about DIALOGUE substrate — Emma's 22 authored rows
with a hook token threaded through them exist for no other trade anywhere. It is FALSE about SEED
substrate: 23 trade seeds sit across the slice, four of them home-base-typed. And it is silent about home
bases, which is where the constitutional gate actually has to sit.
RECOMMENDATION: (C) AND (D) TOGETHER — they are complementary, not rivals, and reading them as alternatives
is what makes the mandate feel like a trap. (C) builds the Flores content, which is the richest authored
trade surface in the corpus and is worth building on its own terms; it also builds every piece of engine
machinery B3 asks for. (D) re-points the B3 TIER-GATE exemplar at a home-base trade in slice — Trade 4
Herbalism at Ch 7 is the natural pick, with SEED_0032 already typed and CH07_B03 already rooting the home —
so that a CVD-canonical Neophyte gate gets played and Josh-graded inside the slice, needing no split and no
ruling. The Flores build proceeds as authored either way. What (D) supplies that (C) cannot is the graded
tier gate; what (C) supplies that (D) cannot is a playable trade in the first three chapters Josh touches.
STRONGEST OBJECTION to (C): what Josh actually plays in the slice under (C) is not a tier gate. He plays a
craft surface that opens the trade's substrate and banks a token; the level-1 award happens at Ch 21, which he
will not reach for many chapters. If the point of B3 was to grade a TIER GATE, (C) grades a pre-gate and
defers the graded thing. The answer, offered without waving the objection away: the engine work is identical
under (C) and (B) — a mastery ladder, a gate quest that awards a level, a DT_Trade join — and it is fully
demonstrable in the slice by completing the Ch-21 row in a test harness, which is how every other endgame
quest row in T0_Quest_Definition_Registry will be proved. What (C) declines to do is award a mastery level
at a chapter the constitution says cannot award one. If Josh would rather the enrolment itself confer
Neophyte wherever a trade master first teaches, that is a clean and defensible ruling and it is his; it is a
CVD §12.1 L631 amendment and Section 11 flags it as such.
THREE chained rows, one id each, plus the dialogue dataset each needs. The chain is one per chapter, because
§6.5 L1449 makes the chapter the quest-ownership unit, and it mirrors the SEED_0003 → SEED_0008 chain the
seed registry already carries for this exact content.
QUEST_TRADE_06_FLORES_HOOK_UNLOCKED, quest_type trade_expression, chapter 2, realizing CH02_B10, carrying OBJ_01 and OBJ_02. It is Teresa's blanket and nothing else, and it realizes SEED_0003.
QUEST_TRADE_06_FLORES_ENROLMENT_UNLOCKED, quest_type trade_expression, chapter 3,realizing the Wae Rebo hub beats, carrying OBJ_03 through OBJ_11. It is the loom, the thread, the first
band and the return, and it realizes SEED_0008. Its prerequisite is the hook row, and the prerequisite is
soft: a player who never took the blanket can still sit down at Emma's loom, and the hook only changes how
the first exchange opens.
QUEST_TRADE_06_NEOPHYTE_UNLOCKED, quest_type trade_questline_tier_progression, chapter 21,realizing CH21_B07, questline_id TRADE_06, twelve_tier_gate NEOPHYTE. It is the row that closes 1 of the
120 placeholders, and it consumes the Ch-3 row's durable write.
The quest_id format rule at §6.5 L1444 is QUEST_<quest_anchor_id>_<path_bucket>. Q_TR6_NEO is the id the
trade registry's twelve_tier_quest_gates array already carries, so the two id spaces meet: the registry
array value stays Q_TR6_NEO verbatim, and the quest row's own quest_id is
QUEST_TRADE_06_NEOPHYTE_UNLOCKED with quest_anchor_id = TRADE_06_NEOPHYTE. The join from the array to the
row is by twelve_tier_gate = NEOPHYTE plus questline_id = TRADE_06. This is a real schema seam and
Section 11 flags it: nothing in the corpus states how a Q_TRn_XXX placeholder resolves to a QUEST_* row.
Staging constraints that are canon, not preference. manggarai_village_edge is the site the region page
marks referenced-and-not-entered, so nothing plays inside THAT settlement's threshold
(flores_island.md L1256-1259; SEED_0003 notes state the same rule for this exact seed). This is a
narrower rule than "protected", and the distinction matters: wae_rebo_village is also protected true
(CH_03.md L77) and the Ch-3 spine hosts CH03_B01 and CH03_B12 there, so protection means living heritage
referenced rather than reproduced, not a place the player may not stand. Emma is not an actor on any Ch-2
beat — CH02_B10's actors are the protagonist, CHAR_0009 and CHAR_0012 (CH_02.md L158) — and her 22 authored
lines are all at the Ch-3 Wae Rebo hub. So the chain OPENS at Ch 2 through Teresa's blanket, exactly as the
authored dialogue already stages it, and its craft body plays at Ch 3 where Emma and her loom canonically
are. That is derivation from the authored dialogue, not a design preference.
Four stages, eleven objectives, across two quest rows: Stage 1 is the Ch-2 hook row, Stages 2 through 4 are
the Ch-3 enrolment row. Conditions are written in the one grammar
(docs/CONDITION_EXPRESSION_GRAMMAR.md §1); every consumed key is produced by a prior objective or by a
spine beat's out: map, per the produce-before-consume rule.
manggarai_village_edge, mode character)The hook is already authored and needs no new line: Teresa hands over her blanket at DL_CH02_B10_A22 — "This
one's mine, so don't do anything to it. Emma made it and Emma counts" — and A23 names the test the trade will
later actually set: "She'll ask you what you think of it, and there's a right answer, and I'm not telling you
what it is." Three of those options already carry quest_hook = TRADE_06_TAILORING_SEED.
has(local.village_edge_reached) & flag(local.teresa_blanket_taken). local.village_edge_reached is
CH02_B10's own out: key (CH_02.md L159), so the consume is legal; local.teresa_blanket_taken is
produced by this objective. Player-facing line stays domestic; nothing announces a trade.
— the band, the near-repeat, the edge finish — with no explanation offered and no journal entry minted.
Completes on read(teresa_blanket). This is the L2 hook and the only thing Ch 2 spends on the trade.
Care and reveal at this stage: the cloth reads as a made thing with a maker, on the arc's most careful
chapter, and the child owes it back. Nothing is inventory, nothing is looted, and nothing is bought — HL_0085
forbids the Book of Trades to be purchased, and the first Book entry here is earned by being lent something
and looking at it properly.
Hook-row completion condition: has(local.village_edge_reached) & flag(local.teresa_blanket_taken). OBJ_02
is optional and is not in the completion expression, which is the machine form of "the only thing Ch 2 spends
on the trade is a look you do not have to take."
wae_rebo_village, mode learning)Emma's authored sequence is the stage. DL_CH03_HUB_EMMA_C01 through C05 is the approach and the first task
("Pass me that shuttle when I ask, and don't wait for me to say please"), C06 and C07 are the lesson, C08 and
C09 are Ibu Martina's authority and what a pattern is allowed to say.
thumb underneath, and the cost of letting go is her morning as well as yours. Completes on
at(wae_rebo_village) & flag(local.emma_grip_held).
she says at C05 not to wait for a please. Completes on flag(local.emma_shuttle_passes_done).
what it's doing." Completes on flag(local.emma_band_read). The three authored answers are already
differentiated — "It repeats" / "It nearly repeats. Not exactly." / "I don't know what I'm looking at." —
and only the second carries the hook token, which is the authored answer being right without the scene ever
saying so.
The worldview lands here and it lands through doing, per §10.5 L307. C07 is the whole Pillar-9 substrate in
one line a person would actually say: "It nearly repeats. The nearly is the point. A cloth that repeats
perfectly is a fence, and nobody wants to wear a fence." C09 is identity-encoding stated as village fact, not
as metaphysics: "Whose you are. Where you stand when there's a feast. Which house is inside your house. A
stranger reads all that off you at forty paces and never has to ask you one question." No lecture, no
mandatory monologue, no gate — a player who skips every optional node still completes the stage on OBJ_03 and
OBJ_04.
wae_rebo_village loom, mode learning)crop_cycle respawn, tool_or_trade_required = Tailoring_T6, yielding FL_0006 (*Gossypium arboreum*, flores_island,
CH_02-CH_03, gatherable boll_fiber;seed). Emma's own authored line makes the fiber chain canon at
dialogue tier — C12, "Thread is grown here, not bought, and I grew it." Completes on
flag(local.cotton_brought), which the gather ledger sets when the required units are banked. See
Section 8 on the count, and the paragraph below on where the node stands.
her corrections. This is where the craft is taught as craft and where Section 4's substrate discipline
binds hardest. Completes on flag(local.cotton_brought) & flag(local.thread_spun).
you nothing. You're making it, and it'll be bad, and you'll keep it, because the first one is the only one
that tells the truth about you." Completes on flag(local.thread_spun) & flag(local.first_band_woven).
diagnostic, not a compliment: "That's your strong arm, not the cloth. A first line always wanders off
toward the arm you favor. Now you know something about yourself you didn't know before you sat down, and it
was the band that told you." Completes on flag(local.first_band_read).
WHERE THE COTTON NODE STANDS, resolved rather than inherited. GN_0004's site_anchor cell reads
manggarai_village_edge — a CH_02 site row (CH_02.md L91) that appears zero times in CH_03.md — while the
node's own notes cell describes "the lingko-fan agricultural threshold", and the Ch-3 site that IS the lingko
fan is compang_lingko_fields (CH_03.md L79, terrain agricultural). Under the three-row split the objective
sits in the Ch-3 row, so the Ch-3 row must anchor it at a site the Ch-3 spine carries, and it does: OBJ_06
binds by zone_ref to compang_lingko_fields, which the CG-05 spatial join explicitly permits alongside
site_ref. The alternative — moving OBJ_06 up into the Ch-2 hook row so it can use the node's literal
site_anchor — is rejected on play grounds: the player would be gathering cotton before anyone has given
them a reason to, which turns the arc's coldest chapter into a shopping trip. The residue is a registry
question and Section 11 flags it: GN_0004's site_anchor names a chapter the node's own note does not, and
the registry lane should either add a Ch-3 anchor or state that the cell is chapter-agnostic.
tool_or_trade_required = Tailoring_T6 on GN_0004 is a second real design question this document must not
paper over: if that column is read as requiring Trade 6 at level 1 or above, the cotton node is unreachable
before the level exists, and the Flores content would gate on the thing it exists to open. Recommended
reading, and it is a reading rather than a ruling: the column names the trade the node BELONGS to, not a
level threshold — the sibling rows all carry the same shape (Herbalism_T4, Mining_T2, Engineering_T8)
and Trade 2's node GN_0009 sits at Ch 2 where Mining has no level either. Section 11 flags the semantics.
wae_rebo_village, mode character) is" — and she means it literally. Completes on flag(local.first_band_shown).
for declining. C15 already refuses to accept a promise as payment: "You either come back or you don't.
Saying it now doesn't tighten the band. Off you go." Completes on
flag(local.trade_06_enrolled) | flag(local.trade_06_declined).
Enrolment-row completion condition: `flag(local.first_band_shown) & (flag(local.trade_06_enrolled) |
flag(local.trade_06_declined))`. Both terminal states complete the quest. Declining is a real ending, it
banks the Book of Trades entries already earned, and it can be reversed by returning to any Trade 6 master
later — the trade is a capability the player commits to, per §4.1 L117, and a commitment you cannot decline
is not one.
PRODUCE-BEFORE-CONSUME, SHOWN RATHER THAN ASSERTED. Each of the eleven objectives produces the key the next
one consumes: OBJ_01 produces local.teresa_blanket_taken; OBJ_03 local.emma_grip_held; OBJ_04
local.emma_shuttle_passes_done; OBJ_05 local.emma_band_read; OBJ_06 local.cotton_brought; OBJ_07
local.thread_spun; OBJ_08 local.first_band_woven; OBJ_09 local.first_band_read; OBJ_10
local.first_band_shown; OBJ_11 local.trade_06_enrolled or local.trade_06_declined. Two keys are
consumed from outside the quest and both are spine out: products: local.village_edge_reached from
CH02_B10 (CH_02.md L159) and, in Section 6, local.trade6_rooted from CH21_B07 (CH_21.md L144). One key
in Section 6's completion expression, local.neophyte_commitment_made, is produced by the Ch-21 gate quest's
own commitment objective — the second of its two objectives — and by nothing else; naming its producer here
closes the last unproduced consume in the chain.
The mandate asks for "real Manggarai/Flores weaving practice from the region page's own substrate, cited."
The region page's own answer is that it does not have it, and the page says so twice, in its own words:
per-settlement data... are not attested by either source — Section 16 records the textile substrate in
particular as an honest gap rather than a citation. Those lanes stay open against the Section-16
acquisitions instead of being filled from a neighbouring people's record."
substrate yet' rather than a false Egypt citation."
That is a finding, not an obstacle, and it changes what this exemplar is allowed to teach. Four registers,
kept separate and labelled, because collapsing them is exactly the failure mode the page was built to prevent.
WHAT IS ATTESTED AND USED. The pattern-substrate itself is CONSTITUTIONAL, not page-tier: CVD §14.3 L795
names "Manggarai ikat" among the textile traditions that "carry pattern-substrate", and states the mechanic —
"Pattern-vocabulary encodes proverb tradition, paralleling the Akan goldweight parallel writing system.
Mastery unlocks pattern-memory perception." Everything Stage 2 teaches about what a band says and what a
pattern is allowed to say is that line realized, and the proverb tie is not decorative here: Ch 2 and Ch 3
already run a proverb tradition as a load-bearing mechanic (the ARMED village saying at CH_02.md L210 and
the Corrupted Hunter's inversion signature written against it). Cloth-as-proverb and speech-as-proverb are the
same substrate in the same two chapters, and the enrolment body can lean on that without inventing a single
motif meaning.
WHAT IS PAGE-AUTHORITY AND USED AS SUCH. Cotton as the fiber, and backstrap ikat and songket as the technique
family, are carried on the page's own authority at L831-832 and L1494-1495, mirrored as data in FL_0006 and
GN_0004. The exemplar uses the fiber chain, the loom's body grammar, and the near-repeat principle — all of
which the authored dialogue already renders — and nothing finer.
WHAT IS ATTESTED BUT DELIBERATELY NOT USED, and this is the care call the lane makes explicitly. The one
genuinely primary-sourced textile-adjacent practice in the processed corpus is Keo, not Manggarai: the
maritime demarcation reckoned with "hand-spun cotton fishing line (wundu) measured in arm-lengths, forty by
forty arm-lengths out into the deep water" (L378-381, SRC_00230 p.216). It is tempting — a real hand-spun
cotton practice with a real body-based measure, perfect for OBJ_07. It is NOT used at Emma's loom, because
the page's own attribution discipline forbids it: "a Keo land-law finding is not a Manggarai one, a Nage rite
is not danced on Manggarai ground" (L332-334), and Section 13 restates it at L1212-1216. The wundu measure
stays available as a KEO-ATTRIBUTED surface if a later pass builds Trade 6 or Trade 10 content on Keo or
central-highland ground; it does not migrate onto a Manggarai weaver. Recording the temptation and the
refusal is the point — this is exactly the transfer the page exists to stop.
WHAT IS OWED. Every finer technique detail — the loom's parts and their names, warp preparation, the tie-dye
resist sequence that makes ikat ikat, the dye plants and mordants, motif vocabulary and who may wear which
band, the songket supplementary-weft work — is OWED to the Section-16 MUST-ACQUIRE (Erb, *The Manggaraians*)
or to a dedicated textile acquisition the page's verify list already names. Until then this exemplar teaches
the fiber, the tension, the near-repeat, and what a pattern is FOR, and it teaches no motif's meaning and
names no loom part in Manggarai. A build that fills those blanks from a general "Indonesian ikat" search is a
defect, and this paragraph exists so that defect is catchable.
The care posture, stated plainly because §17.1 means weight and authenticity rather than omission: the
weaving is rendered as skilled, technical, hard, and socially load-bearing work with a living knowledge-holder
who has an argument running with her own teacher. Emma is prickly, expert, unsentimental and funny; she is
not a serene culture-dispenser. Ibu Martina holds pattern authority and Emma has been arguing with her since
she was smaller than the player, "and she's right about most of it" (C08). That is a living craft with
internal debate, which is the opposite of the museum register, and it is authored canon already — this
document adds nothing to it.
The doctrine question — does a person say this? — is already answered by the 22 authored rows, and the right
move for this lane is to inherit that voice rather than restate it. Her register, derived from the rows and
recorded so new lines match: imperative-first, no preamble, no greeting; corrections that are physical rather
than abstract ("Both hands. Feel where it fights you"); praise withheld and diagnosis given instead;
affection expressed as more work. She interrupts herself with instructions. She never explains the
metaphysics, and the one time she comes closest — the fence line at C07 — it is a joke about clothing.
New lines the enrolment body needs and canon does not yet carry, with what each must do rather than the line
itself, so the dialogue lane authors them in her voice rather than this lane guessing at it:
technique the substrate does not carry. Her own C12 already supplies the frame: the thread is grown here,
and she grew it.
and accurately, and keeps it anyway. The Emma failure mode to avoid is warmth at the end; C15 already
refuses it.
back for. Declining must cost nothing and must not be sulked at.
is a commitment, and commitments reopen.
HL_0039 through HL_0041 bind here and the existing rows do not yet meet them: every dialogue moment surfaces
six options, all six fully written and voiced, with actions and silence as valid registers. The authored Emma
nodes carry two to four options each — DL_CH03_HUB_EMMA_C15 carries two — so the shortfall is worse than a
one-option miss. That is a pre-existing dialogue-lane gap rather than this exemplar's, but the new nodes above
must ship at six, and Section 11 flags the existing shortfall because a critic reading this quest will find it.
The gate quest is anchored at CH21_B07 (CH_21.md L141-145), the beat that already roots the ancient home at
suzhou_silk_workshops and already writes ws.dwelling_home_ledger: +trade_06_tailoring_china_ancient_home.
Nothing about that beat changes; the gate quest is the quest layer hanging on it, which is precisely what
§6.5 realized_beat_refs is for.
The gate semantics, taken from Trades_Master's own framework rather than restated:
Player-facing this is "Tier 1 Neophyte" — the GRADE index and the NAME are the canonical-primary key per
CVD L669, and the level number appears only where the twelve-level roster is enumerated. UI, dialogue and
the Book of Trades say Neophyte; the data says level 1.
Neophyte content." Concretely, and each traceable: the Trade 6 capability becomes developable at all, so
numerical progress in tailoring begins accruing toward the Zelator gate at 10 (§4.1 L118); Neophyte-band
recipes become craftable, which today means none, because T0_Recipe carries no Trade 6 row below level 6
— RCP_0014 is the T6+T9 cross-trade at Adeptus Minor and is the only Trade 6 recipe that exists; Book of
Trades entries for Trade 6 begin accruing through the HL_0085 paths; and the Atelier compound's Trade 6
half becomes meaningful where it exists (§6.3 L210, §6.5 L218 — compounds reach full infrastructure at the
modern chapters).
substrate-perception is Adeptus Minor at level 6 and nothing earlier (§10.2 L295; HL_0028 binds the same
discipline at Ch 2). Pattern-memory perception is the MASTERY payoff of CVD §14.3 L795, not the Neophyte
payoff. Encoded garment patterns need Trade 9 at Adeptus Minor as well (§9.1 L275). The Neophyte gate makes
a beginner, and the trade's whole worldview register at Outer Order is "operational skill with growing
worldview-framework awareness" (§10.1 L291).
Persia (institutional-individual) and Trade 1 Mbuti (community-substrate), and per-trade assignment binds
at Tier 5. The evidence in the slice points to INSTITUTIONAL-INDIVIDUAL for Trade 6: Ibu Martina holds the
seat and "decides what a pattern is allowed to say" (C08), which is a named authority in a lineage at a
fixed location. This is recorded as an observation for the Tier 5 pass, not asserted as canon here.
The gate quest's own shape is deliberately thin, because §5 L154 says T1_Trades_Master "holds the structural
roster only" and gate content authors at Tier 5. What Q_TR6_NEO carries structurally: giver is the Suzhou
workshop master (unminted — no CHAR row exists for Ch 21 tailoring, and minting one is the Character lane's),
trigger giver_dialogue, and two objectives: one gather-and-make objective in the silk tradition the beat
already names, and one commitment objective that produces local.neophyte_commitment_made and carries the
recognition read of the Flores state where it is present.
The Flores handoff, and it is the join that makes the split worth doing: the gate quest's recognition
objective tests ws.trade_06_substrate_opened and, where true, opens an alternate opening exchange — the
Suzhou master reads the player's Flores band and starts the lesson further along. Where false, the gate plays
complete and identical in length. progression_guarantee is plays_through on both routes. The Flores
content is therefore a real, durable, cross-chapter consequence and never a prerequisite, which is the
non-gating multi-path invariant stated as data rather than as a promise.
THE KEY'S TYPE IS FORCED BY THE EVALUATOR, and this is worth stating because the obvious design is illegal.
ws.key OP value is the grammar's only worldstate predicate and it compares against a scalar
(docs/CONDITION_EXPRESSION_GRAMMAR.md §2). An OBJECT-typed key — such as the ws.trade_mastery_state
object keyed by trade_id proposed in §7.3 — cannot be read by it at all: the expression parses and then fails
at evaluation, which is a silent-looking failure mode a build would hit at runtime rather than at authoring.
So the recognition key is proposed as a SCALAR BOOLEAN, ws.trade_06_substrate_opened, written by the Ch-3
enrolment row and read as ws.trade_06_substrate_opened == TRUE. Per-trade scalars scale badly at ten
trades, which is a real cost, and the alternative that avoids both problems is available: seed a
local.flores_band_carried at chapter entry from the durable key and test has(local.flores_band_carried),
which is the pattern the spine already uses everywhere. Either is legal; the scalar is recommended because it
needs no chapter-entry seeding step, and the object mastery key stays object-typed because a per-trade level
ladder genuinely is one. The point recorded for the registry lane: the two keys serve different readers and
should not be merged into one shape.
Both rows are written against the live T0_Quest_Definition_Registry header, which carries every field
§6.5's mechanical completion pass added. Correcting the mandate's premise, and this matters for the wave: the
12 blocks-production gaps recorded on the B1 ledger row (docs/PIPELINE_LEDGER.md L119) are recorded as
CLOSED in the contract itself — §6.5's mechanical completion pass at L1440 states it closed CG-01 through
CG-05, CG-07 through CG-12's dialogue half, CG-19, and the ruling-batch set CG-13 through CG-28. The spike
report's tally is the state of the world in July before that pass. What genuinely remains is REGISTRY
POPULATION, not schema: CG-12's residue (no spike or proposal member on the quest_status enum, so a
proposal-tier row cannot be distinguished from a real pending one), CG-01's targets (T0_RNG_Drop_Table and
T0_Quest_Seed_Registry population), and CG-29 (book-gated, unrelated). So this exemplar does not need to
invent schema, and it does not. Where it cannot type a field, it says so and names why.
| field | value | source |
|---|---|---|
| quest_id | QUEST_TRADE_06_FLORES_HOOK_UNLOCKED | §6.5 L1444 format rule |
| quest_anchor_id | TRADE_06_FLORES_HOOK | §6.5 L1445 |
| quest_name | Emma counts | working label, not display text; from DL_CH02_B10_A22 |
| quest_type | trade_expression | §6.5 L1447 enum; the same type SEED_0003 carries |
| encounter_facet | none | §6.5 L1448 |
| chapter | 2 | §6.5 L1449 chapter-is-ownership-unit (CG-28) |
| path_bucket | UNLOCKED | pre-Ch-65 lock |
| questline_id | TRADE_06 | T0_Questline_Index @ TRADE_06 |
| twelve_tier_gate | NULL | not mastery-gated |
| participant_entity_refs | protagonist; char:CHAR_0012 | CG-08 grammar |
| quest_giver | char:CHAR_0012 | Teresa hands the blanket at DL_CH02_B10_A22 |
| trigger_type | giver_dialogue | §6.5 observed enum |
| realized_beat_refs | CH02_B10 | CG-04 FK |
| objectives_array | OBJ_01, OBJ_02 | CG-02 |
| completion_condition | has(local.village_edge_reached) & flag(local.teresa_blanket_taken) | grammar §1 |
| fail_state | none | |
| progression_guarantee | plays_through | CG-14 |
| state_writes | ws.book_of_trades_entries | UNMINTED — see 7.3 |
| reward_class | substrate_narrative | one Book entry, no item |
| reward_seed_refs | SEED_0003 | read-only reference; the seeds registry is a sibling seat's |
| scene_anchor_array | SC_CH02_village_edge | the row exists at CH_02.md L208, beat_ref CH02_B10 |
| dialogue_dataset_array | docs/quest_dialogue/DD_QUEST_TRADE_06_FLORES_HOOK_UNLOCKED.csv | §6.5 dialogue home |
| spatial_requirements_array | CH02_B10 → site_ref manggarai_village_edge, encounter_mode_tag character | CG-05 FK |
| hard_line_relevance | HL_0003, HL_0002, HL_0005 care floor; HL_0085 the Book is never purchased | hard-line rows |
| author_in_loop_required | TRUE | living-tradition craft content |
| quest_status | proposal — UNAVAILABLE, see 7.3 | CG-12 residue |
| field | value | source | |
|---|---|---|---|
| quest_id | QUEST_TRADE_06_FLORES_ENROLMENT_UNLOCKED | §6.5 L1444 format rule | |
| quest_anchor_id | TRADE_06_FLORES_ENROLMENT | §6.5 L1445 | |
| quest_name | The First Band | working label, not display text | |
| quest_type | trade_expression | §6.5 L1447 enum | |
| encounter_facet | none | §6.5 L1448 | |
| chapter | 3 | §6.5 L1449; the craft body is entirely Ch-3 sited | |
| path_bucket | UNLOCKED | pre-Ch-65 lock | |
| questline_id | TRADE_06 | T0_Questline_Index @ TRADE_06 | |
| twelve_tier_gate | NULL | not mastery-gated; this is the point of the split | |
| sq_stage / sq_gate_condition | NULL | not a side_questline_stage | |
| participant_entity_refs | protagonist; char:CHAR_0010; char:CHAR_0018 | CG-08 grammar | |
| quest_giver | char:CHAR_0010 | Emma, at the loom; the hub sequence opens at DL_CH03_HUB_EMMA_C01 | |
| trigger_type | giver_dialogue | §6.5 observed enum | |
| realized_beat_refs | CH03_B01; CH03_B05; CH03_B12 | CG-04 FK; the two wae_rebo_village beats (CH_03.md L103, L158) plus the beat Emma's penti sequence triggers on | |
| objectives_array | OBJ_03 … OBJ_11 per Section 3, each with beat_ref and completion_condition | CG-02 | |
| completion_condition | flag(local.first_band_shown) & (flag(local.trade_06_enrolled) \ | flag(local.trade_06_declined)) | grammar §1 |
| fail_state | none | there is no failing attempt; the band is allowed to be bad | |
| progression_guarantee | plays_through | CG-14; nothing here touches the main spine | |
| state_writes | ws.trade_06_substrate_opened; ws.book_of_trades_entries; ws.community_state_per_region | see 7.3 — two of three are UNMINTED | |
| fork_option_refs | none | no spine fork is realized; the enrolment choice is quest-local | |
| reward_class | mixed | substrate_narrative plus seed_unlock plus one item | |
| ability_unlock_refs | NULL | no ability | |
| reward_drop_refs | UNTYPED — see Section 8 | T0_RNG_Drop_Table carries no Trade 6 row | |
| reward_seed_refs | SEED_0008 | read-only reference; SEED_0008's own prerequisite is SEED_0003 | |
| dialogue_dataset_array | docs/quest_dialogue/DD_QUEST_TRADE_06_FLORES_ENROLMENT_UNLOCKED.csv | §6.5 dialogue home | |
| spatial_requirements_array | OBJ_03-05 and OBJ_08-11 → site_ref wae_rebo_village, encounter_mode_tag learning; OBJ_06 → zone_ref compang_lingko_fields (the GN_0004 cotton node, see Section 3) | CG-05 FK | |
| hard_line_relevance | HL_0003, HL_0002, HL_0005 care floor; the community is never a target and the craft is never cinema shorthand; HL_0085 Book of Trades never purchased | hard-line rows | |
| author_in_loop_required | TRUE | living-tradition craft content | |
| quest_status | proposal — UNAVAILABLE, see 7.3 | CG-12 residue |
| field | value | source |
|---|---|---|
| quest_id | QUEST_TRADE_06_NEOPHYTE_UNLOCKED | §6.5 L1444 |
| quest_anchor_id | TRADE_06_NEOPHYTE | §6.5 L1445 |
| quest_name | Neophyte gate, Trade 6 Tailoring | working label |
| quest_type | trade_questline_tier_progression | §6.5 enum |
| chapter | 21 | CVD §12.1 L631 home-base pin |
| path_bucket | UNLOCKED | pre-Ch-65 |
| questline_id | TRADE_06 | registry FK |
| twelve_tier_gate | NEOPHYTE | §6.5 field, CVD §12.1 vocabulary |
| participant_entity_refs | protagonist; the Suzhou workshop master (UNMINTED CHAR row) | CG-08 |
| quest_giver | UNTYPED pending the CHAR mint | the field's grammar requires a real ref |
| trigger_type | giver_dialogue | §6.5 |
| realized_beat_refs | CH21_B07 | CG-04 |
| objectives_array | one craft objective in the sericulture tradition the beat names; one commitment objective, which is the sole producer of local.neophyte_commitment_made and carries the ws.trade_06_substrate_opened recognition read | Section 6 |
| completion_condition | flag(local.trade6_rooted) & flag(local.neophyte_commitment_made) | grammar; local.trade6_rooted is CH21_B07's own out key (CH_21.md L144) |
| fail_state | none | |
| progression_guarantee | plays_through | identical length on both recognition routes |
| state_writes | ws.trade_mastery_state (TRADE_06 → level 1 Neophyte); ws.book_of_trades_entries | UNMINTED — see 7.3 |
| reward_class | mixed | the level plus Book entries |
| hard_line_relevance | HL_0026 the framework does not vary by capability; HL_0033 one ancient home, rooted here and not at Ch 2 | hard-line rows |
| quest_status | proposal | CG-12 residue |
The live T0_Quest_Definition_Registry header carries eight columns the tables above do not address. Per this
document's own rule — where it cannot type a field it says so and names why — each is disposed of here rather
than left silently blank.
scene_anchor_array — TYPED on the hook row as SC_CH02_village_edge, which is a real row at CH_02.md L208 with beat_ref CH02_B10, scene_type per_chapter_cutscene, path_bucket UNLOCKED. The
Ch-3 and Ch-21 rows carry NULL: §5.5's CG-20 coverage predicate awards scene rows to set-piece, boss-phase
and dialogue-dense beats, and the loom sequence is dialogue-dense enough to earn one, but no scene row for
it exists in T0_Scene_Spec_Registry today and minting one is the scene lane's, not this lane's.
quest_beat_structure — the prose field. Section 3 IS this field's content; it is written as prose there rather than duplicated into the table, and the table's objectives_array carries its machine form, which
is exactly the division §6.5 describes for the two fields.
branching_logic — NULL on all three rows, by evidence rather than by omission. There is nopath-conditional or biography-conditional branch here: the enrolment choice at OBJ_11 is a terminal
two-state, the Ch-21 recognition is a variant opening rather than a branch, and both routes converge.
dialogue_trigger_anchors — DEFERRED. The anchors exist in the authored dialogue as trigger_beat values (HUB_AMBIENT for the loom sequence, CH03_B05 for the penti, CH02_B10 for Teresa) but HUB_AMBIENT is not
a §9.5 CH0N_BNN beat id, so typing the array today would require either inventing a beat id or asserting
a mapping the dialogue lane owns. Named as owed rather than guessed.
premise_as_given, falsifier, irreversible_choice, world_memory_write — these four carry no definition anywhere in §6.5's field enumeration, which stops at extensions. They are live columns ahead
of the contract, the mirror image of the situation §6.5's completion pass fixed. Provisional readings,
offered as readings: premise_as_given is the one-line premise (the hook row's is Teresa's lent blanket;
the enrolment row's is a weaver who will let you waste her thread); irreversible_choice is FALSE on all
three, since declining reopens; world_memory_write overlaps state_writes and should not be
double-populated until the difference is defined; falsifier is unguessable. Section 11 flags the four as
undefined columns rather than filling them.
ws.trade_mastery_state DOES NOT EXIST. T0_Worldstate_Variables carries no trade-mastery variable — verified by reading the rows, where the nearest neighbours are WS_029 trade_sovereignty_valence
(base-building) and WS_041 composure_node_mastery (combat). §6.5's state_writes rule is absolute: every
entry "MUST resolve to a WS_NNN variable_name row". So Q_TR6_NEO's central write is untypeable today.
PROPOSED shape, for the registry lane to mint or reject: an object keyed by trade_id carrying
level (integer 1-12) and numerical (integer), composing by disjoint sub-field per the CG-24 rule. It
clears the CG-23 promotion criterion without argument — a trade level is read at later chapter seams and
appears in end-state carry-forward blocks (CH_21.md L282 already lists trade homes in homes_established).
ws.book_of_trades_entries DOES NOT EXIST either, and HL_0085 describes a real accumulating collection withfive named fill paths and an aggregation arc at Magister Templi. PROPOSED: an append-only entry ledger keyed
by trade_id. Same promotion argument.
ws.trade_06_substrate_opened DOES NOT EXIST — a third missing key, and the one this document's owncross-chapter join depends on. PROPOSED as a SCALAR BOOLEAN for the reason Section 6 gives: the grammar's
ws.key OP value predicate compares against a scalar, so an object key cannot be read by it. Written by the
Ch-3 enrolment row, read by the Ch-21 gate row. It clears CG-23's promotion criterion because it is read at
a later chapter by construction — that is the whole reason it exists. The generalization question is real
and is the registry lane's to settle: ten per-trade booleans, or one object with a scalar accessor the
grammar can reach, or a chapter-entry seeding of a local. key. This document names the constraint and
recommends the scalar; it does not mint the shape.
quest_status has no proposal-tier member. CG-12's residue. All three rows above are written with quest_status = proposal and that value is not in the enum, so landing any of them into
T0_Quest_Definition_Registry today would either lie about its status or fail validation. This is the
single mechanical blocker between this document and three real registry rows.
The reward is stated as SHAPE and never as magnitude, per the Phase-5M firewall the recipe registry states in
every row ("Magnitudes stay ordinal under the Phase-5M firewall: no numeric quantity is invented").
garment, which is a real enum member — Josh ruled D-ITEM-CLASS-ENUM option (a) on 2026-08-04 and T0_Equipment_Registry.item_class now carries garment, with the routing
declared as "a Trade 6 Tailoring output is garment, never wearable — a garment filed as wearable is
indistinguishable from armour to every sweep and every vendor filter" (T0_Recipe RCP_0014 notes). No
equipment row uses garment yet; this would be the first. It is deliberately a poor piece of cloth with no
stat line, kept because C11 says it is kept. If it must carry a slot it is a wrap or head-cloth, which the
authored C16-C17 exchange already puts on the player.
tension and the near-repeat at Ch 3. Each arrives by an HL_0085-legal path — NPC interaction and trade
questline progression — and none by combat or purchase. This is the reward that actually matters at
Neophyte and it costs no tuning.
ws.community_state_per_region surface the region already uses, and tied to the region page's own
obligation economy where the player's made goods pay contributions (flores_island.md L1548-1564). The
integrity valences already authored on the dialogue options — generative on "I can do that" and "I'll come
back", corrosive on pocketing the spare shuttle and on "It's the thread. You gave me a bad length" — are
the only integrity movement, and they are Accumulative-class texture, not a fork.
greybox already has an answer for and it is illustrative, not canon: GGreyboxRequiredUnits = 2 is the
runtime's declared placeholder, and OBJ_06 should ship on it precisely because it is visibly a tuning
constant. T0_RNG_Drop_Table carries no Trade 6 row, so reward_drop_refs stays untyped rather than
pointed at an invented id.
Runtime state as declared: HumanityTradeSubsystem.cpp reads DT_Trade; its header self-declares a
gather-and-give loop with GGreyboxRequiredUnits = 2 behind an illustrative tuning firewall; there is no
mastery ladder, no tier gate, and no Book of Trades in the runtime (docs/PIPELINE_LEDGER.md L121). The quest
slice driver reads spine tables rather than T0_Quest_Definition_Registry (L119). Ten steps, ordered so each
is independently verifiable and none blocks on canon that does not exist.
1. Parse twelve_tier_quest_gates into twelve ordered gate slots per trade IN THE SUBSYSTEM, not in the row
struct. TradeRegistryRow.h is machine-GENERATED and carries a DO-NOT-HAND-EDIT banner, so the struct
keeps the cell as the string the CSV holds and HumanityTradeSubsystem does the split on load. The
registry cell is a semicolon-delimited level_N_<grade_abbr>:<quest_id> array (§4.6 L150), so the parse
is mechanical. INHERITED DRIFT TO FIX FIRST, named so this step does not silently ride it: the generated
struct carries 11 columns against the live CSV's 12 — ceremony_quest_refs is absent, which is the column
holding Q_TR6_PRT and Q_TR6_BAB, the Portal and Abyss ceremony ids. Re-run the generator before
step 1 rather than hand-adding the field, and note that the ceremony ids are unreachable in-engine until
that re-run happens.
2. Add a per-trade mastery record to the trade subsystem: level (1-12) and numerical, defaulting to
unenrolled rather than to level 1. Unenrolled is a distinct state from Neophyte and the UI must show it as
such — a player who never met a weaver is not a Neophyte tailor.
3. Persist that record through QuestSaveGame against the proposed ws.trade_mastery_state key. If the
registry lane has not minted the key when this step runs, persist under a local runtime key and leave the
binding TODO explicit rather than minting canon from the engine side.
4. Implement the gate-award path as a single entry point: quest completion → `AwardTradeGate(trade_id,
level)`. It is the only writer of the mastery record. Direct level sets from anywhere else are the defect
this step exists to prevent.
5. Bind quest completion to that entry point by data, not by hand: a quest row whose questline_id is a trade
and whose twelve_tier_gate is non-null awards that level on completion. This is the general mechanism the
remaining 119 gates ride, and it is the reason this exemplar is worth building.
6. Add the Book of Trades as an append-only per-trade entry list with the same persistence, plus an HL_0085
guard: entries accept an acquisition_path from the five legal paths and reject a purchase or
combat_only path at the API boundary, so the hard line is enforced in code rather than in review.
7. Wire the enrolment body's gather objective to the existing gather ledger against GN_0004 and FL_0006 —
cotton at the village approach — using GGreyboxRequiredUnits unchanged, so the tuning firewall stays
visible in play.
8. Wire the two teaching interactions the loom stage needs and the greybox does not have: a hold-and-release
grip input and a timed pass. Both are simple; both are the difference between a trade that is taught and a
trade that is a fetch. If the window is short, the pass alone carries Stage 2 and the grip degrades to a
prompt.
9. Wire the cross-chapter recognition: the Ch-21 gate quest's recognition objective reads
ws.trade_06_substrate_opened and selects the alternate opening. Prove it both ways in the QA harness —
with the Flores body completed and with it skipped — and assert both complete.
10. Prove the ladder end to end in the harness by completing the Q_TR6_NEO row and asserting the mastery
record reads Neophyte, the Book entries persist across a save-load, and no other trade moved.
Steps 1 through 6 are the general machinery; steps 7 through 10 are this exemplar. A build window that lands
only 1 through 6 has still closed the B3 runtime gap for all ten trades.
WHAT THE FRESH CRITIC CHECKS, loaded cold:
dialogue — and no claim traces to a general search about Indonesian textiles. The specific test: does the
quest name a loom part, a motif meaning, a dye, or a resist technique? If yes, it has filled the declared
acquisition gap with invention and it fails.
attributed to a neighbour. The wundu measure in particular is present in this document as a refusal; if it
has migrated into an objective, that is the failure.
with internal disagreement, not serene wisdom-dispensing (HL_0005). Nothing plays inside
manggarai_village_edge, the one site the region page marks referenced-and-not-entered
(flores_island.md L1256-1259). Note what this test does NOT say: protected true alone is not a
no-entry marker — wae_rebo_village and compang_lingko_fields are both protected and both host Ch-3
beats, so a critic reading protection as exclusion would fail legal staging. Nothing about the Book of
Trades is purchased (HL_0085).
No home base is claimed at Ch 2 (HL_0033). Nothing at Neophyte awards substrate perception (§10.2, HL_0028).
The player-facing name is Neophyte, never "level 1" (CVD L669).
engagement; declining the trade is a real ending that costs nothing and reopens.
expressions — eleven objective completion_conditions, three quest-level completion_conditions, and the
Ch-21 recognition read. All fifteen were run through harness/condition_expr.py at authoring time and all
fifteen PARSE clean. PARSING IS NOT TYPECHECKING, and one of the fifteen does not typecheck:
ws.trade_06_substrate_opened == TRUE parses to a WsCmp node and then fails evaluation, because the key
resolves to no T0_Worldstate_Variables row — which is §7.3's third missing key showing up as a runtime
failure rather than an authoring one. It will typecheck the moment the key is minted and not before. The
fourteen local-and-site expressions have no such dependency. The produce-before-consume half is
harness/check_spine_graph.py's; the chain is shown by hand at the end of Section 3 and is machine-checkable
only once the rows land.
(HL_0039-0041).
WHAT JOSH'S PLAY-GRADE CHECKS, and these are feel questions the gates cannot reach:
exemplar has not passed.
them fail on contact.
test: the player should learn something about themselves from a bad piece of cloth.
having been told there is a mastery ladder.
anything having explained it, Pillar 9 surfaced through doing (§10.5).
in the slice, and it should be taken when Ch 21 is playable rather than guessed at now.
chapter; Trade 6's is Ch 21. Section 1 recommends the split and names the CVD amendment as Josh's if he
wants enrolment to confer Neophyte wherever a trade master first teaches. The B3 ledger row's exemplar
sentence should be re-worded either way, because as written it asks for something the constitution forbids.
Ch 12 roots Trade 1, and four seed rows are already typed trade_questline_home_base at those chapters:
SEED_0031, SEED_0032, SEED_0037, SEED_0066. Of the 23 trade-anchored seed rows in the registry, those four
sit exactly where CVD §12.1 L631 says a Neophyte gate hangs. The B3 row's "only trade with authored slice
substrate" is true and unmatched about DIALOGUE substrate, false about seed substrate, and silent about
home bases. Recommendation: re-point the B3 TIER-GATE exemplar at Trade 4 Herbalism at Ch 7 while the
Flores build proceeds as authored — complementary, not a replacement. Attribution note, kept precise:
PRE_5090_BUILD_PLAN_VOL2.md L1004's "[RESCOPE RE-DERIVE — premise invalidated]" attaches to TR-6's OWN
premise that the item was "not slice-blocking (no Ch2-5 trade home)", not to B3's substrate claim. It is
corroboration that Ch 7 is in-slice, and it is not a prior finding against B3; the two must not be blurred.
through CG-05, CG-07 through CG-12's dialogue half, CG-19, and CG-13 through CG-28. The ledger's "12 rated
blocks-production" is the spike's July verdict and reads as current. Wave 3's B1 lane may be about to close
gaps that are already closed; what actually remains is registry population and the quest_status enum
member.
no Book of Trades variable, and no Flores-substrate variable exists in T0_Worldstate_Variables. Until
minted, no trade quest row anywhere in the 120 can carry a legal state_writes value. This is the
highest-leverage single registry action in B3. Carry the type constraint with the mint: the grammar's only
worldstate predicate compares against a SCALAR, so any key a quest condition must READ has to be scalar or
needs a local. seeding step — an object key can be written and never tested. The mastery key is
legitimately an object; the recognition key must not be.
Q_TR6_NEO in T0_Trade_Registry.twelve_tier_quest_gates resolves to a QUEST_* row under the §6.5 L1444 id format.
Section 2 proposes resolving by questline_id plus twelve_tier_gate; a ruling or a contract line would
make it a real FK instead of a convention.
GN_0004.tool_or_trade_required = Tailoring_T6 HAS UNDEFINED SEMANTICS. If it means a level threshold, thecotton node is locked before the trade opens and the Flores content cannot gather its own material. The
sibling rows imply it names ownership rather than a threshold. A one-line column definition closes it.
GN_0004.site_anchor NAMES A CHAPTER ITS OWN NOTE DOES NOT. The cell reads manggarai_village_edge, a CH_02 site with zero occurrences in CH_03.md, while the row's note describes the lingko-fan agricultural
threshold — which at Ch 3 is compang_lingko_fields. FL_0006 itself spans CH_02-CH_03. Section 3 resolves
the quest side by binding OBJ_06 with a zone_ref; the registry side needs either a Ch-3 anchor or a
statement that site_anchor is chapter-agnostic. Same class of question likely affects the other ten
Flores gather rows.
premise_as_given, falsifier, irreversible_choice and world_memory_write exist in the T0_Quest_Definition_Registry header and appear nowhere in §6.5's field
enumeration. §7.2b offers provisional readings and fills none of them. This is the same shape as the gap
§6.5's completion pass closed, running the other way: data ahead of contract rather than contract ahead of
data. world_memory_write in particular looks like it overlaps state_writes and should not be
double-populated until someone says what the difference is.
TradeRegistryRow.h IS GENERATED AND STALE. Eleven columns against the live CSV's twelve; ceremony_quest_refs is the missing one, which is where Q_TR6_PRT and Q_TR6_BAB live. The Portal and
Abyss ceremony ids are unreachable in-engine until the generator is re-run. Pre-existing, and wiring
step 1 would have inherited it silently.
actually supports, and that depth stops well short of what a AAA weaving minigame wants. Erb's *The
Manggaraians* plus one dedicated Indonesian-textile source would move Stage 3 from "fiber, tension,
near-repeat" to a real craft with named parts and motif vocabulary. It is a book, not an authoring pass.
four options against the hard line's six, all written and voiced — DL_CH03_HUB_EMMA_C15 carries two.
Pre-existing and not this lane's to fix, but a critic reading this quest will find it, and the four new
nodes Section 5 asks for must ship at six.
_source doc, no DOC_MAP entry, no build or harness file. T0_Quest_Seed_Registry was read only.
docs/proposals/TRADE_GATE_EXEMPLAR_Q_TR6_NEO.md — this document, and the only file this lane wrote.