**/kubeconfig*
**/.env
**/.venv
**/__pycache__/
**/.ruff_cache/
.DS_Store
logs/

__pycache__
py_test
.pytest_cache/

node_modules
profiling-data/

.opencode
.claude/settings.local.json
# Per-machine, per-worktree: which dev server the Browser pane starts. Every
# worktree wants a different target (canopy here, a docs site there, a studio
# app in a third), so a tracked file means every worktree shows up dirty — and
# a stray port number in it once dragged a 30-minute backend e2e onto a
# frontend-only PR (#722). Claude Code creates the file when it is missing.
.claude/launch.json
.claude/worktrees/
.claude/scheduled_tasks.lock

# Debug / ad-hoc data dumps
globals_dump*.json
wandelbox-4qq9rq.yaml

# Working-scratch investigations — fine to write into docs/investigations/
# locally, but the tree must not be committed. Load-bearing facts go inline
# at the citation site (ADR / spec / code docstring); see AGENTS.md
# § Response Length.
docs/investigations/

# Playwright MCP session scratch (console logs + page snapshots)
.playwright-mcp/
