# Environment files
.env
.env.*
*.env
# …but DO track the sample so others can copy it
!.env.example

# Local development overrides
*.local
*.dev

# Secrets
*.key
*.pem
# Python build artifacts
__pycache__/
*.pyc
*.pyo

# IDE
.idea/
.vscode/

# Claude worktrees
.claude/worktrees/

# OS / tooling cruft
.DS_Store
.coverage
.coverage.*
htmlcov/
nohup.out

# Build artifacts
dist/
build/
*.egg-info/

# Datasets — downloaded on demand, never committed.
# NB: .gitignore has no inline comments — keep patterns on their own lines.
# LOCOMO (make bench-locomo):
evals/locomo/data/
# LongMemEval-S (clone upstream / make repro):
evals/longmemeval/LongMemEval/

# Eval + benchmark run outputs (regenerated; not source)
results/
bench/results/*.json
evals/**/.wiki_cache*/

# v3 synthesis extraction cache (deterministic LLM call cache — large, regenerable)
.synthesis_cache/

# Website toolchain (dist/ already covered by Build artifacts above)
node_modules/

# One-off eval run artifact (control-arm failed question ids; regenerable)
samples/control_failed_ids.json

# Personal, machine-specific Claude Code settings (hooks reference local services)
.claude/settings.local.json
