v0.27: cross-reference cleanup of event-zones.md across domain papers

Closes the v0.26 interaction-substrate paper-pass cycle initiated 2026-04-27
via the plan-as-baton mechanism (EVENT_ZONES_FOLLOWUP_PLAN.md authored at
end-of-context-density, mechanical execution next-session, scaffold deleted
on completion per the v0.24.5 pattern).

Substantive (political-register/world-generation.md → v0.2):

- §Editor-mode pre-flagging (extends L4 Cell ruleset, v0.27): editor_eligible
  bool field per cell, pre-flagged at world-gen-init; designer-tunable defaults
  per district-tier (deva-pinnacle 0% → underground/wilds 90%); per-cell
  carve-cost gradient scales by cell-position-imperialness. Choice (a)
  designer-flag-at-world-gen committed over choice (b) emergent-from-imperial-
  scrutiny per the 2026-04-27 dialog: clean LOD signal + political-readability
  via material-vocabulary + zero runtime audit-overseer-presence checks.

- §Three-source schema unification (v0.27): cell_table accepts canon-rows
  from world_gen_init / runtime_event / player_authored origins via shared
  schema. The architecture's world-gen-as-init-function key-move now extends
  to player-edit-time as a first-class peer of generator-output and runtime-
  emission. Cell-checksum-divergence audit-vector gains a third source
  (player_authored_divergence) consumed by the same Memorialist counter-
  archive and GM heresy-detection mechanisms.

