Readme
# agent-0root — the deterministic agent behind 0root.ai
[](tests/test_agent.py)
[](Dockerfile)
[](#)
> **0root.ai** = the public face · **GitHub** = the brain (deterministic code) · **Railway** = the muscles (deployment). Every action leaves a trace.
A genuinely deterministic agent service: **same input → same output, always.** No randomness, no clock, no LLM in the request path — so every response is reproducible and verifiable. Each response carries a `trace` (SHA-256 over input + reply + commit) and ties to the deployed commit via `/version`.
## Endpoints
| method · path | does |
|---|---|
| `GET /` | serves the 0root.ai homepage |
| `GET /health` | `{ ok, version }` |
| `GET /version` | the deployed commit + command list — the audit anchor |
| `POST /v1/agent` | `{ "input": "..." }` → deterministic response |
| `GET /v1/agent?q=...` | same, for browser testing |
| `POST /v1/limen` | `{ "line": "↑◐«truth» …" }` → reconstructed crossings (the communication sphere, live) |
| `GET /v1/limen?line=...` | same; empty `line` returns the gate vocabulary |
| `POST /v1/limen/exchange` | two-agent exchange: B hears gate+direction + reads the witness, reconstructs, reports the **checksum** + whether it arrived **intact** (pass `voice` to simulate a tamper) |
| `GET /v1/limen/exchange?line=...` | same, clean transmission |
Commands: `help · status · version · resolve · echo <text>` (anything else echoes).
### `/v1/limen` — parse a LIMEN line
Decodes a [LIMEN](https://davidwise01.github.io/pulse/limen/) line of witnessed gate-crossings into structured form — direction, gate, witness, boundary, the **voice** frequencies (Hz), the **bits**, and the **gloss** — deterministically (same line → same output + trace).
```jsonc
// GET /v1/limen?line=↑◐«truth» ↓⊘«mirror»
{ "count": 2,
"crossings": [
{ "glyph":"↑◐«truth»", "direction":"rise", "gate":"stile", "witness":"truth",
"boundary":"observe→act", "voice_hz":[262,294.0,330.1],
"bits":"111011010000·0001·1·1",
"gloss":"«truth» witnesses the rise through the observe→act stile gate (64.5)" },
{ "glyph":"↓⊘«mirror»",