The playful docs twin of irinity.com
Five stones.
Strict separation
of powers.
The complete operator manual for IRIN's local-first deliberation stack. Every command, key, and switch, explained.
One signal chain, no shortcuts
Watch is cheap. Thought is rare. Action is final. Each tier earns the next, and no primitive may do another's job. Solid arrows are the supported path today; dashed arrows are deliberately not built in v0.1.
The rule that holds the gauntlet together
A Sentinel that needs an LLM to decide something is interesting is a Worker wearing the wrong label. Observer is not judge; judge is not actor. Budgets are the security model expressed as time and money: a fire decision costs at most 100 milliseconds, deliberation at most 120 seconds, and a Worker lives at most 30 minutes.
The five stones
Each stone is one primitive with one verb and one hard budget. Click any card for its full reference: duties, knobs, endpoints, and fine print.
Sentinel
Time stoneWatches, never speaks, never reasons.
Deterministic observers. No LLM calls in the watch loop, ever. A fire decision lands in 100 ms or less, and enabling a Sentinel arms nothing.
Council
Mind stoneSpeaks, never acts.
Multi-model deliberation with assigned seats, rounds, and a chair ruling. Thought is rare, so it gets a budget: 120 seconds, then silence.
Gateway
Space stoneGoverns every call it carries.
Routing, metering, and Ed25519 signing on a loopback-only edge. Direct is the default; Governed is an explicit per-seat opt-in, never a toll booth.
Worker
Power stoneActs, never remains.
Ephemeral execution bounded by a 30 minute hard kill. In v0.1 the gauntlet stops at the signed Outbox directive. No autonomous execution ships.
Librarian
Soul stoneRemembers, eventually.
Per-tenant identity and memory. Parked, not in this release; the wire types are reserved in sovereign-protocol. Some stones demand patience.
The Sovereign
Reality stoneDecides. Always.
The sixth slot is not software. It is the human each tenant scope serves, and the only authority that can arm the action path. Nothing executes without you.
Assemble the stack
Three ways in. Run every make command from the IRIN repository root. The full command reference lives on the Commands page.
macOS: the whole gauntlet
git clone https://github.com/irinityhq/irin.git cd irin make setup
OperatorPrepares private config and signing material, builds and starts Council, War Room Web, and Gateway, enables login recovery, then prints your service URLs. Preserves operator-owned values you already set.
make app-install
OptionalBuilds, atomically installs, and launches the native macOS desktop shell. It reuses the runtime make setup already started; it never starts a competing backend.
Ubuntu: browser War Room
make warroom
OperatorBuilds and starts Council plus War Room Web in the foreground on loopback. Open http://127.0.0.1:3010, stop with Ctrl+C. This path does not install login recovery, configure Tailscale, start Gateway, or provide the desktop app.
Either OS: prove the loop
make verify make verify-down
ProofRuns the Sentinel-to-signed-directive path end to end in an isolated stack: no provider keys, no hardware arming, own ports, own volumes. One signed mock directive lands in the Outbox. Details on the Ceremony page.
Where things listen
http://127.0.0.1:3010 - the browser UI for deliberation.http://127.0.0.1:8765 - deliberation engine, REST and streaming.http://127.0.0.1:18080 - with macOS make setup, or started separately on Ubuntu.Council War Room.app on macOS, same backend as above.https://<your-device>.<tailnet>.ts.net - macOS make setup only, when Tailscale is installed and connected. Never a public URL.The rule of this site
Every option you can click here explains itself: what it does, what it costs, and what it refuses to do. If a switch ever leaves you guessing, that is a bug in the docs, not a personality trait.
The main site is the serious one. This one is allowed to have fun, but it is not allowed to invent: budgets, defaults, and limits are quoted from the product's own docs and code. Where the product is honest about a boundary, these pages repeat that boundary word for word. IRIN is local-first software for one operator, pre-release, best-effort, and deliberation does not guarantee correctness.
Commands
Every make target, runtime subcommand, and CLI flag, tagged operator or engineering.
Config
Every environment variable and config key, with defaults and the deltas between example files and code.
Protocol
Envelopes, escalations, directives, canonical JSON, and the fences that keep stones in their lanes.
Ceremony
Arming is a ceremony, not a config flip. Touch ID or FIDO2, staged, expiring, audited.