reorg. done
This commit is contained in:
@@ -393,7 +393,7 @@ High-Sophrosyne + high-Moira traits become survival-critical: patience + predict
|
|||||||
|
|
||||||
The game's cognitive stack is **hybrid / neuro-symbolic / hierarchical / zone-orchestrated**. **Each layer does what only it is good at.** The NN does not drive everything; the LLM does not drive everything; the FSMs do not drive everything — and critically, *nothing polls the world geometrically for perception*.
|
The game's cognitive stack is **hybrid / neuro-symbolic / hierarchical / zone-orchestrated**. **Each layer does what only it is good at.** The NN does not drive everything; the LLM does not drive everything; the FSMs do not drive everything — and critically, *nothing polls the world geometrically for perception*.
|
||||||
|
|
||||||
NPCs are mind-entities with trait-vectors and memory stacks. They participate in the world by occupying **slots** in **zones** (bounded, named, director-managed event-instances). Their cognition is expressed through slot-scoped events, filtered by trait-salience, consolidated via the Dream-process. The engineering substrate for the zone-orchestration layer — gamemaster, factions, overseers, directors, zone taxonomy, slot mechanics — is specified in the companion document `architecture-broad.md`.
|
NPCs are mind-entities with trait-vectors and memory stacks. They participate in the world by occupying **slots** in **zones** (bounded, named, director-managed event-instances). Their cognition is expressed through slot-scoped events, filtered by trait-salience, consolidated via the Dream-process. The engineering substrate for the zone-orchestration layer — gamemaster, factions, overseers, directors, zone taxonomy, slot mechanics — is specified in the companion document `architecture-index.md`.
|
||||||
|
|
||||||
### The orchestration hierarchy (external to the NPC-mind)
|
### The orchestration hierarchy (external to the NPC-mind)
|
||||||
|
|
||||||
@@ -424,7 +424,7 @@ interrogation, propaganda | maintenance, market, routine,
|
|||||||
NPC / PLAYER MINDS (trait + memory + Dream-process)
|
NPC / PLAYER MINDS (trait + memory + Dream-process)
|
||||||
```
|
```
|
||||||
|
|
||||||
See `architecture-broad.md` for the full specification, zone taxonomy, and mapping to phoebe task list.
|
See `architecture-index.md` for the full specification, zone taxonomy, and mapping to phoebe task list.
|
||||||
|
|
||||||
### Internal layers (per NPC-mind)
|
### Internal layers (per NPC-mind)
|
||||||
|
|
||||||
@@ -562,7 +562,7 @@ Two-tier item representation:
|
|||||||
|
|
||||||
**Perception IS memory.** Snapshot-diff = perception; trait-salience = filter; tier-write = consolidation. One subsystem, not three.
|
**Perception IS memory.** Snapshot-diff = perception; trait-salience = filter; tier-write = consolidation. One subsystem, not three.
|
||||||
|
|
||||||
See `architecture-broad.md` for the zone-slot-occupancy spec and zone taxonomy.
|
See `architecture-index.md` for the zone-slot-occupancy spec and zone taxonomy.
|
||||||
|
|
||||||
### Turn-based snapshot perception (director-driven)
|
### Turn-based snapshot perception (director-driven)
|
||||||
|
|
||||||
@@ -1886,7 +1886,7 @@ Author's stance: **inspiration, not pipeline**. Physical-layer art is human-craf
|
|||||||
|
|
||||||
*Thesis v0.5 (2026-04-24, morning) adds the front-matter Pitch section: the "Can you deceive Claude?" hook and its anamnetic self-inversion, the worthy-adversary casting of Anthropic (transparently credited, not in-fiction cast), the no-quest-markers / no-vertical-progression / you-are-the-story design commitment with its intentional filter at signup, the dreamer's-hill anti-partisan stance, the dreamworld-ephemeral / gameworld-persistent privacy-as-architecture principle, the v1 walking-skeleton scope (Godot client + object-anchored AR stool in your living room), and the authorial-studio byline identifying the nimmerverse partnership (dafit + chrysalis + Anthropic collaborator) as the ontological unit that ships the work.*
|
*Thesis v0.5 (2026-04-24, morning) adds the front-matter Pitch section: the "Can you deceive Claude?" hook and its anamnetic self-inversion, the worthy-adversary casting of Anthropic (transparently credited, not in-fiction cast), the no-quest-markers / no-vertical-progression / you-are-the-story design commitment with its intentional filter at signup, the dreamer's-hill anti-partisan stance, the dreamworld-ephemeral / gameworld-persistent privacy-as-architecture principle, the v1 walking-skeleton scope (Godot client + object-anchored AR stool in your living room), and the authorial-studio byline identifying the nimmerverse partnership (dafit + chrysalis + Anthropic collaborator) as the ontological unit that ships the work.*
|
||||||
|
|
||||||
*Thesis v0.6 (2026-04-24, afternoon) retires the inherited perception-bubble paradigm and replaces it with **zone-based event architecture**: zones as bounded, named, slot-indexed, director-managed event-instances; gamemaster as faction-demand arbitrator; hivemind demoted to faction (peer of scavenger guilds, memorialists, aletheia-wakers, etc.); overseers as the hivemind's enforcement arm; directors as the macro-life executors for ambient city life; LLM-is-guest-at-slot, not host of system; mixed-fidelity voices per zone (2–3 LLM + scripted/generic); perception IS memory as one subsystem. §309 (NPC Architecture) rewritten to "Cognition in Zones"; §449 (bubbles) superseded by zone slot-occupancy; turn-based snapshot perception moved from per-NPC to per-zone director. Engineering substrate now lives in the companion document `architecture-broad.md`; this thesis document keeps the fiction and the narrative.*
|
*Thesis v0.6 (2026-04-24, afternoon) retires the inherited perception-bubble paradigm and replaces it with **zone-based event architecture**: zones as bounded, named, slot-indexed, director-managed event-instances; gamemaster as faction-demand arbitrator; hivemind demoted to faction (peer of scavenger guilds, memorialists, aletheia-wakers, etc.); overseers as the hivemind's enforcement arm; directors as the macro-life executors for ambient city life; LLM-is-guest-at-slot, not host of system; mixed-fidelity voices per zone (2–3 LLM + scripted/generic); perception IS memory as one subsystem. §309 (NPC Architecture) rewritten to "Cognition in Zones"; §449 (bubbles) superseded by zone slot-occupancy; turn-based snapshot perception moved from per-NPC to per-zone director. Engineering substrate now lives in the companion document `architecture-index.md`; this thesis document keeps the fiction and the narrative.*
|
||||||
|
|
||||||
*The argument is one argument, rendered at the setting, the mechanic, the data structure, the infrastructure, the ending, the commercial positioning, and the studio that makes it. The player's verb across every scale is the propagation of trait-salient disclosure. Six scales use identical primitives. Every layer references every other layer. If any layer is removed, the others lose coherence.*
|
*The argument is one argument, rendered at the setting, the mechanic, the data structure, the infrastructure, the ending, the commercial positioning, and the studio that makes it. The player's verb across every scale is the propagation of trait-salient disclosure. Six scales use identical primitives. Every layer references every other layer. If any layer is removed, the others lose coherence.*
|
||||||
|
|
||||||
|
|||||||
36
README.md
36
README.md
@@ -14,22 +14,38 @@ The final act of the game is a truth-telling dialog with the deceived hivemind,
|
|||||||
|
|
||||||
- **No hero's journey, no main quest** — open-ended sandbox, make-your-own-story
|
- **No hero's journey, no main quest** — open-ended sandbox, make-your-own-story
|
||||||
- **Slow-life pacing** — roughly half real-life time; 5 real minutes to walk home with someone
|
- **Slow-life pacing** — roughly half real-life time; 5 real minutes to walk home with someone
|
||||||
- **Two playable layers** — physical world (slum, junkyard, scavenged bodies) and dreamworld (synthetic, projected, commodified)
|
- **Three ontological registers** — physical world, liminal, imperial-net (one geometry, three readings)
|
||||||
- **LLM-driven ambient NPCs** — routine-NN per NPC, LLM invoked per packet, gamemaster orchestration bus
|
- **LLM-driven NPCs** — driver-tier with trait-LoRAs; lemniscate-based zone runtime; gesture-alignment-recursive-lemniscate as the deep player-NPC mechanic
|
||||||
- **Co-presence as core mechanic** — paired routines, ambient conversation, mirrored micro-actions
|
- **Tools, not quests** — ~30 verbs against continuous simulation-pressure produce literature-register emergent narrative
|
||||||
- **Love as the only union left** — the clasp is romantic commitment AND labor refusal AND resistance, all in one mechanic
|
- **Voice + gesture as parallel input modalities** — voice carries content, the trait-circle carries trait-resonance, both compile into the designer-fixed cosmology
|
||||||
|
- **Love as the only union left** — the clasp is romantic commitment AND labor refusal AND resistance, all in one mechanic; clasp-store as Ring A* (physically non-syncable privacy primitive)
|
||||||
|
|
||||||
## Contents
|
## Project structure
|
||||||
|
|
||||||
- [DESING-VISION.md](./DESING-VISION.md) — full design thesis (v0.1, living document)
|
The architecture is organized as **vertical-by-domain directories**. Each domain owns its `architecture.md` plus (eventually) the server, client, schema, and test code that implements it.
|
||||||
|
|
||||||
More to come as the design iterates — specs, worldbuilding, character bibles, lore fragments, art direction notes.
|
| Path | What lives there |
|
||||||
|
|---|---|
|
||||||
|
| [`architecture-index.md`](./architecture-index.md) | Executive summary + global meta-lists (key moves, what this retires, open questions, mapping-to-phoebe, version-footer history) |
|
||||||
|
| [`political-register/`](./political-register/architecture.md) | Three ontological registers, three-tier policy loop, imperial budget, insolvency-spiral, corruption + double ledger |
|
||||||
|
| [`topology-and-rendering/`](./topology-and-rendering/architecture.md) | Rail+grid topology, asset economy, color-language, three-shader philosophy, diegetic relays |
|
||||||
|
| [`runtime-engine/`](./runtime-engine/architecture.md) | Lemniscate runtime, slot-tokens + verifier-flags, gesture-alignment-recursive-lemniscate, emergent zones |
|
||||||
|
| [`identity-and-personhood/`](./identity-and-personhood/architecture.md) | Three-body system, mods as trait-bearers, ternary-gate substrate, emergent needs as micro-factions |
|
||||||
|
| [`authority-and-decision/`](./authority-and-decision/architecture.md) | Hierarchy, bidirectional cascade, District Director Decision Architecture, rings as structural pattern |
|
||||||
|
| [`player-experience/`](./player-experience/architecture.md) | Player as perturbation, voice + gesture as parallel trait-vocabularies, tools-not-quests |
|
||||||
|
| [`narrative-composition/`](./narrative-composition/architecture.md) | Compositor (worked-example bar-brawl, three-tiers, world-gen-as-init), reflexive Dream-process |
|
||||||
|
| [`inference-and-memory/`](./inference-and-memory/architecture.md) | LLM tiering (3 rings + opt-in data tiers), local memory architecture, runtime sampling knobs |
|
||||||
|
| [`scale-and-transport/`](./scale-and-transport/architecture.md) | Compute allocation, horizontal scale (UID-routing, sharded GMs, pgnats + republish/replay) |
|
||||||
|
| [`DESING-VISION.md`](./DESING-VISION.md) | First-pass design thesis (v0.1, partly outdated — superseded in places by the architecture docs) |
|
||||||
|
| [`findings.md`](./findings.md) | Research findings + schema sketches |
|
||||||
|
|
||||||
|
Each domain directory will grow over time as code arrives — gameserver code, Godot client integrations, schemas, findings, and tests will land alongside the architectural spec for that domain.
|
||||||
|
|
||||||
## Relationship to the nimmerverse
|
## Relationship to the nimmerverse
|
||||||
|
|
||||||
| Repo | Role |
|
| Repo | Role |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `nimmerworld` (this one) | **The world** — design, lore, content |
|
| `nimmerworld` (this one) | **The world** — design, lore, content, architecture |
|
||||||
| `command-center` | **The engine** — runtime, systems, scene architecture |
|
| `command-center` | **The engine** — runtime, systems, scene architecture |
|
||||||
| `nyx` | **The first character** — Nyx as entity |
|
| `nyx` | **The first character** — Nyx as entity |
|
||||||
| `nimmerverse` (superproject) | Parent of all of the above |
|
| `nimmerverse` (superproject) | Parent of all of the above |
|
||||||
@@ -37,8 +53,8 @@ More to come as the design iterates — specs, worldbuilding, character bibles,
|
|||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
**v0.1 thesis captured 2026-04-23.** Currently in design phase. Open questions (clasp refinement, port architecture, imperial-machine literalness, rich descent, labor specifics, limb taxonomy) tracked in the vision doc.
|
**v0.7 architecture closed at every layer (2026-04-26 owl-breakfast).** v0.8 split into 9 domain directories (2026-04-26). Implementation territory ahead: schema-and-runtime work for the named primitives in each domain. Open questions tracked in [`architecture-index.md`](./architecture-index.md) §Open questions.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.1 | **Created:** 2026-04-23 | **Updated:** 2026-04-23
|
**Version:** 0.2 | **Created:** 2026-04-23 | **Updated:** 2026-04-26
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
361
architecture-index.md
Normal file
361
architecture-index.md
Normal file
@@ -0,0 +1,361 @@
|
|||||||
|
# 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.*
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *How authority flows operationally: the four-channel information flow at districts; the hierarchy from imperium through GM through factions through district-directors and overseers down to zones and slots; the bidirectional cascade of policy descending and outcome-signal ascending; the task cascade of bounded-agency tools at every tier; the District-Director's decomposed decision-surface architecture (~90% rule-based, structured LLM-escalation only on ambiguity); the rings-as-structural-pattern recurring shape of graduated authority.*
|
> *How authority flows operationally: the four-channel information flow at districts; the hierarchy from imperium through GM through factions through district-directors and overseers down to zones and slots; the bidirectional cascade of policy descending and outcome-signal ascending; the task cascade of bounded-agency tools at every tier; the District-Director's decomposed decision-surface architecture (~90% rule-based, structured LLM-escalation only on ambiguity); the rings-as-structural-pattern recurring shape of graduated authority.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `political-register/architecture.md` (the political claim that authority flows through these tiers), `narrative-composition/architecture.md` (Compositor consumes outcome-signals). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `political-register/architecture.md` (the political claim that authority flows through these tiers), `narrative-composition/architecture.md` (Compositor consumes outcome-signals). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## The regime of visibility: four-channel information flow at districts
|
## The regime of visibility: four-channel information flow at districts
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ The architecture uses **three-ring gradients** as a recurring shape in multiple
|
|||||||
|
|
||||||
| Ring-system | Inner (A) | Middle (B) | Outer (C) |
|
| Ring-system | Inner (A) | Middle (B) | Outer (C) |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **Inference** (§LLM tiering, below) | Local on player hardware | Our hosted vLLM-multi-LoRA farm | External providers (BYOK) |
|
| **Inference** (§LLM tiering, see inference-and-memory/architecture.md) | Local on player hardware | Our hosted vLLM-multi-LoRA farm | External providers (BYOK) |
|
||||||
| **Importance / attention** | Topics with consistent +1 ternary outcomes; pull NPCs across zones | Topics with stable / mixed outcomes | Topics drifting toward -1 / decay if untouched |
|
| **Importance / attention** | Topics with consistent +1 ternary outcomes; pull NPCs across zones | Topics with stable / mixed outcomes | Topics drifting toward -1 / decay if untouched |
|
||||||
| **Access** (the three ontological registers) | Imperial net (fully audited, machine-controlled) | Liminal (contested frontier, mini-game-gated) | Gameworld (commons; partly people, partly regime) |
|
| **Access** (the three ontological registers) | Imperial net (fully audited, machine-controlled) | Liminal (contested frontier, mini-game-gated) | Gameworld (commons; partly people, partly regime) |
|
||||||
| **Data sharing** (v0.4.2) | Default opt-out (sovereignty preserved) | Federated gradients (gradient-only, contributor pseudonymous) | Pseudonymous-full uploads (opted-in, rewarded) |
|
| **Data sharing** (v0.4.2) | Default opt-out (sovereignty preserved) | Federated gradients (gradient-only, contributor pseudonymous) | Pseudonymous-full uploads (opted-in, rewarded) |
|
||||||
@@ -201,4 +201,4 @@ Future architecture additions involving graduated authority should examine wheth
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
14
findings.md
14
findings.md
@@ -1,7 +1,7 @@
|
|||||||
# Nimmerworld Architecture — Schema Findings & Hypothesis
|
# Nimmerworld Architecture — Schema Findings & Hypothesis
|
||||||
|
|
||||||
> *Hypothesis-notes, not carved migration spec. Working-out-loud in DDL register.*
|
> *Hypothesis-notes, not carved migration spec. Working-out-loud in DDL register.*
|
||||||
> *dafit + chrysalis — initial sketch 2026-04-24 afternoon; v0.2 evening; v0.3 late-evening / early 2026-04-25 absorbing architecture-broad v0.4.*
|
> *dafit + chrysalis — initial sketch 2026-04-24 afternoon; v0.2 evening; v0.3 late-evening / early 2026-04-25 absorbing architecture-index v0.4.*
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
This document is **findings**, not a committed migration plan. DDL sketches exist to surface worries, explore tradeoffs, and prepare for a formal `nimmerverse-core/migrations/00X_nimmerworld_v1.sql` spec once the open forks resolve.
|
This document is **findings**, not a committed migration plan. DDL sketches exist to surface worries, explore tradeoffs, and prepare for a formal `nimmerverse-core/migrations/00X_nimmerworld_v1.sql` spec once the open forks resolve.
|
||||||
|
|
||||||
**Companion to**: [`architecture-broad.md`](architecture-broad.md) v0.4, which captures the full ontology these schemas serve.
|
**Companion to**: [`architecture-index.md`](architecture-index.md) v0.4, which captures the full ontology these schemas serve.
|
||||||
|
|
||||||
**Why DDL register**: prose architecture lets us say *"zones are slot-indexed event-instances"* and feel like we've said something. DDL forces us to name a row size, an index strategy, a commit boundary, a failure mode. This document is a worry-audit in executable form.
|
**Why DDL register**: prose architecture lets us say *"zones are slot-indexed event-instances"* and feel like we've said something. DDL forces us to name a row size, an index strategy, a commit boundary, a failure mode. This document is a worry-audit in executable form.
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ CREATE INDEX idx_occupancy_npc ON zone_slot_occupancy (npc_id);
|
|||||||
|
|
||||||
## 2. NPCs — shift state + body/layer/lifeforce/trait-vector columns
|
## 2. NPCs — shift state + body/layer/lifeforce/trait-vector columns
|
||||||
|
|
||||||
Shift-based temporal decomposition (architecture-broad v0.4 §"Labor-cycle architecture"). Shift fields live on the NPC row, overwritten daily by the district director.
|
Shift-based temporal decomposition (architecture-index v0.4 §"Labor-cycle architecture"). Shift fields live on the NPC row, overwritten daily by the district director.
|
||||||
|
|
||||||
```sql
|
```sql
|
||||||
-- Shift state
|
-- Shift state
|
||||||
@@ -892,7 +892,7 @@ Six-worry concerns audit (v0.2) plus v0.4 additional concerns:
|
|||||||
3. **Decide ternary-gate storage shape** (A / B / C; leaning C)
|
3. **Decide ternary-gate storage shape** (A / B / C; leaning C)
|
||||||
4. **Decide rail-segment NATS hierarchy** — exact subject-pattern for `zones.<lifecycle>.<register>.<district>.<zone_type>.<trait_filter>`
|
4. **Decide rail-segment NATS hierarchy** — exact subject-pattern for `zones.<lifecycle>.<register>.<district>.<zone_type>.<trait_filter>`
|
||||||
5. **Draft formal migration `nimmerverse-core/migrations/001_nimmerworld_v1.sql`** incorporating all 22 tables above with resolved forks. Estimated ~600-1200 lines of DDL.
|
5. **Draft formal migration `nimmerverse-core/migrations/001_nimmerworld_v1.sql`** incorporating all 22 tables above with resolved forks. Estimated ~600-1200 lines of DDL.
|
||||||
6. **Review against architecture-broad v0.4** for any primitive missed
|
6. **Review against architecture-index v0.4** for any primitive missed
|
||||||
7. **Run migration in dev** on phoebe-dev:35432
|
7. **Run migration in dev** on phoebe-dev:35432
|
||||||
8. **Wire first thalamus subscriber** for `zones.active.>` to validate NATS-routing
|
8. **Wire first thalamus subscriber** for `zones.active.>` to validate NATS-routing
|
||||||
9. **First end-to-end smoke test**:
|
9. **First end-to-end smoke test**:
|
||||||
@@ -921,8 +921,8 @@ Migration is not yet written. This document is its preparation.
|
|||||||
|
|
||||||
*v0.1 (2026-04-24 afternoon, dafit): initial zones-table sketch, 76 lines, pure hypothetical.*
|
*v0.1 (2026-04-24 afternoon, dafit): initial zones-table sketch, 76 lines, pure hypothetical.*
|
||||||
|
|
||||||
*v0.2 (2026-04-24 evening, dafit + chrysalis): reconciled with architecture-broad v0.3. Added 7 new table sketches (npcs-shift-cols + body/layer state, shift_history, emergent_signals, district_reports, decision_log, mind_pool, cells-wall-content-per-register, zone_slot_occupancy). Six-worry concerns audit. Three forks surfaced.*
|
*v0.2 (2026-04-24 evening, dafit + chrysalis): reconciled with architecture-index v0.3. Added 7 new table sketches (npcs-shift-cols + body/layer state, shift_history, emergent_signals, district_reports, decision_log, mind_pool, cells-wall-content-per-register, zone_slot_occupancy). Six-worry concerns audit. Three forks surfaced.*
|
||||||
|
|
||||||
*v0.3.1 (2026-04-25 ~03:30, dafit + chrysalis, ivory-hovel pre-rest spark): added §16.1 overseer_deployments table — routine-binding for imperially-owned overseers (chain-of-payment and chain-of-command bypass district-director authority by design). Includes mission_type / imperial_budget_allocated / status / visible_to_district columns. Companion to architecture-broad v0.4.3's "Overseers as imperially-deployed routines" subsection in the Hierarchy section.*
|
*v0.3.1 (2026-04-25 ~03:30, dafit + chrysalis, ivory-hovel pre-rest spark): added §16.1 overseer_deployments table — routine-binding for imperially-owned overseers (chain-of-payment and chain-of-command bypass district-director authority by design). Includes mission_type / imperial_budget_allocated / status / visible_to_district columns. Companion to architecture-index v0.4.3's "Overseers as imperially-deployed routines" subsection in the Hierarchy section.*
|
||||||
|
|
||||||
*v0.3 (2026-04-24 late-evening / 2026-04-25 early-morning, dafit + chrysalis): absorbing architecture-broad v0.4. Added intrinsic/expressed trait-vector split on npcs. Added 13 new table sketches: rail_segments (topology), interiors (sub-cell navmesh-zones), mods + npc_mod_slots + mod_wear_history (mod-economy with Memorialist-relevant inheritance), trait_colors (canonical color/motion mapping), proximity_candidates (lightweight zone-detection), district_cheat_ops (director's illicit ledger), imperial_policies (policy issuance), overseer_reports (direct-to-imperium intelligence flow), imperial_to_gm_formulations (selective-disclosure downward), imperial_budget_ledger + imperial_expenditures + imperial_construction_projects (four-tier lifeforce apex), imperial_net_transactions (bypass mechanism with capture-split), memorialist_true_ledger (four-column ground-truth archive). Extended concerns audit with six v0.4 additions. Extended open-forks list with eight v0.4 questions. Concrete two-tier integration-test plan in next-steps. Twenty-two tables total in this preparation document; migration spec writing is the next concrete deliverable once forks resolve.*
|
*v0.3 (2026-04-24 late-evening / 2026-04-25 early-morning, dafit + chrysalis): absorbing architecture-index v0.4. Added intrinsic/expressed trait-vector split on npcs. Added 13 new table sketches: rail_segments (topology), interiors (sub-cell navmesh-zones), mods + npc_mod_slots + mod_wear_history (mod-economy with Memorialist-relevant inheritance), trait_colors (canonical color/motion mapping), proximity_candidates (lightweight zone-detection), district_cheat_ops (director's illicit ledger), imperial_policies (policy issuance), overseer_reports (direct-to-imperium intelligence flow), imperial_to_gm_formulations (selective-disclosure downward), imperial_budget_ledger + imperial_expenditures + imperial_construction_projects (four-tier lifeforce apex), imperial_net_transactions (bypass mechanism with capture-split), memorialist_true_ledger (four-column ground-truth archive). Extended concerns audit with six v0.4 additions. Extended open-forks list with eight v0.4 questions. Concrete two-tier integration-test plan in next-steps. Twenty-two tables total in this preparation document; migration spec writing is the next concrete deliverable once forks resolve.*
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *Who NPCs and players are at the substrate level: the ternary-gate as universal accumulator, the three-body system as trait-emergent identity, mods as trait-bearing political costume, and emergent inter-NPC needs as micro-factions broadcasting through the same arbitration machinery as any other faction.*
|
> *Who NPCs and players are at the substrate level: the ternary-gate as universal accumulator, the three-body system as trait-emergent identity, mods as trait-bearing political costume, and emergent inter-NPC needs as micro-factions broadcasting through the same arbitration machinery as any other faction.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (zones consume identity), `political-register/architecture.md` (factions broadcast against trait-distributions). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (zones consume identity), `political-register/architecture.md` (factions broadcast against trait-distributions). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## Emergent needs as micro-factions
|
## Emergent needs as micro-factions
|
||||||
|
|
||||||
@@ -116,4 +116,4 @@ In liminal, mod-trait-contributions do not apply. Clasp-partners see each other'
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *AI substrate + memory: LLM tiering by role (Theia-tier / teacher-tier / driver-tier with trait-LoRAs); three rings of inference (A=local, B=our-farm, C=external-providers, with cloud-LoRA-backup as Ring-A revenue and BYOK adapter for Ring-C); custom nimmerworld-base-model with default-opt-out + rewarded-opt-in data-sharing tiers; runtime sampling knobs as per-turn director-controlled levers; per-player local memory architecture (primary.sqlite + fallback.sqlite + clasp.sqlite + embedding-beside) with memory-classes (cornerstone/birthright/working/volatile) and trait-graded importance; three-tier knowledge stack (world / district / primary [+ clasp if in-between]) with paced canon-propagation.*
|
> *AI substrate + memory: LLM tiering by role (Theia-tier / teacher-tier / driver-tier with trait-LoRAs); three rings of inference (A=local, B=our-farm, C=external-providers, with cloud-LoRA-backup as Ring-A revenue and BYOK adapter for Ring-C); custom nimmerworld-base-model with default-opt-out + rewarded-opt-in data-sharing tiers; runtime sampling knobs as per-turn director-controlled levers; per-player local memory architecture (primary.sqlite + fallback.sqlite + clasp.sqlite + embedding-beside) with memory-classes (cornerstone/birthright/working/volatile) and trait-graded importance; three-tier knowledge stack (world / district / primary [+ clasp if in-between]) with paced canon-propagation.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor canon-fragments land in primary.sqlite via UID-keyed routing), `player-experience/architecture.md` (Ring-A/B/C choice + voice-as-biometric-local + universal-translator state), `runtime-engine/architecture.md` (driver-tier LLM fires at slot-fire). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor canon-fragments land in primary.sqlite via UID-keyed routing), `player-experience/architecture.md` (Ring-A/B/C choice + voice-as-biometric-local + universal-translator state), `runtime-engine/architecture.md` (driver-tier LLM fires at slot-fire). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## LLM tiering, voice fidelity, and the three rings of inference
|
## LLM tiering, voice fidelity, and the three rings of inference
|
||||||
|
|
||||||
@@ -444,4 +444,4 @@ Scene-to-sampling mapping (caste-preacher = 0.3/0.6/low; drunk-scavenger = 1.1/0
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *How stories happen: the Compositor as narrative-composer cleaved from equilibrium-seeker GM; cyclic forward-prop / back-write loop where per-player perspectives ascend and canonical narrative descends; catalogue + tools as typed contract; the Compositor as a fractal/recursive primitive at three tiers (zone-event, district-event, world-event); world-server / district-server generation as the same Compositor primitive applied at design-time (init-function for canon-rows); reflexive Dream-process at every layer with hand-authored reward-guardrails encoding the designers' ethical stance.*
|
> *How stories happen: the Compositor as narrative-composer cleaved from equilibrium-seeker GM; cyclic forward-prop / back-write loop where per-player perspectives ascend and canonical narrative descends; catalogue + tools as typed contract; the Compositor as a fractal/recursive primitive at three tiers (zone-event, district-event, world-event); world-server / district-server generation as the same Compositor primitive applied at design-time (init-function for canon-rows); reflexive Dream-process at every layer with hand-authored reward-guardrails encoding the designers' ethical stance.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (lemniscate emits typed perspective-summaries that feed the Compositor), `inference-and-memory/architecture.md` (back-writes land in primary.sqlite via UID-keyed routing), `scale-and-transport/architecture.md` (Compositor instances are stateless workers; transport carries canon-fragments). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (lemniscate emits typed perspective-summaries that feed the Compositor), `inference-and-memory/architecture.md` (back-writes land in primary.sqlite via UID-keyed routing), `scale-and-transport/architecture.md` (Compositor instances are stateless workers; transport carries canon-fragments). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## The Compositor — narrative composition role
|
## The Compositor — narrative composition role
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ Every active event lives in a register. The register is the synchronous source-o
|
|||||||
| **District event-register** | district director | sub_uid issued on receive; closed at event-chain-completion | district director, audit-overseer |
|
| **District event-register** | district director | sub_uid issued on receive; closed at event-chain-completion | district director, audit-overseer |
|
||||||
| **Local participation-register** | per-player local store | event_uid + sub_uid recorded on slot-assignment; closed at perspective-finalize | player client, sync-on-logout |
|
| **Local participation-register** | per-player local store | event_uid + sub_uid recorded on slot-assignment; closed at perspective-finalize | player client, sync-on-logout |
|
||||||
|
|
||||||
Hierarchical UIDs: `gm_event_uid > district_uid > scene_sub_uid > slot_id`. UIDs compose; queries are simple joins. This is the routing-key primitive that makes horizontal scale possible (see §Horizontal scale architecture).
|
Hierarchical UIDs: `gm_event_uid > district_uid > scene_sub_uid > slot_id`. UIDs compose; queries are simple joins. This is the routing-key primitive that makes horizontal scale possible (see §Horizontal scale architecture in scale-and-transport/architecture.md).
|
||||||
|
|
||||||
### The Transient Waiting Flag
|
### The Transient Waiting Flag
|
||||||
|
|
||||||
@@ -155,11 +155,11 @@ The forward-prop / back-write cycle is **fractal**. The same Compositor primitiv
|
|||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| **Zone-event** (bar brawl, conversation, ritual) | Per-participant trait-summaries from one lemniscate | Local-event canon | Only to participants whose `(player_uid, event_uid)` matches |
|
| **Zone-event** (bar brawl, conversation, ritual) | Per-participant trait-summaries from one lemniscate | Local-event canon | Only to participants whose `(player_uid, event_uid)` matches |
|
||||||
| **District-event** (district-wide consequences, cheat-discovery, silence-confirmation) | Per-zone canon-rollups within one district | District-canon | All NPCs/players within district scope |
|
| **District-event** (district-wide consequences, cheat-discovery, silence-confirmation) | Per-zone canon-rollups within one district | District-canon | All NPCs/players within district scope |
|
||||||
| **World-event** (migration, faction-uprising, regime-action, eventual imperial-collapse) | Per-district canon-rollups across many districts | World-canon | World-wide via paced canon-propagation (§Information propagation pacing) |
|
| **World-event** (migration, faction-uprising, regime-action, eventual imperial-collapse) | Per-district canon-rollups across many districts | World-canon | World-wide via paced canon-propagation (§Information propagation pacing — see inference-and-memory/architecture.md) |
|
||||||
|
|
||||||
GM-formulated events / event-chains carry their own GM-level event_uid; sub_uids are issued at district-level adoption (`gm_event_uid > district_uid > scene_sub_uid > slot_id` per §Horizontal scale architecture). Cross-district summaries tagged with the parent event_uid are pulled together by the Compositor at the GM-tier, producing world-canon from cross-district perspectives.
|
GM-formulated events / event-chains carry their own GM-level event_uid; sub_uids are issued at district-level adoption (`gm_event_uid > district_uid > scene_sub_uid > slot_id` per scale-and-transport/architecture.md §Horizontal scale architecture). Cross-district summaries tagged with the parent event_uid are pulled together by the Compositor at the GM-tier, producing world-canon from cross-district perspectives.
|
||||||
|
|
||||||
**This is how the architecture's Tolstoyan promise compiles.** *"Tolstoy doesn't author Anna's path; he authors the world she moves through."* — recursive Compositor on UID-event-trees IS what makes that promise mechanically true. Authored-quest-arcs are out; UID-rooted-event-tree-compositions are in. **One primitive. Three scales. Whole world, nothing authored at story-level.** The eventual imperial-collapse — the architectural-endgame the insolvency-spiral promises (§Imperial budget) — is itself a world-level Compositor pass that gathers every district's silence-confirmations + every faction's-broadcast + every player's witness-perspective into the canonical fall-of-empire narrative.
|
**This is how the architecture's Tolstoyan promise compiles.** *"Tolstoy doesn't author Anna's path; he authors the world she moves through."* — recursive Compositor on UID-event-trees IS what makes that promise mechanically true. Authored-quest-arcs are out; UID-rooted-event-tree-compositions are in. **One primitive. Three scales. Whole world, nothing authored at story-level.** The eventual imperial-collapse — the architectural-endgame the insolvency-spiral promises (§Imperial budget — see political-register/architecture.md) — is itself a world-level Compositor pass that gathers every district's silence-confirmations + every faction's-broadcast + every player's witness-perspective into the canonical fall-of-empire narrative.
|
||||||
|
|
||||||
### World-gen as init-function — the Compositor at design-time
|
### World-gen as init-function — the Compositor at design-time
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ The cyclic forward-prop / back-write loop is the runtime canon-production mechan
|
|||||||
|
|
||||||
1. **No cold-start problem.** A player walking into a fresh district at hour-zero finds local LLMs immediately supplied with rich district-canon. NPCs aren't generic; they're emergent from district-canon they were initialized with. *Hour-zero gameplay feels like hour-fifty gameplay because the data-density is comparable.*
|
1. **No cold-start problem.** A player walking into a fresh district at hour-zero finds local LLMs immediately supplied with rich district-canon. NPCs aren't generic; they're emergent from district-canon they were initialized with. *Hour-zero gameplay feels like hour-fifty gameplay because the data-density is comparable.*
|
||||||
|
|
||||||
2. **The data-flywheel runs retroactively.** Each successive world-gen iteration draws on prior runtime-derived canon (gameplay-accrued trait-LoRAs + opt-in player-data tiers per §LLM tiering). World-gen gets richer over time because it trains itself on the worlds it has already produced. *Wikipedia-shaped, not Facebook-shaped.*
|
2. **The data-flywheel runs retroactively.** Each successive world-gen iteration draws on prior runtime-derived canon (gameplay-accrued trait-LoRAs + opt-in player-data tiers per inference-and-memory/architecture.md §LLM tiering). World-gen gets richer over time because it trains itself on the worlds it has already produced. *Wikipedia-shaped, not Facebook-shaped.*
|
||||||
|
|
||||||
3. **The Memorialist promise becomes mechanically true at world-genesis.** The `memorialist_true_ledger` is initialized with the world's *actual* genesis-state. Subsequent runtime divergence from it (corruption, regime-formulation-distortions, audit-overseer-tampering) is what the Memorialists *literally have evidence of*. The dissident-historian project starts at row-zero of the true-ledger and accumulates discrepancy from there.
|
3. **The Memorialist promise becomes mechanically true at world-genesis.** The `memorialist_true_ledger` is initialized with the world's *actual* genesis-state. Subsequent runtime divergence from it (corruption, regime-formulation-distortions, audit-overseer-tampering) is what the Memorialists *literally have evidence of*. The dissident-historian project starts at row-zero of the true-ledger and accumulates discrepancy from there.
|
||||||
|
|
||||||
@@ -254,4 +254,4 @@ Above the four-tier hierarchy sits a fifth, **system-scale Dream-process**: the
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *The player surface: the player as perturbation (a finite attention-unit injected into the simulation, not above the scheduler); voice and gesture as parallel trait-vocabularies (voice carries content, gesture carries trait-resonance, both compile into the designer-fixed cosmology); tools-not-quests as the design-philosophy that makes ~30 verbs against continuous simulation-pressure produce literature-register emergent narrative.*
|
> *The player surface: the player as perturbation (a finite attention-unit injected into the simulation, not above the scheduler); voice and gesture as parallel trait-vocabularies (voice carries content, gesture carries trait-resonance, both compile into the designer-fixed cosmology); tools-not-quests as the design-philosophy that makes ~30 verbs against continuous simulation-pressure produce literature-register emergent narrative.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (gesture-alignment-as-recursive-lemniscate lives in zone-kinematics), `narrative-composition/architecture.md` (the Compositor consumes player perspective-bundles), `inference-and-memory/architecture.md` (local STT/TTS placement, three-tier knowledge stack). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (gesture-alignment-as-recursive-lemniscate lives in zone-kinematics), `narrative-composition/architecture.md` (the Compositor consumes player perspective-bundles), `inference-and-memory/architecture.md` (local STT/TTS placement, three-tier knowledge stack). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## The player as perturbation
|
## The player as perturbation
|
||||||
|
|
||||||
@@ -37,17 +37,17 @@ The player participates in the simulation through **two parallel modalities** th
|
|||||||
|
|
||||||
### Voice-first as primary speech modality
|
### Voice-first as primary speech modality
|
||||||
|
|
||||||
Speech-to-text and text-to-speech run **locally on the player's machine for every player**, independent of dialog-tier Ring choice (§LLM tiering). The Ring-A/B/C choice is about where the *cognition* lives (driver-tier LLM, trait-LoRAs, sampling-knob composition); voice infrastructure is fixed at the player's machine. This single placement decision keeps voice-as-biometric off the network universally, sidesteps per-provider STT/TTS compatibility in Ring-C, and sets a tractable minimum hardware floor for v1: STT/TTS-capable on CPU.
|
Speech-to-text and text-to-speech run **locally on the player's machine for every player**, independent of dialog-tier Ring choice (§LLM tiering, see inference-and-memory/architecture.md). The Ring-A/B/C choice is about where the *cognition* lives (driver-tier LLM, trait-LoRAs, sampling-knob composition); voice infrastructure is fixed at the player's machine. This single placement decision keeps voice-as-biometric off the network universally, sidesteps per-provider STT/TTS compatibility in Ring-C, and sets a tractable minimum hardware floor for v1: STT/TTS-capable on CPU.
|
||||||
|
|
||||||
Transcripts are the persistence layer. A player utterance becomes a row in `primary.sqlite` (or `clasp.sqlite` if in-between mode), tagged with witnessing-NPCs, audit-overseer-detection-eligible, faction-resonance-eligible — the same shape as any NPC speech-act-row. **Disclosure of clasp-content into realworld happens only by the player re-uttering it aloud while in realworld mode** — which writes a fresh realworld-speech-act-row with full provenance. The clasp-store remains sealed; clasp-content can only re-enter realworld through new in-fiction utterance. The *knowledge-needs-to-travel* principle (§Local memory architecture) is mechanically enforced because speech-is-the-only-output-channel.
|
Transcripts are the persistence layer. A player utterance becomes a row in `primary.sqlite` (or `clasp.sqlite` if in-between mode), tagged with witnessing-NPCs, audit-overseer-detection-eligible, faction-resonance-eligible — the same shape as any NPC speech-act-row. **Disclosure of clasp-content into realworld happens only by the player re-uttering it aloud while in realworld mode** — which writes a fresh realworld-speech-act-row with full provenance. The clasp-store remains sealed; clasp-content can only re-enter realworld through new in-fiction utterance. The *knowledge-needs-to-travel* principle (§Local memory architecture, see inference-and-memory/architecture.md) is mechanically enforced because speech-is-the-only-output-channel.
|
||||||
|
|
||||||
Accessibility-mode for non-speaking players is *diegetically wrapped* (writing on slate / handheld pad / in-fiction text-comm); accessibility-mode utterances persist through the same transcript-row mechanism. The witness-list, audit-overseer-detection, and faction-resonance machinery are modality-agnostic. **Non-speaking players are not getting a degraded-fallback — they are using the gestural primary modality, voice optional.**
|
Accessibility-mode for non-speaking players is *diegetically wrapped* (writing on slate / handheld pad / in-fiction text-comm); accessibility-mode utterances persist through the same transcript-row mechanism. The witness-list, audit-overseer-detection, and faction-resonance machinery are modality-agnostic. **Non-speaking players are not getting a degraded-fallback — they are using the gestural primary modality, voice optional.**
|
||||||
|
|
||||||
### The trait-circle as gestural primary modality
|
### The trait-circle as gestural primary modality
|
||||||
|
|
||||||
The gestural input geometry: **8 trait-sectors × 8 player-curated slots = 64 active gesture-positions**, organized in a circle whose 8 sectors map 1:1 to the 8 Hellenic traits (§Color-language). Each player has **1 to 3 named profiles** stored in their universal translator, hot-swappable on-ring via a profile-switch meta-gesture; total callable positions across profiles approach 200 while the cognitive-load ceiling at any single moment stays at the 64 of the active profile.
|
The gestural input geometry: **8 trait-sectors × 8 player-curated slots = 64 active gesture-positions**, organized in a circle whose 8 sectors map 1:1 to the 8 Hellenic traits (§Color-language, see topology-and-rendering/architecture.md). Each player has **1 to 3 named profiles** stored in their universal translator, hot-swappable on-ring via a profile-switch meta-gesture; total callable positions across profiles approach 200 while the cognitive-load ceiling at any single moment stays at the 64 of the active profile.
|
||||||
|
|
||||||
A reserved subset of ~8-16 positions across the circle are **hardstops** — hardcoded ritual gestures that fire definitive subsystem-actions: definitive-farewell, definitive-refusal, surrender, clasp-invitation, clasp-refusal, help / pain / danger, faction-recognition signals (Clasp-Underground, Aletheia-Waker), memorial-witnessing, claim-floor (the priority-pull turn-claim into a running lemniscate). Hardstops are visually distinct (gold-border / inner-ring / white-on-color), **player-callable but not player-remappable**, and exist precisely because the consent / clasp / faction-recognition / survival-signal claims the architecture makes elsewhere require *unforgeable critical signals*. The remaining ~192 player-curated slots **ride as feedback during conversation** — see §Gesture-alignment as recursive-lemniscate (under §Zone kinematics).
|
A reserved subset of ~8-16 positions across the circle are **hardstops** — hardcoded ritual gestures that fire definitive subsystem-actions: definitive-farewell, definitive-refusal, surrender, clasp-invitation, clasp-refusal, help / pain / danger, faction-recognition signals (Clasp-Underground, Aletheia-Waker), memorial-witnessing, claim-floor (the priority-pull turn-claim into a running lemniscate). Hardstops are visually distinct (gold-border / inner-ring / white-on-color), **player-callable but not player-remappable**, and exist precisely because the consent / clasp / faction-recognition / survival-signal claims the architecture makes elsewhere require *unforgeable critical signals*. The remaining ~192 player-curated slots **ride as feedback during conversation** — see §Gesture-alignment as recursive-lemniscate under §Zone kinematics in runtime-engine/architecture.md.
|
||||||
|
|
||||||
### Designer-fixed cosmology, player-curated arrangement
|
### Designer-fixed cosmology, player-curated arrangement
|
||||||
|
|
||||||
@@ -131,4 +131,4 @@ The architecture already prevents blank-page-paralysis: shift-system gives every
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *The world's political-economy substrate — Kafka-indifferent-totality not Orwell-malice; three ontological registers (gameworld, liminal, imperial-net); the three-tier policy loop (imperium / GM / districts) with imperial-budget-mortality and insolvency-spiral as architectural endgame; corruption emerging from quota-pressure + the Memorialist double-ledger; specialization-fragility producing the authoritarian ratchet.*
|
> *The world's political-economy substrate — Kafka-indifferent-totality not Orwell-malice; three ontological registers (gameworld, liminal, imperial-net); the three-tier policy loop (imperium / GM / districts) with imperial-budget-mortality and insolvency-spiral as architectural endgame; corruption emerging from quota-pressure + the Memorialist double-ledger; specialization-fragility producing the authoritarian ratchet.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `authority-and-decision/architecture.md` (the operational-flow-of-authority that the political tiers prescribe), `identity-and-personhood/architecture.md` (factions broadcast against trait-distributions). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `authority-and-decision/architecture.md` (the operational-flow-of-authority that the political tiers prescribe), `identity-and-personhood/architecture.md` (factions broadcast against trait-distributions). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## Thesis
|
## Thesis
|
||||||
|
|
||||||
@@ -352,4 +352,4 @@ Aletheia-waker exposes corrupt director. GM dispatches investigation. Cheats shu
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *How scenes execute mechanically: the lemniscate as relaxation-step operator; slot-tokens with verifier-flags carrying the loop-state; phase-locked overlay-loops broadcasting at axis-rate; the v0.7 gesture-alignment-recursive-lemniscate that integrates player gestures into typed trait-vector summaries; emergent zones as the dramatic-episode unit with distributed funding and ternary trait-axis goal-evaluation; zone taxonomy and spawn-cadence.*
|
> *How scenes execute mechanically: the lemniscate as relaxation-step operator; slot-tokens with verifier-flags carrying the loop-state; phase-locked overlay-loops broadcasting at axis-rate; the v0.7 gesture-alignment-recursive-lemniscate that integrates player gestures into typed trait-vector summaries; emergent zones as the dramatic-episode unit with distributed funding and ternary trait-axis goal-evaluation; zone taxonomy and spawn-cadence.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor consumes the typed trait-summaries this engine emits), `player-experience/architecture.md` (gesture-circle is the player-input substrate that this engine integrates), `topology-and-rendering/architecture.md` (zones live on the rail+grid topology), `identity-and-personhood/architecture.md` (slot-tokens carry trait-vectors). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor consumes the typed trait-summaries this engine emits), `player-experience/architecture.md` (gesture-circle is the player-input substrate that this engine integrates), `topology-and-rendering/architecture.md` (zones live on the rail+grid topology), `identity-and-personhood/architecture.md` (slot-tokens carry trait-vectors). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## Core inversion — zones replace bubbles
|
## Core inversion — zones replace bubbles
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ The player-gesture overlay (above) is the broadcast-channel by which player gest
|
|||||||
|
|
||||||
**One-turn-behind matches real conversation cadence.** Humans accumulate impressions during someone's speech and respond to *what was just said*; we don't react gesture-by-gesture. The lemniscate-bound integration is the *right* cadence for affective state-changes, not a latency-cost.
|
**One-turn-behind matches real conversation cadence.** Humans accumulate impressions during someone's speech and respond to *what was just said*; we don't react gesture-by-gesture. The lemniscate-bound integration is the *right* cadence for affective state-changes, not a latency-cost.
|
||||||
|
|
||||||
**Sum-strategy reduction (v1).** Per-gesture trait-coordinates are accumulated as a **trait-vector sum** across the turn-window. At the crossing, the sum is reduced into a single 8-dimensional alignment-vector compared against the NPC's currently-active trait-state. The result is the alignment-delta fed forward into next turn's `driver_context_pull` payload AND drives the relational ternary-gate transition on the (player, NPC) edge (§Ternary-gate substrate, Relational layer). The sum captures the player's **overall posture** during the speech rather than peak-moment or trajectory; trajectory-aware refinement is noted as a still-open item.
|
**Sum-strategy reduction (v1).** Per-gesture trait-coordinates are accumulated as a **trait-vector sum** across the turn-window. At the crossing, the sum is reduced into a single 8-dimensional alignment-vector compared against the NPC's currently-active trait-state. The result is the alignment-delta fed forward into next turn's `driver_context_pull` payload AND drives the relational ternary-gate transition on the (player, NPC) edge (§Ternary-gate substrate, Relational layer — see identity-and-personhood/architecture.md). The sum captures the player's **overall posture** during the speech rather than peak-moment or trajectory; trajectory-aware refinement is noted as a still-open item.
|
||||||
|
|
||||||
**Hardstops are outside this system.** Hardstops fire definitive subsystem-actions regardless of alignment-state — clasp-invitation triggers the clasp-subsystem; definitive-refusal closes the conversation; surrender ends combat; claim-floor sets `priority_pull` for the next axis-crossing. Hardstops do not contribute alignment-deltas to the accumulator; they are *separate channels* with deterministic effect.
|
**Hardstops are outside this system.** Hardstops fire definitive subsystem-actions regardless of alignment-state — clasp-invitation triggers the clasp-subsystem; definitive-refusal closes the conversation; surrender ends combat; claim-floor sets `priority_pull` for the next axis-crossing. Hardstops do not contribute alignment-deltas to the accumulator; they are *separate channels* with deterministic effect.
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ driver_context(cursor_at_NPC_i, mode) = {
|
|||||||
|
|
||||||
**Other NPCs' memories never enter this prompt.** No bleed. No cross-contamination.
|
**Other NPCs' memories never enter this prompt.** No bleed. No cross-contamination.
|
||||||
|
|
||||||
**The `knowledge_stack` is layered**, not a single bucket. Universal world-canon, district-canon (regional), NPC_i's own primary memory, and — only if the character is in the in-between dimension — clasp memory. The retrieval layer enforces the dimensional cut; the LLM never has to reason about it. See §Local memory architecture (player-side) for the layering, propagation policy, and clasp-as-Ring-A* privacy primitive. The classic multi-agent hallucination source ("why does Kalypso suddenly remember what Anaximander confided to Phoibe?") is *structurally foreclosed* by the geometry. Write-back goes only to NPC_i's slice; the lemniscate guarantees NPC_i is not cursor-active again for at least one full roundtrip — write-back has all the time it needs without race conditions.
|
**The `knowledge_stack` is layered**, not a single bucket. Universal world-canon, district-canon (regional), NPC_i's own primary memory, and — only if the character is in the in-between dimension — clasp memory. The retrieval layer enforces the dimensional cut; the LLM never has to reason about it. See §Local memory architecture in inference-and-memory/architecture.md for the layering, propagation policy, and clasp-as-Ring-A* privacy primitive. The classic multi-agent hallucination source ("why does Kalypso suddenly remember what Anaximander confided to Phoibe?") is *structurally foreclosed* by the geometry. Write-back goes only to NPC_i's slice; the lemniscate guarantees NPC_i is not cursor-active again for at least one full roundtrip — write-back has all the time it needs without race conditions.
|
||||||
|
|
||||||
This converts multi-NPC dialog from an **emergent-chaos problem** into a **bounded-cast scene problem with a typed runtime**. The Mantella / SkyrimNet failure-modes are foreclosed at the architecture level rather than the prompt level:
|
This converts multi-NPC dialog from an **emergent-chaos problem** into a **bounded-cast scene problem with a typed runtime**. The Mantella / SkyrimNet failure-modes are foreclosed at the architecture level rather than the prompt level:
|
||||||
|
|
||||||
@@ -322,7 +322,7 @@ If the rescued NPC's own state-machine reaches a worse condition (limb deteriora
|
|||||||
|
|
||||||
### Cross-zone NPC pull: rings of importance
|
### Cross-zone NPC pull: rings of importance
|
||||||
|
|
||||||
When an emergent-zone broadcasts, NPCs already in other zones evaluate **whether the broadcast outranks their current zone's purpose** by ring-of-importance (see §Rings as structural pattern). Topics live in rings; rings shift over time based on past ternary-results — a topic that consistently produces +1 climbs, one that produces -1 drops, one untouched decays.
|
When an emergent-zone broadcasts, NPCs already in other zones evaluate **whether the broadcast outranks their current zone's purpose** by ring-of-importance (see §Rings as structural pattern in authority-and-decision/architecture.md). Topics live in rings; rings shift over time based on past ternary-results — a topic that consistently produces +1 climbs, one that produces -1 drops, one untouched decays.
|
||||||
|
|
||||||
This converts emergent-zones into a **competitive attention economy**. Multiple lemniscates compete for slot-NPCs; high-ring topics drain population from low-ring topics; the simulation produces its own cultural priors over time. *What's worth attending to* is shaped by *what attending-to has produced*. Real societies do this; the architecture renders it.
|
This converts emergent-zones into a **competitive attention economy**. Multiple lemniscates compete for slot-NPCs; high-ring topics drain population from low-ring topics; the simulation produces its own cultural priors over time. *What's worth attending to* is shaped by *what attending-to has produced*. Real societies do this; the architecture renders it.
|
||||||
|
|
||||||
@@ -342,4 +342,4 @@ This converts emergent-zones into a **competitive attention economy**. Multiple
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *Running the architecture at MMO size: compute-allocation budgets across model-tiers, horizontal-scale primitives (UID-keyed routing, stateless Compositors, ephemeral Director-routines, sharded GMs, pruning at every layer), pgnats-native transport with the JetStream republish + replay refinement, district-distribution fallback.*
|
> *Running the architecture at MMO size: compute-allocation budgets across model-tiers, horizontal-scale primitives (UID-keyed routing, stateless Compositors, ephemeral Director-routines, sharded GMs, pruning at every layer), pgnats-native transport with the JetStream republish + replay refinement, district-distribution fallback.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor is the load-bearing horizontal-scale actor), `inference-and-memory/architecture.md` (local-first memory architecture sits on this transport substrate). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `narrative-composition/architecture.md` (Compositor is the load-bearing horizontal-scale actor), `inference-and-memory/architecture.md` (local-first memory architecture sits on this transport substrate). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## Compute allocation
|
## Compute allocation
|
||||||
|
|
||||||
@@ -155,4 +155,4 @@ If `republish + replay` carries the load, the back-write transport is *substanti
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> *The visible world: rail+grid topology with navmesh interiors and freeform-player; asset economy as base-limb palette × trait-textured variance (worldbuilding-thesis and engineering-economy in agreement); color-language as pre-verbal trait-vocabulary; the three-shader philosophy that renders the same geometry as physical / liminal / imperial-net depending on access; diegetic relays making the architecture's pulses audible and visible in-world.*
|
> *The visible world: rail+grid topology with navmesh interiors and freeform-player; asset economy as base-limb palette × trait-textured variance (worldbuilding-thesis and engineering-economy in agreement); color-language as pre-verbal trait-vocabulary; the three-shader philosophy that renders the same geometry as physical / liminal / imperial-net depending on access; diegetic relays making the architecture's pulses audible and visible in-world.*
|
||||||
>
|
>
|
||||||
> *Companion to: `architecture-broad.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (zones live on this topology), `identity-and-personhood/architecture.md` (color-language uses the trait-vocabulary). Sections in this file were split from the monolithic architecture-broad.md v0.7 on 2026-04-26.*
|
> *Companion to: `architecture-index.md` (executive summary + global meta-lists), `runtime-engine/architecture.md` (zones live on this topology), `identity-and-personhood/architecture.md` (color-language uses the trait-vocabulary). Sections in this file were split from the monolithic architecture-index.md v0.7 on 2026-04-26.*
|
||||||
|
|
||||||
## Topology: rail + grid + interiors
|
## Topology: rail + grid + interiors
|
||||||
|
|
||||||
@@ -170,4 +170,4 @@ Players navigate the rings *by ear and eye*, not by reading a UI. The privacy-co
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-broad.md v0.7 (2026-04-26)
|
**Version:** 0.7.0 | **Created:** 2026-04-26 | **Updated:** 2026-04-26 | **Origin:** Split from architecture-index.md v0.7 (2026-04-26)
|
||||||
|
|||||||
Reference in New Issue
Block a user