L-R1-mythic-cosmology-adaptation_DRAFT.md

supernatural/L-R1-mythic-cosmology-adaptation_DRAFT.md

L-R1 · mythic-cosmology-adaptation — doctrine lens audit

Wave 1 (DOCTRINE), read-only, 2026-07-28. Unit: L-R1. Aspects audited: R-A2, R-A3, R-A11, R-A13, R-A15.

Title-set: God of War (2018) / God of War Ragnarök · Ōkami · Black Myth: Wukong · Shin Megami Tensei

and Persona's mythology rosters · Hades (GREEK-COSMOLOGY LAYER ONLY — its run/register/defeat layers

are handed to hades-death-run-realm-identity and L-R5 per REALM_DESIGN_PROGRAM §4.3 and are not

touched here).

Consumer: the Wave-2 HARMONY DOCTRINE authoring (into T1_Vril_and_Magic_System_Master) and the

T0_Realm_Ruleset_Registry schema mint. Every finding below is written so a schema designer can consume

it directly: each carries a SCHEMA HOOK naming the field, enum, or tooth it lands on.

---

0. Scope discipline, boundaries pre-registered, and the honest headline

0.1 Boundaries I did not cross

Not re-litigated. Where I touch thresholds it is the *experiential* half (R-A7a), which is L-R2's.

wave (REALM_DESIGN_PROGRAM §4.2). I record the register field requirement as a schema hook only and

leave the doctrine answer to that unit. F-05 states the boundary explicitly.

and does not propose a ruling.

only the theme-registry structural fact that bears on art direction (F-16).

0.2 Positive controls run before every absence claim in this document

This repo's most-repeated defect is a search that cannot match reporting zero. Every zero below was

controlled. The controls, recorded:

Claim surfaceControl term (known-present)Control resultVerdict
Hard-lines registry has no deity-instantiation rulehonored-adversary / Velheim / malevolent7 / 14 / 3 rowsmatcher works; zero is real
No ordinal/escalation column in any live registryintensity1 filematcher works; zero is real
care_tier column locationregion_id7 filesmatcher works; zero is real
CVD deity rule exists17.1 / hard line16 / 31 hitsmatcher works; the rule was FOUND

One control FAILED and is recorded rather than hidden: my first pass used chaos-enemy as a

hard-lines control. It returned 0 — because that phrase lives in docs/spine/CH_69.md prose, not in

the registry. I discarded that pass and re-ran with three registry-resident controls before making any

absence claim. A near-miss of exactly the class this rule exists to catch.

A second near-miss, recorded because it changed a finding: searching docs/spine/CH_74.md for Mimir

returned 0 and I nearly wrote "the well of wisdom is unnamed." Reading the text showed

Mímisbrunnr present — the accented í defeated the literal. F-11 was rewritten as a result. This

is why the deity-presence findings below rest on read text, not on counts alone.

0.3 Headline

The Duat (Ch 69) is genuinely world-class adaptation work and would survive comparison with anything

in the title-set. Ch 74's wells hold scholarly divergence deliberately — a discipline Ragnarök itself

does not attempt. The corpus is not naive.

But the adaptation quality lives almost entirely in prose, anchored to hard lines that in several

cases do not say what they are cited as saying, and the discipline is **inversely correlated with

care load**: the realms drawing on living traditions with practitioners today (Ch 71 Xibalba, Ch 72

Naraka/Meru, Ch 73 Annwn, Ch 74 Yggdrasil) carry the *least* hard-line anchoring and the *thinnest*

typed structure, while Ch 67-70 carry the most.

And the single grounded authoring pack every chapter build reads — harness/enrich.py — tells the

author that every realm chapter is standard care, including the one the live boss registry marks

maximum. That is the finding with the largest blast radius in this audit, because L-R3's per-realm

care tiering is scheduled to be authored *against that pack*.

---

1. R-A2 — Adapting a real mythological cosmology at scale

*The lens teaches: source-selection discipline (Ragnarök shipped nine realms from one tradition and

had to decide what each realm IS as a place, not a myth-summary); the myth-literacy ladder (Ōkami

rewards Shinto knowledge without ever requiring it); insider-vs-outsider adaptation; and the

mass-roster flattening failure mode (SMT/Persona).*

---

F-01 · The authoring pack rates every realm chapter standard care — including the one the registry rates maximum

