arborist/.gitignore
russell@unturf.com 43c97a03e7
bench: cross-model self-play — same question, multiple models, $/grounded
Adds bench/cross_model_selfplay.py + `make bench-cross-model` target.
For each question in a fixture, runs `arborist query` once per
configured model (default: Hermes + Qwen) and tabulates:

  * audit_mode per model (EVIDENCE-WARRANTED → POINTER-LINKED → UNGROUNDED)
  * agreement on primary source URI
  * grounding rate per model
  * estimated $/grounded-answer (per-call prices configurable)
  * cheap-first cascade analysis (try cheapest, escalate on UNGROUNDED)

This is the "ask twice for two options" pattern from the agent
perspective — bakes it in as a benchmark so we can measure whether
the cascade beats always-using-the-stronger-model on $/grounded.

First live run (2 questions × 2 models, $0.41):
  - Hermes: 1/1 grounded (1 timeout — operational issue)
  - Qwen: 2/2 grounded STRICT
  - Cascade: 2/2 grounded for $0.25 — beats always-Qwen ($0.32)
    when Hermes succeeds on its first call.

Output: bench/cross_model_results/<utc-iso>.{jsonl,md} (gitignored).
2026-05-30 21:35:06 -04:00

28 lines
493 B
Text

__pycache__/
*.py[cod]
*.egg-info/
.venv/
.pytest_cache/
.coverage
*.swp
_build/
# data + caches stay out of git
data/
*.db
*.db-journal
*.db-wal
*.db-shm
# bench artifacts
bench/qa_results/
bench/cross_model_results/
# Claude Code session-local artifacts (worktrees, transient state)
.claude/
# Sphinx build artifacts (generated; RTD builds on its servers)
docs/_source/_build/
# Auto-generated by docs/_source/_ext/makefile_targets.py at Sphinx build time
docs/_source/api/makefile.rst