# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
.eggs/
*.egg
MANIFEST

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

# uv
.uv/

# Testing
.pytest_cache/
.coverage
coverage.xml
htmlcov/
*.coveragerc

# Mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Ruff
.ruff_cache/

# IDE
.vscode/
.idea/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# Secrets / env
.env
.env.*
!.env.example

# Distribution
*.whl
*.tar.gz

# Reports
reports/
*.html
!docs/**/*.html

# Worktrees
.claude/worktrees/

# Ad-hoc spot-check scripts (uncommitted per convention)
scripts/spot_check_discoverability_judge.py
scripts/validate_t5_docs_manifest.py
scripts/spot_check_fixer.py
scripts/pr32_body.txt
scripts/tx_breakdown_analysis.py
scripts/analyze_frontier_t18.py

# Run-output scratch files (experiment results, watchdog logs)
*_result.txt
*_results.txt
*_stderr.txt
*_watchdog.txt
*test_output.txt
ollama_conn_monitor.*
t18_watchdog.ps1
ty_t18_watchdog.txt

# LaTeX build artifacts (docs/paper/latex/main.pdf is committed deliberately)
docs/paper/latex/*.aux
docs/paper/latex/*.bbl
docs/paper/latex/*.log
docs/paper/latex/*.out
docs/paper/latex/*.blg
docs/paper/latex/*.toc