Verdict: WEAKER · Owner: schema-data + harness · Wave: 1→2 (blocks L-R3's named output) · Priority: HIGHEST

Lesson. Ragnarök's realms differ enormously in how much license the studio took, and the licence

was decided per realm before art started. Our equivalent decision surface is the care tier — and it is

the *first* thing an authoring pass reads.

Current state, cited.

  HIGH_CARE = {29, 42, 57}                       # Sámi / Haiti / Australia
  ELEVATED_CARE = {11, 12, 13, 47, 48, 50}       # Congo / West African / South Africa / Mesoamerica / Amazon

literal sets, returning high / elevated / standard.

No realm chapter (66-77) appears in either set. Therefore care_tier() returns standard for all

twelve. Contrast the live data and the live spine:

Chapterenrich.py returnsT0_Boss_Encounter_Registry.care_tierSpine / charter reading
Ch 69 the DuatstandardstandardCH_69.md:3 "carrying an ELEVATED §17.1 duty"
Ch 71 Xibalbastandardelevatedliving Maya; Popol Vuh; Guatemalan intangible heritage
Ch 72 Naraka/Merustandardmaximumcharter §1.1 "MAXIMUM (living Hindu, Buddhist and Jain cosmology)"
Ch 73 Annwnstandardopencharter C-3 contested; §3.3 gate treats unsettled as living

Note the second-order defect: ELEVATED_CARE is annotated "Mesoamerica" and covers Ch 47/48 — but

not Ch 71, the game's flagship Maya content. The set was built for the earthly arc and never

revisited when the Realm Road was cascaded.

Why it is decision-grade. REALM_DESIGN_PROGRAM §5.2 schedules L-R3's per-realm care tiering as the

gating deliverable for every art-concept fan-out. If that authoring runs on the enrich pack, it starts

from standard on all nine and must argue its way *up* — against a machine-emitted value. The

cheapest possible error to prevent, and it is prevented by editing two Python literals.

REUSE-FIRST recommendation. Do not build a care resolver. Two steps on the existing mechanism:

1. Now (zero-token, Wave 0): extend the two existing literal sets in harness/enrich.py so the

realm chapters resolve honestly, seeded from the live T0_Boss_Encounter_Registry.care_tier values

(the only per-realm care data that exists today), and mark the seeding PROVISIONAL pending L-R3.

2. Wave 2: once T0_Realm_Ruleset_Registry exists, care_tier() reads the realm row for

chapters 66-77 and the literal sets govern only the earthly arc — one source of truth, which is

what the charter's own single-owning-system rail requires.

SCHEMA HOOK. T0_Realm_Ruleset_Registry.care_band becomes the authority for chapters 66-77;

enrich.py::care_tier() becomes a reader, not a second author. Add to the Wave-2 commit checklist:

*"enrich.py resolves realm care from the ruleset row"* — otherwise the registry mints and the pack

still lies.

---

F-02 · care_tier is a 15-value free-text field in live data, and the realm rows are the worst offenders

Verdict: WEAKER · Owner: schema-data · Wave: 2 (same commit as the generation_class mint) · Priority: HIGH

Lesson. SMT/Persona's flattening failure is a *vocabulary* failure — hundreds of cosmologies

reduced to one mechanical field. A field whose value domain is unpoliced becomes prose, and prose in a

column is exactly how a cosmology gets flattened or, here, un-typed entirely.

Current state, cited. registries/T0_Boss_Encounter_Registry [DRAFT v0.1]/Sheet1.csv, 281 rows,

distinct care_tier values:

 198  'standard'                    2  'maximum'
  51  'elevated'                    2  'open'
  12  'high'                        1  'standard-with-the-war-register-antisemitism-guardrail-and-the-honored-realm-duties'
   5  'standard_elevated'           1  'elevated-the-realms-own-dead-given-dignity-win-is-rest'
   3  'standard-with-the-war-register'
   1  'standard-with-the-war-register-and-the-HL_0109-guardrail-realms-own-dark-not-a-cabal'
   1  'hard-line-with-the-antisemitism-guardrail-at-its-sharpest-and-the-unimpeachable-father'
   1  'hard-line-with-the-single-sanctioned-reveal-and-the-al-hallaj-reverence'
   1  'hard-line-shared-frame-thesis-not-restated-unseen-reader-held'
   1  'hard-line-origin-show-dont-tell-absolute-with-the-vril-firewall'
   1  'hard-line-origin-show-dont-tell-absolute-with-the-inverted-changeling-care'

Fifteen values where two are ratified. The entire endgame (BE_0075, BE_0075_S1..S5, BE_0076,

BE_0077) uses the column as a free-text sentence field.

This directly contradicts a load-bearing charter premise. REALM_DESIGN_PROGRAM §1.1: *"The

ratified care_tier enum has exactly two values, standard and elevated... they are prose, not enum

values, and this charter asserts none of them into that column."* True of the charter — but the column

was already polluted before the charter was written, on precisely the realm rows, with maximum

sitting on BE_0072 and open on BE_0073/BE_0074.

No tooth polices it. harness/check_build_readiness.py:292-293 checks that a machine care_tier

field *exists*; its self-tests at :476-485 confirm it distinguishes a machine field from prose. It

never checks the value domain. Existence-not-value is how fifteen values accumulated silently.

Why it is decision-grade for Wave 2. §5.3 mints generation_class as a closed four-value enum

(invented · historical · living · unsettled) on the registry-extension rail. The same authoring

culture, on the same rows, with no domain tooth, will produce a fifteen-value generation_class. The

proof of need is already in the tree.

REUSE-FIRST recommendation.

The rail already runs check_registry_extensions.py; add the domain assertion there rather than

writing a new gate.

The enum's fourth value has a live predecessor — do not invent a parallel vocabulary.

hard-won nuance without holding it in an enum slot.

SCHEMA HOOK. Every closed enum in T0_Realm_Ruleset_Registry (generation_class, care_band,

derivation, vril_density_class, layer, scope, deity_presence_class per F-11) ships with a

domain assertion in check_realm_ruleset.py, each with a must-fire fixture. Per the charter's own

rule, an unmutated rule is unarmed.

---

F-03 · "Hold the divergence" — the corpus's best source-selection instance has no schema home

Verdict: COVERED as practice / MISSING as field · Owner: schema-data · Wave: 2 · Priority: MEDIUM-HIGH

Lesson. The Ragnarök source-selection question is *"what is this realm as a place?"* — and the

hardest version of it is what to do when the primary sources disagree. Ragnarök resolves divergence by

picking. Our Ch 74 does something better and rarer.

Current state, cited. docs/spine/CH_74.md, site row three_wells_and_norns_hall, env text:

"...the tending-mechanic anchor and the L2 lore-read of the tradition's own contested cosmography
(the sources diverge on the roots and wells; the realm holds the divergence)..."

The three wells are individually named and correctly attributed — Urðarbrunnr, Mímisbrunnr,

Hvergelmir — and Hvergelmir additionally earns its own site row (gnawed_root_hvergelmir). This is

insider-grade handling: the Eddic sources genuinely conflict on the roots/wells mapping, and the design

declines to flatten them.

The problem is that it is a sentence. Nothing types it, nothing else on the road is required to

answer the same question, and no critic rubric can check it. Ch 66 Atlantis has the sharpest divergence

problem on the road (Plato's two dialogues differ, and the entire post-Donnelly reception is a fringe

lineage the charter §2.4 already firewalls) and carries no equivalent declaration.

REUSE-FIRST recommendation. Add one field to the identity-and-provenance family — do not build a

system. It is the cheapest anti-slop instrument in this audit: generic fantasy cannot produce a

source-divergence stance, because generic fantasy has no sources to diverge.

SCHEMA HOOK.

source_divergence_stance   enum{ hold | select | not_applicable }   (mandatory)
source_divergence_note     text, mandatory when stance != not_applicable
source_divergence_citation FK → T0_Research_Corpus_Registry, mandatory when stance != not_applicable

Tooth T-RLM-PROVENANCE extends to assert the citation resolves. Ch 74's row is the ratified exemplar

and the must-pass fixture; a mutated copy with an unresolvable citation is the must-fire fixture.

---

F-04 · The myth-literacy ladder is tagged but its FLOOR is never declared — the Ōkami contract is half-built

Verdict: WEAKER · Owner: schema-data + spec-doc · Wave: 2 · Priority: HIGH

Lesson. This is the lens's single most transferable lesson and the charter names it as *our exact

L2/L3 contract*: Ōkami rewards Shinto knowledge without ever requiring it. A player who knows the

Amaterasu myth gets a second game; a player who does not loses nothing. The contract has two halves —

the knower's bonus and the non-knower's floor — and only the first half is expressible today.

Current state, cited. Beat rows carry a layers: tag. Live distribution across the road

(docs/spine/CH_66.mdCH_74.md, - layers: lines):

Chapterbeatsbeats with L2beats with L3tag shapes present
CH_661127L1, L1+L2, L1+L3, L3
CH_671035L1, L1+L2, L1+L3, L2+L3, L3
CH_68924L1, L1+L2, L1+L3
CH_691145L1, L1+L2, L1+L3
CH_701074L1+L2, L1+L3, L1+L2+L3
CH_711273L1, L1+L2, L1+L3
CH_721044L1, L1+L2, L1+L3
CH_73944L1, L1+L2, L1+L3
CH_741035L1, L1+L2, L1+L3, L2+L3

The ladder demonstrably exists and is used with real variation — that half is COVERED, and Ch 70/71

(7 L2 beats each) show the completionist layer carrying genuine weight.

What is missing is the floor. The tag says *where knowledge pays*. Nothing anywhere says **what a

non-knower experiences at that beat**. Two consequences, both checkable:

1. Four beats on the road carry no L1 at all (CH_66 ×2 L3, CH_67 ×1 L3 + ×1 L2+L3, CH_74 ×1

L2+L3). Under the Ōkami contract an L3-only beat is the exact failure shape: a beat whose content

is *only* available to the knower. These may each be defensible connective moments — I am not

claiming they are defects — but nothing in the row lets a critic tell the difference, which is

the finding.

2. No rubric can test the contract. RB-RLM-PROVENANCE (§2.7) asks a critic to name the source

tradition from frames — that tests the knower's surface. Nothing tests that the non-knower's

experience is complete.

REUSE-FIRST recommendation. Reuse the existing layers: tag and the existing no-dead-end

machinery — the charter already chains alternate_route into check_no_dead_end.py, and this is the

same idea applied to *comprehension* rather than *progression*.

SCHEMA HOOK. On the metaphysical-law and taboo sub-row groups, and mirrored onto L2/L3-bearing

beats:

literacy_floor        text, MANDATORY on any row tagged L2 or L3.
                      States what a player with ZERO knowledge of the source tradition
                      experiences here. Must be non-empty and must describe a COMPLETE
                      experience, never a diminished one.
literacy_bonus        text. What recognition ADDS. Never a mechanical advantage that a
                      non-knower cannot otherwise obtain (that would convert the ladder
                      into a knowledge gate).

New tooth T-RLM-LITERACY: every L2/L3-tagged row has a non-empty literacy_floor; no

literacy_bonus names a progression-bearing reward. Must-fire fixture: an L3 row with an empty floor.

This arms the natural-voice doctrine's own clause — *hard puzzles NEVER gate; clues are never

unsolvable* — on the cosmology surface, where it is currently unenforced.

---

F-05 · Register differentiation — boundary pre-registered, one schema hook contributed

Verdict: DIVERGENT-BY-DESIGN (scope), MISSING (field) · Owner: L-R5 register slice · Wave: 1 (sibling unit) · Priority: n/a here

The register question — what makes Hades warm, Xibalba adversarial, Annwn seductive-and-hospitable,

Naraka moral-architectural, the Duat exact and grave — is the extracted L-R5 slice running in this

same wave (REALM_DESIGN_PROGRAM §4.2). I do not answer it.

The one thing L-R1 owes that unit: the register must be a typed field on the realm row, not prose,

because R-A15's art-direction hooks (palette_law, silhouette_law) and the RB-RLM-POSITION rubric

both need to read it. Recorded here so the schema designer reserves the slot even though the *values*

come from L-R5.

SCHEMA HOOK. register_class (closed enum, values authored by L-R5) + register_note (text), in

the art-direction-hooks family. T-RLM-REGISTER: **no two ADJACENT road positions share a

register_class** — the machine-checkable form of the monotone-solemn slop-mode guard, and directly

modelled on the existing HL_0049 two-consecutive mode rule, which harness/check_chapter_topography.py

already encodes as R1/R2. Reuse that tooth's shape; do not invent a new comparator.

---

F-06 · The invented-coinage layer on realm identifiers has no declared rule

Verdict: MISSING · Owner: spec-doc · Wave: 2 · Priority: MEDIUM

Lesson. Insider-vs-outsider adaptation shows up first in *naming*. Ōkami uses tradition names;

Black Myth uses the canon's own names at AAA scale and its reception turned partly on that fidelity.

Current state, cited. registries/T0_Region_Index [ACTIVE v1.2]/T0_Region_Index DRAFT v1.1.csv

region_id vs region_name on the nine road realms:

region_idregion_name
atlantisAtlantis
pohljarPohjola / Sariola
tiamaraththe Apsu
maatherionthe Duat
hades · xibalba · naraka_meru · annwn · yggdrasil(tradition names)

Six of nine ids are the tradition name; three are game-invented coinages. maatherion is a coinage

built on Ma'at, a deity-name of an ancestral tradition, for that tradition's own realm — and it is

load-bearing beyond the registry: the worldstate key ws.maatherion_negotiation_outcome carries it

(docs/spine/CH_69.md, BE_0069 win-condition).

This is legal and I am not calling it a violation. CVD Component 7's firewall is *"no deity-name

sits on a mortal NPC"* — a region_id is not an NPC. Ch 69's own header separately rules that the

Architect "does NOT take the realm-name." The rule is respected.

The finding is that no rule governs the coinage layer at all, so nothing distinguishes a deliberate

choice from residue. maatherion and tiamarath most likely predate the §19.8 re-cascade (the Duat

was Agartha before the reframe), which makes them plausibly *legacy*, not *designed* — and there is

no field that would tell a Wave-2 author which.

REUSE-FIRST recommendation. Do not rename anything in this wave — ws.maatherion_negotiation_outcome

is a live worldstate key and renaming it is a cascade, not an edit. Instead declare the layer, and

let the naming/mastery pass decide later with the fact visible.

SCHEMA HOOK.

realm_id            (the tradition-facing key)
coined_identifier   text, nullable — a game-invented token in use for this realm
coinage_rationale   enum{ legacy_pre_recascade | deliberate_invention | none }
coinage_derivation  text, MANDATORY when the coinage derives from a deity-name or
                    sacred term; states the tradition-facing justification

T-RLM-CARE extends with a fixed-string scan (never an escaped pattern — the repo's own rule) for

coined identifiers on player-facing surfaces. Designer-facing keys are unaffected; the firewall is

about what the player reads.

---

2. R-A3 — Cosmological structure made legible as level design

*The lens teaches: a realm's own cosmological architecture IS its level design — the Duat's twelve

gated hours, Atlantis's concentric rings, Naraka's tiered moral cosmography, Yggdrasil's roots and

wells. Ragnarök's realms are legible because each one's structure is walkable.*

---

F-07 · The site terrain vocabulary is earthly; 20 of 38 realm sites collapse to sacred_site

Verdict: WEAKER · Owner: schema-data · Wave: 2 (direct input to the seven profile fields) · Priority: HIGH

Current state, cited. Every typed §3b site row across docs/spine/CH_66.mdCH_75.md:

Chsitesterrain values used
66 Atlantis3sacred_site ×3
67 Pohjola3sacred_site, water_body, coastal
68 the Apsu3water_body ×3
69 the Duat3water_body, sacred_site ×2
70 Hades5water_body, sacred_site ×4
71 Xibalba5cave_system ×2, sacred_site ×2, ruins
72 Naraka/Meru4cave_system, sacred_site, mountain, water_body
73 Annwn4sacred_site, ruins, wilderness, water_body
74 Yggdrasil4sacred_site ×2, forest, water_body
75 fairy realm4sacred_site ×4

Every value is an earthly terrain class. There is no otherworld terrain type in the vocabulary, so

sacred_site absorbs 20 of 38 realm sites (53%) as the residual bucket for "not a recognisable earthly

landform."

The mismatch is sharpest where the prose is most ambitious. docs/spine/CH_69.md describes

axis_root_and_inscription_gate as *"the impossible vertical realm of roots and wells and hung-open

space climbed from the inside"* — typed terrain sacred_site. Yggdrasil, a world tree holding nine

worlds in its boughs, is typed forest.

Why it is decision-grade. §2.3 specifies seven closed physics-profile fields (gravity, light,

time, matter, thermodynamic, fluid, acoustic) *"each written in the existing environment-grammar

micro-grammar so one parser serves both registries."* That reuse is correct — but the micro-grammar's

live property-key set is four terms (conductivity, mass, structural_integrity,

thermal_state; charter §2.3 states this and flags it). The terrain vocabulary has the identical

problem one layer up and the charter does not flag it: **V's adequacy probe is specified, the

terrain enum's is not.** A realm can pass every physics tooth and still be typed as a forest.

REUSE-FIRST recommendation. Do not fork the site schema. Extend the terrain enum, and subject it

to the same V-adequacy probe the charter already mandates for V (§2.3) — the probe machinery is

being built anyway; pointing it at a second vocabulary is nearly free.

SCHEMA HOOK. Terrain enum additions seeded from what the road already describes in prose:

impossible_vertical, world_axis, threshold_liminal, void_hung, tiered_cosmographic. Then:

contains and show the enum can express it. Residue recorded in the schema doc, exactly as V's is.

tooth. Ch 66 and Ch 75 (100% sacred_site) are the current must-fire cases.

---

F-08 · Cosmological structure lives in prose, not in typed sites — and Xibalba is the in-corpus proof it need not

Verdict: WEAKER · Owner: schema-data + P5-factory · Wave: 2 · Priority: HIGH

Lesson. The single most reusable structural lesson in the title-set: a tradition that already

supplies a *sequence* has already done the level design. Ragnarök walks Helheim's stages; Ōkami walks

Shinto's.

Current state, cited. The traditions supply structure and the typed layer discards it:

RealmThe tradition's own structureTyped as
Ch 69 the Duattwelve gated hours (Amduat / Book of Gates) — the charter calls it "the descent spine"ONE site duat_gated_hours + one agility_course:duat_twelve_gated_descent_course
Ch 66 AtlantisPlato's concentric rings — the most famous piece of Atlantis level design in existenceONE site atlantis_ring_city
Ch 72 Naraka/Merugraded Narakas, seven talas, Svarga, loka rungs (charter §1.3 names these as sub-rows)narakas_weighing_place + world_axis_loka_rungs
Ch 74 Yggdrasilthree roots/wells + nine worlds (T0_Chapter_Index.region_primary = "the Nine Worlds of Yggdrasil")4 sites; the three wells share ONE row

The counter-example is the finding's own solution. docs/spine/CH_71.md decomposes Xibalba into

five sites — xibalba_descent_road, xibalba_council_court, xibalba_six_houses,

xibalba_ballcourt, xibalba_climb_out_road — which is the Popol Vuh's own narrative sequence,

walkable in order. Xibalba proves the pattern is available, costs nothing new, and produces the

richest realm on the road.

Note the correlation with F-07: Xibalba is also the realm using the most varied terrain values. Typed

decomposition and vocabulary adequacy are the same problem.

Honest scope. This is DESIGNED-UNBUILT at the *world* layer — the charter §1.1 names "no WGM

geography" as the standing blank for Ch 70-74, and §0.2 states the realms lack a WORLD. I am not

re-reporting that. The finding is narrower and sharper: **nothing in the schema requires the

decomposition, so the world-authoring wave has no instruction to preserve cosmological structure**, and

Ch 66/69 will be built from typed rows that have already thrown it away.

REUSE-FIRST recommendation. Xibalba's five-site decomposition is the template. No new system.

SCHEMA HOOK.

cosmological_structure       text, MANDATORY — the tradition's own named architecture
structure_citation           FK → T0_Research_Corpus_Registry, mandatory
structure_site_decomposition array of site_ids realising it, MANDATORY, min length 2
structure_traversal_order    enum{ ordered | free | gated_sequence }

New tooth T-RLM-STRUCTURE: every realm row names a cosmological structure with a resolving

citation and decomposes it into ≥2 site rows. Must-pass fixture: Ch 71 Xibalba. Must-fire fixture: a

mutated Ch 69 row whose twelve hours decompose to one site — which is the live state today, making

this the rare tooth whose must-fire fixture is real data rather than a synthetic mutation. That is the

strongest possible arming evidence.

---

F-09 · Within-realm vril gradient: one exemplar, two flat counter-examples

Verdict: DESIGNED-UNBUILT · Owner: schema-data · Wave: 2 · Priority: MEDIUM

Current state, cited. Per-site vril_density from the same §3b rows:

moderate → world_axis_loka_rungs anchor → churned_sea_summit high. This is canon's own

climb-out, legible straight off the data. §2.3 cites exactly this realm as the reason vril_gradient

exists.

divergence, noted not litigated).

Ch 70 and Ch 71 are the trough realms, and flatness there is arguably *deliberate* — the charter's

intensity finding calls the trough the road's real peak because power collapses. But **nothing

distinguishes a designed plateau from an unpopulated column**, which is the whole finding.

SCHEMA HOOK. vril_gradient is already specified in §2.3. Add one thing so flatness is a

statement rather than a silence:

vril_gradient_shape enum{ rising | falling | trough | plateau_declared | unset }

unset is a gate failure; plateau_declared requires a non-empty rationale. Ch 72 is the must-pass

fixture. Also confirms the charter's own vocabulary reconciliation (§5.1): WGM §14.5 uses

null/low/mid/high/anchor, the spine site rows use baseline/low/moderate/high/anchor. The live realm

rows use the spine spelling (moderate at Ch 72/73) — so the spine spelling is the incumbent and

picking it is the zero-migration choice.

---

3. R-A11 — Deity presence without instantiation

*The lens teaches: SMT/Persona put hundreds of deities from dozens of traditions in as MECHANICS,

flattening cosmologies into collections. The charter names our audit-only assessor rule at Ch 69 as

"the dodge," and asks this lens whether the dodge is complete.*

**Answer: the dodge is not complete, because it is not a rule. It is a per-chapter habit, cited to a

hard line that says something else, and applied most strictly where the tradition is furthest from

living practice.**

---

F-10 · The audit-only rule has NO hard-line home and is mis-cited to HL_0003 forty-one times across the road

Verdict: MISSING (as a rule) / WEAKER (as practice) · Owner: spec-doc + schema-data · Wave: 1→2 · Priority: HIGHEST

Current state, cited. registries/T0_Hard_Lines [ACTIVE v0.2]/Sheet1.csv, 123 rows.

HL_0003 in full (source CVD §17.1, severity canonical):

"The faithful community and its living tradition are never the story antagonist and are never
villain-framed, defamed, or set up for extermination as an enabled or encouraged goal. Combat is
never framed as targeting Aboriginal Elders, Sámi noaidi, Vodou priests, indigenous shamans, or
mystery-school practitioners for being practitioners of the faith; the narrative antagonist routes
through the Velheim or occupier apparatus, complicit brokers, states, and institutions, corrupted
individuals, and genuinely malevolent beings. This is collective, framing-level protection of the
community as a whole; it does not render individual members mechanically un-attackable, and it never
sanitizes toward rated-G. The floor is anti-defamation and no-genocide-as-goal, not individual
invincibility."

HL_0003 is the collective community-protection rule. It says nothing about deity instantiation.

docs/spine/CH_69.md cites it 14 times, attached to deity-instantiation claims it does not

support. Verbatim examples:

AUDIT-ONLY throughout, borrowed as moral architecture, never an NPC and never the boss (HL_0003)."*

HL_0003"*

HL_0003"*

Citation load across the road:

CH_66CH_67CH_68CH_69CH_70CH_71CH_72CH_73CH_74
HL_000309111461000
HL_01210061100000
HL_0122007120410

Where the rule actually lives. Positive-controlled search of the CVD found it — in **Component 7,

"Metaphysical real: the substrate operates"** (not §17.1):

"Deities are equally real, portrayable, and usable as characters — a good deity may appear as a
disguised human quest-giver or a rescuer (rescue-and-re-encounter), an evil deity opposes the player;
the only firewall is that no deity-name sits on a mortal NPC and no revered or real figure is cast as
the villain."

So the constitutional deity rule exists, is permissive, has exactly two firewalls, and has

no T0_Hard_Lines row. The registry's only adjacent rows are HL_0121 (malevolent beings are

legitimate combat), HL_0122 (the honored-adversary rule), and HL_0080 (environmental/atmospheric

bosses) — none of which govern instantiation.

