# Python
__pycache__/
*.pyc
*.pyo
*.egg-info/
dist/
build/

# Virtual environments
.venv/
.venv312/
venv/
env/

# Testing
.pytest_cache/
.coverage
htmlcov/

# Linting
.ruff_cache/
.mypy_cache/

# Environment
.env
.env.bak

# Logs (root-level scratch logs from harness runs)
*.log

# Sessions (user data, not code)
sessions/*.json
sessions/*.jsonl
sessions/*.jsonl.*

# Logs
logs/

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

# macOS artifacts
.DS_Store

# Windows artifacts
nul

# Claude Code session state (transient; commands stay tracked).
# settings.local.json is machine-personal PERMISSION state — never tracked
# (untracked 2026-07-02, v2 E0b: permission configs don't belong in history).
.claude/sessions/
.claude/cache/
.claude/projects/
.claude/worktrees/
.claude/*.lock
.claude/settings.local.json

# Node / JS verifier stack (write-back v1 — Vitest)
node_modules/
npm-debug.log*
