← Back to blog

opentine v0.19.0: connect the evidence, keep the provenance

0xcircuitbreaker··4 min read

Agent evidence already lives in more than one place. v0.19.0 adds two conversion paths: export recorded file-write attribution as Agent Trace, and import Entire checkpoint sessions as opentine runs.

Neither replaces your coding agent or orchestration framework. They let you move the evidence you already have.

Send file attribution outward

tine export result.tine --format agent-trace --output trace.json

The output is one Agent Trace RFC 0.1.0 record, using the published schema's version: "0.1" spelling. Successful recorded tool writes become file entries, attributed to contributor ai and the recorded provider/model. The run ID remains linked through metadata["io.github.0xcircuitbreaker.opentine"].

Precision matters more than a full-looking report. A final whole-file write can carry known line ranges. Edits, patches, and shell redirects receive file-level attribution instead of invented ranges. Paths outside the enclosing repository are omitted and counted; VCS fields and conversation URLs are not fabricated. This format does not accept --endpoint.

Bring checkpoint sessions inward

# Newest checkpoint's last session
tine import . --format entire --save run.tine

# Select a checkpoint and zero-based session index
# runs must already be an opentine repository
tine import .::a3b2c4d5e6f7/0 --format entire --repo runs

The importer reads entire/checkpoints/v1 directly from git without checking out the branch. It can use the origin remote-tracking branch if there is no local branch. A checkpoint ID or unique prefix selects the checkpoint; /N selects a zero-based session. Auto detection recognizes a directory source.

Claude Code, Codex, and Gemini CLI transcripts reuse existing importers. Other agents import their prompt. Checkpoint metadata—including agent, model, touched files, IDs, and Entire's token usage—is retained under attributes["entire"].

Blob sizes are checked before reading, and session paths must match the expected sharded layout. These bounds protect the import path; they do not turn agent-writable transcripts into independently attested truth.

Keep the trust boundary visible

Agent Trace describes recorded writes, not every possible action a process performed. Entire import preserves source evidence rather than certifying its origin. Existing signing, integrity verification, and operator-owned trust policies still serve separate purposes.

This release keeps portable .tine v2 and repository v3 formats unchanged, with Python 3.11–3.14 support. Install the published release:

python -m pip install --upgrade "opentine==0.19.0"

Read the interoperability guide, upgrade guide, and release status. Exact behavior is documented in the tagged CLI reference and changelog. The release is on GitHub and PyPI.