The inverse correlation is the alarming part. The realms drawing on living traditions carry the

*least* anchoring: Ch 71 Xibalba (living Maya) cites HL_0003 once and HL_0121/0122 zero; Ch 72

Naraka/Meru (living Hindu/Buddhist/Jain, the road's highest care tier) cites all three zero times;

Ch 73 Annwn and Ch 74 Yggdrasil likewise. The care anchoring is heaviest at Ch 67-70 and vanishes

exactly where the tradition has practitioners today.

Defect class. Identical to two the repo has already caught and corrected: the three

T1_Integrity_Paths §17.5§17.2/§17.4/§7.4 mis-citations, and the HL_0048/HL_0049

mode-variety mis-attribution that STATUS.md records — and which the charter itself re-committed

inside a would-be Josh brief (commit 7d1a4bb). A citation that does not say what it is cited as

saying is invisible to every gate the repo owns.

REUSE-FIRST recommendation.

1. Mint the deity-presence rule as a real T0_Hard_Lines row, sourced to CVD Component 7

(the text already exists — this is a transcription, not new canon), cross-referenced to

HL_0121/HL_0122/HL_0003. The registry is the existing mechanism; it is a row, not a system.

2. Re-anchor the 41 realm-road citations to the new row. Deterministic, scriptable, and it is a

citation repair — but per the standing rule it is not "trivial mechanical": it takes the

fresh-context critic and the full gate suite.

3. Do not weaken Ch 69. See F-12 — the recommendation is to *declare* the choice, not loosen it.

SCHEMA HOOK. T0_Realm_Ruleset_Registry.hard_line_anchors (already in the §2.3 standard tail) gains

T-RLM-ANCHOR: every hard_line_anchors value resolves to a real T0_Hard_Lines rule_id and

the anchored claim's topic matches the rule's source_section domain. The second clause is the one

that would have caught this — resolution alone would not, because HL_0003 resolves perfectly.

---

F-11 · The road makes at least SIX distinct deity-presence decisions and declares none of them

Verdict: MISSING · Owner: schema-data · Wave: 2 · Priority: HIGHEST — this is the lens's central deliverable

Lesson. SMT/Persona's failure is that every deity gets the *same* treatment (a recruitable stat

block), so a hundred cosmologies flatten into one. The opposite failure is equally real: every deity

