opentraces   v0.4.8
Read the announcement

Traces are the new source code.

The unit of work is no longer the diff. It is the session you ran to produce it. Every prompt, tool call, and edit is behind the outcome.

opentraces is a local-first evidence layer for agent work, capturing what the agent sees, does, and changes.

View Docs
Installs4.6K
setupbuckettracetrailctxworkflowdataset
~$ opentraces setup
opentraces machine setup · v0.4.8agentsclaude · codex · pireadyhookssession captureongit + watcherpost-commit · blameonotelcontext-tree capturereadyskillshared agent skilllinkedhf loginalice-devauthGlobal tracking on — repos auto-enroll on first capture
opentraces bucket status

hub previewnew ─────────────────────────────

Learn from your team data.

Every run your team makes is data you can learn from. The Hub is the web companion to the CLI, where your shared bucket, trails, context tree, and datasets become browsable, with trace intelligence on top.

opentraces hub
opentraces.ai/hub
OpenTraces Hub — workspace overview
learn more about the hub

Get early access for you and your team — a 15min call with the founder to get you set up, plus unlimited trace intelligence credits while the Hub is in preview.

features ────────────────────────────────

private trace bucket

Capture-time envelopes, patch history, trail/context companions, blobs, and manifests stay local. Content-hash dedup keeps re-publishing and machine switches safe.

opentraces bucket status

trace discovery

query, skills, map, slice, and get expose deterministic packets over a local lexical + concept index (BM25 plus a bounded concept join, not embeddings), without loading full transcripts.

opentraces trace skills

trace trails

blame commit, blame pr, graph, and track connect each trace patch to the Git history that accepted it, across eight survival states.

opentraces trail blame commit

context tree

ctx commands reconstruct what the agent saw at a step and produce resume packets.

opentraces ctx tree

trace intelligence

Derive-on-demand signals about a run: context waste, run health, and A/B compare of two traces. No LLM, nothing persisted.

opentraces trace map --run-intel

workflow templates

Skill-format packages project raw trace evidence into schema-valid dataset rows for a chosen objective.

opentraces workflow create

dataset row review

Approve, reject, reset, schedule, and publish projected rows; raw traces never leave the bucket.

opentraces dataset review

security tools

Nine detectors, transformers, and a judge run in one fixed order before egress, all explicit and default off.

opentraces security tools list

agent-native cli

Structured JSON with next_steps on every command. Built for agents to drive agents.

every command --json

privacy & trust ─────────────────────────

Security tools to sanitize your traces.

Your traces are training data, so cleaning them can’t cost you the signal. Point detectors, transformers, and a judge at exactly the fields that matter, on capture into your bucket and again as you build a training dataset, and decide what runs where.

bucket policy
5 tools on · canonical order · SECURITY_VERSION 0.6.0
Detectorsemit redactable spans
Transformersrewrite the record
Judgeverdict, no mutation
privacy_filterdetector needs transformers + torch
People · addresses · emails · phones, in context
OpenAI’s open-weight Privacy Filter, a local token-classification model for context-aware PII no regex can express.
redaction
reviewed by Dr. Sarah Chenreviewed by [PERSON_1]
shipping to Boston, MAshipping to [LOCATION_1]
available at both stages — you decide where
1
Bucket entryEvery capture, before it lands in your private bucket.
~$ ot bucket security policy --tool privacy_filter --enable
guards raw captured traces before any remote sync
2
Dataset rowWhen a workflow projects bucket traces into rows, before publish.
~$ ot dataset security my-dataset --tool privacy_filter --enable
scoped to one dataset · approved rows only reach the Hub
One registry, one canonical order. bucket security guards raw traces in the one private bucket before sync; dataset security my-dataset scopes the same tools to a single dataset’s row workflows. Inline JSON: ot security sanitize --tools privacy_filter.

lineage ─────────────────────────────────

What did this trace do?

Every change carries the session that made it. Anchor it to the commit that accepted it, follow it through the rebases and reverts after, and you can ask questions git blame can't:

