.venv/
__pycache__/
*.pyc
.python-version
dist/
build/
*.egg-info/
.pytest_cache/
.ruff_cache/
.mypy_cache/
node_modules/
*.tgz
packages/*/dist/
packages/*/bun.lockb
.DS_Store
.env
.env.local
.claude/
coverage/
.coverage
htmlcov/
.hf_cache/

# Training artifacts (large; regenerated by re-running pipelines).
# Anchored to repo root so they don't shadow training/src/gheim_training/data/.
# Use `/data/*` (not `/data/`) so the directory itself isn't excluded —
# git can't re-include files inside an excluded directory.
/data/*
/checkpoints/
/wandb/
/logs/

# Exceptions: data provenance / audit READMEs that explain what's in /data/.
!/data/*.md
# Exceptions: OpenRouter audit raw outputs and scoring report — these are
# the reproducibility evidence for the label-noise audit number cited in
# the paper §3.5 (~1.3 MB total; see analysis/audit_openrouter.py + audit_score.py).
!/data/audit_openrouter_*.jsonl
!/data/audit_openrouter_report.json
!/data/audit_openrouter_analysis.json
# v2 audit + frequency + balancer + split summaries (small JSONs that
# anchor paper §3.5/§4 numbers and document the balancer + split configs).
!/data/v2_p7_audit_report.json
!/data/v2_freq_report.json
!/data/v2_balanced_summary.json
!/data/v2_split_summary.json
# v3 probe report (frozen baseline for the v3 must-beat measurement)
!/eval/v3_probe_baseline.json
!/eval/v3_probe_v1.json
!/eval/v3_cross_v1_on_v2test.json
!/eval/v3_cross_v2_on_v1test.json
# v3 labelling post-process report (anchors the gazetteer/overlap-fix numbers)
!/data/v3_postprocess_report.json
!/data/v3_split_summary.json
!/data/v3_balanced_summary.json
!/eval/v3_probe_postrelease.json
!/eval/v3_test_per_lang_cat.json
packages/gheim-js/package-lock.json
