# Python / venv
__pycache__/
*.py[cod]
.venv/
.pytest_cache/
.mypy_cache/
.ruff_cache/
*.egg-info/
*.dist-info/
.eggs/
pip-wheel-metadata/
site-packages/

# AI tooling — local only (plan/10 §3.2)
CLAUDE.md
.claude/
.cowork/
.anthropic/
.agent-sessions/
.cursor/
.aider*
.windsurf/
.continuedev/
*.session.jsonl

# Build / OS / spike artefacts
build/
dist/
.DS_Store
*.log
# Local/scratch spike runs are gitignored — they're operator-side
# experimentation, not part of the canonical experimental record.
# Note: we ignore entries *inside* spikes/results/ rather than the
# directory itself, because git will not descend into a fully-
# excluded parent and the carve-out below would have no effect.
spikes/results/*
# Carve-out: canonical stage runs (Stage 1 / 2 / 3) are the
# audit trail required by ADR-007 §Discipline. The result archives
# under spikes/results/stageN-<AXIS>-<DATE>/ MUST be committed so
# the per-axis SpikeRun JSONs are replayable from git. Renamed or
# scratch-prefixed runs (e.g. spikes/results/debug-foo/) remain
# ignored.
!spikes/results/stage[1-3]-*/
.local/
sbom.spdx.json
licences.json
htmlcov/
*.cover
.coverage
coverage.xml

# JetBrains IDEs
.idea/
*.iml
*.iws
*.ipr

# VS Code
.vscode/
*.code-workspace

# ML experiment artefacts
wandb/
outputs/
multirun/
checkpoints/
*.pt
*.pth
*.safetensors
*.ckpt

# Docs build
site/

# OS
Thumbs.db
ehthumbs.db
Desktop.ini
