Documentation
Razoo documentation
Razoo is a governance kernel that sits under any agent framework. It stages every side effect, learns the calls your people make, and turns the repeats into rules that run without a model.
What Razoo is
Your agent proposes. The kernel stages, audits, and learns. Every piece of work walks a fixed ladder of resolution rungs: deterministic rules first, then a learned pattern if one has earned the right, then the model only for what is left, and a person for anything the model may not decide. Nothing executes until a person confirms it. Every decision is recorded with the rung that resolved it, the artifacts that fired, and the tokens it cost, and it can be replayed bit for bit. State is a SQLite file on a volume you own.
Two ways to run it
| Shape | What you get | Start |
|---|---|---|
| Appliance | The operator console and the kernel in one Node process. A queue, decisions, patterns, connectors, and the audit trail. Clone and run locally, or build the Docker image and run it on your own infrastructure. | Install then Appliance deployment |
| SDK | @engine/sdk 0.1.0: the kernel and the govern surface as one Node 20+ ESM package, installed from a tarball into your own TypeScript product. Your domains/, your SQLite file, your UI. | Install then Quickstart |
The SDK is the product. The operator console is its reference implementation. Both share one kernel and one set of invariants.
Start here
The shortest possible loop
import {
bootEngine, clockFromIso, submitWork, proposeAction, confirmAction, drainOnce,
} from "@engine/sdk";
bootEngine({ root: process.cwd() });
const ctx = clockFromIso("2026-09-03T09:00:00.000Z");
const work = await submitWork({
work_type: "lead",
source: "my-agent",
subject: { intake: "hello" },
ctx,
});
if (!work.ok) throw new Error(work.error);
const proposal = proposeAction({
workItemId: work.work_item_id,
actionId: "record_intake",
ctx,
});
// proposal.status === "pending". Nothing has executed.
confirmAction(proposal.stagedId!, ctx); // a person did this
await drainOnce(ctx); // now it executesThe quickstart walks through each line and shows the same loop from the CLI.
What is in each section
| Section | Pages | Covers |
|---|---|---|
| Start | Overview, Install, Quickstart, Concepts | Install the kernel, run the full loop once, and learn the vocabulary the rest of the docs assume. |
| Learn | How authority is earned, FAQ | How a human judgment becomes a rule that runs at zero tokens, and the questions people ask first. |
| Reference | Reference documentation | The agent folder, the SDK and CLI references, connectors, environment, deployment, operations and the security model. Ships with the software. |
How these docs handle what is not built yet
These pages document the code as it exists today. Where a capability is on the launch plan but has not shipped, it is marked like this and is not presented as available:
Three facts these pages rely on. Persistence is SQLite on a volume you own; there is no hosted SQL database. OIDC login gates the console; ENGINE_AUTH=local is a loopback-only alternative for a single operator's own machine. No content ever leaves your tenant; licensed installs report decision counts only, for billing, and air-gapped sites send a signed monthly usage file instead.