# Build artifacts
/ken
/ken-mcp
/dist/
/bin/

# v0.6.0 embedded-corpus demo (cmd/ken-mcp-docs): the model + docs are
# staged into the binary's directory at build time by scripts/build-docs-mcp.sh
# so //go:embed can pick them up (embed paths can't traverse ../). Both are
# regenerated on every build; never committed.
/cmd/ken-mcp-docs/model/
/cmd/ken-mcp-docs/docs/

# Model artifacts — large, downloaded per-machine, never committed
testdata/model/
*.safetensors

# Go
*.test
*.out
/vendor/

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

# Python tooling (pin_inference.py is for regenerating the golden fixture;
# its venv is reproducible and should not be committed)
.venv/
__pycache__/
*.pyc

# Generated fixture at root — the canonical copy is testdata/golden.json
/ken_golden.json

# 100k-input tokenizer parity dump (Stage-3 acceptance, regenerated via
# scripts/parity_dump.py). Tens of MB; never committed.
testdata/parity.jsonl

# NDCG@10 benchmark output (regenerated via bench/semble/run_ken.py;
# corpus + annotations live in MinishLab/semble's checkout, not here).
bench/semble/results/

# CoIR-CSN-Python external benchmark corpus + queries + qrels.
# Downloaded per-machine via scripts/bench_coir.py (~140 MB compressed,
# ~1 GB after materializing 280k corpus files). Never committed.
testdata/bench/

# Token-budget bench output (per-query JSON records, regenerated via
# `go test -tags=bench ./bench/tokens/`). Tens of MB; never committed.
# The markdown tables in docs/BENCH.md are the committed reference.
bench/tokens/results/

# `ken perf` collection output (regenerated via scripts/perf_collect.sh
# on the perf-investigation branch). Per-workload, per-date pprof
# profiles + JSON records + the built ken binary; reproducible from
# the methodology in docs/internal/PERF.md (on the perf-investigation branch).
# Tens to hundreds of MB; never committed.
bench_out/

# Investigation scratchpad — planning Claude's per-phase briefings and
# campaign plans drafted alongside the perf-investigation work. Not
# part of the published repo.
outputs/

# Bench stderr captures from M0/M6 rerank investigation runs.
# Reproducible from scripts/m0_ceiling.py + bench/semble/run_ken.py;
# never committed.
*.err

# CodeRankEmbed model snapshot — large, downloaded per-machine
# (typically a symlink into ~/.cache/huggingface), never committed.
# Companion to testdata/model/ above.
testdata/encoder-model

# local multi-module dev workspace (never commit)
go.work
go.work.sum
