TRADE_GATE_EXEMPLAR_Q_TR6_NEO.md

systems/TRADE_GATE_EXEMPLAR_Q_TR6_NEO.md

Trade Gate Exemplar — Q_TR6_NEO (Trade 6 Tailoring, Neophyte)

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.

DERIVATION

DERIVED FROM — every claim below traces to one of these lines, and each is quoted where it does work:

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.

China, 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."

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

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

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

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

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

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

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

with GGreyboxRequiredUnits = 2) toward the canon the runtime does not yet hold, and it is engineering

judgment about order, not canon.

1. The finding: the Neophyte gate is home-base-pinned, and Trade 6's home is Ch 21

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:

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.

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

2. What is authored here

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_0003SEED_0008 chain the

seed registry already carries for this exact content.

CH02_B10, carrying OBJ_01 and OBJ_02. It is Teresa's blanket and nothing else, and it realizes SEED_0003.

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.

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.

3. The Flores content — stages and objectives

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.

Stage 1 — The blanket (CH02_B10, 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."

Stage 2 — The loom (Ch 3, 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.

Stage 3 — The thread and the first band (Ch 3, the lingko fan + wae_rebo_village loom, mode learning)

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.

Stage 4 — The return (Ch 3, 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.

4. The craft substrate, and the honest gap in it

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.

5. Emma's teaching voice

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.

6. Q_TR6_NEO proper — the gate and what it unlocks

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.

7. The typed rows

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.

7.1a The Ch-2 hook row

fieldvaluesource
quest_idQUEST_TRADE_06_FLORES_HOOK_UNLOCKED§6.5 L1444 format rule
quest_anchor_idTRADE_06_FLORES_HOOK§6.5 L1445
quest_nameEmma countsworking label, not display text; from DL_CH02_B10_A22
quest_typetrade_expression§6.5 L1447 enum; the same type SEED_0003 carries
encounter_facetnone§6.5 L1448
chapter2§6.5 L1449 chapter-is-ownership-unit (CG-28)
path_bucketUNLOCKEDpre-Ch-65 lock
questline_idTRADE_06T0_Questline_Index @ TRADE_06
twelve_tier_gateNULLnot mastery-gated
participant_entity_refsprotagonist; char:CHAR_0012CG-08 grammar
quest_giverchar:CHAR_0012Teresa hands the blanket at DL_CH02_B10_A22
trigger_typegiver_dialogue§6.5 observed enum
realized_beat_refsCH02_B10CG-04 FK
objectives_arrayOBJ_01, OBJ_02CG-02
completion_conditionhas(local.village_edge_reached) & flag(local.teresa_blanket_taken)grammar §1
fail_statenone
progression_guaranteeplays_throughCG-14
state_writesws.book_of_trades_entriesUNMINTED — see 7.3
reward_classsubstrate_narrativeone Book entry, no item
reward_seed_refsSEED_0003read-only reference; the seeds registry is a sibling seat's
scene_anchor_arraySC_CH02_village_edgethe row exists at CH_02.md L208, beat_ref CH02_B10
dialogue_dataset_arraydocs/quest_dialogue/DD_QUEST_TRADE_06_FLORES_HOOK_UNLOCKED.csv§6.5 dialogue home
spatial_requirements_arrayCH02_B10 → site_ref manggarai_village_edge, encounter_mode_tag characterCG-05 FK
hard_line_relevanceHL_0003, HL_0002, HL_0005 care floor; HL_0085 the Book is never purchasedhard-line rows
author_in_loop_requiredTRUEliving-tradition craft content
quest_statusproposal — UNAVAILABLE, see 7.3CG-12 residue

7.1b The Ch-3 enrolment row

fieldvaluesource
quest_idQUEST_TRADE_06_FLORES_ENROLMENT_UNLOCKED§6.5 L1444 format rule
quest_anchor_idTRADE_06_FLORES_ENROLMENT§6.5 L1445
quest_nameThe First Bandworking label, not display text
quest_typetrade_expression§6.5 L1447 enum
encounter_facetnone§6.5 L1448
chapter3§6.5 L1449; the craft body is entirely Ch-3 sited
path_bucketUNLOCKEDpre-Ch-65 lock
questline_idTRADE_06T0_Questline_Index @ TRADE_06
twelve_tier_gateNULLnot mastery-gated; this is the point of the split
sq_stage / sq_gate_conditionNULLnot a side_questline_stage
participant_entity_refsprotagonist; char:CHAR_0010; char:CHAR_0018CG-08 grammar
quest_giverchar:CHAR_0010Emma, at the loom; the hub sequence opens at DL_CH03_HUB_EMMA_C01
trigger_typegiver_dialogue§6.5 observed enum
realized_beat_refsCH03_B01; CH03_B05; CH03_B12CG-04 FK; the two wae_rebo_village beats (CH_03.md L103, L158) plus the beat Emma's penti sequence triggers on
objectives_arrayOBJ_03 … OBJ_11 per Section 3, each with beat_ref and completion_conditionCG-02
completion_conditionflag(local.first_band_shown) & (flag(local.trade_06_enrolled) \flag(local.trade_06_declined))grammar §1
fail_statenonethere is no failing attempt; the band is allowed to be bad
progression_guaranteeplays_throughCG-14; nothing here touches the main spine
state_writesws.trade_06_substrate_opened; ws.book_of_trades_entries; ws.community_state_per_regionsee 7.3 — two of three are UNMINTED
fork_option_refsnoneno spine fork is realized; the enrolment choice is quest-local
reward_classmixedsubstrate_narrative plus seed_unlock plus one item
ability_unlock_refsNULLno ability
reward_drop_refsUNTYPED — see Section 8T0_RNG_Drop_Table carries no Trade 6 row
reward_seed_refsSEED_0008read-only reference; SEED_0008's own prerequisite is SEED_0003
dialogue_dataset_arraydocs/quest_dialogue/DD_QUEST_TRADE_06_FLORES_ENROLMENT_UNLOCKED.csv§6.5 dialogue home
spatial_requirements_arrayOBJ_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_relevanceHL_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 purchasedhard-line rows
author_in_loop_requiredTRUEliving-tradition craft content
quest_statusproposal — UNAVAILABLE, see 7.3CG-12 residue

7.2 The Q_TR6_NEO row

fieldvaluesource
quest_idQUEST_TRADE_06_NEOPHYTE_UNLOCKED§6.5 L1444
quest_anchor_idTRADE_06_NEOPHYTE§6.5 L1445
quest_nameNeophyte gate, Trade 6 Tailoringworking label
quest_typetrade_questline_tier_progression§6.5 enum
chapter21CVD §12.1 L631 home-base pin
path_bucketUNLOCKEDpre-Ch-65
questline_idTRADE_06registry FK
twelve_tier_gateNEOPHYTE§6.5 field, CVD §12.1 vocabulary
participant_entity_refsprotagonist; the Suzhou workshop master (UNMINTED CHAR row)CG-08
quest_giverUNTYPED pending the CHAR mintthe field's grammar requires a real ref
trigger_typegiver_dialogue§6.5
realized_beat_refsCH21_B07CG-04
objectives_arrayone 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 readSection 6
completion_conditionflag(local.trade6_rooted) & flag(local.neophyte_commitment_made)grammar; local.trade6_rooted is CH21_B07's own out key (CH_21.md L144)
fail_statenone
progression_guaranteeplays_throughidentical length on both recognition routes
state_writesws.trade_mastery_state (TRADE_06 → level 1 Neophyte); ws.book_of_trades_entriesUNMINTED — see 7.3
reward_classmixedthe level plus Book entries
hard_line_relevanceHL_0026 the framework does not vary by capability; HL_0033 one ancient home, rooted here and not at Ch 2hard-line rows
quest_statusproposalCG-12 residue

7.2b The remaining live columns, typed or deferred with a reason

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.

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.

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.

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

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

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.

7.3 The four things that cannot be typed today, named rather than invented

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

five named fill paths and an aggregation arc at Magister Templi. PROPOSED: an append-only entry ledger keyed

by trade_id. Same promotion argument.

cross-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 = 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.

8. Reward, at tuning-tier honesty

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

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.

9. The engine-owed wiring plan

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.

10. Acceptance gates

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.

11. Flags for the director

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.

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.

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

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.

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.

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.

Files written

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