# ── Python ─────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*$py.class
*.so
.mypy_cache/
.ruff_cache/
.pytest_cache/
.hypothesis/

# ── Node ───────────────────────────────────────────────────────────────
node_modules/

# ── Virtual environments ───────────────────────────────────────────────
.venv/
venv/
ENV/

# ── Build artefacts / packaging ────────────────────────────────────────
dist/
build/
*.egg-info/
*.egg
site/
dashboard/coverage/
*.tsbuildinfo
# Dashboard build output IS tracked — needed in wheel via
# src/sovyx/dashboard/static/. Rebuild with: cd dashboard && npm run build

# ── IDE / editor ───────────────────────────────────────────────────────
.idea/
.vscode/
*.swp
*.swo
*~

# ── OS ─────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db

# ── Secrets / env ──────────────────────────────────────────────────────
.env
.env.*

# ── Databases / local Sovyx data ───────────────────────────────────────
*.db
*.db-wal
*.db-shm
.sovyx/

# ── Coverage ───────────────────────────────────────────────────────────
htmlcov/
.coverage
.coverage.*
coverage.xml

# ── Models (large binaries, fetched at runtime) ────────────────────────
*.onnx
*.bin

# ── Internal docs / tooling output (kept local only) ───────────────────
.context/
.cursorrules
docs/_meta/
docs-internal/
vps-brain-dump/
erebus/

# ── Claude Code local runtime state ────────────────────────────────────
.claude/

# ── Local diagnostic / forensic scripts (not shipped) ──────────────────
/tmp/
/mic_test.py
/sovyx-*.ps1
/voice-diag.ps1
/scripts/forensic_*

# Per-incident forensic investigation workspaces — e.g.
# ``.forensic-workspace/`` built by the SVX-VOICE-LINUX-20260422
# post-mortem. These are private investigation notes (analysis,
# diag_package, MISSION_PLAN, planning/…) and can grow to tens of MB;
# they don't belong in the repo but must stay on disk for reference.
.forensic-workspace/

# Release artefacts of the standalone sovyx-voice-diag tool. Versioned
# tarballs drop into the repo root when rebuilt; they're a sibling
# release and don't ship with the main package.
/sovyx-voice-diag-v*.tar.gz
/sovyx-voice-diag-v*.tar.gz.sha256

# pilot tarballs received from operators (analyst-side workspace)
incoming/
