# Python
__pycache__/
*.py[cod]
*.egg-info/
dist/
build/
.venv/
*.egg
.mypy_cache/
.ruff_cache/
.pytest_cache/
htmlcov/
.coverage
coverage.xml

# Environment
.env
.env.local
.env.*.local
.secrets/

# IDEs
.vscode/
.idea/
.claude/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Node (web app)
node_modules/
.next/
out/

# ChromaDB local storage
.chroma/

# Persona working directories
.persona_work/
.persona_audit/

# UV — uv.lock IS committed (reproducible builds; Dockerfile COPYs it
# into the image; the CI deploy fails without it).

# rsync atomic-write tempfiles
.*.??????

# Docker
docker-compose.override.yml

# Operational caches / temp workspaces
.playwright-mcp/
.tmp_smoke_workspace/

# Spec 16 D-16-X-3: inspection artifacts (.docx/.pptx/.xlsx/.pdf) are binary;
# evidence at close-out is the per-row scorecard in state.md, not the binaries.
docs/specs/phase2/spec_16/inspection/

# Spec 17 T09 chart-inspection artifacts (.png) are binary; same discipline —
# scorecards in state.md are the close-out evidence, not the PNG files.
docs/specs/phase2/spec_17/inspection/
packages/web/evidence/
docs/*
CLAUDE.md