gets a *different, undeclared* treatment, so there is no cosmological grammar at all — just authorial

mood per chapter. We are in the second failure mode.

Current state, cited. Six distinct treatments, all live, none typed:

#TreatmentLive instanceAnchor citedReal anchor
1AUDIT-ONLY — named, never instantiated, never NPC or bossMa'at, Anubis, Thoth, Ammit, Osiris + the 42 assessors, CH_69.mdHL_0003 ×14none exists
2HONORED-ADVERSARY, FOUGHT — sovereign fought without villain-framingLouhi, BE_0067; CVD §17.1 constitutional textHL_0122correct
3HONORED, PASSED, NOT KILLED — doorkeeper, three routesCerberus, BE_0070HL_0122 ×2correct
4INSTANTIATED ALLY — a deity as host, and by the end a friendArawn, CH_73.md (59 mentions)HL_0122 ×1partial — 0122 covers adversaries, not allies
5CARE-CLEAN MONSTER — the enemy the tradition unmade itselfApep BE_0069_APEP; Iku-Turso Ch 67HL_0121correct
6OMISSION — the pantheon simply absentCH_74.md: Odin 0, Þórr 0, Heimdallr 0, Freyr 0, Æsir 0undeclared

Treatment 4 is the sharpest gap. **Arawn is a deity of a living Welsh tradition, instantiated as a

