__pycache__/
*.pyc
.venv/
.pytest_cache/
*.egg-info/
dist/
.mypy_cache/
.ruff_cache/

# Claude Code worktrees (whetstone-worktrees skill)
.claude/worktrees/

# SDD subagent scratch (briefs, reports, ledger)
.superpowers/

# Loop artifacts — the user's tasks, the nightly run state, the checkpoints it
# produces, and the morning reports are the user's own data and never belong in
# the repo (see CLAUDE.md: no data egress, the loop stays local).
# Pre-declared: these directories don't exist yet: the loop is not built.
/runs/
/checkpoints/
/tasks/local/
/reports/local/
/_sandbox/

# Fused models — `whetstone fuse` merges an adapter into its base and emits a standalone
# model. The first one is 988 MB; a 32B base's would be tens of gigabytes, and a blob committed
# once is in the history for good. Same reasoning as /weights/ below, but this directory is
# something *we* produce rather than something we fetch, so it is easier to create by accident.
/fused/

# Model weights — the bake-off loads local MLX checkpoints (13.4 GiB for the
# three candidates), and a blob committed once is in the history for good.
# Pre-declared: this directory doesn't exist yet: nothing has been fetched.
/weights/

# Dashboard
node_modules/
.next/

# Local tooling artifacts — a code-graph index and an MCP server's cache, both
# derived from the tree and rebuilt on demand. Neither is evidence and neither is
# reproducible across machines, so they belong nowhere near a commit.
/graphify-out/
/.serena/
