Copied to clipboard

tapes backfill

Backfill captured data into a running tapes deployment. Subcommands replay existing capture artifacts through the normal ingest path, so every write is idempotent: raw turns dedup on their capture id, and re-deriving the affected sessions reproduces the span projection.

The default --ingest-url (http://127.0.0.1:8090) matches a platform tapes-ingest deployment (e.g. through a port-forward). Against a local all-in-one tapes serve, the ingest listener is on :8082 — pass --ingest-url http://localhost:8082.

tapes backfill transcripts

Upload Claude Code transcripts into tapes' immutable raw layer. Reads <session>.jsonl files (and each session's subagents/ directory, including the agent meta.json fork edges) from a Claude Code project directory and POSTs them to {ingest-url}/v1/ingest/transcript. The deriver fuses them with the wire capture: transcripts supply the causal/fork skeleton, the wire supplies the complete call inventory.

tapes backfill transcripts \
  --dir ~/.claude/projects/<project> \
  --session 0ea3c2cc-fe9d-41ff-aab1-4134ad00c350 \
  --ingest-url http://localhost:8090
Flag Description
--dir Claude Code project directory holding <session>.jsonl files (required)
--session Session id(s) to upload (default: all in the directory)
--ingest-url Base URL of the tapes-ingest server (default: http://127.0.0.1:8090)
-v, --verbose Log each file's outcome

Idempotent: unchanged files dedup server-side; grown transcripts append a new version.

tapes backfill wire-trace

Replay paperd wire-trace capture bundles through tapes-ingest. Reads turn-* bundles (request.json + response.sse + meta.json) from a paperd wire-trace directory, reconstructs the ingest envelope that tapes-extproc would have dispatched live, and POSTs each to {ingest-url}/v1/ingest.

tapes backfill wire-trace \
  --dir ./wire-trace \
  --ingest-url http://localhost:8090
Flag Description
--dir paperd wire-trace directory holding turn-* bundles (required)
--session Harness session id(s) to replay (default: all)
--ingest-url Base URL of the tapes-ingest server (default: http://127.0.0.1:8090)
--dry-run Parse and reduce every bundle but skip the POST
-v, --verbose Log each turn's outcome

Idempotent: re-running is a no-op for turns already backfilled, and turns that already landed via live capture only gain their raw row.

Last updated: