/target
dhat-heap.json
python/venv/
__pycache__/
*.egg-info/
python/build/
.DS_Store
python/glmm/_native*.so
python/glmm/_native*.pyd

# validation: campaign raw output is regenerable and ignored; campaign reports/ are
# committed. All input CSVs under validation/data/ ARE committed (empirical from lme4/nlme
# byte-for-byte; simulated frozen by bytes -- cargo test include_str! reads them,
# incl. in CI).
/validation/campaigns/speed-campaign/data/
/validation/campaigns/speed-campaign/results/
# measurement tools: per-run probe/test output and generated model data, regenerated
# every run.
/validation/tools/lanewidth/results/
/validation/tools/memory/results/
# bit-identity dumps: a machine-local "what moved" report (tools/bit_identity/dump.rs).
/validation/tools/bit_identity/*.json
# validation/grid (the accuracy grid): generated CSVs are derived from manifest.json
# + a seed and are regenerated by gen.R, so they are not committed -- EXCEPT
# data/fast/, which CI's accuracy check reads on every push.
/validation/grid/data/*
!/validation/grid/data/fast/
# read by the weighted-AGQ lib test via include_str!, so it must survive a fresh checkout.
!/validation/grid/data/gaml_int1_g3000p20_bal_base_wts.csv
# Every grid run is built in scratch/; only the kept slots last/ and last-timed/
# are committed (grid/promote.sh). The per-worker part files are a copy of
# results.jsonl.
/validation/grid/runs/*/scratch/
/validation/grid/runs/*/*/results.part*.jsonl
# run.sh launch logs for the long oracle passes.
/validation/grid/*.log