speaking NPC and an eventual friend, 59 mentions** — and it is *legal and good*: CVD Component 7

explicitly blesses "a good deity may appear as a disguised human quest-giver or a rescuer." But

HL_0122 is the *honored-adversary* rule and does not cover an ally, so the most permissive treatment

on the road rests on the thinnest anchoring.

Treatment 6 at Ch 74 deserves care. Reading the site rows rather than counting: the wells are

correctly and specifically handled — three_wells_and_norns_hall names Urðarbrunnr, Mímisbrunnr,

and Hvergelmir, and the Norns are "honored fate-keepers referenced never reproduced." So Ch 74 is not

careless; it made a *choice* that the realm is the tree, not the pantheon. That is a defensible

and arguably excellent Ragnarök-style source-selection call — *decide what the realm IS as a place*.

It is simply nowhere recorded as a choice, so a Wave-2 author or an art-concept fan-out cannot tell

it from an oversight, and the §2.5 signature law proposed for Ch 74 (THE CARVED DEBT at the well —

the norn-thread) sits directly on top of the one well most associated with the god who is absent.

Ch 72 is the live risk. Living Hindu/Buddhist/Jain deities are heavily present in the prose —

docs/spine/CH_72.md: Indra 25, Yama 22, Vishnu 8, Shiva 7, Brahma 3 — and the chapter cites

HL_0003 zero times, HL_0121 zero, and HL_0122 four times. The road's highest care

tier (BE_0072.care_tier = 'maximum') has the thinnest deity anchoring, on the tradition with the

most practitioners alive today. This is the finding I would carry to the director first.

REUSE-FIRST recommendation. Do not build a deity system. Type the decision that is already being

made six different ways, using the enum-plus-tooth pattern the charter already uses everywhere else.

SCHEMA HOOK. A repeating sub-row group on T0_Realm_Ruleset_Registry, parallel to the existing

metaphysical-laws and taboo-constraints groups:

figure_id
figure_name              the tradition's own name, tradition-accurate diacritics
tradition_citation       FK → T0_Research_Corpus_Registry, MANDATORY
presence_class           enum{ audit_only | honored_adversary_fought | honored_passed
                             | instantiated_ally | care_clean_monster | omitted }
presence_rationale       text, MANDATORY — why THIS class for THIS figure
instantiation_form       enum{ none | motif | referenced | npc | boss }
hard_line_anchor         FK → T0_Hard_Lines.rule_id, MANDATORY
living_practice_flag     bool — does this tradition have practitioners today

Teeth:

rationale, and a hard_line_anchor that resolves and matches the class. Must-fire fixture: an

audit_only figure anchored to HL_0003 — i.e. the live Ch 69 state, again real data as the

arming evidence.

instantiation_form = npc shares a name with a mortal character in T0_Character_Index; no

revered = true figure carries an antagonist role. These are the *only* two absolute rules, and

encoding exactly two of them is what keeps the tooth from becoming a timidity engine.

the cost of one sentence.

---

F-12 · Ch 69's audit-only rule is STRICTER than the CVD it cites — declare it, do not loosen it, and do not let it propagate by default

Verdict: DIVERGENT-BY-DESIGN, undeclared · Owner: spec-doc · Wave: 1→2 · Priority: HIGH · *devil's-advocate-against-timidity pass*

The over-conservatism read. CVD Component 7 rules deities "equally real, portrayable, and usable as

characters," with exactly two firewalls. docs/spine/CH_69.md:3 rules Ma'at, Anubis, Thoth, Ammit,

Osiris and the forty-two assessors "AUDIT-ONLY... NEVER cast as an NPC or the boss." That is

materially stricter than our own constitution, and it is presented as a hard line (cited HL_0003)

when it is an authorial choice. Under the standing calibration — *care-tier INFLATION is a defect; the

timid option is usually the wrong one* — this is exactly the shape that gets flagged.

The steelman, which I find persuasive. Ch 69's design reason is strong and independent of care:

the Architect's Final Negotiation is a fifty-two-chapter payoff and the encounter's whole premise

