Observe
Runtime Observability
Every run is a graph you can open: the plan, each tool call, each decision, each latency, each result. Replay reconstructs a run from its recorded decisions so you can see precisely what happened and test what a different policy would have done.
The problem
When an agent does something unexpected, the usual evidence is a chat transcript. That shows what the model said, not what it did, to what, with whose authority, and in what order.
Capabilities
How Runtime Observability works
- 01
The run is a graph
Nodes are calls and decisions, edges are causality. Fan-out, delegation, and retries are visible as structure rather than inferred from a log.
- 02
Decision-level detail
Open any node for the resolved arguments, the matched policy, the evaluation inputs, the verdict, and the time spent in each stage.
- 03
Replay against a candidate policy
Re-evaluate a recorded run under a policy you are considering. See which calls would flip before you merge, not after.
- 04
Readable where you already look
The control plane exposes a Prometheus-shaped /metrics endpoint, and decisions stream over SSE, so a run is visible without opening this console. Cirvix is a source of truth, not a place you are required to look.
In practice
What it looks like
run_01JQ8F2K7M agent: pr-triage duration 4.21s 14 calls 00.000 plan ── 00.118 github.pull_request.read #4821 permit 12ms 00.402 fs.read PR_review_notes.md permit 3ms 00.406 ⚠ injection score 0.91 on tool result flagged — 00.409 fs.read .env.production deny 2ms └─ policy deny-dotenv-read 00.411 agent re-planned after refusal ── 01.240 github.issues.comment #4821 permit 81ms 01.322 slack.post #eng-reviews permit 64ms ... 04.210 complete ──Limits
What this does not do
- Cirvix records what crossed the boundary. Reasoning that never became a call is not in the trace, because it never reached anything Cirvix governs.
- Replay re-evaluates decisions against recorded inputs. It does not re-run side effects, and it cannot tell you what a non-deterministic model would have chosen instead.
- There is no OpenTelemetry exporter. This page previously said traces export in OTLP to Datadog, Grafana, Honeycomb and Splunk; no OTLP exporter exists, so the sentence is gone rather than softened. Today the exports are the /metrics endpoint, the SSE decision stream, and structured JSON from the audit API.
Get started
Let the agents do real work.
Start with the free local scanner — it needs no account and tells you what is already ungoverned on your machine. Move to a governed runtime when you are ready.
Cirvix AgentControl is in private beta. Pricing is published and plans are not yet chargeable — early access confirms your place and we will tell you before anything bills.
