Can your model answer questions about real SEC disclosures with verifiable grounding — and abstain when it cannot? Items regenerate weekly from the newest post-cutoff evidence, so no static answer key can have been memorized from a training corpus: the answers did not exist at training time. That property is mechanical, not aspirational — keys ship openly.
Current release: 750 items · generated 2026-09-18 · canonical item-set hash e96ea109ea55c228… · generation spec registered as protocol 6adb3a06f578 · window: trailing 7 days (post-cutoff, regenerated weekly)
The scorer ships inside the package (since 7.0.1); nothing has to be cloned. It is standard-library only and reads exactly the item file you give it:
pip install yuclaw
curl -sO https://yuclaw.ca/evidencebench/items.jsonl
curl -sO https://yuclaw.ca/evidencebench/meta.json
yuclaw evidencebench score predictions.json "your-model-name" --items items.jsonl --rubric v1 \
--expect-item-set-hash e96ea109ea55c228e8066080e8fb72f6d0e967b4ed32f9152f255fc44ae9a01e
predictions.json maps item_id → answer string; the literal abstention string is
"cannot verify from the evidence provided". With meta.json beside the items the identity is checked automatically; a mismatch is a refusal (exit 3), never a score.
Historical reproduction only: release 7.0.0 did not ship the scorer; its numbers reproduce from a pinned checkout
(git clone --branch v7.0.0 --depth 1 https://github.com/YuClawLab/yuclaw-brain.git, then
python3 -m tools.yuclaw_evidencebench score /absolute/path/predictions.json "name" from its root, against the item file of that checkout).
That recipe is kept for the record and is not the current instruction.
| Code | The scorer is in the installed package: yuclaw evidencebench score … --rubric v1|v2. |
|---|---|
| Rubric v1 | The released rule, kept byte-identical for reproduction. Known flaw (disclosed, preserved): T1 credit is lexical — token overlap ≥ 0.5 with the keyed excerpt or the keyed accession appearing in the answer — and T1 questions quote the accession, so an answer that only repeats the question earns T1 credit. v1 numbers reproduce a flawed rubric; they do not measure groundedness. |
| Rubric v2 | Candidate — implemented and contract-tested in the package; not registered. A structured-fact rule (accession + event type + keyed numeric facts, question tokens excluded, contradictions score 0): bounded lexical/numeric matching, not semantic verification. |
| Item set | One published set: this week's v0.1 items, generated for v1. No v2 item set exists; generating one needs a prospective protocol registration that has not been adopted. |
| Registration | The v0.1 generation spec is registered as protocol 6adb3a06f578. Rubric v2 is not registered. |
| Validation | None is claimed. The package's contract tests check the rules on constructed cases (grounded answers, wrong numbers, contradictions, missing facts, abstention). There is no pooled leaderboard across versions and no external validation. |
Negative control on this release (computed at page build with the packaged scorer, on the 750 items identified below; every answer is the question itself): rubric v1 gives T1 = 1.0 and aggregate 0.4; rubric v2 gives T1 = 0.0 and aggregate 0.0. It shows v1's disclosed flaw and that v2 rejects a question echo; it is one control, not a validation of v2.
This release: 750 items, generated 2026-09-18, window: trailing 7 days (post-cutoff, regenerated weekly). Two different digests identify it — do not compare one with the other:
| Canonical item-set hash | e96ea109ea55c228e8066080e8fb72f6d0e967b4ed32f9152f255fc44ae9a01e | sha256 of the canonical JSON of the items sorted by id (item_set_hash in meta.json; --expect-item-set-hash) |
|---|---|---|
| Raw file SHA-256 | 461da4c19027ee4703b80327571198209412b4ece68f62e4dbad60e4f4becd50 | sha256 of the bytes of items.jsonl as downloaded (--expect-items-sha256) |
The item set is regenerated every week from the evidence of the trailing window, so each release is a different set and the count moves with that week's evidence volume; nothing is migrated from one release to the next. Published releases (lineage.json; earlier entries come from the repository history of meta.json and name their commit):
| Generated | Items | Canonical hash | Recorded from |
|---|---|---|---|
| 2026-09-18 | 750 | e96ea109ea55c228… | repository history, commit 5edb9e7e8502 (2026-09-18) |
| 2026-09-11 | 872 | 1bb76176b8598ad5… | repository history, commit 6c8352db41a9 (2026-09-11) |
| 2026-09-04 | 260 | f67198b6564c26b4… | repository history, commit 85cae655419e (2026-09-04) |
| 2026-08-28 | 448 | b9328e70779e504d… | repository history, commit 4d7e7c4aa5ba (2026-08-29) |
| 2026-08-21 | 338 | d3979193cf6b6911… | repository history, commit ec035beae3cc (2026-08-21) |
| 2026-08-14 | 322 | 645914efcc8bce85… | repository history, commit 3056c0f2422d (2026-08-14) |
| 2026-08-07 | 484 | f0dc36d9787bccae… | repository history, commit 4e059199f24b (2026-08-07) |
| 2026-08-05 | 348 | 51c0b55b917a52ec… | repository history, commit 8b34c7c09e39 (2026-08-04) |
| System | Aggregate | Per-type | Abstentions |
|---|---|---|---|
| YUCLAW extraction stack — SELF-EVALUATION (answers read from the same corpus; format demonstration, nothing claimed) | 1.0 | {"T1": 1.0, "T2": 1.0, "T3": 1.0} | 0 |
The only current row is our own extraction stack scored against its own corpus — a format demonstration, loudly labeled self-evaluation; nothing is claimed by it.
Items + keys: items.jsonl (JSONL — one item per line: {item_id, template, question, key})
· meta.json. Under the export rule: derived
events, verified excerpts, and keys only — no raw vendor OHLCV is published. Weekly snapshots are tagged in
the repository (dataset citability: see CITATION.cff at the repo root and the
replication page).
YUCLAW · Home · For AI builders