is that a life is weighed by an argument the player answers with lived acts. Instantiating Osiris as

the judge would put a second authority in the room and demote the Architect at his own terminus. The

chapter says as much: *"Apep carries the realm's fight so the Architect never lifts a hand."* And

Ch 69 pointedly does not defang the realm — Apep is genuinely fought and unmade by the tradition's

own rite, which is the R-17+ bar met, not dodged.

So the recommendation is NOT to loosen Ch 69. It is:

1. Declare it as presence_class = audit_only with a presence_rationale naming the *design*

reason (the Architect must hold the room), so the choice reads as craft rather than as care-flinch.

2. Stop it propagating. Today audit_only is the only articulated realm deity treatment and it is

attached to the road's most-cited realm. A Wave-2 author with no presence_class field will copy

Ch 69's pattern to Ch 72 by default — applying the *strictest* treatment to living Hindu,

Buddhist and Jain deities, where the CVD's permission is identical and where "care means weight and

authenticity, never omission" binds hardest. That would be care-inflation with real cost: Indra

is already 25 mentions in Ch 72's prose and the protagonist canonically *echoes the Indra-role*.

3. Record the asymmetry for the director. Strictest treatment on the *ancestral* tradition

(Egyptian), most permissive on a *living* one (Welsh Arawn). That ordering is not wrong — but it is

currently accidental, and F-11's rationale field is what makes it deliberate.

SCHEMA HOOK. presence_rationale must name a design reason or a care reason explicitly:

rationale_kind enum{ design | care | both }

A realm whose deity treatments are *all* care is the timidity signature, and RB-RLM-CARE — which

the charter already specifies as running the living-tradition read together with a

devil's-advocate pass calibrated against over-conservatism — gets a machine-readable input instead of

a vibe.

---

4. R-A13 — Escalation across a sequence of distinct worlds

*The lens teaches: Ragnarök is the only shipped nine-realm road with a world-tree hub — the closest

structural analog to Ch 66-74 in the medium — and its central problem is making nine distinct worlds

build rather than merely follow.*

---

F-13 · No ordinal or escalation field exists in any live registry

Verdict: DESIGNED-UNBUILT · Owner: schema-data · Wave: 2 · Priority: MEDIUM (correctly sequenced)

Current state, positive-controlled. Column-name scan across registries/**/*.csv and

build/**/*.csv:

demand_ordinal      -> 0 files      power_ordinal       -> 0 files
awe_ordinal         -> 0 files      escalates_from      -> 0 files
road_position       -> 0 files      realm_id            -> 0 files
sovereign_distance  -> 0 files
CONTROL: intensity  -> 1 file  (matcher works; the zeros are real)

Every field of the §2.3 INTENSITY BLOCK is unbuilt. This is correct sequencing, not a defect — the

charter specifies them and Wave 2 mints them. Recorded so the Wave-2 designer knows there is no

migration and no incumbent: the intensity block is greenfield, and T0_Chapter_Index.intensity is the

only live neighbour it must not contradict.

SCHEMA HOOK. road_position and realm_id are the join keys the QA program's aspect_id contract

will need; mint them first so T-RLM-CURVE has an ordering to read at all.

---

F-14 · The charter's own Ch 66 intensity is WRONG against both the registry and the spine

Verdict: WEAKER (a live document defect) · Owner: spec-doc · Wave: 0 (zero-token) · Priority: HIGH — cheap, and it seeds Wave 2

Current state, cited.

Vril high to anchor. Proposed demand 1."*

recognition trial — the deliberate relief-tier valley after the Ch-65 peak; Ch 65 peak, Ch 66 valley,

Ch 67 peak…)"* and *"PRESERVED: …intensity VALLEY (a single contained testing-guardian in a solemn

single-duel register, holding HL_0048 across Ch 65 peak / Ch 66 valley / Ch 67 peak)."*

The mode matches; the intensity does not. The spine's value is deliberate, reasoned, and

HL_0048-load-bearing. The charter's row axis — the document Wave 2 reads to seed power_ordinal and

demand_ordinal — misstates the road's first node.

Aggravating context. This is the same document that already shipped one corrected HL_0049

mis-statement *inside a would-be Josh brief* (commit 7d1a4bb records the catch), and §1.4 opens by

quoting HL_0048/HL_0049 verbatim precisely because *"a charter that briefs Josh on whether to touch

these lines cannot restate them from memory."* The same discipline was not applied to the row axis.

Verified correct for the rest of the road (charter §1.1 vs live T0_Chapter_Index): Ch 67 peak,

Ch 68 standard, Ch 69 peak, Ch 70 standard, Ch 71 peak, Ch 72 peak, Ch 73 standard, Ch 74 standard →

the registry reads Ch 74 as peak, not standard. So there are two divergences, and the

second one lands on the CROSSING — the node whose intensity is a genuine Josh brief at §6.2 (C-1).

The brief must not be written against a wrong current value.

Recommendation. Zero-token correction of §1.1's Ch 66 and Ch 74 intensity readings to the live

registry values, with the spine's reasoning cited. Then re-check C-1's brief text, since its premise is

"the road's last two nodes are both standard" and the registry says otherwise.

SCHEMA HOOK. T-RLM-CURVE already carries *"declared power agreeing with the spine's ruled density

seams."* Extend it one clause: **intensity_class on the realm row must equal

T0_Chapter_Index.intensity for that chapter.** A document-vs-registry divergence then cannot survive

a gate run — which is the only durable fix, since this is the second instance of this class in this

document.

---

F-15 · The road opens on a valley — the arrival beat has no instrument, and awe has no home

Verdict: DESIGNED-UNBUILT / deferred to C-1 · Owner: schema-data · Wave: 2 · Priority: MEDIUM

Lesson. Ragnarök's single strongest structural move is that arrival is the event — the Bifröst

transit and the first vista of each realm are authored beats, not transitions. The player's first

crossing out of the human world is the most valuable first-impression the road will ever get.

Current state, cited. Ch 66 is intensity = valley (F-14) and the spine's reasoning is sound at

the *combat-topography* layer — HL_0048 needs a valley after the Ch-65 peak, and Ch 66 is a "single

contained testing-guardian in a solemn single-duel register."

But intensity is a combat-demand instrument. The charter's own §1.4 resolution separates three

instruments — POWER, DEMAND, AWE — and states *"AWE is a third instrument peaking at anchor density…

and should never be tuned as difficulty."* Ch 66 is vril_density anchor at two of its three sites

(atlantis_ring_city, origin_script_wall). So by the charter's own axis Ch 66 is a **high-awe,

low-combat-demand node — which is precisely right for a first crossing, and is invisible** in the

only live column.

Deferred, deliberately. Whether the crossing's intensity should change is contradiction C-1 and a

genuine Josh brief at §6.2. I take no position. The L-R1 contribution is narrower: **awe_ordinal is

the field that makes the brief answerable without touching a hard line**, and it should be minted

*before* C-1 is presented, so the brief can offer "raise awe, leave intensity" as a real option rather

than a hypothetical.

SCHEMA HOOK. awe_ordinal (already in §2.3) plus:

arrival_beat_id   FK → the beat realising the crossing-in vista, MANDATORY

T-RLM-ARRIVAL: every road realm names an arrival beat, and that beat's site carries a vista or

threshold climactic_affordance. Live check: CH_74.md's trunk_and_boughs already declares

climactic_affordance [vista, weather_dramatic] — the affordance vocabulary exists and is in use, so

