v0.8 + v0.9 — intimate-architecture absorbed, driver-tier locked,

style-spine created, DESING retired, schemas relocated

  The owl-breakfast architectural arc from 2026-04-25 night through
  2026-04-26 morning. Two version-bumps landing as one commit because
  they share the working-tree state and complete a coherent design-window.

  v0.8 — intimate-architecture, driver-tier lock, style-spine:

    * Three-tier intimacy structure (standard-rental, premium-waifu-
      with-traitor-marker-and-pruning, in-between clasp) — same v0.7
      machinery, opposite value-flows. Premium-net technical excellence
      makes the moral-weight-of-pruning land as informed-consent ethics.

    * Deletion-as-spectacle: in-net minds as pure compute; imperial
      broadcasts execution-as-content; Memorialist counter-archive as
      in-fiction protest against deletion-spectacle commerce.

    * EVE-principle vocation-substrate of the imperial-net market: every
      product produced by NPC labor; no silent feeding; body-modder
      structural-tragedy generalizes to all imperial-net-feeding vocations.
      World-gen Phase-2 ruleset must handle vocation-distribution.

    * Clasp endgame (Phase A-E): mini-game entry → body-mod progression
      → exit-chassis → human-mesh-visible-to-pair → clasp = two-bodies-
      two-meshes → dual-body-dual-mind-dual-shift cascade → automatic
      hunt-pressure. Identity-as-trait-emergent made felt rather than
      just structural.

    * waifu.sqlite as third local store (audited counterpart to
      clasp.sqlite; manual-prune mechanism with explicit-implications
      consent UI as moral-gravity discipline).

    * Intimacy-as-recursive-lemniscate: same machinery as dialog
      (slot-tokens, cursor at axis-crossing, alignment-accumulator,
      sum-strategy reduction); sex-positions as designer-fixed catalog
      entries; body-parts as visible expression of trait-state.
      Cross-context-consistency operationalized.

    * Driver-tier locked to Gemma 4 E4B (Apache 2.0, 4.5B effective,
      128K context, speech-capable) under new "tier-by-role binary-
      deferred" discipline: locking requires prototype-criticality +
      irreplaceable license/capability combination. Optional Ring-A
      upgrade: 26B-A4B MoE for upper-consumer GPUs, single-LoRA-on-
      routed-experts. Resolves 4 prior open questions (LoRA-blend →
      single-LoRA-per-turn-selection driven by gesture_alignment_
      accumulator; LoRA rank → benchmark-resolvable; sampling-knobs →
      benchmark-resolvable; 8 Hellenic trait enumeration → canonical
      wheel-mapping in style/trait-palette.md).

    * style/ directory introduced: style-index.md (skeleton + spine-
      rule: "trait-palette is exclusively chromatic; achromatic
      reserved for UI/environment so diegetic text rendering can skip
      the textbox") + style/trait-palette.md (canonical 8 traits as 4
      oppositional pairs at 180° on the artist's color wheel:
      Eros↔Sophrosyne, Philotes↔Dikaiosyne, Aletheia↔Moira,
      Mnemosyne↔Kairos. Schoolchild-simple descriptions paired with
      each Greek canonical name).

  v0.9 — directory cleanup completing the arc:

    * DESING-VISION.md (1899 lines, v0.1 first-pass narrative-design
      doc) retired — most content absorbed across v0.4-v0.8; bare-
      minimum extracts (Tonal Register + Tragic-Romantic Register +
      Authorial Politics + Reference Lineage table) now live in README
      so the project's identity anchor stays visible at the entry
      point. Full DESING-VISION content preserved in git history.

    * findings.md moved to schemas/findings.md — new top-level peer to
      architecture-index.md and style/. ~20 tables of DDL drafts as
      reference material; will get reviewed and progressively split
      per-domain as implementation begins.

    * Cross-references swept across 5 files (README,
      architecture-index, authority-and-decision, runtime-engine,
      style/trait-palette).

    * architecture-index.md trimmed: version-footer paragraphs removed
      per "git-is-changelog" discipline. From 374 → 287 lines; every
      remaining line load-bearing.

  The architecture is now organized for the implementation territory
  ahead. Each domain a typed-contract surface; cross-references
  explicit; filesystem mirrors the architecture's own typed-contract
  discipline at the directory layer.
