# ---- OKFM generated artifacts -------------------------------------------
# These are DERIVATIONS of the bundle, rebuilt on demand. They are never a
# second home for knowledge, and they must never reach a benchmark control
# arm or a context package. Regenerate with `okfm view` / `okfm index`.

okfm-index.json
okfm-web-ui.local.html
.okfm-cache/

# The shipped viewer (okfm-web-ui.html) IS committed: it contains metadata
# for the bundled guide only, and fetches everything else at runtime.

# ---- Telemetry ----------------------------------------------------------
# Run records are written every build (spec 10.1). They are per-machine run history
# here, not shared bundle content, and committing each one would be a commit's worth
# of churn per run. A team that wants shared history removes this line — the records
# are identical either way. Rationale in dropin/telemetry.py.

dropin/references/telemetry/runs/

# ---- Benchmark arms -----------------------------------------------------
# A materialised arm is a full copy of the corpus, rebuilt from the same seed on
# demand. Everything else about a run IS committed (spec 18.1 rule 5) — prompts,
# answers, the key, the verdicts and the report — so any run can be regraded later
# under a different rubric, and so a published number can be checked against the
# answers it came from rather than taken on trust.

benchmark/runs/*/arms/

# Packets are a working file for whoever grades: the answer restated beside its
# claim list. Regenerated from the answers by `grade.py --packets`.
benchmark/runs/*/packets/

# ---- Python -------------------------------------------------------------
__pycache__/
*.py[cod]
.venv/
venv/
*.egg-info/
dist/
build/
.pytest_cache/
.ruff_cache/

# ---- local -------------------------------------------------------------
.env
.DS_Store
