systems/KIT_SCALING_TABLE.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 (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 them | 763 (222 non-ordinary, 541 physical) |
| by class | 28 MUNDANE · 29 ELEVATED |
| by band | B1 ×5 · B2 ×1 · B3 ×39 · B4 ×10 · B5 ×2 |
| canon rows served | 70 (51 boss rows, 8 creature rows, 11 CHAR_ references) |
| slice boss rows CH_01–CH_13 | 52 measured, 51 kit-bearing, 1 declared exempt (BE_01) |
| rows declared exempt with reasons | 6 |
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.
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.
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.
A being is ELEVATED when ANY of the following is true of its own row. Otherwise it is MUNDANE.
| # | Evidence | Column read | Why it elevates |
|---|---|---|---|
| E1 | It has a hollow row | T0_Hollow_Codex.hollow_id resolves for it | A hollowed being is by definition a vril-metaphysical state, not an animal |
| E2 | It has a boss row | a T0_Boss_Encounter_Registry row names it | A boss row is an authored encounter with phases and composure nodes; that is the elevated contract |
| E3 | It has a lore home | T0_Creature_Roster.species_class = folklore, or folklore_behavior_substrate carries an attested tradition claim with a folklore_attribution_source | A being the tradition itself describes is a lore being with a real-fauna base |
| E4 | It is faced as folklore | T0_Creature_Roster.combat_permission = FOLKLORE_FACED | The column exists precisely to say the encounter is with the tradition's being, not with the animal |
| E5 | Its ontology is non-ordinary | T0_Creature_Roster.ontology_class ∈ {SACRED, CONDEMNED, AMBIVALENT, LEGENDARY} | ORDINARY_FAUNA is the column's own word for "no metaphysical claim on this row" |
| E6 | It is a legendary species or familiar slot | tier_classification = LEGENDARY, or a T0_Familiar_Registry slot resolves | The 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.
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.
CR_0001's ambient kit — the animal you meet on 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.
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).
combat_permission ∈ {PERMITTED, FOLKLORE_FACED}).PERMITTED and 19 are FOLKLORE_FACED.ORDINARY_FAUNA, 17 SACRED, 13 CONDEMNED, 6 AMBIVALENT, 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.
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.
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.
| Band | Kit class | Abilities (distinct moves) | Phases | Counter classes exercised | Composure nodes | Part economy | Non-kill path |
|---|---|---|---|---|---|---|---|
| B0 MINION | either | 3–5 | 1 | ≥1 | 0 (feeds the leader's) | 0 | never (not the subject) |
| B1 MUNDANE FAUNA | mundane only | 5–9 | 1–2 (state change, not a phase bar) | ≥2 | 1 | ≥1 breakable | quarry/flee routes |
| B2 ELEVATED | elevated only | 8–12 | 2 | ≥2 | 1–2 | ≥1 breakable | per its own row |
| B3 SUB-BOSS | either | 12–18 | 2 | ≥2 | 2 | ≥2 breakable | per its own row |
| B4 CHAPTER BOSS | either | 18–28 | 3 | ≥3 | 3 | ≥3 breakable | per its own row |
| B5 APEX / TIER-A / TIER-C | either | 28–40+, phase-specific | the ROW's own declared count (3–7 observed); 4–7 where the row declares no count | ≥4 | 4–5 | ≥4 breakable | per its own row |
Measured at HEAD over all 284 T0_Boss_Encounter_Registry rows by parsing the leading N phases of
phase_breakdown_object:
| Row kind | rows | 2 phases | 3 phases | 4 phases | undeclared |
|---|---|---|---|---|---|
boss_kind = sub | 204 | 84 | 2 | 0 | 118 |
boss_kind = main | 79 | 7 | 56 | 2 | 14 |
boss_kind = environmental | 1 | 0 | 0 | 0 | 1 |
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.
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.
Measured at HEAD over all 284 rows.
counters, split on ; — 1: 15 rows · 2: 198 · 3: 51 · 4: 15 · 5: 4 · 7: 1. The mode is 2, which is 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.
composure_nodes, split on ; — 0: 1 row · 1: 54 · 2: 145 · 3: 55 · 4: 25 · 5: 4. The maximum 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.
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.
P(move | state) table conditioned ondistance, 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.
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 = main → B5.
2. A row whose declared phase count is ≥4, or a Tier-C MMO world-boss row → B5.
3. boss_kind = main → B4.
4. boss_kind = sub → B3.
5. boss_kind = environmental → B5, 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.
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:
phases / phase — the common form ("2 phases: jungle stalk; ...").sub-phases — BE_0038's form.protocol steps / steps — BE_0029's form, and the reason the branch dead-ended.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.
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.
A count with no structure is padding. Every band inherits every obligation of the bands below it.
| Obligation | B0 | B1 | B2 | B3 | B4 | B5 |
|---|---|---|---|---|---|---|
| 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.
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.
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.
| Modulator | What it does | Data shape | Grounded in |
|---|---|---|---|
active_ability_set | Which of the kit's abilities are LIVE in the P(move) table at this tier | a subset per tier, monotonically growing upward | J5 "range and complexity of the attacks" |
window_class | The tell/punish/parry window BAND the encounter reads | an ordinal band per tier, tightening upward; magnitudes are Phase-5M's | COMBAT_ENCOUNTER_SYSTEM §4.1/§4.3 telegraph slack + punish window |
answer_tree_depth | How many leaves of the counter-tree remain valid | full tree → primary+forced-secondary → intended-only → single true answer | §9 answer-pruning; the Forgotten One prunes to one |
hazard_concurrency | How many EG_ hazards may be ACTIVE at once in the arena | an integer per tier | J5 "and of the environmental hazards" |
phase_overlap | Whether a phase's additions arrive stacked or interleaved with the prior phase's cycles | a boolean or small ordinal per tier | J5 "longer interleaved cycles, more arena state demanding a read" |
| Tier | active_ability_set | window_class | answer_tree_depth | hazard_concurrency | phase_overlap |
|---|---|---|---|---|---|
| Wellspring (Story) | the band FLOOR only | widest | full tree; off-mode answers tolerated | lowest | none |
| Veiled (Easy) | floor + the taught variants | wide | full tree | low | none |
| Fading (Medium — the true tuning) | the kit as authored | the authored band | primary + forced secondary | the arena as authored | as authored |
| Sundered (Hard) | + the reserved-complexity set | tight | off-mode and inefficient answers pruned | raised | interleaved |
| The Forgotten One (NG+ prestige) | + the prestige set, and every reserved move live | tightest | the single true answer | highest | fully 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.
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.
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.
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.
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:
band disagrees with §2.4's derivation from its own canon row isa 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.
SRC_-class citation nor an explicitINVENTED 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.
INTELLIGENCE_TIERS §3.2's own positive control, armed here because thatdocument 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.
canon_rows entry on every kit must RESOLVE to a real row in 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.
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.
Recorded so a later pass has the worklist rather than a rediscovery.
T0_Boss_Attack_Rail carries 0 rows against 27 columns. Every kit authored under this table is acandidate rail row set, and the rail is where the kits become data.
hitzone_parts is populated on 1 of 284 boss rows. B1 and above all demand a part economy, so 283rows are under their own band's obligation today.
phase_trigger and escalation_vector are populated on 0 of 284 rows.phase_breakdown_object.manifestation_tier and generation_tier are empty on all 284 rows, so no existing column carries a boss's difficulty band and §2.4 derives it from boss_kind and chapter_id instead.
BE_0029.phase_breakdown_object leads with "4 protocol steps" rather than "4 phases". §2.4a widenedthe 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.
EG_0169 (Cut Station Clearing and the Suffocating Day Heat) carries enemy_usable = TRUE with 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.
BE_01 row (CH_01, the Fall) is DECLARED KIT-EXEMPT rather than authored thin. Its own counterscell 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.