Skip to content
Governance

Prove what happened. Change rules like code.

A tamper-evident log of every decision. Replay for any run. Rules, budgets and kill switches kept in Git and applied through review.

Proof

A log you can check

Every gate decision, approval, write and run step is an event. Each event is chained to the one before it.

Change, remove or insert a row by hand and the chain no longer links. One command checks it and names the first break.

You answer “what did the agent do, and who said it could?” from the log, not from memory.

terminal
# Check the whole chain. A break is named by its position.
$ ok audit verify

# Replay a run step by step.
$ ok replay --run <run-id>
event log (example)
GateSupport Agent: refund $240 needs approval
next event carries this one's hash
ApprovalAdmin approved the refund
next event carries this one's hash
ActionRefund applied through Stripe, once
next event carries this one's hash
RunRun resumed and finished
policy/rules/refunds.yaml
# A rule, exported from the kernel to Git
- id: refunds-need-admin
  description: A refund needs an admin, whoever asks
  effect: require_approval
  approver: { approver: role, role: admin }
  matches: { tools: [billing.refund] }

$ ok policy export policy/
$ ok policy check policy/
$ ok policy apply policy/
Policy as code

Change rules like code

Rules, budgets and kill switches export to a Git repository. CI checks them. A change applies only through review.

  • Export what the kernel enforces today to files.
  • Check every change in CI.
  • Apply through review: a change waits for a person before the kernel uses it.
  • Policy dry run (explain): ask what the gate would decide for an action, and why, before anything runs.

Frequently Asked Questions

Put an agent on real work, with people in charge

Design partners run one real workflow on OrchKernel and work directly with the engineers building it.

OrchKernel is source-available and self-hosted.