Skip to content
08

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 timeline
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

Stated plainly, because a control plane that claims no limits has either not been deployed or is not being described accurately.
  • 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.