Design partner program is openThree partners, real decision traffic →
razoo

Product · Observe

A read-only proxy that tells you what your agent keeps deciding.

Before you govern anything, measure it. Point your agent's base URL at Razoo Observe. It relays every request byte for byte, records the decision, and produces a crystallization report: which calls repeat, which are certifiable, and what they cost you. It changes nothing about your agent.

Setup

Same agent. Same model. Every decision recorded.

Observe routes by path: chat completions and the Responses API go to the OpenAI upstream, messages go to the Anthropic upstream, and anything else is passed through as-is. Your provider key travels on the request and is forwarded unchanged. It is never stored, logged, or read for any other purpose, and a test pins that no header value reaches the trace store.

Byte-faithful

Request and response bodies relayed untouched. Hop-by-hop headers dropped, everything else forwarded.

Streaming

Server-sent events pass through chunk by chunk as they arrive. The trace is assembled from a copy.

Compressed

gzip, brotli, and deflate are decoded for the trace copy only. The client receives the raw bytes.

one environment variable and one header
# OpenAI-compatible clients
OPENAI_BASE_URL=https://observe.razoo.dev/a/<your-account>/v1

# Anthropic clients
ANTHROPIC_BASE_URL=https://observe.razoo.dev/a/<your-account>

# your account token, from the portal
# send the header x-razoo-observe: <token>

# optional: name the workload so the report can split by it
# send the header x-razoo-workload: ap-invoices

# then, whenever you like, open the report in the portal
observe/report · refreshes as traffic flows

What is recorded

Three endpoints are traced. Everything is relayed.

Only POST bodies on the three decision endpoints are written to the trace store. Every other path is proxied without a record, including batches and token-counting, which have no stable answer to compare. If a trace cannot be parsed or decoded, the recording failure is counted and the client still gets its response.

Recorded

  • POST /v1/chat/completions, POST /v1/responses, and POST /v1/messages
  • Model, messages, tools, and tool choice from the request
  • Content, tool calls, and finish reason from the response
  • Input and output tokens, latency, streamed flag, HTTP status
  • The workload id from x-razoo-workload, or default

Passed through

  • Every other path, method, and body, unrecorded
  • Your Authorization and x-api-key headers, untouched and unread
  • Upstream status codes and error bodies, exactly as returned
  • Client aborts and upstream failures, marked on the trace

Where it lives

  • In your account's own store, isolated from every other account, in the region the portal states
  • Exportable as JSONL from the portal at any time
  • Never shared with Razoo beyond counts, and only if you switch that on
  • Delete the account and the traces are gone

The crystallization report

Structurally repeatable, and certifiable.

The report groups your agent's calls into repeats, and marks the repeats whose answer never varied as certifiable. Every group lists its trace ids so you can check it against the raw rows.

Repeat

A call your agent keeps making. The share of all decisions that are repeats is the repeat rate.

Certifiable

A repeat whose answer never varied and never errored. This is the share the kernel could plausibly convert to a rule.

Evidence rows

Every pattern lists trace ids so you can open the raw rows and disagree with the report.

Disagreement gallery

Repeats where the model gave different answers, with counts and evidence for each. These are the calls a person still needs to settle.

Savings, measured

Tokens and latency actually recorded on certifiable traces. Not a projection, not a baseline, and the report says so in its own text.

report/report.mdillustrative

Razoo crystallize

sample report · 14 days · 2,140 decisions · workload: all

Total decisions

2,140

In repeat clusters

38.2%

818 of 2,140

Certifiable

22.4%

480 of 2,140

Per workload

workloaddecisionsrepeatcertifiable
ap-invoices1,20442.5%28.3%
inbox-triage93632.6%14.8%

Top certifiable pattern · 1

96 occurrences · one answer every time · evidence rows 118, 131, 140

WHEN  workload ap-invoices · tools approve, route
      "invoice from a known supplier, PO matched, within limit"
THEN  tool approve · reason "within limit, PO matched"

Disagreement clusters

7

a person still decides these

Savings, measured

1.9M tokens

sample figures · recorded, not projected

Certified answers

Some repeats do not need a model at all.

When a repeat has produced the exact same answer every time, the report offers Answer this without the model. Press it, and the proxy answers that call itself, in the shape your client library already expects, until you say stop. Nothing is ever certified for you.

  • One click, one repeat at a time. A person looks at the calls and the answer and decides.
  • An answered call carries x-razoo-answered: certified and is recorded in your traces with zero tokens.
  • Any change to the model, the tools, the system prompt, the temperature, or the response format sends the call to your provider as before. If there is any doubt, it goes upstream.
  • Stop answering this retires a certification in one click. Report a bad answer does the same and keeps why. A certification expires unless it is reconfirmed.
response headers · illustrative
HTTP/1.1 200 OK
x-razoo-answered: certified

# usage, because none was spent
{ input_tokens: 0, output_tokens: 0 }

What it does not do

It watches. It rarely touches, and only on your say-so.

Observe is a falsification instrument for one claim: that a meaningful share of your agent's model calls are repeats a rule could make. It is built to be safe to run beside real traffic and useless for anything else.

Does not change behaviour, unless you certified it

No caching, no rewriting, no injected system prompts. The one substituted response is a call you certified yourself; every other call is relayed byte for byte.

Does not share your store

One isolated store per account, the same isolation an appliance has. No account can read another's traces, and Razoo staff do not read yours.

Does not send counts unless you say so

The report is computed from your traces alone. Sharing counts with Razoo is a switch you turn on, and it carries counts only.

Does not touch the kernel

Certifying a repeat answers that one call; it does not create or promote a kernel pattern. Conversion into a governed rule still goes through the replay gate, with a person promoting.
honest limits

The hosted sign-up on this page is on the launch plan. Here is what stands today.

  • Today, Observe and certified answers run from the CLI or inside the appliance image; the portal sign-up and hosted endpoint above are on the launch plan. Design partners and evaluations under contract get it now.
  • Your provider key is forwarded and never stored. Binding to any address but loopback needs an access token, checked on every request.
  • Upstream connect, header, and idle timeouts, and a record-size cap with metadata-only recording above it, are already built in.
  • The report gives two numbers: structurally repeatable, and literally replayable — the stricter one, with no placeholder standing in for a value that actually varied.

How this becomes the conversion number.

The pitch makes one measurable claim: a governed agent needs the model less every week. Observe gives the before. Its certifiable share is the ceiling on what the kernel could convert without anyone writing a rule. The kernel gives the after: the conversion dashboard and engine report recompute, per ISO week, the share of once-model decisions now resolved at a learned or structured rung, with tokens avoided, interrupts, demotions, and unsafe fires beside it.

If Observe shows your repeat rate is small, Razoo is not for that agent, and we will say so. That is the point of measuring first.

Two weeks of traffic. One report. No change to your agent.

Point your agent at your Observe endpoint, or apply as a design partner and we will walk you through what would convert, what would not, and why.