Runs
Know who directed the agent and what it produced. Each run records its prompts, its tool calls with the rule that answered each, the files git reports as changed, and the cost of the model calls Oxagen recorded.
A release agent's run on Claude Code. It read the repository, asked to push to the release branch and waited for Sam Chen to approve, edited the release notes, opened a pull request, and ended with its record locked. Each step names the rule that answered it and what it cost, $2.84 in all.
One run record
- Run started on Claude CodeMandate release. Operator Priya Shah.
- Read 22 files and 31 merged pull requestsAllowed by rule repo.read+$0.62
- Asked to push to release/4.11Routed to Sam Chen by rule release-branch+$0.04
- Sam Chen approved the pushAnswered in 3 minutes
- Edited docs/releases/v4.11.0.mdxAllowed by rule docs.write+$1.31
- Opened pull request #81194 of 4 checks passed on the head commit+$0.87
- Run ended after 37 stepsOxagen locked the record
sha256:f2c9…34efWhat a run record holds
| Part | What the record holds | Limit |
|---|---|---|
| Prompts | Each prompt's hash and length, and its text when the workspace keeps that content | When the workspace keeps hashes only, no text is kept, and the record says so |
| Tool calls | The tool, the rule's decision, the hashes and sizes of input and output, and the exit code | Only calls the harness's hooks or the gateway report |
| Changes | Every path git reports as changed, with line counts and the run's commits | Read at most once every 15 seconds and once when the run ends |
| Model calls and cost | The usage each model call reported and the cost Oxagen works out from it | Cursor's calls, and Stella's on a provider other than Anthropic, report no usage |
| Gaps | A gap frame for each thing the recorder knows it missed, such as an unobserved tail | The agent's computer can add a gap and cannot remove one |
Locked records
Locked means any change after this point shows. Each frame carries a hash of its content and the hash of the frame before it, so a removed, inserted, or edited frame breaks the chain from that point on. At a fixed interval, the agent's computer locks each chain that has new frames with a key that stays on that computer.
An exported run carries its frames and Oxagen's own lock, and oxagen verify checks both offline. A lock shows a change after the fact. It cannot stop one, and it cannot add an action the record never held.
Cost coverage
In scope
- Model calls Claude Code reports itself, and Codex and Stella calls on Anthropic that pass through the local model proxy.
- A count beside each spend total of the runs that reported no usage, and on which harness.
Out of scope
- Runs that reported no usage. Their cost shows as unknown and stays out of every spend total.
- Model calls Cursor sends to its own servers.
Product walkthrough
Follow a captured run from its instructions to its recorded result.