Skip to main content

tracedeck — structured decision logs for AI agents

The debugging fix for "the 200 status code that is completely wrong". Agents don't crash — they confidently execute the wrong plan. The only artifact is a 100k-token context window no human can audit. tracedeck replaces it with a git-like decision log: every decision point is a structured record written to a known directory by convention, replayable, diffable, and convertible into regression tests.

Why

  • Traces alone are unreadable. A single turn is 3-15 LLM calls; a failed run at turn 40 is 80k+ tokens. Structured decision records — decision, rationale, sources, confidence, cost — turn debugging into "check the decision log", not "read the context window".
  • Decision-point diffing barely exists. When you change a prompt or swap a model, you need to know which decision points changed and in what direction — the agent equivalent of a code diff.
  • The eval-debugging loop is the discipline that scales. Every resolved failure becomes a test case; every test case that fails triggers an investigation. failures closes that loop automatically.

Record schema

One JSON object per line, runs/<run_id>.jsonl:

{"run_id": "r1", "step": 3, "decision": "use_get_pipeline_logs",
 "rationale": "deploy failure is in the pipeline, not the image",
 "sources": ["ops/run-4821.log"], "confidence": 0.91, "cost": 0.012,
 "tool_calls": [{"tool": "get_pipeline_run_logs"}], "status": "done",
 "model": "claude-sonnet", "timestamp": "2026-08-15T12:00:00+00:00"}

Required: run_id, step, decision. Optional: everything else.

Usage

./tracedeck init ~/traces

# agents append records (flags or --stdin for JSON)
./tracedeck record ~/traces --run-id r1 --step 1 --decision use_lookup \
    --rationale "well index docs exist" --sources '["pvt/black-oil.md"]' \
    --confidence 0.9 --cost 0.001
echo '{"run_id":"r1","step":2,"decision":"escalate","status":"failed"}' \
    | ./tracedeck record ~/traces --stdin

./tracedeck replay ~/traces r1          # git-log-style rendering
./tracedeck diff ~/traces r1 r2         # decision-point diff (exit 1 if differs)
./tracedeck golden ~/traces r1          # mark known-good run
./tracedeck check ~/traces r2           # regression detection vs golden
./tracedeck failures ~/traces r1        # extract failed steps -> eval test cases
./tracedeck runs ~/traces               # list runs + decision-point counts

diff/check exit non-zero on divergence, so CI can gate on agent regressions.

Metadata

Release files for tracedeck 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tracedeck 0.1.0
File Size Uploaded Provenance
tracedeck-0.1.0.tar.gz 5.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tracedeck 0.1.0
File Interpreter ABI Platform
tracedeck-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / tracedeck-0.1.0.tar.gz

Download URL tracedeck-0.1.0.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1014c9c7aaef1fa3ab1d39b3026147969c57acd89eff1bc7f9185b26ac97ac06
BLAKE2b-256 checksum
How to use checksums
929fe3ac73f6f40a025e160dd0ffa261de004fd189b19f515b67fa8ad49e1132
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / tracedeck-0.1.0-py3-none-any.whl

Download URL tracedeck-0.1.0-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e4ee4f520932d17d9b5d95c0973078f67dc0f7a051b182ddd6e11a46cc04ffc
BLAKE2b-256 checksum
How to use checksums
7b1c29a971c8704e599f31daf2a0be27661e2b9798294ba121a3c46df25d8f1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Security for tracedeck 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page