# Python
.venv/
__pycache__/
*.pyc
*.egg-info/
build/
dist/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Benchmark datasets and model weights (downloaded, not committed)
bench/data/
models/
*.onnx
*.safetensors
*.bin

# Benchmark outputs
bench/runs/
bench/out/

# OS / editor
.DS_Store
Thumbs.db
.vscode/
.idea/

# Secrets
.env

# Where this machine keeps the owner's document library (bench/tools/doc_library.py reads it;
# TRUEDOC_LIBRARY in the environment does the same). The library itself is never in the repository.
bench/library_path.txt

# GPU step working files: inputs only. These are cut from the benchmark PDFs by
# select_pages.py, select_regions.py and select_bands.py, so they cost nothing to remake.
bench/gpu/pdfs/
bench/gpu/crops/
bench/gpu/crops_failing/
bench/gpu/bands/

# The model readings under bench/gpu/out*/ are NOT ignored, deliberately. They are the output of
# five paid GPU sessions (the fifth, 17 September, is out5/: about eighteen megabytes, two models
# over the whole benchmark), and every run since 55 replays them from
# disk through --vision-endpoint file:. Losing them would make every score since unreproducible
# without renting a GPU again, and the repository has no remote to fall back on.
#
# That includes out5/pro/own/, a model's readings of 505 pages of the owner's own library. I had
# ignored that folder as the words of insurers' documents; the owner ruled the same evening that
# they are publicly available documents and the readings are kept like the rest (D032).

# The OmniDocBench evaluation toolkit (cloned, Apache-2.0, not our code)
bench/omnidocbench/

# Another agent's whole-project review (17-18 September 2026), kept local on the owner's word:
# candid, useful, and not for the public repository.
docs/review/
