L-R2-otherworld-ruleset-impossible-space_DRAFT.md

pipelines/L-R2-otherworld-ruleset-impossible-space_DRAFT.md

Comparator lens audit — L-R2 · OTHERWORLD RULESET AND IMPOSSIBLE SPACE

Read-only design audit, Wave 1 (DOCTRINE), 2026-07-28. Lens per docs/proposals/REALM_DESIGN_PROGRAM.md

§4.2 (L-R2) and the aspect roster at docs/pipeline_review/REALM_ANALYSIS_LENS_GAPS_2026-07-27.md §2.

Title-set: Control (the Oldest House — physics ARE its lore, documented in-world) · Manifold Garden

(gravity as a per-world axis; impossible-but-navigable) · Echo (ONE rule pursued to its floor) ·

Tears of the Kingdom, the Depths and Sky as distinct-ruleset LAYERS inside a shipped open world ·

Antichamber / Superliminal as the perception-rule minor cluster.

Aspects audited: R-A1 (realm as a distinct ruleset) · R-A3 (cosmological structure as level design) ·

R-A4 (impossible and vertical architecture as playable space) · R-A7a (the EXPERIENTIAL threshold only).

Charter role: this lens IS the design input for the T0_Realm_Ruleset_Registry schema mint (Wave 2)

and the harmony-doctrine authoring. Findings are therefore written so a schema designer can consume

them directly; §8 is the consolidated field-level handoff.

Findings: 20. WEAKER ×13 · MISSING ×4 · DESIGNED-UNBUILT ×2 · COVERED ×1 · DIVERGENT-BY-DESIGN ×0

(one pre-registered divergence respected and re-cast rather than re-litigated — see §1). One finding

is CONTESTED and routed to the director (L-R2-7). Seven candidates were attacked and dropped (§7).

BOUNDARY HELD (not re-litigated): R-A7b, the crossing CONVEYANCE, is owned live by the transitions

fork — docs/pipeline_review/FORKC_ANALYSIS_DESIGN_PRECEDENT_2026-07-27.md §0 FACT 3 classifies the

eight Ch 66-69 dimensional-transit seams onto "the same Vimana, dimensional-space mode" and the nine

Ch 70-77 within-realm seams as "nothing — same space, keep walking." Nothing below proposes a

conveyance, a load-mask, a travel card, or a transition treatment. Every threshold finding here is

about what the player EXPERIENCES and what the machine must be able to READ in the first minutes

after arrival, on the far side of a crossing that fork already owns.

---

1. Method, and every zero positive-controlled

Verdict classes per the standing wave rule. DESIGNED-UNBUILT is never reported as MISSING; where the

Realm Design Program already specifies a fix, the verdict is DESIGNED-UNBUILT or WEAKER (charter

designs it, but the title exposes an under-specification), never MISSING.

Dedupe baselines read in full before writing: docs/proposals/REALM_DESIGN_PROGRAM.md §§0-5 (the

eight laws, the schema concept at §2.3, the exemplar laws at §2.5, the QA teeth at §2.7),

docs/pipeline_review/REALM_ANALYSIS_LENS_GAPS_2026-07-27.md (the R-A roster),

docs/DESIGN_GAP_REGISTER.md (all 375 lines incl. the five DIVERGENT-BY-DESIGN blocks at L199-236),

docs/pipeline_review/FORKC_ANALYSIS_DESIGN_PRECEDENT_2026-07-27.md (the boundary above),

docs/CONDITION_EXPRESSION_GRAMMAR.md, docs/SPINE_SCHEMA_v3.md §§3b/4/5/6.

Pre-registered divergences respected. docs/DESIGN_GAP_REGISTER.md L205 ratifies "Markerless

navigation (our wayfinding legibility floor)" and L211 "World readability & wayfinding at

pace-of-play" as DIVERGENT-BY-DESIGN. Finding L-R2-8 below does not challenge either; it audits

whether the divergence's own stated floor is MET inside spaces whose spatial rules differ from

Earth's. No finding here asks for a marker, a minimap, or a waypoint.

Positive controls run (every absence claim below carries one)