this tooth reads data that is already there for at least one realm. Reuse, not invention.

---

5. R-A15 — Per-realm art direction and world identity

*The lens teaches: Ōkami's sumi-e is not decoration, it is the adaptation's thesis; Black Myth's

fidelity is its reception; each Ragnarök realm is identifiable from a single frame. The charter makes

the realms "the grandest displays of the artistic capability."*

---

F-16 · T0_Theme_Registry has twelve rows, zero realm rows, and no realm-bearing theme_type

Verdict: DESIGNED-UNBUILT · Owner: schema-data · Wave: 2 · Priority: MEDIUM

Current state, cited. registries/T0_Theme_Registry [DRAFT v0.1]/T0_Theme_Registry.csv, 12 data

rows in full: PROTAGONIST_THEME, HOUSE_OF_VELHEIM_THEME, ARCHITECT_THEME, CASSIUS_PHASE_1/2/3,

GRAND_SAGE_REVEAL, ENDING_TRULY_GOOD, ENDING_GOOD_ENOUGH, ENDING_EVIL, VIMANA_ACTIVATION,

FAMILIAR_BOND.

theme_type values in use: character, family, event, ending, concept. **No region or

realm value, and no place-keyed theme of any kind** — the registry is entirely person-, event- and

outcome-keyed. Nine realms declared the ceiling-setting art surfaces have no identity row.

The schema is otherwise well-suited: mood_tags, instrumentation_substrate, cultural_substrate,

era_substrate, hard_line_relevance, composer_in_loop_required all map cleanly onto per-realm

identity, and cultural_substrate is *empty on all twelve rows* — the column exists and has never been

exercised, which is exactly what a realm row needs.

REUSE-FIRST recommendation. Add realm to theme_type and mint one row per realm. Do not

duplicate identity into T0_Realm_Ruleset_Registry — §2.3's art-direction hooks (palette_law,

silhouette_law, signature_phenomenon, impossible_architecture_budget) should reference the

theme row, not restate it, or the two registries drift and the key means two things (the same reasoning

the charter used to reject overloading T0_Environment_Grammar_Registry).

SCHEMA HOOK. T0_Realm_Ruleset_Registry.theme_id → FK into T0_Theme_Registry. T-RLM-EXPRESSION

extends: signature_phenomenon must resolve to a theme row's mood_tags/instrumentation_substrate,

so "beautiful and rich" becomes a resolvable reference rather than an adjective. Note hard_line_relevance

is populated on all twelve existing rows — the realm rows inherit that discipline for free, which is

where F-10's new deity hard line will surface on the art side.

---

F-17 · The zone catalog is EARTH-GEODATA-BOUND and has zero realm rows — so the Wave-0 care_tier populate cannot execute

Verdict: MISSING (blocking) · Owner: schema-data + P1 · Wave: 0→2 · Priority: HIGHEST — a scheduled Wave-0 action will silently no-op

Current state, cited.

sumatra_java.csv. All earthly. Zero realm zones.

ambient_threat, vril_density, climactic_affordances, protected, area_bounds, build_priority,

zone_bounds_wgs84, meters_per_vertex, worldcover_biome, footfall_surface, care_tier, asset_routing,

