Skip to main content
There are two ways an agent “runs” under Akhara: offline evals (batch, graded by verifiers) and live runtime enforcement (the PEP gating a real session).

Offline eval runs

Each run produces a trace under runs/<slug>/ with a summary.json (akhara.harbor.trace_export.v1) plus per-step screenshots and verifier results. The index (runs/index.json) records:
A step captures the action, what the agent saw, and how each verifier graded it:
Latch steps are flagged in the trace, so you can see exactly where a policy would have stopped or escalated the agent during evaluation.

Live runtime enforcement

In production the PEP wraps the five stages around a real turn.

A full member chat turn

A consequential action

The permit pattern shipped in this repo (medication renewal): the side-effecting service refuses to run without a fresh permit.

Everything is evidence

Every authorize call (allow, warn, block, escalate) is written to the enforcement feed as a policy_decision event:
That feed is your audit trail: nothing an agent does leaves without a record. Decisions can be sealed and later checked with the verification-record endpoints.

SDK requirements

Runtimes, versions, network, and configuration the PEP needs.