ClaimSearchResultControl that the search CAN match
No realm-ruleset registry existsripgrep T0_Realm_Ruleset_Registry over the canon repo7 files, all prose docs (docs/DOC_MAP.md, REALM_DESIGN_PROGRAM.md, 4 pipeline_review analyses, HOLLOW briefs). Zero under registries/. ls registries/ shows 51 registry dirs, none named Realm_Rulesetthe same ls returns T0_Environment_Grammar_Registry [DRAFT v0.1], which the same claim-shape asserts DOES exist
No realm gate existsripgrep check_realm_ruleset2 files, both proposals. ls harness/ shows 30+ check_*.py, none realmsame ls returns check_counter_class_coverage.py, cited as present below
The R-A aspect rows are not minteddocs/DESIGN_GAP_REGISTER.md term counts: realm 0, Realm 0, physics 0, ruleset 0, impossible 0, gravity 0, otherworld 0, aspect 0zerosame file, same reader: companion 10, DIVERGENT 9. The matcher demonstrably matches; the zeros are real
No parser for the physical-properties micro-grammargrep -rn "physical_properties" harness/*.py1 hit — check_build_space.py:105, a column-name membership set (REGISTRY_ENUM_COLUMNS), not a parsergrep -rln "vril_density" harness/*.py → 4 files (apply_zone_catalog_columns.py, condition_expr.py, regen_zone_catalog.py, spinelib.py), so harness greps resolve
No gravity capability in the engine`grep -ril "SetGravity\GravityZ\CustomGravity" Source/Humanity` (game repo)zerothe same grep shape with EnvironmentGrammar returns Source/Humanity/Public/Data/EnvironmentGrammarRegistryRow.h

Chapter refs were read by opening the files directly (docs/spine/CH_66.mdCH_74.md), never by a

bracket-escaped shell pattern, per the tri-dialect rule.

---

2. The headline: the machine layer cannot tell a realm from a place

The nine Realm-Road otherworlds are, in the typed layer, indistinguishable from earthly regions.

that the threshold spaces are "Dreamlike, architecturally impossible" and that "Each is a

distinct dimensional space with its own visual language and mechanical challenge."

terrain · functions · ambient_threat · vril_density · climactic_affordance · protected. Every

realm site across Ch 66-74 is authored in exactly that shape and in exactly the earthly vocabulary.

Read off the live spine: Yggdrasil's trunk_and_boughs is terrain forest

(docs/spine/CH_74.md); the World-Axis rungs of Meru are terrain mountain

(docs/spine/CH_72.md); Xibalba's descent road is terrain cave_system

(docs/spine/CH_71.md); the Duat's twelve gated hours are terrain water_body

(docs/spine/CH_69.md L69).

zone fields — `zone_id, zone_name, area_bounds, gameplay_function, ambient_threat_level,

vril_density, climactic_affordance_tags, canonical_anchors` — and carries **no physical-rule field

of any kind, and not even a terrain field** (the spine's §3b row adds terrain independently, so

the two schemas already disagree about the site's own shape).

is C:/dev/Humanity/Humanity/Source/Humanity/Public/Combat/HumanityDensitySubsystem.h, whose class

law reads: "Difficulty IS the vril-density dial, and NOTHING else … The dial changes only

world-demand levers — telegraph slack, window width, recharge-well latency, answer-pruning,

Withdrawal aggression." The header's own comment says the band is "Set by REALM + SITE," so this is

literally the one realm-aware code path in the build — and it modulates difficulty, not physics.

Net: today a realm differs from Earth in DIFFICULTY and in PROSE, and in nothing a machine can read.

Everything Control, Manifold Garden, Echo and the Depths teach lands on that one fact. The charter's

schema concept (§2.3) is the right answer and it is unbuilt; the findings below are about the places

where the concept, as written, would not survive contact with the corpus it has to describe.

---

3. R-A1 — the realm as a DISTINCT RULESET

L-R2-1 — The ruleset row is per-WORLD; the corpus's rules are authored per-SITE and per-ENCOUNTER

Verdict: WEAKER (charter under-specification) · Owner: schema-data (Wave 2 mint) ·

Priority: HIGHEST — it decides whether the registry can describe the corpus at all.

What the titles teach. Control's rulesets are not uniform across the Oldest House: the Oceanview

Motel, the Ashtray Maze and the Panopticon each carry their own law inside one building with one

lore. TotK's Depths are a LAYER of a world, not a world — the gloom rule and the darkness economy

apply to a stratum, not to Hyrule. Both prove the ruleset's unit of application is a REGION OF SPACE,

declared, not a whole planet.

Current state (cited). The charter fixes the roster at "Eleven rows at completion: RLM_0000 the

human-world baseline, RLM_0001 through RLM_0009 the road in chapter order, RLM_0010 the fairy realm"

(REALM_DESIGN_PROGRAM.md §2.3), i.e. one row per CHAPTER. But the rules canon actually authors are

narrower than a chapter. docs/spine/CH_69.md §Boss structure, BE_0069: "**weapons are unresponsive

by canon**" — that rule holds at hall_of_two_truths and demonstrably not at duat_gated_hours,

where BE_0069_APEP is fought with STRIKE/BIND three beats earlier. One chapter, two incompatible

combat rulesets, one proposed row. Ch 72 is the same shape from the other direction: its own site

rows run vril_density low at patala_naga_depths and anchor at world_axis_loka_rungs, which

the charter itself acknowledges with the vril_gradient field — so the schema already concedes that

within-realm variation is real for vril and denies it for every other quantity.

Reuse-first recommendation. Keep the eleven-row roster (it is the provenance and care unit) and

add locus_binding to every bend and every law sub-row: an array of site_ids drawn from the

chapter's own §3b site block, defaulting to ALL_SITES. Nothing new is minted — site_id already

exists, is already the beat-graph join target, and is already validated by

harness/check_spine_graph.py §3b. A tooth then asserts each locus_binding entry resolves to a

site row in the row's own chapter_ref, which is the same FK check that gate already performs.

Without this field the registry cannot express the one realm rule the corpus has actually authored.

L-R2-2 — The one live realm rule in canon has no typed home, no scope, and no restoration

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

What Echo teaches. Echo is one rule (the palace learns what you do and hands it to your clones)

pursued to its floor. Its discipline is that the rule is DECLARED, UNIVERSAL and CONSISTENT — the

player can reason about it, so it is a system. A rule that fires once, for one fight, that the player

cannot predict or exploit, is a scripted cutscene lock wearing a rule's costume.

Current state (cited). "Weapons are unresponsive by canon" (docs/spine/CH_69.md, BE_0069) is

the only realm-scoped physical-law change asserted anywhere in live canon. It exists as (a) prose in

the Body block, (b) prose in the boss thin-index row, (c) prose in beat CH69_B08's objective. It has

no typed field, no declared scope (does it bind companions? the healer's child? Apep, three beats

earlier, in the same chapter?), no declared restoration point, and no physical_expression naming

what quantity actually changes. Charter Law 4 (universality, "a rule that only affects the player is

a gimmick with a costume on") and Law 6 (persistence of self — "a realm may close a usual answer,

never confiscate the build") both bear directly on it and neither is machine-checkable against it.

Reuse-first recommendation. The law sub-row already has scope (default all_actors) and

violation_consequence. Add two fields and the Ch-69 case becomes expressible and checkable:

extent{realm, locus, encounter} and restoration — a condition_expr (the existing

harness/condition_expr.py grammar, which the charter already makes mandatory for trigger) naming

when the rule lifts. Then T-RLM-FLOOR can arm Law 6 arithmetically: any law with

extent: encounter and no restoration is a confiscation, and fails.

L-R2-3 — A realm that SUPPRESSES a capability is invisible to the answerability gate

Verdict: MISSING (positive-controlled) · Owner: QA loop / harness · Priority: HIGHEST —

this is the one way the realm program can silently ship an unanswerable boss.

What the titles teach. Echo and the Depths both change what your existing kit MEANS rather than

adding kit. That is the design win and it is also the hazard: when the world subtracts an answer, the

encounter's answerability has to be re-proved against the reduced kit, not against the unlock ledger.

Current state (cited). harness/check_counter_class_coverage.py is the answerability tooth. Its

A1 assertion (def a1_coverage, L129-174) resolves each attack's counter_class ∈ the closed

COUNTER_CLASSES tuple ("any","dodge_only","parry_only","neutralize") (L65) to the earliest

chapter granting the answering capability and fails when

g > n — grant chapter later than boss chapter. It is a monotone-unlock model. A realm that

REVOKES or suppresses a capability already granted passes A1 green by construction: the grant chapter

is far behind, so g > n is false and the tooth returns clean. Two suppressions are already on the

books — the ratified "weapons are unresponsive" at Ch 69's Hall, and the charter's own Hades exemplar

at §2.5 ("the dead have no mass, so they cannot be pushed or fought"). The charter proposes the field

that would carry this — ability_availability_delta in the VRIL PROFILE family (§2.3) — but the

positive control shows it appears in exactly two files, both proposals, and no gate reads it; the

new gate list at §2.7 has no tooth consuming it either.

Reuse-first recommendation. Do not mint a tooth. Type ability_availability_delta as an array of

{capability_class, effect ∈ suppressed|restyled|unchanged, restored_at (condition_expr)} where

capability_class draws from the SAME four-value COUNTER_CLASSES vocabulary the gate already owns,

and make it an INPUT to check_counter_class_coverage.py's A1: an attack whose counter_class is

suppressed in the realm hosting its boss is an unanswerable attack, exactly as a late grant is. The

gate's own UNREACHABLE idiom (L158-163: "the answering capability column is not reachable — a

search that cannot match must never report a clean pass") already models the right failure semantics — reuse it verbatim. One column plus ~20 lines in a

gate that exists, and the sharpest failure mode in the program becomes arithmetic.

L-R2-4 — Physics-as-lore needs an in-world DOCUMENTARY surface, and the schema has no field for it

Verdict: WEAKER · Owner: schema-data · Priority: HIGH (it is Control's actual lesson).

What Control teaches. The Oldest House's physics are legible not because a tutorial explains them

but because the Bureau documents them in-world — case files, research memos, the Threshold Kids

films, the hotline. The rule and its written account are the same artifact. That is why "the physics

ARE its lore" reads as design instead of as weirdness: the world contains its own scholarship.

Current state (cited). Charter Law 5 forbids the tutorial ("without a line of tutorial text") and

docs/NATURAL_VOICE_DOCTRINE.md forbids the caption register generally (positive control on that

file: tutorial 0, teach 0, instruct 0 across all 56 lines; clue 4, puzzle 5, person 5 —

the file is reachable, the vocabulary simply is not there). The schema's law sub-row carries

taught_at (a site reference) and nothing else on the legibility axis. So the design has an

experiential teacher and no documentary one. Meanwhile the corpus already owns the perfect carrier:

T0_Inscription_Spine [ACTIVE v0.1] is a live ACTIVE registry, inscription is the arc's flagship

discipline, and the charter's own Atlantis exemplar law is literally INSCRIPTION BINDS MATTER

(§2.5) — the realm whose physics is writing.

Reuse-first recommendation. Add documented_at to the law sub-row: an FK into

T0_Inscription_Spine (or a readable/site id), mandatory for any law whose taught_at site is not

self-evidently demonstrative. This is Control's lesson at the cost of one FK column on an ACTIVE

registry, and it converts the L2 completionist layer from an assertion into a join. It also gives

RB-RLM-LAWFUL (the "state the signature law from ten unlabeled frames" rubric) a second, cheaper

witness: the critic can be shown the realm's own document.

L-R2-5 — reprise_of counts references; it cannot see whether a reprise VARIES

Verdict: WEAKER (small, cheap) · Owner: schema-data · Priority: MEDIUM.

What Control teaches. The Oldest House's rule inventory is small and reused across the whole

building — the same altered items, the same Service Weapon forms, recombined. Novelty comes from

COMBINATION, not from a new law per room. The charter already encodes this at §2.6 (one signature law

per realm, ≥2 reprises from road position three) and T-RLM-COMPOUND enforces it. COVERED, with one

hole: the tooth counts reprise_of references, so a realm that merely NAMES two earlier laws in a

corridor satisfies it identically to a realm that composes them into a new problem.

Reuse-first recommendation. reprise_of entries carry reprise_mode

{recombine, invert, escalate, compose_with}, and T-RLM-COMPOUND asserts a realm's reprise set is

not all one mode. One enum on a field that is already being minted.

L-R2-6 — Two different seed vocabularies for V exist and neither is authoritative; the live one already carries a malformed token

Verdict: WEAKER · Owner: schema-data (blocks the V mint at Wave 2) · Priority: HIGH.

Current state (cited). The charter §2.3 seeds the closed physics vocabulary V from "the

environment-grammar micro-grammar's live property-key set," and states honestly that the live set is

four terms. Verified: registries/T0_Environment_Grammar_Registry [DRAFT v0.1]/Sheet1.csv has 2 rows

and 4 distinct property keys (mass, thermal_state, conductivity, structural_integrity). But a

second, different seed set of six is declared on the ability side —

docs/proposals/systems/combat-and-spellcraft.md L36: "physical_properties_array

{mass, structural_integrity, flammability, thermal_state, conductivity, organic_substrate} on every

construct. This is a real physics substrate." The live ability registry has this column populated

on 18 of 185 rows (registries/T0_Ability_Tree_Registry [ACTIVE v0.1]/Sheet1.csv), using the

six-term set plus one non-conforming token: the value multi-construct appears where a key:value

pair belongs. And there is no parser for the micro-grammar in either repo — the game-side struct

(Source/Humanity/Public/Data/EnvironmentGrammarRegistryRow.h) types

physical_properties_array as a bare FString, and the harness's only mention is a column-name

membership set. So the charter's "one parser serves both registries" is a plan, not a reuse.

Reuse-first recommendation. Three ordered items for the Wave-2 mint: (a) declare the six-term

ability-side set as V's seed, not the four-term env-grammar set, and record why (it is larger,

attested on more rows, and already carries the two families — flammability, organic_substrate — the

env set lacks); (b) write the micro-grammar parser ONCE as harness/physprops.py and have both the

env-grammar and realm-ruleset teeth import it, which is the reuse the charter assumed existed; (c)

the parser's first job is to fail the multi-construct token, giving the V-adequacy probe its first

free must-fire fixture. Note for the schema doc: 6 terms cannot describe nine cosmologies either, so

the charter's V-adequacy probe stays mandatory — this finding raises the floor, it does not clear it.

L-R2-7 — The membrane-pocket is a real ruleset space that the closed eleven-row roster cannot hold

Verdict: WEAKER (charter roster too narrow) · Owner: schema-data · Priority: HIGH ·

CONTESTED — flagged for the director (it touches a confirmation the charter explicitly closed).

What TotK teaches. The Depths are the clearest shipped proof that a distinct ruleset need not be

a separate world: it is a LAYER, entered from the world it belongs to, with its own light economy,

its own hazard (gloom), and its own topography law. The unit of ruleset is not "a destination."

Current state (cited). T1_Vril_and_Magic_System_Master [ACTIVE v2.2] §1.1 (Director ruling D-2,

2026-07-27) rules the rift dungeon a MEMBRANE-POCKET: "a pocket held open at the membrane …

negative vril pools and hardens in the vacated substrate-gap," with "the player-facing verb is ENTER

THE RIFT," entrances placed in the HL_0005 ruin/tomb space, and pop-up instances that

"instantiate as membrane-pockets in the open world through the CVD Pillar 1 Rift Instability Zones

system." That is a space with a declared physics, entered, traversed, and RUNTIME-INSTANCED. Two live

artifacts read against it: (i) REALM_DESIGN_PROGRAM.md §1.3 still states "There is no

inside-the-rift canon at all," which §1.1's D-2 ruling supersedes — the charter's §1.3 paragraph is

stale by one day; (ii) §2.3's confirmation block rules that "the rift and deadzone LOCUS rows belong

in T0_Environment_Grammar_Registry as per-feature rows, never in T0_Realm_Ruleset_Registry."

Why that confirmation does not settle it. The env-grammar registry is per-FEATURE by the

charter's own reasoning (a lava vent, a sieidi stone — and the live rows confirm exactly that shape).

A membrane-pocket is not a feature; it is an interior with a physics you move through. So the two

declared homes are per-feature and per-chapter-world, and the pocket is a third grain — the LAYER —

which is precisely TotK's lesson and which neither registry can hold. T0_Hollow_Codex [DRAFT v0.1]

carries 1 row with a spawn_locus_type of drain-deadzone, so the locus classification exists and

the interior ruleset still has no home.

Reuse-first recommendation, stated as a fork for the director rather than an assertion. The

minimal move is one field, not a roster change: give the realm row extent_class

{world, layer, pocket_template} and allow non-chapter-keyed rows whose chapter_ref is a WINDOW

rather than a node. RLM_0011 pocket_template then carries the membrane-pocket's declared physics

once (negative-vril pooling, the hardened substrate-gap, the CONTAIN verb) and every runtime instance

inherits it — which also gives the runtime generative layer a ruleset to validate instances against.

The alternative — leaving pockets ruleset-less — means the game's most frequently entered non-earthly

space is the only one with no declared physics, and the Realm.NoUndeclaredDrift conformance test

has no baseline to measure a pocket against. **Contested because §2.3's confirmation block explicitly

records this collision as resolved; this finding says the resolution answered the LOCUS half and left

the INTERIOR half homeless. Director call.**

---

4. R-A3 — cosmological structure as level design

L-R2-8 — Cosmological structure is authored in prose and has no typed shape; climactic_affordance cannot carry it

Verdict: MISSING (the field does not exist in any artifact, charter included) · Owner:

schema-data · Priority: HIGH — it is the cheapest high-yield field in the whole schema.

What the titles teach. Manifold Garden's worlds are legible because each is ONE declared

structural idea (a cube whose faces are grounds; a recursive tower) and the player learns the idea

once and then reads every room off it. Control's sectors are legible because the Oldest House has a

declared shape (a bureaucratic building, sectors and floors) that impossible geometry deforms rather

than replaces.

Current state (cited). The structures are already authored and they are excellent — and they are

prose only. docs/spine/CH_69.md builds its whole descent on "the twelve gated hours" (B01-B04, with

the agility course named duat_twelve_gated_descent_course); docs/spine/CH_66.md CH66_B02 is

"attune the orichalcum resonance across the canal-stations in Plato's ring-city geometry";

Ch 72's ladder and Ch 74's three roots and wells are the same. The only typed slot that could hold

shape is climactic_affordance, whose closed five-value vocabulary

(T1_World_Geography_Master §14.6: vista · threshold · sacred · climactic_geometry ·

weather_dramatic) cannot express "twelve ordered gates," "three concentric rings," "seven tiered

lokas," or "three roots and three wells" — climactic_geometry is a tag meaning *geometry matters

here*, not a structure. The charter's ART-DIRECTION HOOKS family (§2.3) carries palette_law,

silhouette_law, impossible_architecture_budget, signature_phenomenon — and no structure field.

Reuse-first recommendation. Add structure_schema to the realm row: a closed shape token

plus an ordinal — {linear_gated, concentric, tiered, radial, branching, layered, labyrinth} ×

structure_count:N × an optional structure_axis. Three reasons it earns its column: it is the

single field a PCG/level brief consumes directly (docs/SPINE_SCHEMA_v3.md L58 states terrain

"feeds §1.2 PCG + §6.5 required_zone_type", and shape is what that consumer is missing); it is the

"accurate depiction" panel of the art choice board rendered as data, so §3's board inherits it for

free; and it makes the Law-2 provenance claim checkable at the structural level (twelve hours cites

the Amduat, concentric cites Critias) rather than only at the bend level.

L-R2-9 — Structure is not bound to navigation, and the markerless divergence makes that an obligation

Verdict: WEAKER · Owner: spec-doc + schema-data · Priority: HIGH · **Explicitly NOT a

challenge to a pre-registered divergence.**

What TotK teaches. The Depths are navigable without markers because of ONE structural rule: the

Depths mirror the surface, so a surface landmark predicts a Depths lightroot. Structure IS the

wayfinding. That is a design solution to exactly the problem markerless navigation creates.

Current state (cited). docs/DESIGN_GAP_REGISTER.md L205 ratifies "Markerless navigation (**our

wayfinding legibility floor**)" as DIVERGENT-BY-DESIGN, and L211 ratifies "World readability &

wayfinding at pace-of-play." The divergence is not the finding. The finding is that the floor it

names is asserted for earthly regions, where a player's real-world spatial intuitions transfer, and

the realms are the one place canon explicitly says they will not — T1_World_Geography_Master §8:

"Dreamlike, architecturally impossible." No realm declares the diegetic affordance that keeps the

floor met, and the built spine currently gets away with it because every Ch 66-74 beat graph is a

strict single-threaded chain (docs/spine/CH_69.md B01→B11: each beat's in: consumes exactly the

prior beat's single out: key). A linear rail hides a navigation problem that an explorable realm

will not.

Reuse-first recommendation. Add navigation_law to the realm row: one declared, diegetic,

always-available orientation affordance, derived from the tradition, with a physical_expression

like every other law (the Duat's barque current sets down-river; Meru's inward gravity means up is

always toward the axis; Yggdrasil's boughs mean the door is up-trunk). Assert it in a tooth as

present-and-non-empty for every row with derivation: delta. This is the divergence's own floor

being paid for, per realm, at the cost of one field — and it is the answer to §2.7's RB-RLM-POSITION

rubric too, since a critic who can state where they are can state which realm they are in.

L-R2-10 — Structure has no engine-cost class, so the data layer can declare what the build cannot afford

Verdict: MISSING · Owner: schema-data + P1/P2 engine lane · Priority: HIGH ·

slice-relevant by implication (the fairy realm builds at slice-end).

What Manifold Garden teaches, honestly. Per-world gravity is not a data row. It is a character

controller, a camera convention, a physics-volume model and an animation set. Manifold Garden is a

small game that spent essentially its entire engineering budget on that one rule. The lesson for a

solo build with an AI factory is not "do this"; it is "price this before you declare it."

Current state (cited). The charter's §2.5 Ch 72 exemplar states "gravity points inward and the

climb is a real reorientation across concentric shells." The seven closed profile fields include

gravity as a string in the env-grammar micro-grammar. The engine has nothing: the positive control

above returns zero hits for SetGravity|GravityZ|CustomGravity across Source/Humanity, against a

control that resolves. So a Wave-2 authoring pass could ratify a radial-gravity realm at zero data

cost and discover the character-controller bill at P2. The charter's impossible_architecture_budget

caps impossibility for COMPOSITION reasons ("a budget makes impossibility COMPOSED rather than

random") and carries no build-cost semantics at all.

Reuse-first recommendation. Every bend and every impossibility entry carries

engine_cost_class ∈ `{data_only, shader_vfx, level_geometry, controller_physics,

engine_feature}`, and a realm's row carries a declared cap on the two expensive classes. Reuse

target: docs/ENGINE_OPTIMIZATION_DOCTRINE.md and the DR-2 tiered-asset contract already reason in

cost tiers; this is the same axis extended to rules. It also gives the director a one-column answer

to the question every art board will raise — "can we build the beautiful one?" — before the board is

generated rather than after.

---

5. R-A4 — impossible and vertical architecture as playable space

L-R2-11 — impossible_architecture_budget is a cap with no unit, no vocabulary and no ledger

Verdict: WEAKER · Owner: schema-data · Priority: HIGH.

What the titles teach. Manifold Garden and Antichamber are both navigable because their

impossibilities are FEW IN KIND and RUTHLESSLY CONSISTENT — a handful of geometric laws, each used

dozens of times, each locally Euclidean so ordinary movement intuition still works inside a room. The

failure mode both avoid is a bag of one-off tricks, which reads as noise and cannot be learned.

Current state (cited). REALM_DESIGN_PROGRAM.md §2.3: "impossible_architecture_budget (a

declared cap, because a budget makes impossibility COMPOSED rather than random)." No unit, no

vocabulary, no tooth in the §2.7 list consumes it.

Reuse-first recommendation. Make the budget a count over a closed impossibility vocabulary

`{non_euclidean_seam, recursive_space, gravity_reorientation, scale_inversion, topology_loop,

impossible_sightline, unstable_geometry}` — with a per-realm cap of N kinds (recommend 1 signature +

1 supporting, mirroring §2.6's compounding budget so authors learn one rule not two), and a **REPEAT

RULE**: each declared kind must be used at least twice in the realm or be dropped. That single clause

is Echo's discipline expressed arithmetically, it is checkable off locus_binding counts, and it is

the difference between an impossible realm and a haunted-house corridor.

L-R2-12 — "Architecturally impossible" is asserted uniformly at T1 tier, which makes it a house style rather than a cosmology

Verdict: WEAKER · Owner: spec-doc (Wave 2/3 tier-doc pass) · Priority: MEDIUM-HIGH.

Current state (cited). T1_World_Geography_Master [ACTIVE v2.3] §8, one sentence covering all

nine road realms: "Threshold spaces. Each is a distinct dimensional space with its own visual

language and mechanical challenge. Dreamlike, architecturally impossible." One undifferentiated

adjective, applied to nine cosmologies, derived from none of them. That collides head-on with

charter Law 2 (provenance: "A delta without a citation is invention wearing a realm's name") and is

exactly the failure RB-RLM-PROVENANCE is built to catch ("a verdict of generic fantasy is the

sharpest available slop detector"). It also sits under-examined because the same §8 heading admits

"Ch 70-74 pending" — five of the nine realms have no WGM geography entry at all, so the sentence is

currently the ONLY geographic statement about them.

Reuse-first recommendation. This is a living-source edit, not a new artifact: the Wave-2/3 tier

pass re-scopes §8's sentence to a per-realm derivation and the schema requires every impossibility

entry to carry the same tradition_citation the bends do. Cheap, and it converts the road's most

generic sentence into nine cited ones. Flag the ordering: this edit should follow L-R3's care

tiering, because "what may be depicted as impossible" in a living tradition's cosmology is a care

question before it is an art one.

L-R2-13 — The perception-rule class needs a declared non-punishing failure, and it currently collides with a ruled pip-meter

Verdict: WEAKER (a real cross-system collision) · Owner: schema-data + P2 combat ·

Priority: MEDIUM-HIGH.

What Antichamber and Superliminal teach. A rule that lives in the player's EYE — forced

perspective, observation-dependent geometry, appearance-versus-identity — is the cheapest impossible

space to BUILD (it is camera and material work, not physics) and the most expensive to make READABLE.

Both games are careful that failing a perception rule costs almost nothing, because a perception rule

with a punishing failure degenerates into guess-and-check, which is the opposite of the intended feel.

Current state (cited). The charter's Ch 71 exemplar is precisely this class: "APPEARANCE IS NOT

IDENTITY. The Lords' manikins and false seats mean a PERCEPTION check replaces a threat check,

countered by the player's existing sight and thermal kit rather than a new gimmick" (§2.5), and

Ch 71's own site rows put xibalba_six_houses at ambient_threat high. Against that sits the ruled

puzzle-boss chain-meter (Josh, 2026-07-24, per the standing design memory and

docs/COMBAT_PROGRAM_ADDENDUM.md): a visible pip meter requiring 5-7+ correct counters IN A ROW that

WIPES on a mistake. Stacking a wipe-meter on top of a perception rule in a high ambient-threat

house is the guess-and-check trap with a progress bar attached — and Xibalba is canonically the realm

where the answer is wit because power is gone, i.e. the one realm least able to absorb it.

Reuse-first recommendation. Not a new system and not a softening of the ruled meter. Type the law

sub-row's violation_consequence with a consequence_class

{position_loss, resource_cost, time_cost, information_cost, damage} and declare, as a schema

constraint, that laws whose signature is perception-class may not take damage and may not

compose with a wipe-meter in the same encounter. That is the same shape as the existing Ch-69 rule

already in canon ("a wrong declaration costs POSITION never locks", docs/spine/CH_69.md BE_0069) —

so the corpus has already authored the right answer once and the schema should generalise it rather

than invent one.

L-R2-14 — Vertical/impossible traversal already has a shipped design surface; the realms need a reskin-plus-rule, not a new system

Verdict: COVERED (and the strongest cost-reducer in this audit) · Owner: P2 factory ·

Priority: HIGH to state, LOW to act.

Current state (cited). HL_0079 mandates one agility course per chapter, biome-rotated against its

neighbours, across three variants — and it is honoured across the whole corpus including every realm.

Verified per-file: agility_course occurs in all nine road chapters (Ch 66 ×1, 67 ×1, 68 ×2, 69 ×2,

70 ×1, 71 ×1, 72 ×2, 73 ×3, 74 ×2) with HL_0079 cited 2-3 times each. Ch 69 even names its course

duat_twelve_gated_descent_course (docs/spine/CH_69.md CH69_B02), i.e. the cosmological structure

is ALREADY the traversal course. Earthly precedent is dense and rotated — Ch 3's mbaru-niang

five-story ascent, Ch 4's Uluwatu cliff-vertical, Ch 6's Sigiriya 180m rock-fortress,

Ch 9's Lalibela subtractive descent, Ch 11's Ituri three-dimensional canopy.

Reuse-first recommendation. State plainly in the harmony doctrine that R-A4 is delivered on the

EXISTING agility-course surface: the realm's impossibility is a rule + a reskin on a per-chapter

traversal system that is already ruled, already authored, already gate-anchored, and already

biome-rotated. The only new data is structure_schema (L-R2-8) binding the course to the cosmology

and engine_cost_class (L-R2-10) pricing it. This finding materially lowers the R-A4 cost estimate

the lens-gap analysis implied and should be recorded, because "impossible architecture" otherwise

reads as a new engineering lane and it is not one.

---

6. R-A7a — the EXPERIENTIAL threshold (conveyance excluded)

L-R2-15 — Only 4 of 9 realm entries are threshold-typed and only 2 of 9 are teachable; T-RLM-LEGIBILITY would fail on the live data

Verdict: WEAKER (a teeth-level defect provable off live rows) · Owner: schema-data + QA loop ·

Priority: HIGHEST among the threshold findings.

What the titles teach. The first minutes inside a distinct ruleset are the whole tutorial. TotK's

first Depths descent is a controlled, low-threat, dark-and-quiet stretch where the gloom rule and the

lightroot economy teach themselves before anything is at stake. Control's Oceanview Motel is a safe,

empty, rule-declaring room. Charter Law 5 codifies exactly this — "Each realm's threshold zone is its

tutorial by construction" — and T-RLM-LEGIBILITY arms it as "taught_at resolves to a same-chapter

site with ambient_threat none or low."

Current state, read off the live §3b site rows and B01 beats of all nine road chapters:

ChRealmB01 siteclimactic_affordanceambient_threatprotected
66Atlantisrealm_road_threshold[threshold]lowfalse
67Pohjolavault_and_lulled_hall[sacred, climactic_geometry]moderatefalse
68the Apsuprimordial_deep_creation_floor[sacred, climactic_geometry]highfalse
69the Duatduat_gated_hours[threshold]highfalse
70Hadesacheron_shore[threshold]lowfalse
71Xibalbaxibalba_descent_road[threshold]moderatefalse
72Naraka/Merupatala_naga_depths[sacred]lowtrue
73Annwnarawns_court_feast_hall[sacred]lowfalse
74Yggdrasiltrunk_and_boughs[vista, weather_dramatic]moderatefalse

Four of nine carry the threshold affordance. Four of nine are ambient_threat low. **Two of nine

(Ch 66, Ch 70) are both** — i.e. only two realms currently own a site that satisfies Law 5's teaching

contract at the arrival point. Ch 68 and Ch 69 arrive at high.

Two defects follow, both schema-consumable.

(a) T-RLM-LEGIBILITY as specified is satisfiable by a site the player reaches too late. The tooth

checks "same-chapter site with ambient_threat none or low" and nothing about ORDER. Xibalba's only

low site is xibalba_climb_out_road — the EXIT. Binding taught_at there passes the tooth green

while teaching the realm's law after it has already cost the player everything. **The tooth needs an

ordering clause:** taught_at must resolve to a site hosting a beat whose seq precedes the first

beat where the law is load-bearing. Both seq and the beat→site join already exist and are already

validated by harness/check_spine_graph.py; this is a comparison, not a new join.

(b) taught_at must also assert protected: false. Ch 72's arrival site patala_naga_depths is

protected true. Using a protected sacred site as the realm's mechanics tutorial is a care collision

the schema can catch for free, and Ch 72 is the road's highest-care realm.

Reuse-first recommendation. Amend T-RLM-LEGIBILITY with the two clauses above; add a

threshold_site field to the realm row (an FK to one of the chapter's own site_ids) and require

it to carry climactic_affordance containing threshold, ambient_threat{none, low},

protected: false, and to host the row's taught_at. The Wave-3 world-repair pass then has an

arithmetic worklist — seven realms need a threshold site typed or authored — instead of a prose note.

L-R2-16 — The arrival beat carries no rule-revelation contract; it is authored as recognition, not as re-ruling

Verdict: WEAKER · Owner: schema-data + P2 factory · Priority: MEDIUM-HIGH.

What the titles teach. The threshold is where the ruleset ANNOUNCES itself, and it announces

physically. Manifold Garden's first gravity switch, Control's first Ashtray Maze shift, the Depths'

first gloom contact — in each, the world does something ordinary physics cannot, once, safely, in

plain sight. That is the moment that converts "a new place" into "a new set of laws."

Current state (cited). Read across the nine B01 objectives, the arrival beats are consistently

excellent and consistently about RECOGNITION and REGISTER, not about rule. Ch 66: "see the concentric

rings … and feel the vril rising as the human-world's depletion falls away." Ch 71: "learning inside

the first hour that this country of the dead is nothing like the elegiac hush of Hades — it is a

rigged ga[me]." Ch 73: "a country simply and extravagantly alive with no rot and no grief in it …

she has to relearn, almost from nothin[g]." Ch 74: "see the road revealed all at once as boughs of

one tree." Only Ch 66 and Ch 70 name a physical differential at all, and Ch 66's is the vril dial —

the difficulty axis, not a law. Ch 70's "the country's first law, that the going-down is easy" is the

closest thing in the corpus to a threshold rule-reveal and it is stated as narration.

Reuse-first recommendation. Bind signature_phenomenon (a field the charter already

specifies in the ART-DIRECTION HOOKS family) to the threshold contractually: it must be witnessable

at threshold_site, before the first fork, at no cost, and it must be the physical expression of the

row's signature law — not a mood image. One clause in the schema doc plus a T-RLM-LEGIBILITY

sub-assertion (signature_phenomenon non-empty and its taught_at equal to threshold_site). This

is also the field the art choice-board's "accurate" panel should be generated FROM, so it pays twice.

L-R2-17 — The threshold has no declared reversibility, which Law 6 needs and the corpus never states

Verdict: MISSING · Owner: schema-data · Priority: MEDIUM.

What the titles teach. TotK's Depths are re-enterable at will and that is why the player

experiments with the gloom rule instead of fearing it. Control's sectors are re-visitable. Echo's

palace resets. Reversibility is what turns a ruleset into a playground rather than a gauntlet.

Current state. No artifact states whether a realm is re-enterable. The road's beat graphs are

strict forward chains, the seam diffs are from CH.exit_state → to CH.entry_state

(docs/SPINE_SCHEMA_v3.md §3d), and the RCM/spine treat each node as passed-and-left. Positive

control run across all nine road files (CH_66.md-CH_74.md, case-insensitive): reenter 0,

reversible 0, revisit 0, return to the realm 0; re-enter/re-entry return 4 hits and **every

one is editorial** — CH_70.md L3/L253/L262, all describing the fairy realm's §19.8 re-cascade

("fairy re-entry → Greek underworld", the stale CH_75.md back-reference flag), none describing a

player re-entering a realm. Control that the corpus is reachable: threshold returns 181 hits across

the same nine files. The concept is genuinely absent. This matters for Law 6 (persistence of self) and for the charter's own build-space sweep

requirement — "assert each archetype clears the realm by at least two distinct routes" is much

cheaper to satisfy, and much fairer, in a re-enterable space.

Reuse-first recommendation. Add reentry_class{one_way, reenterable, endgame_reenterable}

to the realm row and default it to endgame_reenterable, which costs nothing at authoring time and

aligns with the ratified Epilogue completionist/MMO endgame. Do NOT propose mid-arc backtracking —

the road's forward pressure is ruled. This is a declaration, not a design change, and it tells the

QA loop's sweep whether a realm can be re-sampled.

L-R2-18 — The one realm the player will experience as ORDINARY has no baseline of its own

Verdict: WEAKER · Owner: schema-data · Priority: MEDIUM-HIGH · SLICE-RELEVANT (the

Prologue builds at slice-end).

What Manifold Garden teaches. The player's sense of "normal" is whatever the game establishes

first and longest. Manifold Garden's genius is that after an hour, the impossible IS the baseline and

returning to a single gravity would read as the strange case.

Current state (cited). REALM_DESIGN_PROGRAM.md §0.2 states this exactly — "The Prologue and

Ch 1 are the only scenes that show the fairy realm's physics as ORDINARY, felt from inside by a being

who has never known anything else" — and §2.5 rules the fairy realm "NOT A DELTA. The source." But

the schema has exactly one derivation: baseline row (RLM_0000, the human world), and

T-RLM-BASELINE asserts "exactly one baseline and one source row." So the Prologue, whose entire

design job is to be a baseline for a player who has no other, is typed as source and diffs against

a human world the player has not yet seen. That is backwards for the only two chapters authored from

inside the realm.

Reuse-first recommendation. Do not add a second baseline row (that would break T-RLM-BASELINE's

uniqueness, which is load-bearing as the conformance control). Add perceptual_baseline to every

row — the realm the player is expected to be reading FROM at that point in the arc — set to

RLM_0010 for the Prologue and Ch 1 and to RLM_0000 everywhere else. The toward_source flag on

each bend then reads correctly in both directions, and the Prologue's art and audio briefs inherit

"render this as ordinary" as data rather than as a directorial note that a factory agent can miss.

---

6b. The DESIGNED-UNBUILT baseline (recorded so no finding above is misread as MISSING)

L-R2-19 — The entire realm machine layer is specified and unbuilt

Verdict: DESIGNED-UNBUILT · Owner: schema-data (Wave 2) · Priority: gating for everything above.

REALM_DESIGN_PROGRAM.md §2.3 specifies T0_Realm_Ruleset_Registry field-family by field-family;

§2.7 specifies twelve deterministic teeth in a harness/check_realm_ruleset.py, three runtime

conformance tests (Realm.DeltaConformance, Realm.NoUndeclaredDrift, Realm.LawFires), the

build-space sweep extension, and six critic rubrics; §5.3 schedules the mint. Positive controls in §1

confirm none of it exists: no registries/T0_Realm_Ruleset_* directory against an ls that returns

51 other registry dirs; no harness/check_realm_* against an ls that returns 30+ other

check_*.py. **Every finding in §§3-6 is an amendment to that unbuilt design, not a report of

neglect.** The charter is the correct answer to the R-A1 gap; this lens is arguing about its columns.

L-R2-20 — The nine signature laws are candidates, not rows, and three of them are the strongest harmony instances in the corpus

Verdict: DESIGNED-UNBUILT · Owner: schema-data (Wave 2 authoring) · Priority: HIGH.

REALM_DESIGN_PROGRAM.md §2.5 states plainly: "Candidates for the authoring wave, not ratified

rows." Recorded here because three of them are unusually strong against this lens's title-set and

should survive the authoring pass intact: Ch 66 INSCRIPTION BINDS MATTER (the realm whose physics

is writing — Control's physics-as-lore where the lore is literally inscribed, and the game's own

flagship discipline is the mechanism); Ch 69 THE RECORDED WORD (gravity locally replaced by the

balance, the integrity system made physical for one chapter — the single best Law-3 instance in the

document); and Ch 74 THE CARVED DEBT (the norn-thread and the spine's existing mark_write

forward_track mechanism are the same object, so the tradition's law and the repo's machinery

coincide with zero adaptation). Each of the three is data_only or near it on the engine_cost_class

axis this audit proposes, which makes them the cheapest as well as the best.

---

7. Refuted and dropped (attacked before writing; recorded so they are not re-raised)

already rules nine data rows over one physics, and UHumanityDensitySubsystem proves the

realm→world hook exists. A subsystem proposal would be a new system where a column serves.

(docs/DESIGN_GAP_REGISTER.md L205, L211). Recast as L-R2-9, which audits the divergence's own

legibility floor rather than the divergence.

transitions fork (FORKC §0 FACT 3). L-R2-15/16/17 stay strictly on the far side of the crossing.

shipped design (HumanityDensitySubsystem.h class law, T99_Translation_Combat 2.1 RULED CLOSED),

and this lens has no quarrel with it. The finding that survives is narrower and is L-R2-1's premise:

it is the ONLY realm-aware channel, not that it is a bad one.

REALM_DESIGN_PROGRAM.md §1.1 names "no WGM geography" as the named blank on Ch 70, 71, 72, 73

and 74 individually, and Wave 3 owns it.

baseline/low/moderate/high/anchor) is a finding."** Dropped — pre-registered as Wave-0 work at

REALM_DESIGN_PROGRAM.md §5.1, verbatim. Noted here only because the realm rows will consume it.

the rows: Ch 67's vault_and_lulled_hall is moderate but Ch 67 carries other sites; the honest,

provable claim is narrower and is stated as L-R2-15 (only 2 of 9 ARRIVAL sites are both

threshold-typed and low-threat). The over-claim was cut.

---

8. SCHEMA HANDOFF — what a per-realm ruleset ROW must be able to express

Consolidated for the Wave-2 mint. Every item is either a new field this lens argues for, or a

constraint on a field the charter already specifies. Nothing here proposes a new registry.

8.1 New fields (10)

FieldFamilyTypeWhy (finding)
locus_bindingon every bend + law sub-rowarray of site_id (FK to the chapter's §3b site block), default ALL_SITESL-R2-1 — rules are authored per-site; a per-chapter row cannot express Ch 69's two rulesets
extentlaw sub-rowenum {realm, locus, encounter}L-R2-2 — "weapons unresponsive" needs a scope
restorationlaw sub-rowcondition_expr (existing grammar)L-R2-2 — arms Law 6 against confiscation
documented_atlaw sub-rowFK → T0_Inscription_Spine / readable idL-R2-4 — Control's physics-as-lore, on an ACTIVE registry
reprise_modereprise_of entriesenum {recombine, invert, escalate, compose_with}L-R2-5 — compounding must vary, not just count
extent_classidentity familyenum {world, layer, pocket_template}L-R2-7 — the membrane-pocket grain (contested)
structure_schema (+ structure_count, structure_axis)physics delta / art hooksclosed token {linear_gated, concentric, tiered, radial, branching, layered, labyrinth} × NL-R2-8 — cosmological structure as data; feeds PCG and the art board
navigation_lawmetaphysical lawslaw-shaped sub-row with mandatory physical_expressionL-R2-9 — pays the markerless divergence's legibility floor per realm
engine_cost_classon every bend + impossibility entryenum {data_only, shader_vfx, level_geometry, controller_physics, engine_feature}L-R2-10 — price the rule before ratifying it
threshold_siteintensity / legibilityFK to one of the chapter's own site_idsL-R2-15 — Law 5's teaching zone made a row, not a hope
reentry_classidentity familyenum {one_way, reenterable, endgame_reenterable}, default endgame_reenterableL-R2-17
perceptual_baselineidentity familyFK to a realm_id, default RLM_0000L-R2-18 — the Prologue reads from inside

8.2 Constraints on fields the charter already specifies (7)

1. ability_availability_delta — type it as `{capability_class ∈ COUNTER_CLASSES, effect ∈

suppressed|restyled|unchanged, restored_at}` and feed it into

harness/check_counter_class_coverage.py A1 as an input. **This is the single highest-value item

in the handoff** (L-R2-3).

2. impossible_architecture_budget — a count over the closed impossibility vocabulary, capped

at 1 signature + 1 supporting, with a REPEAT RULE (each kind used ≥2× or dropped) (L-R2-11).

3. Impossibility entries are provenance-bearing — each carries tradition_citation exactly as

bends do; T-RLM-PROVENANCE scopes over them too (L-R2-12).

4. violation_consequence gains consequence_class ∈ `{position_loss, resource_cost,

time_cost, information_cost, damage}; perception-signature laws may not take damage` and may not

compose with a wipe-meter in the same encounter (L-R2-13).

5. T-RLM-LEGIBILITY gains two clausestaught_at must host a beat whose seq precedes the

first beat where the law is load-bearing, and taught_at.protected must be false (L-R2-15).

6. signature_phenomenon must be witnessable at threshold_site, before the first fork, at no

cost, and must be the physical expression of the signature law (L-R2-16).

7. V seeds from the six-term ability-side set, not the four-term env-grammar set; the

micro-grammar parser is written ONCE as harness/physprops.py and imported by both teeth; its

first must-fire fixture is the live multi-construct malformation in

T0_Ability_Tree_Registry (L-R2-6). The charter's V-adequacy probe remains mandatory regardless.

8.3 The one-sentence version for the harmony doctrine

A realm row must be able to say: **which quantities bend, WHERE inside the realm they bend, what

shape the realm is, what it costs the ENGINE to bend them, which of the player's answers the realm

closes and when it gives them back, where the player is taught all of this safely and in what order,

and what "ordinary" means to the person who is reading it.** The charter's §2.3 answers the first,

partially; §8.1 and §8.2 answer the rest.

---

9. Contested / for the director

REALM_DESIGN_PROGRAM.md §2.3 that closed this against the Hollow admission brief. This audit

argues the confirmation answered the LOCUS half (per-feature rows → env grammar, correct) and left

the INTERIOR half homeless, and that T1_Vril §1.1's D-2 ruling of 2026-07-27 postdates the

charter's §1.3 "no inside-the-rift canon" paragraph. Director call, not a lens assertion.

[ACTIVE v2.2]` §1.1. Zero-token fix; recording it rather than editing (read-only).

§14.2 lists eight canonical zone fields and terrain is not among them, while every spine site row

carries it and docs/SPINE_SCHEMA_v3.md L58 declares it the PCG/required_zone_type feed. The

realm ruleset schema will have to pick a home for structure_schema; flagging that the two

candidate parents are already out of sync.

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