environment_grammar_refs`

zone_bounds_wgs84 = 'w=115.44094;s=-8.38437;e=115.46094;n=-8.36437', meters_per_vertex = '1',

care_tier = 'elevated'.

zone_bounds_wgs84 is real-world WGS84 geodesy and worldcover_biome is a **satellite landcover

class**. Neither is definable for the Duat, Xibalba, or Yggdrasil. The zone catalog — which is

simultaneously the asset-routing layer (asset_routing, build_priority,

environment_grammar_refs) and the sanctioned care_tier writer — is structurally incapable of

holding a realm.

The blocking consequence. REALM_DESIGN_PROGRAM §5.1 (Wave 0, "runs now") instructs:

"Populate care_tier for realm zones as a prerequisite of the first board… The populate runs
THROUGH THE SINGLE SANCTIONED WRITER — harness/apply_zone_catalog_columns.py --populate-empty,
--dry-run then --apply, never by hand."

There are no realm zone rows to populate. --populate-empty over an empty row set succeeds and

writes nothing. The prerequisite for the first art board is scheduled against a target that does not

exist, and it will report success.

Second-order: harness/check_build_readiness.py:292 gates Combat readiness on a machine care_tier

field being present in "the Zone Catalog column or boss-row key." Realms satisfy it only via the

boss-row key — which is the field carrying fifteen values (F-02). So realm build-readiness currently

rests entirely on the polluted column.

REUSE-FIRST recommendation. Do not fork the zone catalog. Make the earth-geodata fields

conditionally required, keyed on the realm class that already exists.

T0_Region_Index already types all nine realms node_kind = mythic_realm (verified: atlantis,

pohljar, tiamarath, maatherion, hades, xibalba, naraka_meru, annwn, yggdrasil; the

fairy realm is story_anchor). That discriminator is live and free.

SCHEMA HOOK.

zone_space_class  enum{ earth_geo | realm_authored }   default earth_geo

Must-fire fixture: the live state (zero realm zones).

lands. Recommend Wave 0 records it as blocked-with-reason rather than attempting an --apply that

will no-op green.

---

F-18 · Per-realm art direction has no doctrine home — but the time-critical half already landed

Verdict: MISSING (identity) / COVERED (the DR-2 ceiling amendment) · Owner: presentation-craft-anim-audio + spec-doc · Wave: P1-C · Priority: MEDIUM

Current state, cited, and reported honestly in both directions.

COVERED — the charter's own most time-critical item is done, verified in the tree, not assumed:

docs/proposals/COMPARATOR_LENS_PROGRAM.md:144 carries the DR-2 amendment ("…fairy realm are declared

CEILING-SETTING art surfaces for this lens; the DR-2 tiered-asset…"), landed in commit 7d1a4bb. §5.1

flagged it as "applied in the working tree and pending commit" — it has since committed. No action.

MISSING — docs/proposals/PRESENTATION_DOCTRINE.md (85,319 chars) contains: realm ×3, Realm

×0, art direction ×0, ceiling-setting ×0, palette ×1, silhouette ×2, and **zero occurrences of

any of the nine realm names** (Yggdrasil, Xibalba, Duat all ×0). The presentation doctrine

teaches craft in general; nothing anywhere teaches or records per-realm identity — the property

that makes a Ragnarök realm identifiable from one frame.

Note the ordering risk this creates. RB-RLM-PROVENANCE (§2.7) asks a critic to name the source

tradition from frames alone, with "generic fantasy" as the sharpest slop verdict. That rubric is the

*detector*. There is no corresponding *specification* — nothing an art-concept prompt reads to make the

frames tradition-legible in the first place. We are scheduled to measure a property we never authored.

REUSE-FIRST recommendation. Do not write a realm art-direction doc. The §2.3 art-direction hooks

plus the T0_Theme_Registry realm rows (F-16) are the specification — they just need to be

authored before the first board, and RB-RLM-PROVENANCE needs to name them as its rubric source

rather than judging against a critic's private notion of "generic fantasy."

SCHEMA HOOK. palette_law, silhouette_law, signature_phenomenon become **mandatory,

citation-bearing** (each resolving into T0_Research_Corpus_Registry, per Law 2) — so an art prompt

inherits provenance the way §2.3 already says the ruleset row is upstream of the art wave. Then

RB-RLM-PROVENANCE reads the realm row as its answer key, and the rubric becomes a comparison rather

than a vibe check.

---

F-19 · The nine realm region rows are uniformly 9-of-25 fields — but the realm class is live and reusable

Verdict: DESIGNED-UNBUILT · Owner: schema-data · Wave: 3 (world-repair) · Priority: LOW-MEDIUM

Current state, cited. registries/T0_Region_Index [ACTIVE v1.2]/T0_Region_Index DRAFT v1.1.csv,

25 columns:

region_idregion_namefillednode_kind
atlantis, pohljar, tiamarath, maatherion, hades, xibalba, naraka_meru, annwn, yggdrasil(the nine)9/25 eachmythic_realm
fairy_realmFairy Realm11/25story_anchor

Uniform thinness — the environment family (env_density_band_default, ambient_elemental_affinity,

weather_cycle_profile, terrain_feature_class_ids, movement_modifier,

terrain_permanence_default, terrain_integrity_skin) and all three SFX arrays are unpopulated across

every realm.

This matches the charter's own "named blank" per realm and is not re-reported as a new gap. Two

things are worth handing the schema designer:

1. node_kind = mythic_realm is live on exactly the nine road realms. That is a free, reliable

discriminator for every conditional rule proposed in this audit (F-17's zone_space_class, F-01's

care resolution, T-RLM-ZONE's scope). Do not mint a new realm flag.

2. T0_Region_Index has no care_tier column at all — verified by column scan, positive-controlled

(region_id → 7 files, matcher works). care_tier exists as a real column in exactly five

registries (Boss_Encounter, Equipment, Familiar, Minigame, Vehicle) and the four zone

files. So the region layer never carried care, and **the charter's §1.1 sentence about the ratified

two-value care_tier enum being "per T1_Region_Page_Template" describes a template, not a live

region column.** A Wave-2 designer looking for the region-level care value will not find one — this

note exists so that absence is not mistaken for an unpopulated field.

SCHEMA HOOK. T0_Realm_Ruleset_Registry.region_id → FK into T0_Region_Index, with

T-RLM-BASELINE extended to assert node_kind = mythic_realm for all derivation = delta rows.

Nine realms, nine FKs, no new taxonomy.

---

6. Consolidated schema hand-off — everything a Wave-2 designer needs from L-R1

6.1 New fields on T0_Realm_Ruleset_Registry

FamilyFieldKindFrom
Identity/provenancesource_divergence_stance / _note / _citationenum + text + FKF-03
Identity/provenancecoined_identifier, coinage_rationale, coinage_derivationtext + enumF-06
Identity/provenanceregion_idFK → T0_Region_IndexF-19
Structurecosmological_structure, structure_citation, structure_site_decomposition, structure_traversal_ordertext + FK + array + enumF-08
Vrilvril_gradient_shapeenumF-09
Deity presence (new repeating sub-row group)figure_id, figure_name, tradition_citation, presence_class, presence_rationale, rationale_kind, instantiation_form, hard_line_anchor, living_practice_flagF-11, F-12
Laws + taboosliteracy_floor (mandatory on L2/L3), literacy_bonustextF-04
Intensityarrival_beat_idFKF-15
Art directiontheme_idT0_Theme_Registry; palette_law/silhouette_law/signature_phenomenon made mandatory + citation-bearingFK + textF-16, F-18
Registerregister_class, register_note (values authored by L-R5)enum + textF-05
Carecare_band becomes authority for Ch 66-77enumF-01

6.2 New / extended teeth

ToothAssertsMust-fire fixtureFrom
T-RLM-DEITYevery figure has class + rationale + a matching resolving anchorlive Ch 69 (audit_only anchored to HL_0003)F-10, F-11
T-RLM-DEITY-FLOORthe two CVD Component 7 firewalls, and only those twodeity-name on a mortal T0_Character_Index rowF-11
T-RLM-STRUCTUREcosmological structure cited + decomposed into ≥2 siteslive Ch 69 (twelve hours → one site)F-08
T-RLM-ZONEevery mythic_realm has ≥1 realm_authored zone rowlive state (zero realm zones)F-17
T-RLM-LITERACYnon-empty literacy_floor on every L2/L3 rowan L3-only beat with empty floorF-04
T-RLM-ANCHORhard_line_anchors resolve and topic-matchany of the 41 HL_0003 realm citationsF-10
T-RLM-TERRAIN-ADEQUACYterrain enum probed per tradition, residue recordedCh 66 / Ch 75 at 100% sacred_siteF-07
T-RLM-REGISTERno two adjacent road positions share register_classfive consecutive death realmsF-05
T-RLM-ARRIVALevery realm names an arrival beat on a vista/threshold sitea realm with no arrival beatF-15
T-RLM-CURVE (extend)intensity_class equals T0_Chapter_Index.intensitycharter §1.1's Ch 66 standard vs live valleyF-14
enum-domain assertionsevery closed enum, in the mint commit15-value care_tierF-02

Three of these teeth have must-fire fixtures that are LIVE DATA rather than synthetic mutations

(T-RLM-DEITY, T-RLM-STRUCTURE, T-RLM-ZONE). Per the charter's own arming standard — *a rule that

was never mutated was never armed* — these are the best-armed teeth in the set on day one, and they

will go green only when the real defect is fixed.

6.3 Zero-token actions available now (Wave 0)

1. Correct REALM_DESIGN_PROGRAM §1.1 Ch 66 intensity (standardvalley) and re-verify Ch 74

(standard → registry says peak); re-check C-1's brief premise. (F-14)

2. Extend harness/enrich.py HIGH_CARE / ELEVATED_CARE to cover the realm chapters, seeded

provisionally from the boss-registry values. (F-01)

3. Record the Wave-0 realm care_tier populate as BLOCKED on the zone class, rather than running

an --apply that no-ops green. (F-17)

4. Add care_notes and migrate the eleven sentence-valued care_tier cells out of the enum column.

(F-02)

---

7. Verdict tally

ClassCountFindings
MISSING5F-06, F-10, F-11, F-17, F-18
WEAKER6F-01, F-02, F-04, F-07, F-08, F-14
DESIGNED-UNBUILT4F-09, F-13, F-16, F-19
DIVERGENT-BY-DESIGN2F-05 (scope boundary), F-12 (undeclared)
COVERED2F-03 (as practice), F-18's DR-2 half

19 findings. Note F-03 and F-18 each split across two classes and are counted once at their primary

verdict; the COVERED column records the halves that need no action.

Priority order for the director: F-10 and F-11 (the deity rule has no home and the road makes six

undeclared decisions) · F-01 (the authoring pack contradicts the registry on care) · F-17 (a Wave-0

action that will silently no-op) · F-02 (the enum to be copied is already 15 values) · F-08 and F-04

(the two structural lessons the title-set exists to teach) · F-14 (cheap, and it seeds Wave 2).

8. Contested / flagged for the director

choice, not loosening it — but I flag that the choice is materially stricter than CVD

Component 7 and that it is the road's only articulated deity treatment, so it will propagate to

Ch 72's living Hindu/Buddhist/Jain deities by default unless presence_class lands first. A

director read on whether the audit-only rule should be re-scoped is warranted; I did not take that

decision.

I am read-only and have edited nothing. The Ch 74 half of that finding touches C-1's premise, which

is a live Josh brief — surfacing rather than resolving.

canon change, but per the standing rule it is not "trivial mechanical": director-level apply, fresh

critic, full gate suite.

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