KIT_SCALING_TABLE.md

systems/KIT_SCALING_TABLE.md

THE KIT SCALING TABLE — how much kit a being gets, derived from the canon tier census and the armed comparator benchmarks

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 (auto-scanned from this document's citations, then WIDENED BY HAND as the header invites):
T0_Boss_Encounter_Registry · T0_Boss_Attack_Rail · T0_Creature_Roster · T0_Hollow_Codex ·
T0_Environment_Grammar_Registry · T0_Familiar_Registry · T0_Element_Effectiveness ·
T1_Combat_System_Spec · CVD §5 Pillar 8 · CVD §12 · CVD §17 ·
docs/proposals/DIFFICULTY_SYSTEM.md · docs/COMBAT_ENCOUNTER_SYSTEM.md §3/§5/§9b ·
harness/qa/comparator_rubrics/monster_feel.json · harness/qa/comparator_rubrics/aggro_threat.json
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. This is the LAW every kit file under docs/proposals/combat/kits/ obeys, and

the machine index docs/proposals/combat/kits/KIT_INDEX.json carries each kit's declared band so a

gate can check a kit against its band rather than against taste.

THE GOVERNED POPULATION, measured — this paragraph replaces the owed-note it used to carry.

count
kit files under docs/proposals/combat/kits/57
authored abilities across them763 (222 non-ordinary, 541 physical)
by class28 MUNDANE · 29 ELEVATED
by bandB1 ×5 · B2 ×1 · B3 ×39 · B4 ×10 · B5 ×2
canon rows served70 (51 boss rows, 8 creature rows, 11 CHAR_ references)
slice boss rows CH_01–CH_1352 measured, 51 kit-bearing, 1 declared exempt (BE_01)
rows declared exempt with reasons6

THE CLASS SPLIT IS THE RULING'S OWN TEST AND IT PASSES BY MEASUREMENT: 28 of 57 kits carry no element

family, no vril mechanism and no non-ordinary affordance at all — including two chapter bosses

(BE_0003 Kaba Lomes, BE_0007 Raghavendra) and the biggest sub-boss in Chapter 2 (BE_0002_S1).

A wolf is a wolf, and the population says so rather than the preamble.

The measured counts here are re-derivable at any time from KIT_INDEX.json's census block, which the

emitter writes and gate kit_layer reads.

0. The ruling this executes

Josh, verbatim (2026-08-05, calibrating the kit-layer ruling of the same day): "Not every creature is

supernatural though. Wolves unless theyre hollows or bosses things like that may just be physical.

Bosses must be way more complex than just 3 abilities and it also scales with difficulty tier."

Three things are ruled in those two sentences and this table answers all three.

own canon rather than assuming.

nowhere near three.

axis, expressed as data on the kit rather than as a second authored kit.

1. THE KIT CLASS SPLIT — membership is READ, never assumed

A being's kit class is DERIVED from columns that already exist on its own canon row. This is the whole

correction: the previous lane's failure mode was assuming that anything in a fight is magical, which

would have given a wild boar a vril kit and made the world's actual supernatural beings feel ordinary

by inflation. Scarcity is what makes the elevated class land.

1.1 The derivation, in precedence order

A being is ELEVATED when ANY of the following is true of its own row. Otherwise it is MUNDANE.

#EvidenceColumn readWhy it elevates
E1It has a hollow rowT0_Hollow_Codex.hollow_id resolves for itA hollowed being is by definition a vril-metaphysical state, not an animal
E2It has a boss rowa T0_Boss_Encounter_Registry row names itA boss row is an authored encounter with phases and composure nodes; that is the elevated contract
E3It has a lore homeT0_Creature_Roster.species_class = folklore, or folklore_behavior_substrate carries an attested tradition claim with a folklore_attribution_sourceA being the tradition itself describes is a lore being with a real-fauna base
E4It is faced as folkloreT0_Creature_Roster.combat_permission = FOLKLORE_FACEDThe column exists precisely to say the encounter is with the tradition's being, not with the animal
E5Its ontology is non-ordinaryT0_Creature_Roster.ontology_class ∈ {SACRED, CONDEMNED, AMBIVALENT, LEGENDARY}ORDINARY_FAUNA is the column's own word for "no metaphysical claim on this row"
E6It is a legendary species or familiar slottier_classification = LEGENDARY, or a T0_Familiar_Registry slot resolvesThe 33 legendary species and the familiar roster are canon-metaphysical by CVD §17.12

MUNDANE is everything else that is combat-facing: ORDINARY_FAUNA or a blank ontology, no hollow row,

no boss row, no folklore home. A wolf is a wolf.

1.1b E2 ELEVATES THE ENCOUNTER, NOT THE SPECIES — the reading rule the komodo forced

E2 as first written said "a T0_Boss_Encounter_Registry row names it", and read literally that elevates

CR_0001 Komodo dragon, because BE_0002_S1 The Kelimutu Guardian names the komodo and the reticulated

python in its own boss_name. That reading contradicts §1.3, whose worked exemplar of a GREAT MUNDANE

KIT is a komodo. Both cannot stand, so the rule is stated precisely:

the band §2.4 gives it, and E2 fires on THAT kit.

the jungle floor, hunt, document and are hunted by — is read from CR_0001's own columns, and those

columns say ORDINARY_FAUNA, no hollow row, no folklore home. It is MUNDANE, at B1.

data: the guardian at the source is a staged encounter with a real animal at a place that matters, and

the animal in the trees is an animal.

AND THE ENCOUNTER KIT IS NOT AUTOMATICALLY ELEVATED EITHER. E2 makes a boss row ELIGIBLE for the

elevated class; the row's own content decides. BE_0002_S1 is authored as two real apex reptiles staged

as a guardian-test whose region page states, verbatim, that the win never requires a kill and never

hardens into an animal that cannot be killed — nothing in it casts, nothing carries an element family.

It is therefore a MUNDANE B3, and that is the calibration ruling landing at full strength on the biggest

sub-boss of Chapter 2. Compare BE_0003_S1, the same species roused as the naga tana of the wae: that

row carries defender_element = Earth and a land-contract the tradition itself attests, so it is

ELEVATED. The difference is in the rows, not in the animal.

1.2 The measured slice population, so the split is a fact and not a policy

Measured at HEAD against registries/T0_Creature_Roster [DRAFT v0.1]/Sheet1.csv, over the 152 rows whose

chapter_first_encounter is CH_02..CH_13 (the Prologue→Ch-13 slice).

2 LEGENDARY, 73 blank.

amphibian/insect, arachnid, mollusc.

So the ELEVATED class in the slice is 19 to 21 beings against 26 to 28 mundane combat-facing ones. That

is close to half, and the reason is that this slice is dense with folklore rows on purpose. In the

whole roster the mundane majority is larger. Either way the split is READ from the rows, and no lane

has to guess.

1.3 The one thing the split does NOT do

It does not make a mundane creature boring, and it does not make a mundane creature safe. A MUNDANE kit

is real-animal behaviour ENGINEERED UP until it is dangerous at the shipped camera — the MHWilds animal

register. The anti-timid critic recalibrates accordingly: for mundane fauna, TIMID means BORING-PHYSICAL

(a charge and a bite and nothing else), not insufficiently magical. A komodo with a two-stage ambush, a

grapple-and-drag with a real escape input, a scent-track that finds you across the zone, and a

septic-wound status that makes retreat a losing plan is not a lesser encounter than a caster. It is a

different genre of frightening, and it is the one Josh named.

2. THE SIX BANDS — the depth table

Each band declares four counted quantities plus its structural obligations. The counts are FLOORS unless

the cell says otherwise; a kit may exceed a floor and is a finding when it is under one.

BandKit classAbilities (distinct moves)PhasesCounter classes exercisedComposure nodesPart economyNon-kill path
B0 MINIONeither3–51≥10 (feeds the leader's)0never (not the subject)
B1 MUNDANE FAUNAmundane only5–91–2 (state change, not a phase bar)≥21≥1 breakablequarry/flee routes
B2 ELEVATEDelevated only8–122≥21–2≥1 breakableper its own row
B3 SUB-BOSSeither12–182≥22≥2 breakableper its own row
B4 CHAPTER BOSSeither18–283≥33≥3 breakableper its own row
B5 APEX / TIER-A / TIER-Ceither28–40+, phase-specificthe ROW's own declared count (3–7 observed); 4–7 where the row declares no count≥44–5≥4 breakableper its own row

2.1 Where the PHASE column comes from — the canon census, not a preference

Measured at HEAD over all 284 T0_Boss_Encounter_Registry rows by parsing the leading N phases of

phase_breakdown_object:

Row kindrows2 phases3 phases4 phasesundeclared
boss_kind = sub2048420118
boss_kind = main79756214
boss_kind = environmental10001

Of the 86 sub rows that declare a count, 84 say 2. Of the 65 main rows that declare a count, 56 say 3.

The canon has ALREADY authored the gradient; this table is reading it back rather than inventing it.

B3 = 2 and B4 = 3 are therefore canon-derived, not chosen.

The B5 band is derived from the two canon outliers plus the Tier-A anchor set. The five Tier-A anchors

(CVD/T1_Combat §7: Ch 8, 23, 38, 55, 65) declare 3, 3, 7, 3, 3. BE_0038 at seven phases is the

deepest authored encounter in the registry and it is the apex exemplar. The two 4-phase mains are

BE_0010 (the canonical four-step environmental protocol — perception, vril-management, restraint,

purgation, each layered onto the held previous step) and BE_0058 (a three-tier facility part-break

plus a manifestation confrontation plus a rift closure). So the B5 range 4–7 has three authored

instances behind it and is not a guess.

The 133 rows with no declared phase count are the OPEN population this table exists to close: the kit

lane fills them at their band's floor.

2.1a THE B5 PHASE CELL IS THE ROW'S, NOT THE BAND'S — a defect this lane found in its own table

The first draft gave B5 a flat phase range of 4–7 and assigned every Tier-A main to B5 in the same

breath. Those two statements collide on their own evidence: FOUR of the five Tier-A anchors declare

THREE phases (Ch 8, 23, 55, 65), and only BE_0038 declares seven. A band that demanded 4–7 phases

would have made BE_0008 — the first Tier-A recombination exam, three phases in its own row — a

BAND-CONSISTENCY finding against canon that a proposal-tier table has no standing to raise.

THE CORRECTION, and it is the canon-subordination rule doing its job rather than an exception to it:

B5 is a DEPTH band, not a phase band. What B5 fixes is the ability count (28+), the counter classes

(≥4), the composure nodes (4–5), the part economy (≥4) and the phase-specific-kit and enrage

obligations. The PHASE COUNT of any encounter is whatever its own canon row declares, always, in every

band. Where a row declares nothing, the band's range is the fill value and nothing more.

Read that way the census is coherent: BE_0008 is a THREE-phase B5 (28+ abilities distributed across

three phases, each phase carrying moves that exist only in it), and BE_0038 is a SEVEN-phase B5 of the

same band. Depth and phase count are separate axes and this table had briefly welded them.

The same clause governs B1–B4 and is stated once here so no band cell has to repeat it: a phase-count

range in §2 is a FILL RULE for rows that declare none, and it never overrides a row that does.

2.2 Where the COUNTER and COMPOSURE columns come from

Measured at HEAD over all 284 rows.

exactly CVD §5 Pillar 8's floor of ≥2 distinct valid counters, and the tail out to 7 is where the

deep encounters already sit.

observed is 5, and COMBAT_ENCOUNTER_SYSTEM §5 names exactly seven mode-keyed nodes plus the eighth

standalone character-engagement node, so 5 is a population fact rather than a schema ceiling.

The B-band composure figures track that distribution: B3 at the mode (2), B4 one above it (3), B5 at the

observed ceiling (4–5). One row carries 0 composure nodes and it is a finding this lane boards rather

than silently fills.

2.3 Where the ABILITY COUNTS come from — the benchmark half, declared as what it is

The canon census cannot supply this number, because T0_Boss_Attack_Rail carries **0 rows against 27

authored columns (verified at HEAD) and hitzone_parts is populated on 1 of 284** boss rows

(BE_0002, two parts). There is no authored moveset in this repo to measure. So the ability counts are

derived from the armed comparator benchmarks plus the structural obligations the counts must satisfy,

and the derivation is stated so a later pass can argue with it.

BENCHMARK PROVENANCE, and its honesty boundary. harness/qa/comparator_rubrics/monster_feel.json is the

armed Monster Hunter Wilds rubric — 13 mechanisms, 14 checks — and aggro_threat.json is the armed

WoW/Diablo-IV rubric — 32 mechanisms, 16 checks. Those files carry the GRAMMAR verbatim. They do NOT

carry move-set sizes or raid phase counts as measured figures, and this document does not pretend they

do. The counts below are therefore a GENRE-BASELINE READ, labelled as such: the band floors are set so

that the rubric's own structural demands are ARITHMETICALLY SATISFIABLE, and that constraint — not a

borrowed number — is what fixes them.

THE ARITHMETIC, which is the actual derivation:

exercised (B4) and the rubric's demand that each class be TAUGHT before it is TESTED, a boss needs at

minimum an opener plus a variant per class (MHM-G10: the opener is the most legible and least

punishing move, and its dangerous moves are recognisable variants of that root). Three classes × an

opener plus two variants each = 9 before anything phase-specific exists.

distance, facing and phase. A distribution over fewer than ~6 live moves in a state reads as a

sequence inside two cycles, which the mechanism names as the failure. Three phases × ~6 live moves,

with the evolve-not-swap law meaning P1's moves stay live into P3, gives ~6 + ~6 + ~6 = 18 as the

floor where the last phase still has genuine distribution.

(B4) therefore consume three moves that must have existed and must not have been load-bearing enough

that removing them collapses the fight.

environment-consuming move per arena state the encounter uses.

needs its own moves and is not a re-skin of the primary's.

18 is where those five demands stop colliding. That is the B4 floor. B3 sits one structural tier down

(2 phases, ≥2 classes, ≥2 parts) at 12, B5 sits above it at 28 because its 4–7 phases are declared

PHASE-SPECIFIC rather than merely additive, and B2/B1/B0 fall out of the same arithmetic at their own

obligations. B0's 3–5 is the count Josh named as the floor a boss must clear: three abilities is a

minion.

2.4 The BAND ASSIGNMENT rule — how a being lands in a band

Read in this order; the first match wins.

1. A T0_Boss_Encounter_Registry row with chapter_id in the Tier-A anchor set (CH_08, CH_23, CH_38,

CH_55, CH_65) and boss_kind = mainB5.

2. A row whose declared phase count is ≥4, or a Tier-C MMO world-boss row → B5.

3. boss_kind = mainB4.

4. boss_kind = subB3.

5. boss_kind = environmentalB5, with the count read by the WIDENED PARSE below, and the

environmental protocol replaces the damage economy without reducing any count. The sole member of

this branch is BE_0029 (CH_29), whose phase_breakdown_object reads *"4 protocol steps held in

accumulation (stack-hold): Perception -> Vril-management -> Restraint -> Purgation"*.

6. No boss row, ELEVATED by §1 → B2.

7. No boss row, MUNDANE by §1 → B1.

8. A spawned escort, add-wave member, or pack member with no row of its own → B0, and its kit is

named on the leader's kit file rather than getting a file.

2.4a THE WIDENED PARSE, and the exemplar this branch had wrong (fix F5)

The first draft illustrated rule 5 with BE_0010. That was a mis-citation and the critic caught it:

BE_0010 is boss_kind = main at CH_10, so under this section's own first-match precedence it exits at

rule 2 (declared phase count ≥4 → B5) and never reaches rule 5 at all. Its OUTCOME was right and its

ROUTE was wrong, and a rule illustrated by a case it does not govern is a rule nobody can apply.

The mix-up has an honest cause worth recording rather than hiding: BE_0010 and BE_0029 describe the

SAME four-step protocol — perception, vril-management, restraint, purgation — one as a CH_10 main and

one as the registry's only environmental row. They read almost identically and they route completely

differently.

THE PARSE, widened so the branch can resolve its own member. A phase count is read from

phase_breakdown_object by taking the FIRST integer that is immediately followed by any of:

Anything else is UNDECLARED, and undeclared means the band's fill range applies. Under the widened parse

BE_0029 reads 4 and rule 5 resolves; the environmental protocol is a B5-depth encounter whose win is

never damage, exactly as the branch always intended.

WHAT THIS DELIBERATELY DOES NOT DO. It does not normalize BE_0029's cell to lead with "4 phases". That

was the critic's alternative fix and it is a REGISTRY EDIT — a canon write, needing its own scoped

commit and a fidelity-baseline refresh, made while concurrent lanes hold that file dirty. The parse is

proposal-tier and costs canon nothing, so the parse moves. The registry normalization is BOARDED in §7

for whichever lane next owns that file legitimately.

2.5 The B0 clause that keeps minions honest

A B0 minion is 3–5 abilities and that is CORRECT for a minion — the ruling's "three abilities is a

MINION kit" is a statement about what three abilities IS, not a prohibition on three abilities existing.

What B0 may never be is a BOSS. The gate reads the band off the boss row's own boss_kind, so a main

boss cannot be authored at B0 depth by relabeling it.

Per aggro_threat AGG-G28, minions travel WITH the elite, are elite-flagged, and do NOT inherit its

affixes — they inherit durability. Per AGG-G29, a family is authored as a ROLE SET (swarmer / bruiser /

ranged / summoner / controller), not as reskins. So a B0 roster is authored as ROLES around its leader,

and a pack of five identical bodies is a finding.

3. WHAT A KIT FILE MUST CARRY — the obligations behind the counts

A count with no structure is padding. Every band inherits every obligation of the bands below it.

ObligationB0B1B2B3B4B5
Every ability names its BODY ORIGIN (which segment initiates, which chain loads)
Every ability names its TELL SHAPE, one shape → exactly one answer
Every ability names its COUNTER CLASS from the seven (any/dodge_only/parry_only/neutralize/cover/weak_point/trigger_interrupt)
An OPENER declared, with its dangerous moves built as variants of that root (MHM-G10)
Every ability keyed to the PHASE WINDOW it is live in
Every ELEVATED ability names its ELEMENT FAMILY + its LORE GROUND (cited, or INVENTED and named) + its vril-physics MECHANISM
PART ECONOMY with the three-currency payout (moveset subtraction, legibility gain, a material) (MHM-G4)
ESCALATION ANNOUNCED on the four body channels — posture, breath, vocalization, new opener (MHM-G7)
ENVIRONMENT ARMING: ≥1 ability consumes a named EG_ row's affordance (MHM-G13)
PATTERN COUNTERS: ≥1 ability whose answer is reading a SEQUENCE, not a single tell
TURF / RELOCATION: how the body enters, relocates, leaves, and what it does to the arena (MHM-G8/G9)
PHASE-SPECIFIC KITS: each phase carries moves that exist only in it, on top of the retained stack
ENRAGE STATE, expressed as the Withdrawal clock rather than as a stat (MHM-G6)
The PUZZLE-BOSS CHAIN METER where the row carries a non-kill path (5–9 correct reads, wipes on a mistake)

Two of those rows are the ruling's own words made checkable. "Bosses must be way more complex than just

3 abilities" is the ability-count column plus the phase-specific-kit row. "It also scales with difficulty

tier" is §4.

3.1 The evolve-not-swap law binds every multi-phase band

CVD §5 Pillar 8 forbids swap-and-replace, and COMBAT_ENCOUNTER_SYSTEM §3 states it as a layered

accretion machine: a transition PUSHES a layer without POPPING the old one. So the ability count of a

phase is CUMULATIVE-LIVE, and a B5's phase-specific kit is what phase N adds on top of everything

phases 1..N-1 still do. A kit file that deletes P1's moveset at P2 is a Pillar-8 violation and returns

for repair, not a caveat.

The one authored subtraction that IS legal is a PART BREAK, because MHM-G4 makes the subtraction a

player achievement rather than a script.

4. THE DIFFICULTY-MODE CLAUSE — expression modulates, the kit does not fork

RULED INPUT: docs/proposals/DIFFICULTY_SYSTEM.md (Wellspring · Veiled · Fading · Sundered · The

Forgotten One, RULED and CLOSED Josh 2026-07-04), AMENDED 2026-07-30 item J5 — higher difficulty raises

the RANGE and COMPLEXITY of the attacks and of the environmental hazards; some health and damage scaling

exists as the MINORITY contributor; difficulty may never come solely or mainly from inflated enemy

numbers. Josh 2026-08-05 adds the kit-layer half: kit depth "also scales with difficulty tier."

THE LAW: one authored kit, five expressions. A boss is never authored twice. The difficulty tier is

a set of DATA MODULATORS on the single kit, and every modulator below is a count, a boolean or a

selection weight — never a second kit file, and never a damage number.

4.1 The five modulators, as columns on the kit

ModulatorWhat it doesData shapeGrounded in
active_ability_setWhich of the kit's abilities are LIVE in the P(move) table at this tiera subset per tier, monotonically growing upwardJ5 "range and complexity of the attacks"
window_classThe tell/punish/parry window BAND the encounter readsan ordinal band per tier, tightening upward; magnitudes are Phase-5M'sCOMBAT_ENCOUNTER_SYSTEM §4.1/§4.3 telegraph slack + punish window
answer_tree_depthHow many leaves of the counter-tree remain validfull tree → primary+forced-secondary → intended-only → single true answer§9 answer-pruning; the Forgotten One prunes to one
hazard_concurrencyHow many EG_ hazards may be ACTIVE at once in the arenaan integer per tierJ5 "and of the environmental hazards"
phase_overlapWhether a phase's additions arrive stacked or interleaved with the prior phase's cyclesa boolean or small ordinal per tierJ5 "longer interleaved cycles, more arena state demanding a read"

4.2 The tier ladder, expressed against those five

Tieractive_ability_setwindow_classanswer_tree_depthhazard_concurrencyphase_overlap
Wellspring (Story)the band FLOOR onlywidestfull tree; off-mode answers toleratedlowestnone
Veiled (Easy)floor + the taught variantswidefull treelownone
Fading (Medium — the true tuning)the kit as authoredthe authored bandprimary + forced secondarythe arena as authoredas authored
Sundered (Hard)+ the reserved-complexity settightoff-mode and inefficient answers prunedraisedinterleaved
The Forgotten One (NG+ prestige)+ the prestige set, and every reserved move livetightestthe single true answerhighestfully interleaved

Fading is the AUTHORED ROW. Everything above and below it is a modulation of that row, which is why the

authoring lane writes one kit and never five.

4.3 What the reserved sets ARE, so "more abilities at Hard" is not a cheat

The active_ability_set growing upward would be a lie if the top tiers simply got MORE MOVES than the

designer balanced. They do not. The reserved sets are authored INSIDE the band count and held back at

lower tiers:

22 at Sundered with the reserved-complexity FOLLOW-UPS enabled on moves the player already knows, and

22 at the Forgotten One with every follow-up plus the prestige chain.

MHM-G10's variant law, never novel unlearnable moves. A player who learned the root at Fading can

read the Sundered variant; they just have less time to answer it.

gate reads the authored total.

4.4 What difficulty NEVER modulates

Phase ORDER, transition TRIGGERS, hard-line beats, the environmental-cycle schedule, the EXISTENCE of

each composure node, integrity routing, the non-kill path's availability, and the chain meter's pip

count. Those fire on state, never on dice and never on tier (RNG_Sigma §3;

COMBAT_ENCOUNTER_SYSTEM §8). A difficulty tier that removes a non-kill path has removed player agency,

which is the opposite of what the ladder is for.

4.5 The minority-contributor clause, stated once so no kit re-litigates it

Bounded health and damage scaling is PERMITTED as the minority contributor (J5). No kit file authors it,

because no kit file authors magnitudes at all. The tuning firewall owns it, and this table's only

statement about it is the ordering: complexity is the majority, numbers are the minority, and a kit that

tries to deliver difficulty through numbers has misread the whole system.

5. HOW A KIT DECLARES ITS BAND, and what a gate can check

Every kit file carries a band field in its front block and the machine index mirrors it. The

checkable teeth, stated here so the gate that arms them has a spec:

a finding. The derivation is mechanical, so this tooth never needs judgement.

over the ceiling is reported, not failed — depth above the bar is not a defect.

fields: an ability with no counter class, no tell shape or no body origin fails.

same tooth the bestiary doctrine's ONE-ANSWER TEST names, applied to the kit rather than the sheet.

is a finding — that is the calibration ruling made checkable in one line.

INVENTED declaration is a finding, per the citation test.

part-break as the stated cause, is a finding.

pattern token before its sanctioned chapter — the standing firewall, read by

harness/check_reveal_discipline.py.

document has no gate of its own: the slice population must occupy at least FOUR of the five

intelligence tiers. A rule that assigns everything to one tier is not a rule, and a control that is

only asserted is not a control.

T0_Boss_Encounter_Registry or T0_Creature_Roster, and every kit-bearing slice boss row must be

covered by exactly one kit. This is the tooth that makes a missing kit visible; without it the whole

set could be authored 90% complete and read as done.

THE GATE IS harness/check_kit_layer.py, joined to harness/run_gates.py as gate kit_layer, and

every tooth above ships a MUTATION PROOF: the gate mutates a real kit record in memory in the way the

tooth forbids and asserts the tooth fires. A tooth with no proof that it can fire is not armed.

6. WHAT THIS TABLE DOES NOT DO

where a kit's read implies a row should change, that lands as a boarded debt for the registry lane.

authored rows, and the kits read them.

7. MEASURED OPEN DEBTS this table found and did not fix

Recorded so a later pass has the worklist rather than a rediscovery.

candidate rail row set, and the rail is where the kits become data.

rows are under their own band's obligation today.

boss's difficulty band and §2.4 derives it from boss_kind and chapter_id instead.

the PARSE instead of editing the row, because the row is canon and the parse is not. Normalizing the

cell remains available to whichever lane next owns that registry with a scoped commit and a baseline

refresh; until then the parse carries it and nothing is silently wrong.

tactical_affordance_class = NONE and attack_verbs = none — the only armable row in the registry

that grants no affordance and no verb, so the tier-4 sapient contract reads it and gets nothing. §4 of

the EG sweep resolves it on its merits rather than by deletion.

cell reads "no adversary -> no counter-table; the fall is undergone, not countered". A kit describes

how a body fights; there is no body. The exemption is carried in KIT_INDEX.json under

exempt_rows with this reason, so the coverage tooth T10 can tell an exemption from an omission.

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