# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
.eggs/
build/
dist/
release-dist/
wheels/
*.whl
*.tar.gz

# Virtual environments
.venv/
venv/
env/
ENV/

# Temporary files
__tmp_*.txt
__pycache__/
*.py[cod]

# Tests, type/lint caches and coverage
.pytest_cache/
.mypy_cache/
.ruff_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/
coverage.xml
reports/
.test_tmp/
_cov.txt
base_orig_tmp.py

# IDE / OS
.idea/
.vscode/
*.swp
*.swo
.DS_Store
Thumbs.db

# Local workspace/session state
.workbuddy/
.workbuddy-ai/

# Local data stores (Golden binary fixtures stay tracked under tests/golden)
data/
*.parquet
*.duckdb
*.db
!tests/golden/**/*.bin

# Runtime and operational outputs
.atst/
logs/
*.log
ops/smoke_results.jsonl
audit_report.json
audit_summary.md
host_audit_report.json
benches/results/ci_smoke.json
benches/results/ci_time_smoke.json

# Golden replay scratch
tests/golden/**/tmp_*/
tests/_tmp_golden_test/

# Codegen draft area (auto-generated, not part of the package)
atst/tools/generated_draft/

# Local verification worktrees created by refactor sessions (git worktree add)
wt_*/

# uv environment lock: nothing in the gate chain reads it (CI installs
# `pip install -e ".[all,dev]"`), and it has never been tracked.
uv.lock

# Sniffer auto-inferred specs stay out until hand-verified into PROTOCOL_SPEC
PROTOCOL_SPEC/_sniffer/**/DRAFT.yaml
