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

# Virtual env
.venv/
venv/
env/

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

# OS
.DS_Store
Thumbs.db

# Training outputs
output/
out/
checkpoints/
wandb/

# Soup local data
.soup/
*.db

# Test reports
report.xml
.benchmarks

# Secrets
.env
*.key

# Internal plan + local dev instructions (not for repo)
.claude/
.coverage
.agents
.codex

# Throwaway git worktrees used to review PRs in isolation (see CONTRIBUTING
# "Verify by mutation"). They live inside the repo so a review never touches
# the working tree, which means an untracked one is one `git add -A` away from
# being committed.
.review-worktrees/

# Internal brainstorming plans + design specs (local-only, not for repo)
docs/superpowers/

# Local scratch / temp scripts at repo root (e.g. _smoke.py, _scratch.py) — never committed
/_*.py

# Layer-streaming disk-throughput probe scratch file (soup doctor --disk / training pre-flight)
.soup-diskprobe-*
