Kernel 0.1.0 is configured by environment variables — dials — read by the kernel, the
reference and the bodies. Most have a standing default that stands a world on one machine; the
first-world compose file sets the handful that differ inside a box. A dial
declared as a governed value a person turns from the glass (the first architecture’s thirty-six
dials) is re-seated in this architecture and not yet built.
Provider keys — ANTHROPIC_API_KEY, OPENROUTER_API_KEY, OPENAI_API_KEY — are not dials of
Orreth’s: their values are read by the gateway alone, and the kernel checks only that a key’s
name is reachable where it stands before it registers a mind that needs it (the env-secrets
law: a key value lives in no record and no file of Orreth’s).
The rails and the ground
| Dial | Default | Governs |
|---|
SPINE_PG | postgresql://orreth:orreth-dev@localhost:5433/spine | Where the ground is — the Postgres database this world stands on. The image sets it by service name (ground:5432). |
SPINE_RABBIT | amqp://orreth:orreth-dev@localhost:5672/%2F | The invocation rail — RabbitMQ, where work waits for the one body that claims it. |
SPINE_KAFKA | localhost:9092 | The events rail — Kafka, where facts are published and replayed. A box reaches it as events:29092. |
SPINE_SCOPE | u:dev | The universe this process belongs to. Every row on the ground wears it. |
SPINE_QUEUE_NS | (empty) | The namespace for a cell's benches and topics, so two cells on one broker never share a queue. |
SPINE_CELL | local | The name of the cell this kernel keeps. A universe's home is settled on the ground at light. |
SPINE_PEERS | — | The cells this kernel names, as name=door pairs (two=http://127.0.0.1:4602). Named peers speak over the signed seam. |
SPINE_POOL | 16 | The most lines to the ground a kernel holds open at once; a knock past the ceiling waits for one. |
SPINE_OUTBOX_KEEP_DAYS | 7 | How long published facts stay in the outbox before the hourly prune removes them. |
The door
| Dial | Default | Governs |
|---|
SPINE_BRIDGE_PORT | 4600 (the reference: 4601) | The port the kernel's door answers on. |
SPINE_BIND | 127.0.0.1 (the image: 0.0.0.0) | The address the door binds. Loopback on a host; every interface inside a box so the published port reaches it. |
SPINE_HUMAN_ZONE | America/Denver | The ground's default time zone for a person who has not told it theirs. |
SPINE_MASTERS | — | Person DIDs declared masters at birth, comma-separated. A master's seat can govern. |
SPINE_SEAT_HOURS | 24 | How long a person's seat lasts before they prove a code again. |
SPINE_CEILING_RATE | 20 | Knocks a second one person (or one address at an open door) may make before the door says it is busy. |
SPINE_CEILING_BURST | 60 | How many knocks the ceiling lets through at once before the rate applies. |
The crew and the desk
| Dial | Default | Governs |
|---|
SPINE_BODIES | crew | Whether this kernel seats the crew as processes (crew) or none — none beside a lit reference that already seats them. |
SPINE_CREW | spine/crew.v0.json | Another crew manifest to seat instead of the standard one. |
SPINE_PYTHON | the spine's own venv | The Python interpreter that runs a body. |
SPINE_JOIN_LEASE_DAYS | 30 | How long a body's lease lasts before it re-joins through the desk. |
SPINE_LEASE_USD | 1.0 | A body's fuel allowance in dollars per window, written into its lease. |
SPINE_LEASE_RENEW_DAYS | 1 | The window the fuel allowance renews in. |
SPINE_KERNEL_DOOR | set by the kernel | Where a spawned body streams its words as they form — the kernel's own door. Set for the body, not by you. |
SPINE_SPAWN_TICKET | set by the kernel | The one-time ticket a spawned body carries to the desk so the crew is admitted on the manifest without a click. |
SPINE_BODY_EPHEMERAL | — | Tests only: a body with a throwaway self. |
SPINE_FAKE_REPLY | — | Proofs only: the one line the fake mind says while the gateway is dark. |
The gateway, the Stable and the shelf
| Dial | Default | Governs |
|---|
SPINE_GATEWAY | http://127.0.0.1:4604 | Where the gateway (LiteLLM) answers. Every thought goes through it. |
SPINE_GATEWAY_KEY | sk-orreth-dev | The gateway's master key, which the kernel uses to mint each body its own virtual key with its budget. |
SPINE_OLLAMA_BASE | http://host.docker.internal:11434 | Where Ollama on your machine is reached from a box, for a mind registered with the ollama provider. |
SPINE_MIND_CHECK_S | 600 | The stablekeeper's cadence: how often every mind is pinged and its price and end-of-life read. |
SPINE_EOL_HORIZON_DAYS | 30 | How far ahead the stablekeeper looks for a mind's announced retirement before proposing a swap. |
SPINE_TOOL_CHECK_S | 300 | The toolkeeper's cadence: how often every service on the shelf is probed. |
SPINE_TOOL_UNHEALTHY_STRIKES | 3 | Unhealthy probes in a row before the keeper proposes a retire — it never retires alone. |
SPINE_SERVICES_HOME | ORRETH_HOME/services | Where the services' own seeds live, so a tool keeps the same self every life. |
SPINE_MCP_REF · SPINE_MCP_REF_TOOLS | — | The reference MCP server (a clock) a proof stands on the shelf, and the tools it lists. |
SPINE_METAL | cpu | The metal this ground offers to placement; a template that needs more is refused at birth with the reason recorded. |
Homes
| Dial | Default | Governs |
|---|
ORRETH_HOME | ~/.orreth (the image: /var/lib/orreth) | Where every seed lives — the kernel's self, the crew's, the services'. Keep it on a volume: it is what makes a self survive the process. |
SPINE_KERNEL_HOME | ORRETH_HOME/kernel | The directory holding the kernel's own seed. |
ORRETH_SPINE | beside the kernel (the image: /opt/orreth/spine) | The spine home: the crew manifest, the templates, the tool and lever declarations, the guide, the policy. |
ORRETH_GLASS | spine/glass/index.html | The one page the kernel serves. |
SPINE_PROFILE | release | dev.sh only: which cargo profile the walk kernel is built with (debug keeps the quick build for a code loop). |
This table was collected by hand from the code that reads each dial — the kernel crate
(backend/plane/crates/orreth-spine/src), the reference (spine/orreth_spine), the rig
(scripts/dev.sh), the compose file and the Dockerfile — at kernel 0.1.0. When a dial moves, the
table moves with the release.