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.
15 KiB
Authority and Decision
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-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
| Channel | Direction | Source | Cadence |
|---|---|---|---|
| Dispatch | DOWN | gamemaster → directors | day-boundary + event |
| Shift assignment | DOWN | director → NPCs | day-boundary |
| Audit reports | UP (objective, observed) | audit-overseers → directly to imperium | shift-phase cadence |
| Emergent-signals | UP (relational, observed) | zones → director | event-driven (gate-transitions) |
| Cyclic needs | UP (interior, self-reported) | NPCs → director | slow tick + threshold-triggered |
| District reports | UP (aggregate) | director → GM → imperium | per-cycle |
The critical asymmetry: NPCs do not self-report output. Audit-overseers observe and report (to imperium directly). NPCs only self-report needs. Output is objective; need is interior. The subjective-objective gap is where drama lives, where heresy hides, where the surveillance regime's epistemology is compressed as a schema.
Audit-overseers are politically-critical NPCs, not degenerate. Each has a trait-vector, relationship-gates with observed districts, lifeforce account (vulnerable to bribery). High-Dikaiosyne overseers report honestly; corruptible overseers can be turned. They are high-stakes targets for both regime (loyalty-maintenance) and resistance (compromise).
Hierarchy
IMPERIUM (policy-issuer; budget-holder; recipient of overseer-direct-intel)
▲ ↓ formulates to
│ aggregate reports + faction outcomes ↓
│ ↓
GAMEMASTER (middle-management; allocator; imperial-policy-translator)
▲ ↓
│ ← faction broadcasts ↓
│ ↓
FACTIONS: ↓
hivemind-enforcement · scavengers · memorialists ·
aletheia-wakers · clasp-underground · caste-preachers ·
weather · scarcity · solar-storm · anthropic · ...
+ emergent inter-NPC micro-factions
│ ← gamemaster dispatches ↓
▼ ▼
┌──────────────────┬─────────────────────┐
│ DISTRICT │ DISTRICT │
│ DIRECTORS │ DIRECTORS │
└────────┬─────────┴──────────┬──────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌──────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ENFORCE│ │AUDIT-OV│ │DIRECTORS│ │AUDIT-OV│
│OVERSEE│ │(REPORT │ │(macro- │ │(REPORT │
│ patrol│ │ DIRECT │ │ life) │ │ DIRECT │
│ raid │ │ TO │ │ │ │ TO │
│ │ │IMPERIUM│ │ │ │IMPERIUM│
└───┬───┘ └────────┘ └────┬───┘ └────────┘
│ │
└────────────┬──────────┘
▼
ZONES (bounded, slot-indexed, register-tagged)
│
▼
SLOT OCCUPANCY (NPCs + player)
│
▼
NPC / PLAYER MINDS
Three executor types at the zone-spawning layer: enforcement-overseers (regime-action zones), audit-overseers (pure observers, report DIRECTLY upward to imperium), zone-directors (macro-life zones). The district director integrates the four-channel information flow; the imperium has its independent intelligence-flow from audit-overseers bypassing the GM.
Overseers as imperially-deployed routines (not district-owned)
Both audit-overseers and enforcement-overseers are imperially-owned, imperially-deployed routines — not district-resident standing entities under the director's authority. The chain-of-command and chain-of-payment for intelligence both bypass district-director authority by design:
- Imperium owns the overseer-role — defines mission-spec, sets enforcement-rules, owns the policy that triggers deployment
- Gamemaster handles deployment-logistics only — picks which overseer-NPC from the standing pool, routes them to the target district, transfers imperial-budget allocation for the deployment-window. The GM is FedEx, not the customer or recipient.
- District contains-but-does-not-control — the deployed overseer operates IN the district, subscribes to the district's NATS bus for observations, but the district director has no authority: cannot direct, redirect, terminate, or instruct; cannot read the overseer's reports (which flow directly to imperium)
- Time-bounded deployments — overseers run on imperial-budget allocations for
[start_tick, end_tick]windows. At deployment-end they return to the standing overseer-pool (npcs vocation =audit_overseerorenforcement_overseer), available for redeployment elsewhere - Visible vs. covert — most overseer-presences are visibly-known (regime-signal as deterrent); some are covert (regime gathers evidence quietly before acting). Detection of covert overseers is a piercing of the regime-veil — an Aletheia-progression-eligible insight
This matches real authoritarian intelligence structures (NKVD, KGB, Stasi, modern MSS): the chain-of-payment and chain-of-command for intelligence must both bypass middle-management for intelligence to remain honest. Even if the GM wanted to corrupt the audit-flow, they have no levers — they don't pay the overseer, don't direct the overseer, don't read the overseer's reports. Intelligence-honesty is structural, not procedural.
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 ../schemas/findings.md §23.
The bidirectional cascade
DOWN — demand + policy propagation
imperium policy → GM allocation + enforcement → districts
factions broadcast (under policy-weights) → GM arbitrates → districts
districts assign shifts → NPCs execute
UP — outcome signal (multi-channel)
NPC cyclic-needs ─────────────────────┐
audit-overseer reports ───► IMPERIUM ├─► district-director aggregates
zone emergent-signals ─────────────────┘ │
▼
district report (lifeforce signal)
│
▼
GM aggregates → imperial_report
│
▼
IMPERIUM cross-references
(Flow 1 vs. Flow 2)
│
▼
policy adjustment → cycle
The clean signal up the pyramid IS the training surface for the four-tier Dream-process. Every epoch closes on (broadcasts, allocations, outcomes, faction-satisfaction) tuples at each tier.
Task cascade and bounded agency
Three levels with tool-calling interfaces. Higher levels do not know lower levels' implementations.
Imperium's tools
set_quota_per_district(targets)issue_enforcement_rule(rule_spec, scope)set_faction_priority_weights(weights)authorize_crisis_tool(tool_class, target_district)formulate_to_gm(intelligence_subset, framing)commit_imperial_expenditure(category, amount, target)redistribute_minds(from_pool, to_district, count)formalize_ruin(district)
Gamemaster's tools (against imperial-policy + district-reports)
assign_district_task,set_local_faction_priority(within imperial-frame)spawn_global_event,request_district_report,arbitrate_conflicting_demandsdispatch_audit_op(costs lifeforce; cross-checks overseer-reports for own purposes)escalate_to_imperium(when discretion exceeded)spawn_migration_event,enable_exodus_conditions
District Director's tools (against gamemaster-assigned tasks + signals)
Standard:
spawn_zone,close_zone,promote_zoneassign_npc_task,allocate_shift,update_shift,close_shiftrequest_resources,designate_meeting_point,trigger_ambient_eventreport_to_gamemasterack_emergent_signal/defer_emergent_signal/drop_emergent_signal(with reason)dispatch_overseer,query_district_state,log_decision,escalate_to_llm
Cheat-tools (extractive; punishable if detected):
spawn_drug_ring,spawn_illegal_modshop,spawn_unlicensed_brothelspawn_stolen_parts_fence,enable_ghost_shifts,falsify_quota_report
NPC's tools
Standard: move_to, interact, occupy_zone_slot, consume, rest, seek_npc, write_wall, defer_task, report_need.
Layer-transition: enter_digital, sustain_liminal, consume_net.
Plug-in (player + NPCs): plug_into_rail, detach_from_rail, follow, intercept, escort.
District Director: Decision Architecture
Industry default ("wall-of-text LLM prompt → prose decision parsed downstream") is rejected. Reasons: cost-per-decision-constant, latency-catastrophic, opacity-kills-training, prompt-injection-vulnerable, philosophically-wrong-for-the-fiction.
Decomposition first, cognition-escalation second. Director's job decomposes into distinct decision surfaces; each gets minimum cognitive substrate.
| Decision surface | Substrate | Escalation path |
|---|---|---|
| Shift allocation | Constraint-solver / LP / rule-based | Small-LLM only on ambiguous |
| Emergent-signal response | Priority-weighted dispatch table | Small-LLM for composite/unknown |
| Zone-spawn arbitration | Weighted priority queue, lifeforce-gated | Small-LLM for tie-breakers |
| Overseer dispatch | Round-robin + proximity + availability | None — pure rule |
| Resource-request forwarding | Budget-check + policy | None — pure rule |
| District-report composition | Aggregation query (SQL) | None — pure rule |
| Player-anomaly detection | Classifier (trained on distribution) | Small-LLM for narrative-response |
| Cheat-decision (corruption pressure) | Rule-based with director-trait modulation | Small-LLM rare; lifeforce-budgeted |
~90% rule-based. 5–10% LLM-escalation with structured input + structured tool-call output, lifeforce-counted. Industrial-systems discipline (Kubernetes schedulers, ad-auctioneers, trading systems, compilers) transferred to drama-orchestration.
Tools as vocabulary: every drop is explicit (drop_emergent_signal(signal_id, reason)); every LLM-escalation is counted; every decision pairs with prediction in decision_log. Every decision leaves a trace.
Rings as structural pattern
The architecture uses three-ring gradients as a recurring shape in multiple decoupled subsystems. Each ring-system uses A/B/C cardinality with a Unix-style trust-gradient grammar — inner ring is more constrained, more tightly coupled, more authoritative; outer rings progressively relax constraints in exchange for reach and flexibility.
| Ring-system | Inner (A) | Middle (B) | Outer (C) |
|---|---|---|---|
| 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 |
| 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) |
The ring-pattern is not coincidence — it is the right shape for graduated authority in human social systems generally (inner circle / mediated / outer; sovereign / partnership-mediated / captured; tight / mixed / loose). When the architecture needs a graduated authority structure, it should reach for this primitive rather than invent a new one.
Three is the right cardinality. Two collapses to binary (in / out). Four+ adds boundary-thrash without semantic gain. Three carries commons / mediated / sovereign (or its inversion) — the irreducible political-tier.
Movement between rings is dynamic and outcome-driven. Ring-of-importance is the most explicit example: topics climb on +1 results, drop on -1, decay if untouched (Aletheia-style "what isn't being attended to atrophies"). But every ring-system has movement-rules — players can change inference-rings between sessions, can change access-rings via mini-game progression, can change sharing-rings via consent-UI re-affirmation. Ring-membership is never a final assignment.
Future architecture additions involving graduated authority should examine whether the ring-pattern fits before introducing new structure.
Version: 0.7.0 | Created: 2026-04-26 | Updated: 2026-04-26 | Origin: Split from architecture-index.md v0.7 (2026-04-26)