3.3 KiB
3.3 KiB
Nimmerworld: Runtime Server
Always-on, event-driven server for the agent (Nyx). Central backend for Pi, Command Center, and future clients. Not a UI, not a client, not a dashboard.
Architecture
| Paper | Scope |
|---|---|
| architecture/lemniscate.md | Runtime loop: topology, crossings, data flow, pulse clock, engine corrections. |
| architecture/gates.md | Gate layer: state, injection loop, closure guard, tags, probes, persistence. |
| architecture/register.md | Registry: sensors, gates, actuators, clients, drives, arbitration, pods, placement. |
| architecture/gates_index.md | Reserved. |
| schemas/README.md | Identity, impulse row, gate state, tag row, evidence request. |
| schemas/gate_table.md | Gate registry and state schema in Phoebe. |
| runtime/stack.md | Stack layers, two buses, JetStream replay, dependency budget. |
| style/house-style.md | Paper register: engineer style rules, allowed voices per surface. |
Folders
| Folder | Holds |
|---|---|
| architecture/ | Runtime engine and subsystem papers |
| runtime/ | Stack, pseudocode and successor, engine build order |
| storage/ | Storage layout and retention |
| database/ | Database schemas and migrations |
| schemas/ | Typed contracts and message schemas |
| tools/ | Runtime tooling |
| style/ | Voice, register, trait presentation |
Infrastructure boundary (truth of record)
Host information is NOT held in this paper.
- Host truth: eachpath.local
(topology) and
eachpath.local/saturn.eachpath.local/vms/<host>.eachpath.local/(per-host records). Missing host file for a host we run on? Create it from host-onboarding facts, the same day. - This repo's
architecture/papers describe the SERVICES we run on those hosts and their relationships; each such paper links its host record instead of duplicating host facts. - Paper follows reality: any claim about a host in this repo must be host-verified against eachpath.local records.
Clients
Client = one crossing callback on the effect side. Runtime-first build order.
- Pi: sends user messages, receives replies and tool calls. Uses runtime as backend, not brain.
- Harness RPC (
omp --mode rpc): long-lived headless JSONL session; host tools, URIs, UI callbacks. Harness is host, not brain. - Command Center (Godot): pure client, no core logic. Renders worlds, bodies, tools, moods. Sends chat and interactions as gestures. Receives dialogue, autonomy commands, tool results as action calls. Subscribes to zone state and effect streams. See command-center/README.md.
- Future clients: mobile, web, VR; same runtime.
Interaction loop: chat -> text gate; room gestures -> switchboard; L1 admits; L2 action call drives body and dialogue the room renders.
Safety and governance
- No silent autonomy: significant actions visible, logged, reversible.
- Relational modes and guardrails: explicit, rule-bound, auditable.
- Operator (dafit): final override, always.
- Gate switchboard: operator presence is a gate input above the runtime attention policy; rule-bound, no LLM in loop. Physical form of final override.
Version: 0.13 | Updated: 2026-11-04