TraceOtter turns local coding-agent histories into training artifacts. Those histories can contain prompts, repository paths, code, secrets, and customer context, so contributions must use synthetic fixtures unless a maintainer has explicitly reviewed the data.
python -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e ".[dev]"
python -m traceotter.cli --json doctorThe project metadata currently supports Python 3.11 and newer. Public CI runs the supported version declared for this repository.
Use the sanitized examples in examples/fixtures/ for docs, tests, and quick
experiments:
python -m traceotter.cli --json distill \
--jsonl examples/fixtures \
--out /tmp/traceotter-fixture-demo \
--limit-files 20
pytest -q
python -m compileall traceotterDo not add raw local traces, copied chat transcripts, customer data, private repository paths, tokens, API keys, or machine-specific home directories to examples, tests, docs, screenshots, or issues.
- Open an issue or small pull request with the problem, fixture path, and exact verification commands.
- Keep changes focused and avoid unrelated formatting churn.
- Add or update synthetic fixtures when a behavior needs representative data.
- Run the fixture-only checks above before requesting review.
If a failing case depends on private history, reduce it to a synthetic fixture that preserves the shape of the bug without preserving the private content.