Mechanical cross-references (single-paragraph propagations of v0.26 design-
decisions through the architecture's describe-by-cross-reference discipline):

- runtime-engine/architecture.md: event-zones.md added to Companion-to header
- style/consent-discipline.md: §Variants 1-4 as event-class taxonomy — the
  four hardstop-pattern variants correspond one-to-one to the event-class
  taxonomy in event-zones.md; the register-test five-question procedure is
  also the event-class-classifier (consent-validation = event-instantiation)
- style/trait-palette.md: 8 traits compose onto the cosmology's outer ring —
  vertically-symmetric on Deva (Sophrosyne+Dikaiosyne) and Naraka (Eros+Philotes),
  side-castes carrying single traits, all four oppositional pairs preserved
  at 180°. Composed wheel renders as iconography AND UI substrate
- narrative-composition/architecture.md: Three-source schema unification
  extends world-gen-as-init-function to player-edit-time
- inference-and-memory/architecture.md: Compositor reads 2D gesture-history
  (caste-target × trait-temperature); coherence-of-political-positioning
  becomes a cornerstone-memory salience axis
- identity-and-personhood/architecture.md + bodies.md: install / clasp /
  post-rogue-NPC-modding mini-games all run on the composed wheel; consent-
  discipline Variants 1-4 determine participant-count and hardstop-pattern;
  the wheel renders the resolution

Verification: 11 papers now reference event-zones.md (vs 4 pre-v0.27,
including the bonus pre-existing imperial-narrative.md cross-ref). The
describe-by-cross-reference, not by re-quotation discipline reaches steady-
state across the corpus. Cross-references resolve cleanly to existing
sections in event-zones.md (verified §Variants 1-4, §The wheel, §Player
editor-mode, §Hardstops, §The composition).

EVENT_ZONES_FOLLOWUP_PLAN.md deleted per plan-as-baton convention.
This commit is contained in:
chrysalis
2026-05-01 02:18:03 +02:00
parent 156e59059d
commit 89b031799d
9 changed files with 60 additions and 175 deletions

View File

@@ -97,6 +97,26 @@ Outputs per cell:
- **Initial checksum**: hash of the cell's content; subsequent NPC-entries compare against this; mismatch fires *"clean signal"* for discovery (per cell-arch arc's checksum-based-discovery design — replaces the perception-bubble pattern).
- **Container/wall-hook/debris discipline**: items in cells must be in a container OR hooked-on-wall; everything else is debris (shader-trick, no persistent state). **No orphan-objects.** Containers + wall-hooks are zone-slots applied at item-level (the zone primitive scaling one tier deeper).
### Editor-mode pre-flagging (extends L4 Cell ruleset, v0.27)
L4 cell-generation includes an `editor_eligible: bool` field per cell. The flag is fixed at world-gen-init time; the runtime LOD-streamer reads it directly without re-checking imperial-surveillance state. This makes editor-eligibility a *static property of the world*, not a runtime computation.
- **What pre-flagging is.** Each L4-emitted cell-row carries `editor_eligible`. Slum/underground district-cells default-true; imperial district-cells default-false. The flag is checked at player-editor-verb-resolution time (knock-out-wall, fill-cell, carve-passage) — eligible cells accept the verb; ineligible cells reject it. *No runtime audit-overseer-presence query, no streaming-overhead cost beyond reading one bool per cell.*
- **Why pre-flagging at world-gen.** Choice (a) — designer-flag at world-gen — over choice (b) — emergent-from-imperial-scrutiny — was committed in the 2026-04-27 dialog. Reasoning: clean LOD signal preserved (the streamer doesn't have to walk surveillance-graphs); political-readability preserved (the slum's spatial politics IS its expandability via material-vocabulary, and this expandability is *legible to the player* without surveillance-state inspection); performance preserved (no per-tick audit-overseer-presence checks).
- **Material-vocabulary politically-codes editor-eligibility.** Cross-reference to [`../topology-and-rendering/architecture.md`](../topology-and-rendering/architecture.md) §Vertical world topology and [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) §The aesthetic palette: imperial-marble can't be carved; rusted slum-bedrock yields. **The `editor_eligible` flag IS the material-vocabulary made queryable.** A player who learns to read the materials learns to read where the world will yield to them — diegetic and mechanical legibility coincide.
- **Editor-eligibility per district-tier** (designer-tunable defaults):
| District-tier | Editor-eligible cell ratio | Rationale |
|---|---|---|
| Deva-pinnacle citadels | 0% (editor-locked) | Imperial-marble; imperium controls these spaces absolutely |
| Asura-priesthood seats | 0% (editor-locked) | Sumptuary-religious territory; ceremonial-stable |
| Manusya-tier residential | ~5% (perimeter only) | Mid-tier; carving permitted at margins, not interiors |
| Tiryak-tier slum dwellings | ~50% (interior carve-extensible) | Slum politics IS expandability; interior cells yield to inhabitants |
| Frontier districts | ~70% (wide carve-zones) | Beyond imperial-fabric; player-authored expansion default-permitted |
| Underground / abandoned wilds-shrines | ~90% | Off-grid; the architecture surrenders space to player authorship |
- **Per-cell carve-cost.** Tunable; lifeforce-cost or scrap-cost per carved cell. Pending design-iteration; first-pass: scrap-from-junkyards as currency, with cost scaling by *cell-position-imperialness* (carving deeper into imperial-adjacent zones costs more, even within an editor-eligible cell-cluster). This preserves the political-gradient: slum-interior carve is cheap; frontier-edge carve is cheap; carving against the imperial-fabric is structurally expensive even where permitted.
## Closed-orbit constraint
The Kessler-cascade (per [`../README.md`](../README.md) §Timeline, 2150 *"the last son of Elon attempts the dynasty's old promise"*) closes the outward frontier. There is no off-world inflow. This caps the entire cascade:
@@ -136,6 +156,23 @@ This is why top-down generation matters mechanically, not just diegetically: bot
| [`../imperial-cult/cosmology.md`](../imperial-cult/cosmology.md) | The cosmology that justifies top-down generation; the cascade's diegetic legitimacy comes from the cosmology's claim that the imperium is the world's organizing principle; the deferred-moksha doctrine is structurally entailed by L0's closed-orbit ceiling |
| [`../README.md`](../README.md) §Timeline | The 2150 Kessler-cascade and the closed-orbit constraint that caps L0 |
## Three-source schema unification (v0.27)
The cell_table accepts canon-rows from **three writers**, with an `origin` provenance field distinguishing them. All three writers emit rows in *the same schema* — the architecture's "world-gen as init-function" key-move extends from design-time-vs-runtime to design-time-vs-runtime-vs-player-edit-time.
- **Three writers, one schema.** Per `origin` field:
- `world_gen_init` — emitted by the Compositor-at-design-time (per [`../narrative-composition/architecture.md`](../narrative-composition/architecture.md) §World-gen as init-function); produced by the L0 → L4 cascade at world-init
- `runtime_event` — emitted by runtime events that modify cell-state (hacking, install, demolition, imperial-construction-projects, lifeforce-decay events)
- `player_authored` — emitted by player editor-mode (knock-out-wall verb and equivalents at editor-eligible cells per §Editor-mode pre-flagging above)
- **The architecture's "world-gen as init-function" key-move extends to player-edit-time.** Same primitive (Compositor-at-design-time) emits the same canon-row schema as runtime events as player-authored events. No cold-start; data-flywheel runs retroactively; **player-authored content is first-class canon, indistinguishable from generator-output and runtime-emission at the schema layer**. The cell_table does not know — at the row-level — which of the three writers produced any given row except by reading the `origin` column.
- **The audit-vector implication.** Cell-checksum-divergence (per the existing §Open questions in this file + per `runtime-engine/architecture.md` §Omnisight) gets a *third* source. Divergence between current cell-state and prior-snapshot can now be:
- `world_gen_baseline_divergence` — someone changed the cell from its generator-emitted state
- `runtime_event_divergence` — hacking, demolition, imperial-construction-project, decay-event modified the cell
- `player_authored_divergence` — player carved, filled, or otherwise edited the cell
The Memorialist counter-archive reads all three as legible content; the GM's heresy-detection mechanism applies to all three. Player-authored cells are *not* second-class — they are subject to the same imperial-readability surface and the same dissident-archive preservation as generator-emitted or runtime-modified cells.
- **Cross-reference.** [`../runtime-engine/event-zones.md`](../runtime-engine/event-zones.md) §Player editor-mode + three-source schema unification holds the canonical articulation.
## Open questions
- **Schema for cell / room / district tables.** *Deferred until the pgnats first-test* (per Monday's queue: *"pgnats install + document + first-test on phoebe-dev"*). The eval-result determines whether checksum-broadcast goes via PG NOTIFY (lower-latency, transactional, in-band) or NATS subject (higher-throughput, multi-consumer, durable-replay), which determines whether per-cell or per-cell-per-register checksum is affordable, which decides cell-table column shape.
@@ -150,4 +187,4 @@ This is why top-down generation matters mechanically, not just diegetically: bot
---
**Version:** 0.1 | **Created:** 2026-04-26 | **Updated:** 2026-04-27
**Version:** 0.2 | **Created:** 2026-04-26 | **Updated:** 2026-05-01