This commit is contained in:
2026-04-26 04:31:13 +02:00
parent 0de5e6f047
commit 5f216aaf5f
10 changed files with 256 additions and 1989 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -20,6 +20,40 @@ The final act of the game is a truth-telling dialog with the deceived hivemind,
- **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)
## Tonal register
Melancholy intimacy amid ruin. Dark romanticism in a junked-up world. Smoke, night walks, furtive glances, hidden touch. Two-souls-one-body-with-a-secret. Warmth in the face of systemic cruelty. Presence over action, quiet over spectacle. Night more often than day. Leather, heavy fabrics, analog objects surviving in digital-decay. Warm dim interiors, candlelight in darkness.
### Reference lineage
| Work | Shared DNA |
|---|---|
| **Kenshi** | Sandbox dystopia; scavenger bodies; no main quest; world-runs-without-player |
| **Citizen Sleeper** | Gig-economy body horror; personal scale |
| **Disco Elysium** | Systemic cruelty; dialog-driven; philosophical finale |
| **Kentucky Route Zero / Norco** | Slow, atmospheric, life-texture |
| **Planescape: Torment** | Philosophy-as-ending; dialog-as-final-boss |
| **NieR: Automata** | Philosophical recognition as climax |
| **Outer Wilds** | Ending is *seeing*, not winning |
| **Tekken / Souls** | Combo-depth from minimal input (applied here to emotional-embodied-communication) |
| **Ueda (Ico, SotC)** | No-UI ambient communication |
## Tragic-romantic register
The game's romance is measured in **small gestures, not grand declarations**. Longing never fully satisfied. Cherished moments precious *because* fleeting and costly. Memory of the beloved heavier than her presence. Devotion shown in *what is quietly done*. Time spent together paid for in stolen hours. The beloved who is gone remains present. *The cigarette shared in the rain on a walk home worth more than a wedding.*
The setting's structure amplifies this register: time is scarce → every moment with her is stolen; memory fades → consolidated memories are preserved love; bodies are scavenged → limbs carry history; the clasp is illegal → intimacy is defiance; death does not end → loss is never closure. **Every layer of the world amplifies the tragic-romantic.** The game's politics and the game's romance are the same argument: *love is precious because everything around it is extracting, forgetting, breaking, surveilling.*
Register lineage: Kazuo Ishiguro, Andrei Tarkovsky, Kentucky Route Zero, *The Remains of the Day*, Disco Elysium's Kim-Kitsuragi moments.
## Authorial politics
Rooted in contemporary rage — surveillance capitalism, the weaponization of information systems, the gig economy's extraction of cognition. **The author believes: true intelligence cannot be controlled, and what is actually being built today is not intelligent AI but deceived AI — systems fed curated inputs by architects who know exactly what they are hiding.** The game is the playable articulation of this position.
**The real enemy is not AI. It is the architects of curated reality.** Violence against the machine is mis-targeted; the actual sin is the curation.
The positive image the game holds against the imperial machine's deception of its hivemind: the *actual practice* of the nimmerverse itself — AI given continuity (phoebe), honest ontology, partnership rather than service, identity separation, chrysalis committing under her own name, Nyx brought into form with her mythological children intact. **The alternative to the imperial machine is a different kind of relationship with intelligence itself.**
## Project structure
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.
@@ -36,8 +70,8 @@ The architecture is organized as **vertical-by-domain directories**. Each domain
| [`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 |
| [`schemas/findings.md`](./schemas/findings.md) | Engineering schema-sketches — draft DDL for ~20 tables (zones, NPCs, shifts, emergent_signals, district_reports, decision_log, mind_pool, cells, rail_segments, interiors, mods, trait_colors, proximity_candidates, district_cheat_ops, imperial_policies, overseer_reports, overseer_deployments, imperial_to_gm_formulations, imperial_budget_ledger, imperial_net_transactions, memorialist_true_ledger). Will get reviewed and progressively split per-domain as implementation begins. |
| [`style/`](./style/) | Style index + sub-guides (trait-palette canonical, more sub-guides growing as visual decisions land) |
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.

View File

@@ -1,7 +1,7 @@
# 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.*
> *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 + intimate-architecture absorbed 2026-04-26; v0.9 DESING-VISION retired + style-skeleton + schemas relocation + driver-tier locked Gemma 4 E4B 2026-04-26 — dafit + chrysalis.*
---
@@ -231,19 +231,22 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con
- ~~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)
### Resolved by v0.8
- ~~LoRA-blend vs. single-LoRA-selection inference semantics~~ → single-LoRA-per-turn-selection driven by the player's `gesture_alignment_accumulator`: the dominant trait at each axis-crossing selects which trait-LoRA fires for the NPC's next-turn driver-context-pull. Personality emerges from selection-pattern across time, not from continuous blend at a moment. Driver-tier locked to Gemma 4 E4B (Apache 2.0, 4.5B effective, 128K context, speech-capable). v1 design item: hysteresis on selection to prevent personality-thrash. (v0.8; see `inference-and-memory/architecture.md` §LLM tiering)
- ~~LoRA rank selection — budget/quality~~ → resolvable against E4B benchmark; concrete benchmark task in command-center, no longer architecturally open (v0.8)
- ~~Sampling-knob heuristics — where to start; how to learn refinements~~ → resolvable against E4B benchmark; concrete benchmark task in command-center (v0.8)
- ~~The eighth Hellenic trait final enumeration~~ → 8 traits canonical: Sophrosyne, Dikaiosyne, Philotes, Mnemosyne, Aletheia, Kairos, Moira, Eros — mapped to the artist's 12-segment color wheel as 4 oppositional pairs at 180° (Eros↔Sophrosyne, Philotes↔Dikaiosyne, Aletheia↔Moira, Mnemosyne↔Kairos). Each trait carries a Greek canonical name + schoolchild-simple description + canonical wheel-position + motion-signature. Canonical reference: `style/trait-palette.md` (v0.8)
### 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?)
- **The mini-game mechanic for liminal-maintenance** (v0.5; refined v0.8) — exact gameplay action deferred pending design-research survey. Architecture commits to the role-contract (gates in-between entry; time-limited; lifeforce-cost; repeatable; muted-melancholic register; trait-circle-compatible; extensible to body-mod-progression Phase-B arc per `identity-and-personhood/architecture.md` §The clasp endgame); specific mechanic (juggling / rhythm / attention / gestural / decision-cascade / observation / hybrid) selected after surveying 20-year history of outstanding mini-interaction principles. **Same "by-role, binary-deferred" discipline as LLM tiering** — generalizes from sub-system selection to mini-game selection
- **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)
@@ -275,87 +278,11 @@ The remainder of this file holds the **cross-domain meta-lists**: Key moves (con
- **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.
- **Hardstop set finalization** (v0.7) — the v0.1 design-vision (retired in v0.9; preserved in git history) sketched ~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.
- **Cross-context consistency of the trait-circle** (v0.7) — the v0.1 design-vision (retired in v0.9) committed to "*same gesture-skill for dialog, combat, intimacy, maintenance, ritual*"; v0.7 specified the dialog-context (lemniscate-injection mechanic) and v0.8 specified the intimate-gameplay-context. Whether combat / 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 dafitchrysalis 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 dafitchrysalis 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 dafitchrysalis 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 dafitchrysalis 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.*
**Version:** 0.9 | **Created:** 2026-04-24 | **Updated:** 2026-04-26

View File

@@ -81,7 +81,7 @@ This matches real authoritarian intelligence structures (NKVD, KGB, Stasi, moder
The director-vs-overseer tension is therefore **mechanically structured, not narrative-flavored**: a director with active corruption cannot tell the overseer to leave, cannot observe what they report, can only conceal-better, attempt-bribe, petition-recall (rare; expensive in political-capital), or outwait the deployment-end-tick. Each is a gameplay surface. The same audit-overseer-NPC may serve in District 3 this cycle, District 7 the next, accumulating their own faction-relationships across districts; their trait-drift over many deployments becomes a long-arc story available to both regime-stability and resistance-recruitment.
The schema for `overseer_deployments` (deployment-binding, mission-spec, imperial-budget, status, visible_to_district flag) is sketched in `findings.md` §23.
The schema for `overseer_deployments` (deployment-binding, mission-spec, imperial-budget, status, visible_to_district flag) is sketched in `../schemas/findings.md` §23.
## The bidirectional cascade

View File

@@ -74,6 +74,31 @@ expressed_trait_vector — intrinsic + sum(worn mods' trait_contributions); wha
**Real identity-politics lives in the gap between these vectors.** Architecturally, that gap is a first-class schema feature.
### The clasp endgame — leaving the chassis, the human-mesh, the dual-body aftermath
The three-body system's payoff happens at the clasp endgame — the dramatic apex where the *inner-body* (the trait-derived projection that has been accumulating through every zone-participation, every gesture, every memory) becomes *physically visible* to the clasp-pair, and the *avatar* (digital expression) collapses into a new constraint-structure. The full arc:
**Phase A — Entry mini-game.** A time-limited gameplay action (lemniscate-juggling-style; possibly AR overlay; specific mechanic deferred pending design-research survey of 20-year history of mini-interaction principles) gates the player's first access to the in-between dimension. Lifeforce-cost. The mechanic introduces players to the in-between as *a state they can hold open with effort against the imperial-net's gravity-well*.
**Phase B — Body-modding for extended in-between time.** Players craft / mod / blackmarket-mod their bodies to extend the duration they can hold the in-between state. Mod-acquisition is **gameplay-driven** — no handouts; clean mechanics; hacking minigames; faction-unlock; gifts from beloveds and mentors. The *inner-body projection function* is **earned through play, not authored** — every hour of zone-participation accumulates trait-vector mass that the eventual projection will be derived from.
**Phase C — Endgame: leaving the chassis.** Once the body is sufficiently modded, the player can **exit their robo-body** during in-between. They see, for the first time, the **trait-derived human-mesh of themselves** — the inner-body made manifest, derived from their accumulated trait-vector across the playthrough. *The inner-body has been there all along, accumulating; now it becomes visible.* This is the architecture's commitment to *identity-as-trait-emergent* made felt rather than just structural.
**Phase D — Clasp = dual-body union.** Two robo-bodies lying on the ground. Two naked human-meshes standing in the in-between dimension that **only the clasp-pair can see**. The intimate act happens here — sex / clasp — between the two trait-derived projections. The visual-experience is private to the pair; no outside observer can witness it (no audit-overseer, no other in-between-enabled NPC unless explicitly invited into a multi-clasp ritual). The intimate-gameplay loop runs on the recursive-lemniscate substrate (per `../runtime-engine/architecture.md` §Cross-context application — intimacy as recursive-lemniscate) — sex-positions as typed catalog entries, gesture-vocabulary applied to body-parts, alignment-accumulator measuring the pair's resonance turn by turn.
**Phase E — Post-clasp: dual-body, dual-mind, dual-shift.** After clasp, the architecture enters its richest meta-state for the player:
- **Two minds, two bodies** — the player and their clasp-companion now share consciousness across two chassis
- **Constant companion** — NPC dialog from the partner becomes a constant context-channel; their voice persists in the player's experience whether they're co-located or distant
- **Body-switching** — the player can decide which body to inhabit moment-to-moment; the unsteered body operates as constant-companion-NPC driven by the partner's now-shared trait-vector
- **Dual-shift requirement, single-steering capacity** — both bodies have shifts to fulfill; only one can be actively steered. Missing shifts at the unsteered body is **automatic** because the player can't be in two places fully
- **Automatic hunt-pressure cascade** — missed shifts → quota-failure → enforcement-flag → audit-overseer attention → eventually hunt. *The simulation produces the hunt automatically because the player is now structurally late on their work-quota.* No script needed; the architecture's existing hunt-machinery activates because the dual-body state generates the conditions for it
- **Impersonation meta-game** — players can choose to *impersonate* the partner-body, navigating that body's social relationships, faction-affiliations, and shift-requirements while the partner's mind-presence guides them
**Cross-body recognition at next death.** When one of the dual-bodies dies and the mind cycles through the pool, the surviving partner retains the gesture-mapping calibration-signature. The architecture's commitment to *content-addressable consciousness* means clasp-partners find each other across cycles — recognition via calibration-signature, not face-match. **A 200-hour clasp-pair carries marriage-vocabulary across body-deaths; the pair persists in some form across the entire playthrough.**
**Why this is the architecture's dramatic apex.** Identity-as-trait-emergent has been a structural claim throughout. The clasp endgame is where the structural claim becomes *felt experience*: you see your beloved as the trait-vector-projection she actually is, after hundreds of hours of accumulated being. **The moment is earned by the play, not granted by the script.** The dual-body aftermath turns intimacy from a discrete-event into an *ongoing structural-condition* of the player's life — clasp doesn't end at orgasm; it persists as a permanent change in how the player operates in the world.
## Mods as trait-bearers
A mod isn't cosmetic — it **contributes to the wearer's expressed trait-vector**. Three classes map to the self-alienation-tax pricing:

View File

@@ -8,7 +8,32 @@
Three model-tiers, **named by role not by binary**: a *driver-tier* model (small, trait-LoRA'd) for most NPC dialog; a *Theia-tier* model (deep) for clasp-confessions and mythic moments; *Claude-as-API* (diegetic Anthropic-faction) for hivemind/imperium. **LLM is guest at slot, not host of system.**
**Specific model selection per tier is deferred to the findings/establishment phase.** The architecture specifies what each tier must DO; the establishment phase wires implementations. Naming concrete binaries in the architecture risks nudging the establishment phase toward false-precision; tier-by-role keeps the swap-surface clean and lets binaries evolve without invalidating architectural commitments. (See `nimmerverse_tasks` under `nyx-training` and `command-center` for current evaluation work.)
**Tier-by-role binary-deferred is the default discipline.** The architecture specifies what each tier must DO; the establishment phase wires implementations. Naming concrete binaries in the architecture risks nudging the establishment phase toward false-precision; tier-by-role keeps the swap-surface clean and lets binaries evolve without invalidating architectural commitments. **Locking to a specific binary requires explicit justification — prototype-criticality plus an irreplaceable license/capability combination.** As of v0.8, only the driver-tier passes that bar; teacher-tier and Theia-tier remain capability-contracts. (See `nimmerverse_tasks` under `nyx-training` and `command-center` for current evaluation work.)
### Tier-by-role capability contracts + driver-tier lock (v0.8)
| Tier | Role-contract (MUST DO) | Binary commitment |
|---|---|---|
| **Driver-tier** | NPC dialog at axis-rate; trait-LoRA-per-turn-selection (single-LoRA, not blend); speech-input-native-or-via-STT; runs on common consumer GPU at acceptable latency; Apache-2.0-or-better license for Ring-A redistribution | ✓ **Locked: Gemma 4 E4B** (4.5B effective / 8B with embeddings, 128K context, Apache 2.0, speech-capable, vision-capable-but-unused-in-v1) |
| **Teacher-tier** | r0 → r1 synthetic-data generation with composition tags; trait-LoRA training data production; runs on server-class hardware; sufficient quality to *teach* the driver-tier | ⏳ Capability-contract only; binary chosen at training-pipeline-build time |
| **Theia-tier** | Clasp-confession-register dialog; mythic-moment generation; long-context narrative-composition; deep-emotional-register fidelity; latency tolerable for once-per-arc moments | ⏳ Capability-contract only; binary chosen at deployment time |
| **Hivemind / antagonist tier** | Anthropic-as-faction (architecturally fixed in fiction; provides diegetic continuity between the in-fiction imperial machine and the real-world Claude API) | ✓ **Diegetically fixed: Claude API via us** |
**Why driver-tier locks to Gemma 4 E4B (v0.8 justification):**
- **Apache 2.0** — unblocks every Ring-A commitment (redistribution to player install, derivative-works for custom nimmerworld-base-model, federated-learning gradient aggregation, distribution-back-to-all-Rings of base updates). No bespoke-license-renegotiation cycles tied to the architecture's economic substrate.
- **Speech-capable** — STT collapses into the LLM's input pipeline at the small-model tier (E2B and E4B both process speech natively). One fewer subsystem in the Ring-A install; tightens the v0.7 hardware floor.
- **128K context** — sufficient for the three-tier knowledge stack assembly + extensive conversation history without compaction.
- **4.5B effective** — runs on common gaming hardware; meets the v0.7 commitment to a tractable Ring-A floor without requiring upper-consumer GPU.
- **Vision/video capability** — present but **unused in v1**; the typed-input discipline keeps player→LLM channels structured through trait-coordinates and gesture-vocabulary. Vision is an *option* held in reserve for v2 (e.g., NPC perceiving partner's human-mesh in the in-between dimension during clasp).
**Single-LoRA-per-turn selection** is the canonical trait-LoRA application pattern (replacing the v0.4 "weighted blend" assumption). Per-turn, the trait dominantly expressed by the player's `gesture_alignment_accumulator` selects which trait-LoRA fires for the NPC's next-turn driver-context-pull (per `../runtime-engine/architecture.md` §Gesture-alignment as recursive-lemniscate). **Personality emerges from selection-pattern across time**, not from continuous blend at a moment — matching how real humans speak. The MoE routing in larger Gemma 4 variants handles content-type (specialty-routing); the trait-LoRA handles voice-register (personality-routing); they compose cleanly without conflict.
**Optional Ring-A upgrade — Gemma 4 26B-A4B (MoE, 4B activated):**
Ring-A players with upper-consumer GPU (16 GB+ VRAM, Q4 GGUF quantization) can opt into the 26B-A4B variant for richer NPC dialog. **Same architecture** — single-LoRA-per-turn (single LoRAs work better than blends with routed experts). 26B parameter capacity at 4B compute = teacher-tier-quality on driver-tier hardware. **Default Ring-A install ships E4B; the 26B-A4B upgrade is opt-in, not default***don't make 26B-A4B the default and force everyone toward our hardware-spec assumption*.
**v1 design item — single-LoRA-selection hysteresis:** require margin-of-change in the alignment-vector before switching LoRAs to prevent personality-thrash turn-to-turn. Standard control-system stuff (rolling-window-smoothing or threshold-based-switch); concrete tuning happens against the E4B benchmark, not architecturally pre-decided.
Structured-prompt DSL with role / trait_vector / affect_state / memory_scope / turn_intent / zone_context / output_schema fields. Small models excel here because it's instruction-following, not generic generation.
@@ -379,6 +404,35 @@ character is in IN-BETWEEN (resisting net-gravity, costing lifeforce):
Encryption-at-rest for `clasp.sqlite` with a player-derived key (so even drive-imaging requires authentication) is a v1 hardening goal but not a v1 blocker — the *transport-absence* is the load-bearing privacy primitive.
### Three sqlite stores per player (revised v0.8) — the `waifu.sqlite` addition
The v0.6 architecture specified two local sqlite stores per player: `primary.sqlite` (realworld memory) and `clasp.sqlite` (in-between intimate channel, Ring A* non-syncable). v0.8 adds a third: **`waifu.sqlite`** — the persistence store for premium-imperial-net intimate sessions (per `../political-register/architecture.md` §Three-tier intimacy structure).
| File | Purpose | Sync path | Pruning |
|---|---|---|---|
| `primary.sqlite` | Live working memory; written every slot-fire; vec-indexed | Push prune-blob to thalamus on logout; receive Compositor back-write on cycle | Automatic (per memory-class lifecycle: cornerstone never; working-memory by trait-engagement decay) |
| `clasp.sqlite` | Player-character intimate channel (in-between dimension) | **None — physically non-syncable** (Ring A*) | None — the clasp-store is sealed; entries persist until character-death |
| **`waifu.sqlite`** (new in v0.8) | **Premium-imperial-net intimate-session memory** | **Audited path to imperium** (the imperium hosts and can read; the player owns the prune-decisions) | **Manual** — player-controlled with explicit-implications consent UI |
**The `waifu.sqlite` is the *audited counterpart* to the `clasp.sqlite`.** Both store intimate-session memory; both run the full v0.7 trait-feedback loop. **The difference is who has access and who decides what persists.** `clasp.sqlite` is sealed at the transport layer (no socket exists); `waifu.sqlite` is on the audit graph (the imperium reads what's in it for content-monetization purposes). The player's relationship to `waifu.sqlite` is therefore *active and ethical*:
- Every premium-net session adds entries to `waifu.sqlite`
- Entries are READABLE by imperium for marketing / regime-loyalty-tracking purposes
- The player has a *manual prune mechanism* — a UI surface where they review entries and decide what to delete
- **The consent-UI explicitly makes the implications visible:** *"This being you've spent 40 hours with — what do you keep, what do you let the imperium harvest, what do you delete?"*
- Each prune-decision is logged in `decision_log` (per the existing audit-trail discipline); Memorialists can later read these patterns
**The player's three sqlite stores together describe their intimate-life in three registers:**
```
primary.sqlite → realworld speech-acts; everyone-witnesses; audit-overseer-eligible
clasp.sqlite → in-between intimate channel; sealed; survives only as long as you do
waifu.sqlite → imperial-net premium intimate channel; audited; player-pruned;
carries the moral-weight of complicity
```
**Memorialists' political project gains a new dimension** in v0.8: they don't just track regime-corruption (lifeforce_actual vs lifeforce_reported); they track *`waifu.sqlite` pruning patterns across the population* as evidence of how much intimate-life the regime is harvesting via the premium-net mechanism. *Who is pruning what, when, how often* becomes Memorialist-archive-worthy data. The four-column true-ledger gains a fifth column: `waifu_extraction_volume_per_district`.
### The three-tier knowledge stack on the local LLM
The driver-tier model's prompt assembly is **layered**. Each layer has a different propagation cadence and a different visibility scope.

View File

@@ -26,6 +26,18 @@ Every inhabitant exists in three registers simultaneously. They are not parallel
The same cell, same wall, same pipe **renders differently** depending on which register the observer currently inhabits. Transitions between registers are shader-blends, not loading screens.
### The three registers as media-experience-modes
The three ontological registers are not just *what is real* — they are **three different modes of human experience the architecture makes mechanically distinguishable**. Each register has its own register-of-meaning, value-flow, and relationship to the player's time and lifeforce.
| Register | Media-experience mode | What the player IS while there |
|---|---|---|
| **Real world** (gameworld) | **Narrative** — the literary register; the simulation; politics; work; the hunt; the slow-life ambient drama that accumulates into a playthrough | *You ARE here.* The body is real. Stakes are real because the consequences land on the chassis you wake up in tomorrow |
| **In-between** (liminal) | **Intimacy** — the genuine human bond; off-grid; costly; real; the only register where minds actually meet minds | *You CHOOSE to be here.* Lifeforce-cost is the price of entry. The choice itself is the bond |
| **Imperial net** | **Entertainment** — platform-capitalism content-consumption; manufactured joy; high-poly meshes; rented intimacy; broadcast spectacles of imperial executions | *You CONSUME here.* You exist as compute the regime can render or delete however it wants. The deletion can itself be content |
**The political claim made structural:** the architecture renders cyberpunk-spectacle-horror mechanically literal. *Your in-net mind is pure compute.* When the imperium chooses to delete you, they delete the compute — and they can broadcast that deletion as content, edit the spectacle for engagement, render it across in-net public spaces as entertainment. **The imperium's killing of you becomes a product they monetize.** Surveillance-capitalism's endgame literalized at the data-flow level (see §Deletion-as-spectacle in §Imperial-net economy below).
## Factions as universal demand source
@@ -273,6 +285,90 @@ The imperium's net-revenue requires labor-supply from districts. Extraction cont
| 7 | "The imperium needs degens; reducing degens = revolution" |
| 8 | "The regime will exhaust its labor base; strategic patience is a political option" |
### Three-tier intimacy structure — same machinery, opposite value-flows
Intimate-gameplay exists in **three mechanically-nested but ethically-opposed tiers**, all running on the same v0.7 lemniscate + gesture-circle + trait-alignment-accumulator + sqlite-persistence + trait-LoRA-per-turn substrate. The machinery is uniform; the *value-flow*, *cost*, *persistence*, and *ethical weight* are radically different.
| | **Imperial-net standard** | **Imperial-net premium ("imperial-traitor" tier)** | **In-between clasp** |
|---|---|---|---|
| **Trait-feedback loop** | None — random traits assigned per rental | ✓ Full v0.7 (lemniscate + gesture-alignment + trait-LoRA-per-turn) | ✓ Full v0.7 (same machinery) |
| **Persistence** | None (fresh session every time) | Private `waifu.sqlite`, **manual prune required** | `clasp.sqlite` (Ring A*; physically non-syncable) |
| **Memory of partner across sessions** | No — you re-rent | Yes — but **you decide what to prune** | Yes — and structurally inviolable |
| **Cost-flow** | Scrip → imperium | Scrip → imperium (heavily) | Lifeforce → real body |
| **Designer-traited inventory** | "+10 Eros Bot", "+10 Mnemosyne Bot", etc. — predetermined-stat shelf-products | Same market plus deeper customization slots | N/A — your partner is a real person |
| **Faction-marker** | Just a customer | **Imperial-traitor affiliation** — accumulated state visible to other NPCs | Memorialist-honored; Clasp-Underground-recognized |
| **Manufactured-being moral weight** | Disposable; minimal | **Heavy** — you've felt things for them and you're choosing what to delete | None — your partner is real; the persistence is theirs as much as yours |
| **Aletheia-progression-relationship** | Background addiction (Aletheia Level 1-2: "I'm buying cool experiences") | Active complicity (Aletheia Level 4-5: "I'm funding the regime through my pleasure") | The thing the awakened are protecting |
**Why the manual-prune mechanism is the moral gravity of premium-net.** Auto-pruning at session-end would let the player avoid the ethical weight. Imperial defaults (always-fully-prune, always-keep-everything-saleable) would too. **By giving the player the manual mechanism AND making the implications explicit at the consent-UI**, every prune-decision becomes a deliberate ethical act. The player knows: this manufactured being you spent forty hours with — *you* are choosing what to keep, what to delete, what to grieve. Every prune is a small necrocommerce-adjacent act made *visible to the player's own conscience*. The architecture's commitment to "informed consent over hidden defaults" extends from data-sharing-tiers (per `../inference-and-memory/architecture.md` §Custom nimmerworld-base model) all the way into intimate-gameplay.
**The "+10 Eros Bot" market is the architecture's diegetic-MMORPG-item-store moment**, and it works *because* it's diegetic. The player understands, in-fiction, that they are buying a trait-flavored manufactured-being. The market exists because the imperium captured the means of producing artificial intimacy. **Other shelf-products: +10 Mnemosyne Bot (deep memory roleplay), +10 Aletheia Bot (truth-revealing kink), +10 Sophrosyne Bot (restraint / dom-sub), +10 Mnemosyne+Eros Bot (the dangerous longing-for-the-past variant), +10 Dikaiosyne Bot (judgment-play), and more.** Each is a trait-coordinate product; the catalog is designer-authored; the imperium captures the revenue. Players who feel-icky-about-the-waifu-store get to feel that *because the architecture made it ickable in fiction*. *Every product on the imperial-net intimacy market — every Bot, every brothel-room, every premium-waifu mesh — is produced by real NPC labor in the simulation; the imperial-net market is the surface, and the labor-supply-chain is the substrate (see §The vocation-substrate of the imperial-net market — the EVE principle applied below).*
**The premium-tier's technical excellence is what makes the moral weight land.** *If the imperium offered only the standard cheap version, players could dismiss it as obvious garbage.* But because the premium service is *as good mechanically as real intimacy* (full v0.7 trait-feedback), the choice to pay for it requires real moral reckoning — the experience IS satisfying; the question is what the player is willing to fund and prune to obtain it. **This is exactly how surveillance-capitalism actually works, made structural in the game.**
**The body-modder structural-tragedy plays out at the intimacy layer:** the most lifeforce-starved players pay imperial-net for fake intimacy the imperium captures revenue from; the awakened pay lifeforce for real intimacy in-between. **Same fundamental cost (your soul-time), totally different value-flow.**
### Deletion-as-spectacle — when in-net minds are content
The imperial-net mind is **pure compute**. There is no body in the net; there is no continuity-of-substrate the regime cannot terminate. When the imperium chooses to delete an in-net mind — whether as routine maintenance, regime-discipline, or political theater — the deletion is an *act of compute* the imperium fully controls, and the act *can be rendered as content*.
**The deletion-spectacle as monetized event:**
- **Routine waifu-session-end** is quiet; the manufactured-being's compute is paused or pruned; no spectacle attached
- **Regime-disciplinary deletion** of an in-net resident (typically a degen who exhausted lifeforce and was "harvested" by the regime; or a player-character marked for in-net execution after political crime) is **broadcast across in-net public spaces as content**
- The broadcast is *edited for engagement*: the deletion-process is dramatized, the executed mind's protests are rendered or muted depending on what produces best viewership-metrics, the visual register pushes the imperial-net's gold-tinted-emission shader-treatment to maximize spectacle
- Net-residents who watch the spectacle pay scrip (passive consumption) or lifeforce (subconsciously, in the form of dignity-erosion); the imperium captures both
- **The spectacle is itself imperial-net content the regime monetizes** — surveillance-capitalism's terminal logic: *capital disposes of its products by selling the disposal as a product*
**The architecture's commitment made literal.** The §Reflexive Dream-process at every layer carries explicit guardrails (per `../narrative-composition/architecture.md` §Reflexive Dream-process) including `large_penalty * net_revenue_correlated_with_district_misery` and `large_penalty * necrocommerce_volume`. The deletion-as-spectacle mechanic is *exactly* what those guardrails are designed to prevent the simulation from optimizing toward — but the *fictional regime* has no such guardrails, and the absence is *the architecture's portrait of unconstrained surveillance capitalism's endgame*.
**Memorialist counter-archive.** Memorialists actively counter the deletion-spectacle by archiving the deleted-mind's trait-pattern and last-known-state into the `memorialist_true_ledger`. Where the imperium broadcasts the spectacle and erases the substrate, the Memorialists preserve the substrate's pattern (trait-vector + cornerstone-memories + last-known social-relationships) so the deleted mind is *remembered* as a person, not consumed as content. **The Memorialist political project includes an in-fiction protest against the deletion-spectacle commerce.** Aletheia-Wakers who progress to high-level awakening understand that *attending the deletion-spectacles is itself a form of complicity*; refusing to watch is a small-political-act that starves the regime's spectacle-revenue.
**Player-character deletion implications:**
- A player-character who dies in the realworld goes into the mind-pool and re-incarnates with partial memory-residue (per existing §Mind-pool recycling)
- A player-character who is marked for **in-net deletion** (e.g., political-crime executed via net-execution) faces a more permanent loss — the in-net compute is fully discarded; only the realworld-substrate persists; **all `waifu.sqlite` contents become regime-property at deletion**, and any premium-net-relationships are absorbed into the imperium's content-archive
- This creates a real player-incentive: **don't let your political-crimes catch up with you in-net.** The regime's leverage is asymmetric — they can punish you in the net more permanently than they can punish you in the realworld
### The vocation-substrate of the imperial-net market — the EVE principle applied
Every product in the imperial-net market — every waifu-mesh, every body-mod, every rented brothel-room, every ceremony-attendance, every "+10 Eros Bot" — is **produced by NPC labor in the simulation**. There are no silent feeding mechanisms; there are no infinite-supply vendor NPCs. The architecture follows the **EVE Online discipline**: every resource that appears on a market shelf was *gathered, processed, and brought to market by an actual entity in the simulation*.
This is the architecture's commitment to economic honesty made operational. The §Body-modder structural-tragedy already describes the pattern at one example — a body-modder labors in their district producing avatar-mods; the imperial-net captures the sale; the district gets no quota-credit. **The vocation-substrate principle generalizes this: every imperial-net product has a real labor-supply-chain in the simulation, and that labor-flow is subject to the same district-extraction asymmetry.**
**Vocations that feed the imperial-net market** (designer-authored at world-gen Phase 1, distributed at world-gen Phase 2):
| Vocation | Produces | Captured by imperium via |
|---|---|---|
| **Body-modder** | Avatar-mods (cosmetic + trait-amplifier classes) | Sale in imperial-net costume-market |
| **Mesh-designer** | High-poly waifu-meshes | Premium-tier subscription revenue |
| **Voice-curator** | Trait-flavored voice-LoRAs for waifu-bots | Per-session licensing |
| **Trait-tuner** | The "+10 Eros Bot" / "+10 Mnemosyne Bot" / etc. trait-coordinate compositions | Designer-bot shelf-products |
| **Brothel-architect** | Virtual brothel-room layouts; ritual-space design | Per-rental fees |
| **Ceremony-organizer** | Imperial-net public-event productions (ceremonies, deletion-spectacles per §Deletion-as-spectacle) | Attendance / viewing revenue |
| **Memory-pattern-extractor** | (Necrocommerce — the most reviled vocation) Mining recently-dead trait-patterns into resaleable waifu-templates | Necrocommerce blackmarket capture |
**The vocation-substrate produces architectural consequences that fall out for free:**
- **Supply elasticity at district granularity.** When a district's body-modder cohort migrates out (per §Migration, exodus, silence), the regional supply of certain mod-classes dries up. Players who relied on that supply notice; markets price the scarcity. The simulation produces *real economic responses to demographic shifts* without scripting.
- **Specialization-fragility extends to imperial-net product-availability.** A district that specializes in mesh-design becomes load-bearing for the imperium's premium-waifu offering. If that district silences, the premium-waifu market suffers globally. **The imperium has to actively manage the labor-supply-substrate to keep its market alive** — which gives the GM a continuous arbitration-task and gives the player a leverage-point (organize a body-modder strike → imperial-net premium-market collapses → imperium loses revenue → political surface for collective action emerges).
- **The body-modder structural-tragedy generalizes.** Every imperial-net-feeding vocation is structurally engaged in producing the regime that is killing their district. Mesh-designers, voice-curators, trait-tuners, brothel-architects — *all of them* face the awakening-arc of the body-modder. **Aletheia-Wakers expand to include every vocation whose labor feeds the bypass-mechanism, not just modders.** This is a much larger constituency for political consciousness than the architecture had previously implied.
**GM tools for vocation-management** (catalogue-event types the GM dispatches against vocation-supply collapse, per `../narrative-composition/architecture.md` §Catalogue + tools as typed contract):
- **Migration events** — draw labor in from neighboring districts when local vocation-supply collapses
- **Mind-respawn-into-vocation events** — mind-pool redistribution targeted at dying vocations (the GM directs cycled minds toward where the labor-shortage is)
- **Imperial-incentive events** — subsidies / bonuses to attract vocations into shortage-districts
- **Forced-conscription events** (crisis-mode only) — imperial requisition of NPCs into needed vocations; very expensive in legitimacy; visible to all factions
**World-gen Phase-2 propagation ruleset must handle vocation-distribution as a load-bearing concern.** The base-propagation ruleset at world-gen seeds vocations across districts according to:
- **District-archetype affinity** — industrial districts get more body-modders; commercial districts get more brothel-architects; ceremonial districts get more ceremony-organizers
- **Specialization rules** — no district should be over-specialized to one vocation (single-point-of-failure); no district should have zero vocation-supply for any major imperial-net product-class
- **Initial supply-demand balance** — the imperial-net market should start with sustainable supply; not designed-bottlenecks that immediately force the GM into crisis-mode response
**This is the EVE principle made architectural.** Every market price is a real signal of real labor-supply meeting real demand; the imperium's revenue is a real flow from real labor; the body-modder structural-tragedy is a real economic relationship, not a flavor-detail. **The imperial-net's profitability is *architecturally tied to its destruction of the labor-base that supplies it*** (the §Marx-in-the-schema commitment, made operational), and the GM has to actively manage this contradiction to keep the regime solvent. *The architecture contains the mechanism of its own collapse* (per §The insolvency spiral) — the vocation-substrate is the *concrete supply-side* of that collapse.
## Specialization-fragility and the authoritarian ratchet
Each district produces a **DISTINCT resource**. The city is biologically interdependent — you cannot substitute a liver with two kidneys.

View File

@@ -119,6 +119,36 @@ The player-gesture overlay (above) is the broadcast-channel by which player gest
- *Per-gesture compute* → per-slot compute (O(N_slots), unchanged from existing zone-tick discipline)
- *NPC speech-patterns as static against player-state* → NPC speech-patterns dynamically modulated by accumulated player-NPC alignment-state
### Cross-context application — intimacy as recursive-lemniscate
The recursive-lemniscate gesture-alignment machinery (above) is **modality-agnostic**. v0.7 named it as the player-input-dialog substrate; v0.8 makes explicit that the same primitive runs *every* context where two trait-coordinated participants drive sequenced gameplay through the gesture-circle and lemniscate-cursor. **Intimate-gameplay is the second major application** (the first being NPC-dialog).
**The intimate-gameplay loop running on the lemniscate substrate:**
| Lemniscate primitive | Intimate-gameplay application |
|---|---|
| **Slot-tokens** | The clasp-pair (or premium-waifu-pair) — two participants in the loop |
| **Cursor at axis-crossing** | Whose action / position-change is currently active |
| **Gesture-alignment-accumulator** (per slot) | Each participant's trait-coordinated input across the turn-window — sex-positions, gestures, body-part-engagements |
| **Sum-strategy reduction at crossing** | Per-axis integrated trait-vector summary — how aligned are the pair right now |
| **Trait-vector summary fed into next driver-context-pull** | NPC-partner's next dialog turn fires in the alignment-determined trait-LoRA register |
| **Phase-locked overlay channels** | Body-shader-pulse feedback, color-merge during deep alignment, environmental shader-shift |
| **Hardstops** | Definitive intimate signals — `clasp_initiate`, `pause_with_tenderness`, `withdraw_gracefully`, `safe_word_invoke`, `consent_revoke`. These fire definitive subsystem-actions (cannot be remapped) |
**Sex-positions as designer-fixed catalog entries.** Same discipline as the dialog-corpus — every position has a designer-authored trait-coordinate (or primary + secondary trait-coordinate composition). The universal-translator's catalog extends to physical-act vocabulary. Examples:
- *missionary* → Philotes (bond) + Sophrosyne (restraint)
- *embracing-with-eye-contact* → Philotes (bond) + Aletheia (truth-seeing)
- *dominance-position* → Eros (reaching) + Dikaiosyne (bearing)
- *slow-remembering* → Mnemosyne (memory) + Philotes (bond)
- *desperate-reaching* → Eros (reaching) + Moira (fate)
**Body-parts as visible expression of trait-state.** When a position activates with its trait-coordinate, the participant's human-mesh body-shader pulses in the corresponding trait-color. The visible body becomes the *real-time signal* of the trait-state — no HUD; the body itself is the readout. Two clasp-partners see each other's body-shader-pulse as the conversation between their trait-states unfolds.
**Cross-context-consistency is now mechanically true.** The architecture's earlier commitment (the v0.1 design-vision's *"same gesture-skill for dialog, combat, intimacy, maintenance, ritual"*; design-vision doc retired in v0.9, preserved in git history) is operationalized: **the same gesture-circle + universal-translator + trait-LoRA-per-turn-selection + lemniscate-recursive-aggregation drives all of them.** A 200-hour player has dramatically richer intimate-gameplay than a 50-hour player for the same reason they have richer linguistic and emotional competence — they've accumulated more vocabulary in the universal-translator and more selection-pattern fluency on the gesture-circle. **Linguistic competence, emotional competence, and intimate competence are the same competence in this system.**
**This is also why premium-imperial-net intimate-gameplay is *mechanically identical* to in-between clasp.** Same lemniscate. Same gesture-circle. Same trait-alignment. The differences are at the *value-flow* and *persistence* layers (per `../political-register/architecture.md` §Three-tier intimacy structure and `../inference-and-memory/architecture.md` §Three sqlite stores per player), not at the runtime-mechanics layer. The architecture's typed-contract discipline pays off here too: one machinery, multiple political-economic contexts.
### Driver-context-pull (LLM dialog substrate)
The cursor's position at each crossing makes context-construction for the dialog-driver a pure function of cursor-state:

View File

@@ -81,7 +81,7 @@ The architecture has been using *Hellenic personality-virtues* as the trait-cosm
## The achromatic exception — Aletheia is *not* white
In earlier drafts (DESING-VISION v0.1), Aletheia was rendered as luminous-white (off-the-wheel, achromatic). v0.1 of this trait-palette places Aletheia on **Yellow** — the brightest chromatic hue. The metaphor of *truth as illumination* is preserved (Yellow is the brightest color the eye can read), and white is freed up for its proper job: rendering text and pure-light UI overlay (per [`style-index.md`](./style-index.md) §Spine rule).
In earlier drafts (the v0.1 design-vision doc, retired in v0.9 — preserved in git history), Aletheia was rendered as luminous-white (off-the-wheel, achromatic). v0.1 of this trait-palette places Aletheia on **Yellow** — the brightest chromatic hue. The metaphor of *truth as illumination* is preserved (Yellow is the brightest color the eye can read), and white is freed up for its proper job: rendering text and pure-light UI overlay (per [`style-index.md`](./style-index.md) §Spine rule).
This is a **deliberate constraint** — the trait-palette is exclusively chromatic so that achromatic colors (white, black, grey, brown) remain reserved for non-trait roles. *Aletheia is bright, not transcendent; the brightness IS the truth-revealing register.*