Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 1.56 KB

File metadata and controls

48 lines (37 loc) · 1.56 KB

Contributing to TraceOtter

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.

Local Setup

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 doctor

The project metadata currently supports Python 3.11 and newer. Public CI runs the supported version declared for this repository.

Fixture-Only Checks

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 traceotter

Do 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.

Contribution Workflow

  1. Open an issue or small pull request with the problem, fixture path, and exact verification commands.
  2. Keep changes focused and avoid unrelated formatting churn.
  3. Add or update synthetic fixtures when a behavior needs representative data.
  4. 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.