# Build trees
/build/
/build-*/
/cmake-build-*/

# Scratch space for benchmarks, staging, etc.
/tmp/

# Editor / OS
.DS_Store
*.swp
*.swo
.idea/
.vscode/
*.iml

# Claude Code — local state ignored, but project-versioned skills are carved back in.
# Use .claude/* (not .claude/) so git can descend and honor the negations below.
.claude/*
!.claude/skills/

# Python (for converters under scripts/)
__pycache__/
*.py[cod]
.venv/
.uv/

# Generated artifacts that should not be committed
*.gguf
*.nemo
*.safetensors
*.onnx
*.onnx.data

# Local model artifacts (converter output, etc).
/models/

# Local-only fetched golden assets (kept out of git - they
# should be fetchable, not assumed present in every contributor environment)
/tests/golden/**/*.f32
/tests/golden/**/*.bin
/tests/golden/**/*.npy

# Symlinked references stash for editor grepping
/references/

# WER evaluation data + generated working reports.
/samples/wer/
/reports/*

# Reviewable porting evidence (intake, porting log) is intentionally committed.
!/reports/porting/
!/reports/porting/**

# ...but per-run preflight outputs and validate report bundles are ephemeral:
# they regenerate in seconds from committed inputs (manifest, tolerance, code).
# Committing them without CI adds clutter without verification. Paste their
# stdout into the PR description instead; the reviewer re-runs to verify.
/reports/porting/*/*/preflight-gate-*.json
/reports/porting/*/*/preflight-gate-*.md
/reports/porting/*/*/[0-9]*T[0-9]*Z-*/

# Internal planning docs (not committed)
PORTING.md
RESUME.md
PERF.md
WER_TESTING.md

# IDE / language-server artifacts
.cache/
