# AI agent runs and work records | Oxagen

Source: https://oxagen.sh/product/runs

# 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.

[Follow work from its source to its outcome](https://oxagen.sh/#demo)[Read the product overview](https://oxagen.sh/product)

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

**Cut the 4.11.0 release notes**Release agent run by Priya Shah**$2.84**Cost so far

1.  09:12**Run started on Claude Code**Mandate release. Operator Priya Shah.
2.  09:14**Read 22 files and 31 merged pull requests**Allowed by rule repo.read+$0.62
3.  09:21**Asked to push to release/4.11**Routed to Sam Chen by rule release-branch+$0.04
4.  09:24**Sam Chen approved the push**Answered in 3 minutes
5.  09:26**Edited docs/releases/v4.11.0.mdx**Allowed by rule docs.write+$1.31
6.  09:31**Opened pull request #8119**4 of 4 checks passed on the head commit+$0.87
7.  09:33**Run ended after 37 steps**Oxagen locked the record

**Locked at 09:33**Locked means any change after this point shows.`sha256:f2c9…34ef`

Illustrative A run from its first step to its locked record

01

## What a run record holds

What a run's record holds and where each part comes from
| 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 |

02

## 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.

03

## Run features

*   [
    
    ### Live runs
    
    Read a run while the agent works and steer it from the same page.
    
    ](https://oxagen.sh/product/runs/live)

04

## 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.

## Related pages

*   [
    
    ### Live runs
    
    Answer and steer runs in flight
    
    ](https://oxagen.sh/product/runs/live)
*   [
    
    ### Security
    
    Agent identity and recorded decisions
    
    ](https://oxagen.sh/roles/security)

## Product walkthrough

Follow a captured run from its instructions to its recorded result.

[Follow work from its source to its outcome](https://oxagen.sh/#demo)[Read the product overview](https://oxagen.sh/product)
