agent-hotwash
Analyze Claude, Codex, Pi, and code-bench traces for repeated work, execution costs, and opportunities to improve agent guidance. Reports link findings to source evidence.
Quickstart
Requires Python 3.12 or 3.13 and uv.
uvx agent-hotwash analyze /path/to/traces --semantic off --format html --out report.html
Open report.html and keep its sibling report-evidence/ directory when sharing.
--semantic off runs local analytics and detectors without provider calls.
The default, live, requires TYPESAFE_API_KEY; cached reuses saved responses
and fails on a cache miss.
Usage
uvx agent-hotwash analyze /path/to/traces --semantic off --format json --out report.json
uvx agent-hotwash analyze /path/to/traces --semantic live --format brief-json --out brief.json
uvx agent-hotwash render-brief brief.json --out brief.html
uvx agent-hotwash threads /path/to/sessions --format json
uvx agent-hotwash detectors
uvx agent-hotwash config-show
Pass multiple files or directories to analyze. Source formats are detected
automatically. Codex and Pi child sessions are grouped into thread trees.
| Option | Purpose |
|---|---|
--analysis diagnostics|memory|all |
Diagnostics (default), memory audit, or both |
--semantic off|cached|live |
Local measurements, cached judgments, or provider calls |
--format table|json|brief-json|csv|html |
Diagnostics output; default is table on a terminal, JSON when piped |
--out PATH |
Output file or existing directory; omit for stdout |
--config FILE |
TOML overrides merged over defaults |
--jobs N |
Worker processes; 0 uses available CPUs, capped by trace count |
--no-detectors |
Analytics only |
--fail-on LEVEL |
Exit 2 for findings at or above info, low, medium, or high |
Use analyze --help for selection filters and all options. Structured output
goes to stdout; progress and errors go to stderr. Exit codes are 0 for success,
1 for errors, and 2 for no analyzable traces or a tripped finding threshold.
Memory audits
uvx agent-hotwash analyze /path/to/traces --analysis memory --semantic off --format table
uvx agent-hotwash analyze /path/to/traces --analysis all \
--guidance /path/to/CLAUDE.md --format html --out review.html
Memory audits prepare file-read analytics and command datasets, then optionally
propose guidance changes from corrections and repeated discoveries. Live audits
need both TYPESAFE_API_KEY and OPENAI_API_KEY. all writes diagnostics to
review.html and a separate audit to review.memory.html.
See memory audits for configuration, outputs, and replay. Review proposals before changing guidance.
Reports and configuration
Start with the report's action cards, then follow citations to the trace. Missing evidence remains unknown. Cost, repetition, and duration alone do not establish waste or savings; semantic judgments remain experimental.
See report interpretation for formats and evidence rules.
Thresholds, model prices, and provider budgets live in
config/defaults.toml. Override selected keys with
--config; inspect the merged result with config-show.
Development
make install
make check
uv run agent-hotwash --help
make check runs formatting, lint, type checks, feature-bank validation, and
deterministic tests. Each leg prints one result line; failures include details.
make format applies formatting. make test-live requires TYPESAFE_API_KEY.
Use make help for individual targets.
Architecture: design. Release history: changelog.
To release, prepare matching versions in pyproject.toml and
src/agent_hotwash/__init__.py, then commit the reviewed changes. From a clean
checkout, make release checks, builds, and tags that version. make publish
requires the tag at HEAD and uploads to PyPI using configured uv credentials.
Neither target bumps the version.
Metadata
Release files for agent-hotwash 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agent_hotwash-0.5.0.tar.gz | 353.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agent_hotwash-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 766.8 kB
Release files / agent_hotwash-0.5.0.tar.gz
| Download URL | agent_hotwash-0.5.0.tar.gz |
|---|---|
| Size | 353.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32856ff252a61eb5f8a55e472ca1131bc677c4061f53851bd5922b8fe3957e57
|
|
BLAKE2b-256 checksum How to use checksums |
a12b51489e5a8fd4b6073d3cf1a6d50e240ec91c71a756ae9a4a81a75921ce4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / agent_hotwash-0.5.0-py3-none-any.whl
| Download URL | agent_hotwash-0.5.0-py3-none-any.whl |
|---|---|
| Size | 413.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d72cb4c950c4e512e35a599df40af11295ce0b2428913799a919d599a629294
|
|
BLAKE2b-256 checksum How to use checksums |
7445151b68882616f53b656ba7242919d72407aed510b5f32438852719108a43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|