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

# Tooling caches
.mypy_cache/
.ruff_cache/
.pytest_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/
.import_linter_cache/

# Test-supervisor / gates output
.gates/

# Virtualenvs
.venv/
venv/

# Editors / OS
.idea/
.vscode/
*.swp
.DS_Store

# Claude org profile — committed policy TRAVELS; machine-local and runtime do not.
# `.claude/org/settings.json` is deliberately NOT ignored: it is org agent-permission
# policy and belongs in the repo. `*.local.json` is machine-local (the copies on this
# bench carry 3-16 hardcoded /home/<user> paths); a repo that wants its local profile
# to travel templates it with __TRACKED_VAR__ placeholders first and commits it, and
# an already-tracked file is unaffected by these rules.
.claude/org/*.local.json
.claude/org/scheduled_tasks.lock
.claude/org/old_*
.claude/org/*.old
.claude/settings.local.json

# Session-hook state + kill-switch sentinel (SHP-08, SHP-10)
.claude/state/
.claude/mgf-hooks-disabled

# Local secrets / tokens — NEVER committed (AG-18, PKG-03, SECURITY)
my_stuff/