How much did we spend on code that never shipped?

Sum the tokens and wall-clock of every session whose patches ended reverted or lost.

What produced this line?

Reverse-blame any file:line back to the session, prompt, and diff behind it.

Which sessions introduced this bug?

Walk a bad commit back to its sessions — then fix the process, not just the line.

Which sessions reached main?

Filter every session by survival to compile an outcome-labeled dataset.

Behind every answer is one trail — the snapshots and patches in a session, the git anchor that accepted them, and what survived.

1snapshots & patchessession worktree
tr:6606fc1fclaude-code
~a83fgraph_api.py+14 ~4
~b2f1PushModal.tsx+30
~c4d8server.py~12 -2
snapshot per step · patch = one hunk
$ opentraces trace map --bursts
2git anchorthe bridge
ac019172feat(viewer): hover actions
6606fc1f48%
fe8fe3fd32%
5baac49420%
────100%of 94 lines
share of the diff, by hash then structure
$ opentraces trail blame commit
3survivalgit's verdict
6606fc1falive_on_path
fe8fe3fdalive_moved
5baac494alive_transformed
c42a9d10repaired
91bb4027reverted
?a17e02b8unknown
eight outcome states across history
$ opentraces trail track 6606fc1f

Prove it, then improve the process. Show which sessions shipped, which were reverted, and which introduced a bug or left tech debt, and you have the evidence to change what your agents do next — and to label outcome data after the fact. Run the security tools first and the trail itself becomes the label, with no in-session annotation.

how it works ────────────────────────────

agent harnessescaptured in every session
session
what it sees
context · ctx
what it does
the agent · trace
what it changes
environment · trail
trace
promptreasoningcontextcommandedit
what lasts
in git history
lineage
survives git history
commits
survivesreverted
bucket private evidence store
bucket/
├─ manifest.json the map
├─ traces/v1/ trace · trail · ctx
├─ blobs/v1/ context · raw
└─ events/v1/ replayable log
workflow dataset as code
search APIsecurity toolscustom
workflow/
├─ SKILL.md
├─ schemas/row.schema.json
├─ scripts/build_rows.py
└─ examples/ · tests/
dataset reviewed rowsinbox
reviewed · approved rows only
a dataset is built & kept current by its workflow
local
security screening tools
remote
sync
HF private bucketsynchronize a private bucket
publish
Hub datasetpublish, private or public
beyond training

Training data is just one use. Once your trace infrastructure is in place, you can leverage it to fuel many more workflows.

Trace Capsule

Share a real usage episode with a third party — attach the actual agent experience to a GitHub issue, not just a summary of the bug.

Skill Evaluation

Keep a versioned dataset of skill usage across traces, build a verifier per skill with the OT SDK, and score whether skill changes improve outcomes.

Standup

A daily report rebuilt from yesterday's sessions: what was attempted, what landed, what failed, and what's still open before you start today.

Spotlight

QMD for agent traces. Search your traces mid-session, outside the loop, or for a handoff, so context travels between sessions without planning ahead.

Alerts

Standing alerts and reports over trace usage: failure rate, context waste, third-party tools, secrets, policy violations, or any pattern you care about.

Intent Pull Request

Walk a PR's commits back to the originating sessions and compile the 'why' alongside the 'how' — intent, lineage, and evidence beside the diff.

get started ─────────────────────────────

Capture privately, publish projected rows.

Open data is the new open source. Your agent traces are the most valuable dataset nobody is collecting. Nothing leaves your machine until you approve and publish a dataset.

> Get my agent to install it

Paste the setup prompt into Claude, Codex, or Pi. It installs the CLI, shared skill, hooks, auth, and capture with your confirmation.

$ Install it yourself

One-line install with pipx or Homebrew, then run opentraces setup once.

pipx install opentraces
brew install [...] opentraces
? Learn more about it

See how capture, datasets, and publishing fit together before you commit.