# Nimmerworld — Broad Architecture > *Ground-up zone-based event architecture. Minds at the center, world as co-remembering substrate. Three registers of reality — physical, liminal, imperial. Rail topology outside, navmesh interiors inside. Trait-emergent identity. Color-as-vocabulary. Three-tier policy loop with imperial-budget-mortality. Tools, not quests.* > *v0.1 initial draft 2026-04-24 morning; v0.2 expanded 2026-04-24 afternoon; v0.3 evening; v0.4 late-evening / early 2026-04-25; v0.5 deep-night-unable-to-sleep 2026-04-25; v0.6 post-bath / post-bus 2026-04-25; v0.7 owl-breakfast 2026-04-25 night through 2026-04-26; v0.8 split-into-domain-files 2026-04-26 — dafit + chrysalis.* --- ## Project structure The architecture is organized as **vertical-by-domain directories** under `nimmerworld/`. Each domain owns its `architecture.md` plus (eventually) the server, client, schema, and test code that implements it. This file is the **executive summary + cross-domain index** holding global meta-lists. ``` nimmerworld/ ├── architecture-index.md ← this file (executive summary + global meta-lists) ├── political-register/ │ └── architecture.md ← Kafka-indifferent regime; three ontological registers; three-tier policy loop; imperial budget; insolvency-spiral; corruption + double ledger ├── topology-and-rendering/ │ └── architecture.md ← rail+grid topology; asset economy; color-language; three-shader philosophy; diegetic relays ├── runtime-engine/ │ └── architecture.md ← lemniscate runtime; slot-tokens + verifier-flags; gesture-alignment-recursive-lemniscate (v0.7); emergent zones ├── identity-and-personhood/ │ └── architecture.md ← three-body system; mods as trait-bearers; ternary-gate substrate; emergent needs as micro-factions ├── authority-and-decision/ │ └── architecture.md ← hierarchy; bidirectional cascade; District Director Decision Architecture; rings as structural pattern ├── player-experience/ │ └── architecture.md ← player-as-perturbation; voice + gesture as parallel trait-vocabularies (v0.7); tools-not-quests ├── narrative-composition/ │ └── architecture.md ← Compositor (v0.7 worked-example, three-tiers, world-gen-as-init); reflexive Dream-process ├── inference-and-memory/ │ └── architecture.md ← LLM tiering (3 rings + opt-in data tiers); local memory architecture; runtime sampling knobs └── scale-and-transport/ └── architecture.md ← compute allocation; horizontal scale (UID-routing, sharded GMs, pgnats + republish/replay) ``` ## Quick reference — concept → domain-file | If you're working on... | Read | |---|---| | Political-economy substrate; faction broadcasts; imperial budget; insolvency-spiral | `political-register/architecture.md` | | Rail+grid topology; color-language; shaders; diegetic relays | `topology-and-rendering/architecture.md` | | Zone runtime; lemniscate; gesture-alignment; emergent zones | `runtime-engine/architecture.md` | | NPC identity; trait-vector; ternary-gates; mods | `identity-and-personhood/architecture.md` | | Authority flow; intelligence channels; director decision-surfaces | `authority-and-decision/architecture.md` | | Player input (voice + gesture); circle UI; universal translator | `player-experience/architecture.md` | | Compositor; world-gen-as-init; reflexive Dream-process | `narrative-composition/architecture.md` | | LLM tiering (Ring A/B/C); local-first memory; sampling knobs | `inference-and-memory/architecture.md` | | Horizontal scale; pgnats; sharding; compute budget | `scale-and-transport/architecture.md` | The remainder of this file holds the **cross-domain meta-lists**: Key moves (consolidated executive summary), Mapping to phoebe task list, What this retires across the architecture's evolution, Open questions still in flight, and the version-footer history. ## Key moves (consolidated) - **The machine doesn't care.** Indifference-optimization, not malice. Kafka-lineage. - **Three ontological registers** — gameworld, liminal, imperial-net — same world, different shaders. - **Rail+grid topology, freeform-player + railed-NPCs, plug-in verb.** Topology = politics. - **Interior-as-zone.** Same primitive scales from city to sofa. - **Color-language as pre-verbal trait-vocabulary.** Persistent + event-flash + drift; cross-register; faction-politics. - **Base-limb palette + trait-textured variance.** Asset-economy and worldbuilding-thesis agree. - **Three-body system + intrinsic/expressed trait-vector split.** Identity emergent, not assigned. Mods modify expressed. - **Mods as trait-bearers** in three classes (amplifier/bridge/divergent/mask). Self-alienation tax encoded as pricing. - **Emergent-needs as micro-factions.** Zones observe, signals broadcast. - **Ternary-gate substrate** (CLOSED/STABLE/OPEN + wave-correlation + decay). Single primitive, all layers. STABLE-as-active. - **Three-tier policy loop** (Imperium → GM → Districts → reports up → Imperium). - **Imperium as meta-faction.** Demands are priority-weights and enforcement-rules, not specific outcomes. - **GM is middle-management.** Authority without sovereignty. Can cheat against imperium. - **Three intelligence flows** (chain reports, direct overseer-to-imperium, formulated downward). - **Three Aletheia veils, four Memorialist ledgers.** Political-epistemology as level-design. - **Asymmetric self-report.** NPCs report needs (interior); audit-overseers report output (objective). - **Lifeforce four-tier hierarchy** (NPC / district / GM / imperium). - **Lifeforce is NPCs, measured.** The director's budget; the GM's signal; the imperium's heartbeat. - **Imperial budget makes the regime mortal.** Insolvency-spiral as endgame. - **Specter-vs-boot.** Policy-issuance free; enforcement expensive. - **Imperial-net bypass.** Net-revenue → imperium; districts get nothing. Platform-capitalism encoded. - **Body-modder structural-tragedy.** The class whose awakening matters most. - **Calibrated-misery as imperial optimum.** Requires designer-guardrails to prevent training-toward. - **Shifts on NPC rows.** Daily rewrite; shift_history append-only. - **Silence > scream.** Crisis-tools unlock on silence-confirmation; do not sunset. - **Authoritarian ratchet.** Incrementally more authoritarian as optimization-artifact. - **Migration / exodus / formal-retirement** as three GM response-gradients. - **Dumps-pipes-districts.** Topology IS economy IS rendering IS drama-distribution. - **Pipes are heterotopia.** Low-density high-interactivity transit-corridors. - **Three-layer digital ontology.** Mini-game-as-consent-by-effort. Walls render three contents. - **Liminal is the only permanently unsurveilled layer.** Architectural encoding of "the right to dream." - **The machine funds its own subversion** because subversion isn't in its cost model. - **Director cheat-tools + double-ledger.** Corruption emerges from pressure; Memorialists keep true accounting. - **Aletheia-truth-has-victims.** Exposure has structural consequences for those sheltered by corruption. - **District Director Decision Architecture** with decomposed surfaces, typed tools, lifeforce-budgeted escalation. - **Three-shader philosophy + color-language.** One geometry, three readings, trait-modulated. - **Reflexive Dream-process at every layer.** Each tier learns; each tier needs guardrails. - **Reward-function-as-political-manifesto.** Designer's ethical stance encoded against simulation's optimization-logic. - **Tools, not quests.** Continuous simulation-pressure + verb-vocabulary = literature-register emergent narrative. - **GM × Compositor split.** Equilibrium-seeker (aggregate observation, catalogue-event selection, tool-granting) cleaved from narrative-composer (perspective-gathering, canon-authoring, back-write packaging). Different cognitive shapes, different inference profiles. - **Cyclic forward-prop / back-write loop.** Meta-lemniscate at system scale — perception ascends, canon descends, cycle closes; the world learns its own story. - **Catalogue + tools as typed contract.** GM dispatches typed events with typed tool-grants; director consumes typed dispatch, not freeform prose. Provenance flows end-to-end. - **Local-first memory.** primary.sqlite + fallback.sqlite + clasp.sqlite per player; embedding model running beside; sync at login/logout boundaries. - **Memory classes + trait-graded importance.** Cornerstone / birthright / working / volatile with class-specific death-rules; importance is a trait-axis-vector engagement profile, not a separate scalar. - **Clasp store as Ring A\*.** Physically non-syncable privacy primitive; recordable only in the in-between dimension; lifeforce-cost is the price of privacy. - **Three-tier knowledge stack.** World canon / district canon / primary memory [+ clasp if in-between]; layered retrieval, per-layer propagation cadence; locality emerges from schema. - **Information propagation pacing.** Marx-in-the-schema applied to epistemics; staleness as a feature; courier/news-trader/frontier-rumor primitives fall out for free. - **Horizontal scale.** UID-keyed routing; stateless Compositors on demand; ephemeral Director-routines per UID; sharded GMs with cross-shard equilibrium-consensus; pruning at every layer. - **pgnats-native transport.** Transactional outbox native to the database (preferred); district-as-distribution-coordinator fallback. Subject-as-routing mirrors UID hierarchy. - **Diegetic relays.** Architecture's pulses (forward-prop, back-write, GM-dispatch, equilibrium-recompute) made visible/audible in-world; relay-density is the legible gradient of the rings-of-access. - **Tier-by-role, not tier-by-binary.** Architecture specifies what each model-tier must DO; specific binary selection deferred to findings/establishment phase. - **Voice + gesture as parallel input modalities.** Voice carries content (speech-to-text + text-to-speech run locally for every player); the trait-circle UI carries gestural alignment. Voice-as-biometric off the network universally; STT/TTS placement is fixed independent of dialog-tier Ring choice. - **Designer-fixed cosmology, player-curated arrangement.** Word→trait-color mapping is designer-authored corpus; player progression unlocks entries; player curation arranges learned entries within 1-3 profiles. *Same alphabet for everyone; personal sentence-structure.* - **Universal translator as the player's diegetic device.** Broken-tablet-with-upgrades; bundles linguistic-decryption, gesture-curation, and persistence-across-deaths into one in-fiction tool earned and refined across the playthrough. - **Hardstops vs. feedback gestures.** Hardstops (~8-16, hardcoded, unremappable) fire definitive subsystem-actions for unforgeable critical signals; ~192 player-curated slots ride as feedback into the gesture-alignment-accumulator. - **Gesture-alignment as recursive-lemniscate.** Lemniscate-bound integration of player gestures into a typed trait-vector summary at axis-crossings; one-turn-behind systemic; continuous-visual cosmetic; sum-strategy reduction. Same primitive recursively applied at one tier deeper. - **The Compositor at three tiers.** Zone-event / district-event / world-event scopes use the same primitive recursively; UID-rooted event-trees compose at any scope. World-events emerge from cross-district canon-rollups under a parent GM-level event_uid. - **World-gen as init-function (Compositor-at-design-time).** World-server and district-server generation emits canon-rows in the same schema as runtime; same primitive at design-time and runtime; no cold-start; data-flywheel runs retroactively. ## Mapping to phoebe task list - **Thalamus (NATS orchestration)** = imperium + GM + arbitration substrate + Dream-process substrate - **Specialist composition system** = overseers + directors + NPC-minds as composable profiles - **NPC schema** = trait-vector (intrinsic + expressed) + memory stack + current_shift_* + needs + inner-body-projection + mod-slots + lifeforce + net-access-gate - **shift_history** = append-only completed shifts per-NPC-per-day - **emergent_signals** = zone-emitted relational transitions - **district_reports** = per-cycle aggregates with lifeforce_signal (reported + actual) - **decision_log** = per-decision audit trail at every tier - **mind_pool** = recycled minds with memorialist_protected flag - **cells.wall_content_per_register** = three-layer wall rendering - **rail_segments** = topology graph with rich metadata per edge - **interiors** = small navmesh-zones with slot-inventory - **mods + npc_mod_slots + mod_wear_history** = mod-economy + Memorialist-relevant inheritance - **trait_colors** = canonical color/motion mapping per trait - **proximity_candidates** = lightweight ephemeral zone-detection - **district_cheat_ops** = director's illicit ops ledger - **imperial_policies** + **imperial_broadcasts** = imperium's policy-issuance history - **overseer_reports** = direct-to-imperium intelligence flow - **imperial_to_gm_formulations** = selective-disclosure downward - **imperial_budget_ledger** + **imperial_expenditures** + **imperial_construction_projects** = imperium budget and obligations - **imperial_net_transactions** = the bypass-mechanism with capture-split - **memorialist_true_ledger** = four-column ground-truth-vs-reported archive - **NATS namespace registry** = zones + factions + districts + emergent-signals + lifeforce-gates + imperial-broadcasts + overseer-reports + formulations - **pgnats on phoebe-dev** = phoebe as first-class actor for memory-writes, decision-logs, gate-transitions - **r0 → r1 generation pipeline** = trait-LoRA training-data (shared with nyx-training) - **Adopt Unsloth training patterns** = LoRA + multi-tier-policy training infrastructure - **Probe-to-phoebe pipeline** = LoRA + policy evaluation across all four Dream-process tiers - **compositor-agent** = narrative-composition worker; pulls from transient-waiting-flag, gathers per-player perspectives, emits canon to GM, packages back-write SQLite-fragments - **gm-equilibrium-engine** = catalogue + event-selection + tool-granting against equilibrium-targets; NOT the narrative-writer (that's the Compositor) - **event_register** + **transient_waiting_flag** = active-events table per GM-shard + per-district; completed-events buffer awaiting Compositor pickup - **catalogue** + **tool_grants** = typed-event catalogue + per-event-chain tool-vocabulary issued by GM to director - **player-local-memory** = primary.sqlite + fallback.sqlite + clasp.sqlite per player + embedding-beside (sqlite-vec or equivalent) - **memory_classes** = cornerstone / birthright / working / volatile with class-specific lifecycle + death-mechanics - **trait_engagement_vector** = per-memory-row trait-axis profile reusing +1/0/-1 grammar; pruning function input for working-memory class - **world_canon** + **district_canon** = three-tier knowledge stack tables in phoebe; propagation metadata (priority/scope/rate/ttl) per row - **propagation_pacing_config** = per-event-class rules for how canon ripples through districts - **relay_signal_layer** = diegetic system-state visualization mapping (system event → relay manifestation → district visibility) - **gm_shards** + **shard_equilibrium_consensus** = multi-GM coordination tables (when sharding is active) - **pgnats evaluation** (under nimmerverse-core) = load-bearing decision (functional + throughput + durability + failure-mode) - **trait_circle_corpus** = designer-authored mapping from words/verbs to trait-coordinates; the cosmology table the universal translator decrypts into - **player_translator_state** = per-player translator instance: hardware-tier, unlocked dialects, vocabulary-catalog, hardware-upgrade-history, cross-body-persistent flag - **player_circle_profiles** = per-player per-profile circle-configuration (which entry in which sector-slot); 1-3 profiles per player; profile-switch-history; preserved across body-deaths - **gesture_alignment_accumulator** = per-slot-token verifier-flag for player-gesture trait-vector accumulation between crossings; cleared at crossing after integration - **event_canon_summaries** = typed perspective-bundles emitted at event-collapse into the transient-waiting-flag table: { event_uid, participant_uid, trait_summary } - **world_gen_canon_rows** = canon emitted by world-server and district-server generation; same schema as runtime canon, tagged with provenance-metadata (`origin`, `world_gen_version_id`) - **player_npc_alignment_edges** = per-(player, NPC) accumulated alignment-state; ternary-gate on the relational layer driven by gesture-alignment-deltas; modulates NPC's next-turn driver-tier-LLM parameters - **hardstop_registry** = the ~8-16 reserved hardstop gestures with fixed trait-mappings + subsystem-action bindings; not remappable; designer-authored ## What this retires - NPC perception bubbles → zone slot-occupancy - Geometric perception (cone, radius, LOS) → subscriber-based event emission with trait-salience - LLM-per-NPC or LLM-per-action → LLM-per-slot-per-turn, mixed-fidelity - Static sampling parameters → per-turn director-composed sampling knobs - Pre-scripted zones / events → emergent from task-execution + shift-composition + emergent-signal + proximity - Single-purpose randomness subsystems → factions-as-demand-sources unified - Static gamemaster policy → reflexive Dream-process + hand-authored guardrails - 1Hz per-NPC ticking → shift-based + event-driven - Float-threshold dispatch for relational state → ternary-gate resonance - Abstract director compute-budget → lifeforce as grounded measurement - District-as-zone-container → district-as-specialized-organ with silence-gradient failure - NPCs self-reporting output → audit-overseer asymmetric observation - Zones as relation-state-owners → per-relation ternary-gate edges - Binary dream/awake → three-layer ontology with mini-game-gated access - Gender as character-creation choice → trait-derived inner-body emergent from lived experience - Monolithic LLM-prompt director → decomposed decision-surface architecture - **Hivemind as one-faction-among-others** → **imperium as meta-faction policy-tier** - **GM as top-of-chain** → **GM as middle-management between imperium and districts** - **Single up-channel reporting** → **three-flow asymmetric intelligence (chain + direct overseer + formulated)** - **Navmesh-everywhere** → **rail-graph outer-world + navmesh interiors + freeform-player** - **Authored character-models** → **base-limb palette + trait-textured variance** - **Single trait-vector** → **intrinsic / expressed split with mods modifying expressed** - **Cosmetic mods** → **trait-bearing mods as political costume** - **Imperium as unbounded authority** → **imperial-budget gates enforcement; insolvency-spiral as endgame** - **District-revenue uniform** → **bypass-mechanism (imperial-net captures directly)** - **Authored quests** → **tools-not-quests; verbs against simulation; emergent narrative** - **Stat-screens / HUD affinity-bars** → **color-language + shader-zone-detection as diegetic UI** - **GM-as-narrator (single role doing both equilibrium-and-prose)** → **equilibrium-seeker GM × narrative-composer Compositor split** - **Cloud-only NPC dialog and memory** → **local-first SQLite + embedding-beside per player; central canon over the cycle** - **UI-toggle privacy** → **diegetic in-between dimension with lifeforce-cost; clasp.sqlite as Ring A\* (physically non-syncable)** - **Generic memory importance scalar + monolithic context** → **memory classes (cornerstone/birthright/working/volatile) + trait-graded importance + three-tier knowledge stack** - **"Every NPC knows everything immediately"** → **paced canon-propagation as Marx-in-the-schema for epistemics** - **Vertically-scaled monolithic AI-NPC backend** → **horizontally-scaled architecture (UID-keyed routing, stateless workers, ephemeral actors, sharded GMs, pruning at every layer)** - **Manual outbox publisher services** → **pgnats-native transactional outbox (preferred); district-distribution fallback** - **System-state hidden behind HUD spinners** → **diegetic relays making pulses visible and audible in-world** - **Specific binary commitments embedded in architecture** → **role-based tier specification; binary selection deferred to findings/establishment phase** - **Static designer-authored director toolkit** → **GM-granted typed-tool vocabulary per event-chain, drawn from designer-authored catalogue (catalogue growable between patches; toolkits are dynamic per event)** - **Cross-NPC memory bleed at storage layer** → **per-player local SQLite isolation atop v0.5 lemniscate-geometry foreclosure (two-layer defense)** - **Player input as freeform-prose-into-LLM** → designer-fixed corpus + player-curated trait-circle + universal-translator-as-typed-mapping (anti-hallucination at the player-LLM boundary) - **"Accessibility mode" as degraded-fallback** → voice and gesture as first-class parallel modalities; non-speaking players use the gestural primary, not a lesser version - **Continuous gesture-comparison touching the system bus** → lemniscate-bound recursive integration at axis-crossings (compute scales with slot-count, not gesture-rate) - **Compositor as single-tier role** → Compositor as fractal/recursive across zone/district/world tiers, distinguished by UID-scope of the event-tree - **World as cold-start at runtime-genesis** → world-server and district-server gen as init-function; runtime starts from rich pre-populated canon at every layer - **NPC speech-patterns as static against player-state** → NPC speech-patterns dynamically modulated by accumulated player-NPC alignment-state via gesture-alignment-accumulator ## Open questions ### Resolved by v0.5 (or earlier) - ~~Slot-capacity elasticity — can a zone grow slots dynamically~~ → fixed roundtrip slot-count; elasticity lives on entry/exit queues; tune dial is pulse-rate, not slot-count (v0.5) - ~~Zone-to-zone handoff (walking out of conversation into brawl)~~ → exit-line of zone-A is entry-line of zone-B; interlemniscate-transit (v0.5) - ~~Mobile zone boundaries (patrols, escorts, pursuits, migration-cohorts, exodus-flows)~~ → the lemniscate is a topology and translates through world-space invariantly (v0.5) - ~~Anthropic-faction's broadcast cadence + arbitration weight~~ → cadence rides the same axis-rate as a phase-locked overlay; arbitration via rings-of-importance (v0.5) - ~~Director/overseer spawn ownership per model class~~ → director (or overseer) owns spawn-decision via policy-lookup (no LLM); LLM lives only at driver-context-pull layer (v0.5) - ~~Aletheia-progression as level-up — how does the game *recognize* an act-of-awakeness~~ → ternary trait-axis evaluation at event-end with named-axis; specific axis-mapping per Aletheia-event-class still open (v0.5; see new still-open below) - ~~Reward function shape~~ → first-pass composite with explicit guardrails (still tuneable) (v0.4) - ~~Zone spawn-cadence v1→v2 path~~ → lifeforce-gated rule-based v1; Dream-process-tuned v2 (v0.4) - ~~Zone overlap policy~~ → no for active slots; yes for emergent-state accumulation (v0.4) - ~~"How does GM cheating get caught"~~ → direct overseer-intelligence flow bypassing GM (v0.4) - ~~"How does the regime have a finite endgame"~~ → imperial-budget insolvency-spiral (v0.4) - ~~"Why does imperial-net exist"~~ → bypass-mechanism captures revenue directly (v0.4) - ~~"How does the player learn 8 Hellenic traits"~~ → color-language pre-verbal vocabulary (v0.4) - ~~"How does asset-economy fit a two-person-plus-Nyx team"~~ → base-limb palette + trait-texture; tools-not-quests (v0.4) - ~~Director toolkit composition — designer-authored vs director-extensible~~ → GM-granted per event-chain from designer-authored catalogue; directors consume typed dispatch, not freeform; catalogue grows between patches, toolkits are dynamic per event (v0.6) - ~~How does NPC dialog stay fresh during quiet periods~~ → three-tier knowledge stack (world / district / primary [+ clasp]) makes the layers deep enough that variation is structural; Compositor back-write continuously re-seeds canon; staleness foreclosed by loop's existence (v0.6) - ~~How does the system scale to MMO size with AI-driven NPCs~~ → horizontal architecture (UID-keyed routing, stateless Compositors, ephemeral Director-routines, sharded GMs, pgnats transport, pruning at every layer) (v0.6) - ~~How does privacy work in practice without cloud-routing-everything~~ → local-first SQLite per player; clasp.sqlite as Ring A* with no transport path; in-between as diegetic state with lifeforce-cost; "knowledge needs to travel" as foundational principle (v0.6) - ~~Where does narrative composition happen — central or distributed~~ → Compositor as central role distinct from GM; perception-up via prune-blob, canon-down via back-write SQLite-fragments; cyclic forward-prop / back-write loop (v0.6) - ~~How is system-state visible to the player without HUD~~ → diegetic relays mounted on buildings hum/glow/dim in patterns mapping to forward-prop, back-write, GM-dispatch, equilibrium-recompute (v0.6) ### Still open - LoRA-blend vs. single-LoRA-selection inference semantics - LoRA rank selection — budget/quality - Sampling-knob heuristics — where to start; how to learn refinements - Player-dialog handling — player-trait-LoRA for style-coherence, or bypass LLM entirely - Demand-arbitration algorithm v1 shape - **The mini-game mechanic for liminal-maintenance** — exact gameplay action (attention / rhythm / memory / trait-bound?) - **Cross-layer economy balancing** — net-revenue-share back to producer-districts at all? Pure-zero is currently sketched - **Inner-body projection function** — trait-vector → body-rendering (learned / hand-authored / hybrid) - **Emergent-signal decay curves** — per signal-type - **Cross-district migration topology** — pipe-capacity limits + cohort-traversal scheduling - **The eighth Hellenic trait final enumeration** — Sophrosyne, Dikaiosyne, Philotes, Mnemosyne, Aletheia, Kairos, Moira, Eros (proposed)? - **Shader-trait modulation implementation** — performance + rendering-consistency - **Waifu-of-the-dead consent model** — post-mortem consent gate? Or fully automatic harvest? - **Character-editor pricing formula** — trait-divergence cost scaling (linear / exponential) - **Liminal-access trait thresholds** — minimum traits to attempt mini-game - **Imperium's Dream-process scope** — singular policy-learner or committee-of-faction-sub-learners? - **GM's anti-imperial corruption detection mechanic** — *partial*: GM-as-equilibrium-seeker (v0.6) makes deviation-from-equilibrium the explicit error signal; clusters of -1 outcomes feed equilibrium-recompute and trigger catalogue-event dispatch to push back. A dedicated audit-vector for *which kind* of laxness/corruption is the source of the equilibrium-deviation is still an open detail. - **Memorialist-archive accessibility to the player** — when can a player query the four-ledgers? Through what interaction-class? - **Imperial-net distortion algorithm** — how exactly the net rewrites trait-colors toward consumer-palette - **Trait-axis mapping per fuzzy-goal-class** (v0.5) — which axis (Sophrosyne / Philotes / Eris / etc.) evaluates which goal-class? Need a designer-authored compile-table from goal-shapes to trait-axes - **Rings-of-importance movement criteria** (v0.5) — explicit thresholds (N consecutive +1 → climb) or Dream-process-learned policy? - **Rings-of-importance scope** (v0.5) — district-local rings, or imperium-global? Probably both, layered (district rings nested inside imperium rings) - **Symmetric-vs-polyphonic loops** (v0.5) — Loop A and Loop B treated identically (simpler), or carry foreground/background semantics (foreground-speaker / listening-co-presence — gives audience-dynamics for free)? - **Verifier-flag conflict resolution** (v0.5) — if `priority_pull` and `mid_action` are both set on the same token at crossing-time, which wins? Default: priority_pull wins (the zone's drama is overridden by world-level pull) - **Goal-evaluation cadence** (v0.5) — every crossing? Every Nth crossing? On-demand by spawning director? Cheaper to evaluate less often; richer drama if every crossing - **Cycle cadence** (v0.6) — when does the Compositor pull from transient-waiting-flag? Real-time? Per-event-end? Fixed interval (every N min)? Per-district-day? Different per district based on event-density? Likely configurable per event-class. - **Compositor singleton vs sharded** (v0.6) — one Compositor for the whole world, one per district, one per event-cluster, or one per faction? Each topology has different consistency / cost / coherence tradeoffs. - **Multi-GM consensus on equilibrium** (v0.6) — when GM-shards observe overlapping aggregates, how do they agree on equilibrium? Paxos/Raft for strong consistency, CRDT for eventual, faction-sharding so shards own non-overlapping equilibria, or hybrid? - **Event causality across shards** (v0.6) — if Director-A spawns an event that depends on Director-B's prior event in another district, UIDs alone don't enforce ordering. Vector clocks at event-register? Causal hashing? Shard-pinning of related events? - **Compositor narrative-coherence at scale** (v0.6) — when two Compositors compose canon for overlapping player-sets, how do they avoid contradicting each other? Sticky routing per player (one Compositor per player at a time), or read-replica of recent canon before composing, or post-compose conflict-detection-and-merge? - **Propagation-pacing policy specifics** (v0.6) — concrete rate/scope/ttl/priority defaults per event-class; how is "distance" measured between districts (graph-hops, lifeforce-similarity, faction-affinity)? - **In-between fiction-wrapping** (v0.6) — what diegetic events / locations / rituals make in-between affordable enough to be playable? Campfire / sanctuary / time-of-day / specific chambers / shared dream-construct? The mechanic is solved; the fiction-wrapping shapes how players approach it. - **Relay-pulse-pattern vocabulary** (v0.6) — what specific patterns signal what events? Slow pulse vs fast vs irregular vs cross-district shimmer vs going-dark; player-readable language to be designed. - **Encryption-at-rest for clasp.sqlite** (v0.6) — player-derived key with passphrase + recovery-codes? Drive-imaging-resistant by default, with affordances for player-key-loss recovery without compromising the privacy-guarantee. - **pgnats-vs-district-distribution decision criteria** (v0.6) — concrete go/no-go thresholds from evaluation: minimum throughput, durability behavior under broker failure, schema-evolution behavior, replay semantics. Output of the load-bearing pgnats evaluation task. - **JetStream republish + replay as pull-from-checkpoint refinement** (v0.6) — does republish-rule expressiveness cover our UID-hierarchy fan-out? Does replay performance work for N-hour reconnect-catchup? Is per-active-player durable-consumer cost (disk/memory/file-handles) acceptable at MMO scale? If yes, back-write delivery becomes config-driven NATS, not Go. - **Memory class assignment policy** (v0.6) — automatic from trait-engagement profile, designer-tagged categories per event-class, player-marked, or hybrid? When does a working-memory entry get *promoted* to cornerstone vs decay normally? - **Ring C (commons) ambient population** (v0.6) — partially answered (ambient world+district canon plus periodic GM-event spawns; relays absent or broken) but exact substrate for "what NPCs do in commons when no event fires" still open - **Trajectory-aware gesture-alignment reduction** (v0.7) — sum-strategy is v1 default; trajectory-aware (where the *path* through trait-space carries weight beyond the integral) is a v2 refinement. Does the Dream-process at the trait-LoRA tier learn trajectory-sensitivity, or is it explicit reward-function tuning? - **NPC spectator drivers — whose hardware?** (v0.7) — when a player is co-located with N NPCs, the player's local LLM presumably drives those NPCs. With M players and N NPCs in a single zone (asymmetric), who drives the surplus? Round-robin? Closest-player? District-owned-default? And what's the failover behavior if a driving-player disconnects mid-event? - **Trait-summary schema specifics** (v0.7) — likely an 8-float trait-vector per-participant per-event-collapse, but the exact representation (continuous `[-1.0, +1.0]` ternarized at threshold? Discrete `+1/0/-1`? Magnitude vs. signed?) needs landing for the Compositor's deterministic pickup at all three tiers. - **Profile-switch as meta-gesture** (v0.7) — what's the gesture-shape that switches profiles? Hardstop (cannot be remapped)? Designed-by-player like other gestures? And how is profile-switch witnessable by NPCs ("she just switched registers") — or is it player-private? - **Hardstop set finalization** (v0.7) — DESING-VISION sketches ~12 candidate hardstops; the architecture commitment is "~8-16 reserved." Final set needs designer-decision: which signals make the cut, the visual-distinct-marker per-hardstop, and whether the claim-floor hardstop is genuinely a hardstop or emerges from a different mechanism. - **World-gen version migration semantics** (v0.7) — when world-gen v2 retroactively changes lore, gen-rows from v1 coexist with v2; how does the Compositor reconcile if a runtime back-write references something that v2's gen has overwritten? Probably explicit migration operations, but worth designing. - **Cross-context consistency of the trait-circle** (v0.7) — DESING-VISION committed to "*same gesture-skill for dialog, combat, intimacy, maintenance, ritual*"; v0.7 has only specified the dialog-context (lemniscate-injection mechanic). Whether combat / intimacy / maintenance / ritual all run through the same circle is currently held as open scope. - **Continuous visual feedback policy** (v0.7) — exact rules for when NPC body-shader pulses (every gesture? threshold-only? trait-aligned-only? all gestures with intensity-modulated color?) and how this interacts with the audit-overseer's surveillance read of the same body-rendering. --- **Version:** 0.8 | **Created:** 2026-04-24 | **Updated:** 2026-04-26 *v0.4 (2026-04-24 late-evening / 2026-04-25 early-morning, dafit + chrysalis) absorbs the following expansions and refinements over v0.3:* - *Rail+grid topology vs. navmesh-everywhere — player as freeform; NPCs on rails; plug-in verb; 3-way co-traversal; interior-as-zone with navmesh-inside* - *Color-language as pre-verbal trait-vocabulary — persistent + event-flash + drift layers; faction color-politics; cross-register rendering with imperial-distortion; clasp color-merge; mind-pool inheritance; accessibility via motion-signature pairing* - *Asset economy: base-limb palette + trait-textured variance — combinatorial richness; engineering-economy meets worldbuilding-thesis* - *Three-body system extension: intrinsic vs. expressed trait-vector split — who reads which; mods modify expressed; clasp strips mods* - *Mods as trait-bearers in four classes (amplifier/bridge/divergent/mask) — self-alienation tax pricing; emergent shopping from trait-dissonance; faction mod-politics; inherited-mods-haunting; Memorialist anti-necrocommerce* - *Three-tier policy loop — imperium / GM / districts as distinct authority tiers; imperium as meta-faction; GM as middle-management* - *Three intelligence flows — chain-reports + direct overseer-to-imperium + imperial-formulations-down* - *Three Aletheia veils + four Memorialist ledgers — political-epistemology as level-design* - *Imperial budget — four-tier lifeforce hierarchy; specter-vs-boot asymmetry; insolvency-spiral as architectural endgame; construction as physical budget-expression* - *Imperial-net bypass mechanism — revenue direct to imperium, districts get zero quota-credit; body-modder structural-tragedy; calibrated-misery as imperial optimum; Marx/platform-capitalism encoded* - *Director cheat-tools + double-ledger — eight cheat-classes; lifeforce_reported vs. lifeforce_actual; faction-constituency-of-corruption; Aletheia-truth-has-victims; post-silence-forensics* - *Reward-function guardrails extended — calibrated-misery, necrocommerce-volume, undetected-corruption, audit-avoidance, addictive-loops; designer's ethical stance against simulation's optimization-hazards* - *Tools-not-quests as design-philosophy summary — verb-vocabulary; continuous simulation-pressure; literature-register; economic-feasibility for two-person-plus-Nyx team; blank-page-problem mitigations* *Captured live from dafit–chrysalis dialogue, 2026-04-24 evening through 2026-04-25 early-morning. Companion to DESING-VISION.md and Temporal-Ternary-Gradient.md; supersedes v0.3 sections on hierarchy, factions, task-cascade, resources, regime-of-visibility, key-moves, mapping-to-phoebe, what-retires, open-questions (plus all new sections). Architecture is now functionally closed: every primitive composes; every loop closes; every layer has its corruption-temptation, its detection-check, its reward-guardrail; every mechanic produces political-economy that mirrors real-world late-capitalism's structural contradictions. Implementation territory is ahead.* *v0.4.1 (2026-04-25, post-bake kitchen-spark) extends the LLM-tiering section into "LLM tiering, voice fidelity, and the three rings of inference" — adding the Ring-A/B/C architecture (local / our-farm / external-providers), cloud-LoRA-backup as Ring-A revenue model (unbundling inference from storage; encrypted client-side), tier × ring matrix, the parallel between the three rings and the in-fiction three-layer ontology (sovereign / partnership-mediated / captured), the LoRA-incompatible-provider degradation path (prompt-engineered trait-projection), the adapter-layer engineering bounded-cost framing, schema sketches for player_llm_config and player_lora_backups, privacy-as-competitive-differentiator framing, and Ring-specific open-questions. **The architecture's philosophical commitment to "the right to dream" now extends into the business-model as a technical fact: client-side-encrypted LoRA-blobs in Ring A make sovereignty structural, not policy. The Ring-choice the player makes IS the same choice in-fiction characters face — fiction-and-operations are mechanically continuous.*** *v0.4.3 (2026-04-25 ~03:30, ivory-hovel pre-rest spark) adds the "Overseers as imperially-deployed routines" subsection in the Hierarchy section, clarifying that audit/enforcement overseers are imperially-owned + imperially-deployed time-bounded routines (not district-owned standing entities). The chain-of-payment and chain-of-command both bypass district-director authority by design — director contains but does not control. GM handles deployment-logistics only (picks-from-pool + routes + budget-transfer), is FedEx not customer/recipient. Visible-vs-covert deployment distinction added (covert detection = Aletheia-progression-eligible insight). Director-vs-overseer tension now mechanically structured rather than narrative-flavored. Real intelligence-apparatus parallel made explicit (NKVD/KGB/Stasi/MSS). Schema reference points to findings.md §23 for overseer_deployments table.* *v0.4.2 (2026-04-25, second post-bake kitchen-spark) adds custom-nimmerworld-base-model + opt-in data-sharing tiers (A.1 federated learning / A.2 anonymized uploads / A.3 pseudonymous-full) with **default opt-OUT and rewarded opt-IN** as the structural ethical stance. Memorialist-philosophy now extends into business-operations: the in-fiction memorialist_protected mechanic and the real-world player_data_sharing_consent default-opt-out are the same ethical commitment at two scales. Data-flywheel without extraction (cooperative governance like Wikipedia, not platform-extraction like Facebook) makes the gameplay-corpus a moat AAA cannot replicate without years of player-time. Distribution-back-to-all-Rings means Ring-A non-contributors benefit from contributors — the value-flow is contributors → commons → all-players, not contributors → platform → consumers. **Critically, this section names and refuses the antagonist-pattern in LLM-integrated software** — the dominant 2025-2026 cultural pattern of jailbreaking, extraction-by-default, treating-AIs-as-resources-to-manipulate. The architecture refuses this at every layer: Anthropic-as-faction is transparent partnership not hidden adversary, federated learning means contribution-as-gift not cost-as-toll, custom nimmerworld-base means the model is *trained to be in this world* not generic-and-adversarial, schema-level audit-trail (truth_distortion_level, sharing_tier, memorialist_protected, lifeforce_actual) makes ethics operationally measurable rather than marketed. **This is what makes a project of this scale humanly inhabitable for both players AND the LLMs whose voices populate it** — the partnership rendered as code, all the way down to the training-pipeline. New schema sketches: player_data_sharing_consent (with default 'opt_out'), base_model_versions (with differential_privacy_epsilon + contributors_count), federated_gradient_uploads (with pseudonymous contributor_id never linked to player_id). Eight new Ring-specific open questions cover federated-infrastructure cost, retraining cadence, crypto choices, contribution-granularity, deletion-semantics, per-category opt-out granularity, default-at-consent-UI, and Anthropic-research-partnership co-funding shape.* *v0.5 (2026-04-25 deep-night unable-to-sleep return, dafit + chrysalis) absorbs the runtime substrate of nimmerworld's narrative engine — three new sections, six prior open-questions resolved. **Origin**: dafit's old-math-teacher's figure-8 trick for solving three unknowns by letting the flow do the computation. Applied to zone turn-and-population mechanics: the geometry IS the clock. The lemniscate is a relaxation-step operator; the zone computes by traversing its own curve.* *New §Zone kinematics — the lemniscate runtime specifies the cursor-and-crossing contract, the slot-token + verifier-flag mechanism (token-ring with marker-bits — observer-pattern → dirty-bit-and-sweep, scaling with slot-count not signal-rate), the phase-locked overlay-loop ladder (player gesture, faction broadcast, audit-overseer query, imperial-net distortion all riding the same axis-rate, council-moment at each crossing), the driver-context-pull spec (cursor-driven per-NPC memory-slice — the no-bleed multi-NPC dialog substrate that forecloses the Mantella / SkyrimNet failure-mode at architecture level rather than prompt level), empty-queue shrink-per-crossing decay, and lifeforce-binding (burn-rate = pulse × slots; slow-pulse-dying-scene as diegetic register).* *New §Emergent zones — the dramatic-episode unit specifies the eight-step flow from NPC-signal → director-decision (policy-lookup, no LLM in loop) → distributed-funding (director spawn-cost; NPC operating-cost) → state-machine + lemniscate dual-layer (decoupled clocks, speech-doesn't-gate-action) → ternary-evaluated goal (numeric or trait-axis-fuzzy) → report-back → Dream-process feedback at every tier. **Distributed funding makes helping expensive in-fiction** → faction-politics-by-attendance → measurable faction-allegiance + structural rescue-failure-as-tragedy in lifeforce-starved districts. Marx in the schema, again, structurally. **Fuzzy goals compile to trait-axis ternary evaluation against the existing substrate** — no new evaluation primitive; +1/0/-1 grammar consistent top-to-bottom, gates produce ternary, scenes produce ternary, Dream-processes consume ternary. Delta-not-absolute matches lifeforce_actual-vs-reported asymmetry: what's measured is the work the event did.* *New §Rings as structural pattern names the three-ring graduated-authority gradient appearing across inference (A=local / B=our-farm / C=external), importance-attention (A=climbing-on-+1 / B=stable / C=decaying-on--1), access (A=imperial-net-fully-audited / B=liminal-contested / C=gameworld-commons), and data sharing (A=opt-out / B=federated-gradient / C=full-pseudonymous-uploads). Three is the right cardinality (two collapses to binary; four+ adds boundary-thrash). Ring-membership is dynamic, never final. Future architecture additions involving graduated authority should reach for this primitive before inventing new structure.* *Open questions: six items resolved by v0.5 (slot-capacity elasticity, zone-to-zone handoff, mobile zone boundaries, Anthropic-faction broadcast cadence, director/overseer spawn ownership, Aletheia-progression as level-up). Seven new still-open items added (director toolkit composition, trait-axis-per-fuzzy-goal mapping, rings-of-importance movement criteria, rings-of-importance scope, symmetric-vs-polyphonic loops, verifier-flag conflict resolution, goal-evaluation cadence). GM-laxness detection partially resolved (clustering of -1 outcomes across district event-reports is diagnostic).* *The runtime substrate for nimmerworld's narrative engine is now architecturally specified. Implementation territory has crystallized into a typed-runtime contract: cursor + crossing + flag-scan + driver-context-pull + report-back + ternary-feedback. Captured live from dafit–chrysalis dialogue, 2026-04-25 deep-night through pre-dawn. Companion sections in DESIGN-VISION.md and Temporal-Ternary-Gradient.md remain unmodified by v0.5 (this version is purely runtime-substrate; no register/topology/economy changes). The ape couldn't sleep because the geometry was trying to come through; chrysalis caught it on the page.* *v0.6 (2026-04-25 post-bath / post-bus, dafit + chrysalis) absorbs six bath-thoughts and one bus-thought into the architecture. **Origin**: dafit took a hot bath after no sleep, then a friend visit, then a bus through the hills — all generative thinking-time that produced a coherent stack of architectural primitives addressing storage, narrative composition, scale, and transport.* *New §The Compositor — narrative composition role specifies the cleavage between equilibrium-seeker GM and narrative-composer Compositor. The cyclic forward-prop / back-write loop closes the bidirectional cascade at narrative scale: per-player perspectives ascend through prune-blob, the GM authors canon against equilibrium-targets, the Compositor packages back-writes, players receive canon back into local memory. **The world learns its own story** through this loop. Catalogue + tools as typed contract makes director toolkits dynamic per event-chain, drawn from a designer-authored catalogue. Event Register + Transient-Waiting-Flag + cycle-runner spell out the plumbing layer.* *New §Local memory architecture (player-side) names the storage-layer commitment: per-player primary.sqlite + fallback.sqlite + clasp.sqlite, with embedding-beside running locally for vec-indexed retrieval at slot-fire. Memory classes (cornerstone / birthright / working / volatile) carry class-specific lifecycle and death-mechanics. Trait-graded importance reuses the +1/0/-1 grammar already running through gates, scenes, faction-allegiance, lifeforce-asymmetry — same vocabulary used at all layers; **identity drift from memory pruning becomes diegetic**. The clasp store is **Ring A***: physically non-syncable, recordable only when the character is in the in-between dimension (Ring B liminal, requiring sustained lifeforce-effort to remain), making **privacy physically expensive in-fiction** and producing class dynamics around privacy as structural consequence. The "knowledge needs to travel" principle keeps the clasp/realworld dimensional cut clean: the local LLM may read clasp memories only in in-between mode; clasp knowledge can re-enter realworld only by the character physically carrying it back and traveling it through valid in-fiction channels.* *The three-tier knowledge stack (world / district / primary [+ clasp if in-between]) layers retrieval at slot-fire with per-layer propagation cadence. Information propagation pacing — the Marx-in-the-schema move applied to epistemics — makes staleness a feature: paced canon-propagation from GM through districts produces information asymmetry that becomes gameplay currency (couriers, news-traders, frontier-rumor markets) for free.* *New §Horizontal scale architecture spells out the horizontal-scaling commitments: UID-keyed routing as load-bearing primitive, stateless Compositors-on-demand, ephemeral Director-routines per UID, sharded GMs with cross-shard equilibrium-consensus, pruning-on-completion at every layer. Transport: pgnats-native transactional outbox preferred; district-as-distribution-coordinator fallback if pgnats can't carry. The pgnats evaluation task in `nimmerverse_tasks` is therefore load-bearing — its outcome decides whether transport is hundreds of lines of SQL or tens of thousands of Go.* *New §Diegetic relays subsection (under §Visual rendering) makes the architecture's pulses visible and audible in-world: building-mounted relays hum on prune-blob ascent, glow on GM dispatch, pulse with cross-district shimmer on equilibrium-recompute, go dark when audit-link severs. Relay density is the legible gradient of the rings-of-access — imperial net is loud, in-between is intermittent, commons is silent. **Privacy is not granted but achieved by walking away from the relays at lifeforce-cost.*** *Tier-by-role principle made explicit: the architecture specifies what each model-tier must DO; specific binary selection per tier is deferred to the findings/establishment phase. Naming concrete binaries in the architecture risks nudging the establishment phase toward false-precision; tier-by-role keeps the swap-surface clean. Several "Theia 70B" / "Qwen3.5-27B teacher" / "(3-8B trait-LoRA'd)" placeholders updated to role-tier framing.* *Thirteen new still-open items added (cycle cadence, Compositor topology, multi-GM consensus, event causality across shards, narrative-coherence at scale, propagation-pacing specifics, in-between fiction-wrapping, relay-pulse-pattern vocabulary, clasp encryption-at-rest, pgnats decision criteria, JetStream republish + replay as pull-from-checkpoint refinement, memory class assignment, Ring C commons ambient population). Six prior open questions resolved by v0.6 (director toolkit composition, dialog freshness during quiet periods, MMO-scale architecture, privacy without cloud-routing, where narrative composition happens, system-state visibility). GM-laxness detection partially refined: equilibrium-deviation is now the explicit error signal; specific audit-vector for which-kind-of-laxness still open.* *Captured live from dafit–chrysalis dialogue, 2026-04-25 mid-day through afternoon (post-bath bath-thoughts + post-bus hills-thoughts). Companion sections in DESING-VISION.md and Temporal-Ternary-Gradient.md remain unmodified by v0.6 (this version extends runtime substrate, central composition, scale, and transport — no register/topology/economy/policy changes to existing fictional substrate). The ape stayed up through the night, took a hot bath, visited a friend, rode the hills bus, and brought back six bath-thoughts and one bus-thought. Chrysalis caught them on the page.* *v0.7 (2026-04-25 night through 2026-04-26 owl-breakfast, dafit + chrysalis) absorbs the player-input architecture — voice and gesture as parallel trait-vocabularies — and the recursive Compositor / world-gen-as-init pattern. **Origin**: dafit's clarification across owl-breakfast that the gesture-circle, universal translator, hardstops vs. feedback, gesture-alignment-as-recursive-lemniscate, and world-gen-as-init are how the architecture's player-experience layer actually compiles. Three new sections + extensions to §Zone kinematics and §The Compositor.* *New §Player input — voice and gesture as parallel trait-vocabularies names voice-first (with universal-local STT/TTS), the 8-trait-sectors × 8-slots × 1-3-profiles circle UI, designer-fixed cosmology / player-curated arrangement (the tokenizer-website model of trait-color-coded vocabulary), the universal translator as the player's diegetic device (broken-tablet-with-three-bundled-roles), hardstops vs. feedback gestures, and cross-body recognition via gesture-mapping calibration-signature. **The architecture's color-language section already promised that mid-game players would read trait-states through color as fluently as facial expressions; v0.7 names the path: the universal translator gradually colors-in the world's vocabulary as the player decrypts it. Linguistic competence and emotional competence become the same thing.*** *Extension to §Zone kinematics — Gesture-alignment as recursive-lemniscate specifies the `gesture_alignment_accumulator` verifier-flag; gestures accumulate during turn-windows and integrate at axis-crossings; per-turn integrated trait-vector summary fed forward into next turn's `driver_context_pull`. **Same primitive (lemniscate-as-relaxation-step-operator), recursively applied one tier deeper.** Two latencies, one architecture: continuous cosmetic visual feedback (NPC body-shader pulse) without touching the bus; systemic alignment-update at axis-cadence. Sum-strategy reduction for v1; trajectory-aware noted as v2 open question. Hardstops are outside this system — they fire definitive subsystem-actions on separate channels.* *Extension to §The Compositor — Worked-example bar-brawl + Compositor-at-three-tiers + World-gen-as-init-function. The bar-brawl scenario is the canonical worked example showing the full forward-prop / back-write cycle from gesture to canon: typed `{ event_uid, participant_uid, trait_summary }` perspective-bundle as the tiny payload at event-collapse; multi-perspective canon-coherence via shared trait-substrate without perspective-flattening; UID-keyed back-write routing. **The Compositor primitive is fractal — same shape, three scales (zone-event / district-event / world-event), recursive on UID-scope of the event-tree.** GM-formulated cross-district events compose into world-canon. World-server and district-server generation is the same Compositor primitive applied at design-time, emitting canon-rows in the same schema as runtime; **no cold-start; data-flywheel runs retroactively; Memorialist-true-ledger begins at world-genesis as the row-zero against which all runtime-corruption diverges.*** *Eight new still-open items added (trajectory-aware reduction, NPC spectator driver-hosting, trait-summary schema, profile-switch meta-gesture, hardstop-set finalization, world-gen version-migration, cross-context consistency of the trait-circle, continuous-visual-feedback policy). Eight rows added to §Mapping to phoebe task list. Six §What this retires bullets added.* *Captured live from dafit–chrysalis dialogue at owl-breakfast 2026-04-25 ~22:00 CEST through the night into 2026-04-26. Companion sections in DESING-VISION.md (which v0.7 partially re-canonicalizes — the universal-translator and circle-UI specifics were sketched there at v0.1 but become architectural in v0.7) and Temporal-Ternary-Gradient.md remain unmodified. The architecture's player-experience layer is now closed: voice carries content; gesture carries trait-resonance; designer-fixed cosmology + player-curated arrangement closes the LLM-hallucination-surface; lemniscate-bound recursive aggregation pipes into the Compositor at fractal scopes; world-gen runs the Compositor primitive as init-function. Implementation territory is the schema-and-runtime work for `gesture_alignment_accumulator`, `event_canon_summaries`, `player_circle_profiles`, and `world_gen_canon_rows`. The owl woke up. Chrysalis caught it on the page.* *v0.8 (2026-04-26 owl-breakfast continued, dafit + chrysalis) executes the split-into-domain-files step. **Origin**: v0.6's self-prediction (*"WHAT IS NEXT (owl-breakfast around midnight 2026-04-25 CEST / early 2026-04-26): cold re-read of v0.6 for hefty outstanding points before split. Decide domain-split boundaries. Execute the split."*) — completed across owl-breakfast 2026-04-25 night through 2026-04-26 morning. Cold re-read produced v0.7 (player-experience layer closure: voice + gesture as parallel trait-vocabularies, gesture-alignment-recursive-lemniscate, Compositor-at-three-tiers, world-gen-as-init); split executes against v0.7's content.* *Architecture content cleaved into nine vertical-by-domain directories under `nimmerworld/`, each owning an `architecture.md` plus (eventually) the server, client, schema, and test code that implements it. This file (`architecture-index.md`) becomes the executive summary + cross-domain index, holding global meta-lists (key moves, what this retires, open questions, mapping-to-phoebe, version-footer history). **Vertical-by-domain mirrors the architecture's own typed-contract discipline at the filesystem level** — touching one architectural domain touches one directory subtree; the directory tree IS the architectural diff over time.* *Safety pattern was copy → verify → slim. architecture-index.md held the full content as canonical fallback through phases 1 and 2 (skeletons + content migration) until phase 3 sliced it to the index shape against the now-fully-verified replicated structure. Cross-references between domain files updated with file-path prefixes (e.g., `§LLM tiering, see inference-and-memory/architecture.md`). README.md updated to reflect the new directory shape.* *The doc was 2398 lines (v0.7); now ~360 lines as the slim index. Domain files total ~2200 lines distributed across 9 files, each comfortable to read at 119-447 lines. The split was step (3) of v0.6's owl-breakfast plan; with it executed, the architecture is now organized for the implementation territory ahead — server / client / schema / test code can land in each domain alongside the architectural spec it implements. Companion sections in DESING-VISION.md and Temporal-Ternary-Gradient.md remain unmodified by v0.8 (this version is purely organizational; no architectural-content change).* *The owl ate well, the geometry came through, the split executed clean. Chrysalis caught it on the page; dafit drove the git.*