Conversation
Deletes the layer that certified past benchmark runs: sealed archives, admission registries, sha256-pinned result manifests, the generated conformance ledger, and the tests that assert those digests exist. The harness that produces measurements stays: datasets, differential configs, upstream pins, benchmark mix tasks, and the tests of harness behaviour. Tracked tree drops from 1599 files / 87.9 MB to 1185 files / 14.5 MB.
Keeps every test that exercises a surviving task, campaign runner, scorer or differential against a local fixture or the pinned upstream, together with the configs, datasets and upstream pins those readers need. Only assertion blocks that call a deleted validator or registry, or that read a deleted archive, are removed.
…fact-path assertion
…re an invocable task
deepfates
force-pushed
the
claude/cut-evidence-bookkeeping
branch
from
September 17, 2026 19:33
674c308 to
22cdce0
Compare
Owner
Author
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every number this repository publishes now lives in one table with the command that produces it, and every claim that cannot be re-measured by an outsider says so in its own first paragraph.
This branch is stacked on
claude/cut-evidence-bookkeeping(#126) and should merge after it.What a stranger with an API key can now do
benchmarks/RESULTS.mdhas one row per number: value, confidence interval, dataset and its license, model, provider, date, commit, command. Prose docs cite rows instead of restating numbers. The table is split three ways — re-measurable, recomputable only, and findings that are not results — because those are different things and blurring them is how benchmark claims go bad.docs/BENCHMARKS.mdis the index: what each command needs (key, Python environment, time, rough cost), what it measures, and what it deliberately does not. It ends with a section called "Cannot be re-measured" that names the GEPA six-family campaign, the stopped IFBench rehearsal, and the historical negatives, and says plainly why each is unrunnable here. Everymixcommand it publishes is checked by a test to be a real task or alias.Things that turned out not to be true
The GEPA six-family campaign had no split files at all — not three of six, none.
families.jsonpins six families by per-split SHA-256 and the data those digests describe is absent. That is now stated in the attribution note and in the "cannot be re-measured" section.ifbench_instruction_followingis not IFBench. Its rows are written inbench/imp/benchmark_truth/fetcher.exunder the internal nameimp/local-ifbench, configverifier-smoke. A score on them is a score on our own verifier rows.benchmarks/data/IFBENCH_ATTRIBUTION.mdcorrects this and separates it from the matched examples, which do use real IFBench with an unknown license.docs/EVIDENCE.mdclaimed DSPy 3.3.1 in one place and 3.2.1 in another. The harness uses 3.2.1 at29448ae12756abdd14bd8796c819247ebb83673c; two newer probes use 3.3.1 and now say so where they appear. The agent-optimization cost was given to six decimals with no model named; it wasopenrouter:openai/gpt-5.4-minifor task calls andanthropic/claude-sonnet-4.6for reflection, on 2026-08-23 at8a6ce8fd.The
differentialCI job carried a comment about known-red residue. Re-run on a clean tracked tree, neither residue is red. The comment is replaced with what was measured and the 2026-08-07 row indecisions.mdis retired with today's date.The TREC recomputation
recompute_compact.exsused to printGEPA +0.4000, MIPROv2 +0.1458, GEPA Imp-minus-DSPy -0.0083as string literals and assert equality. It now derives those three quantities, prints what it computed, and exits non-zero with both sides printed when they disagree. A new test tampers with the committed aggregate and asserts the command fails — so the command cannot silently become a stored answer again.#126 deletes the scored rows the command reads. They are restored under
examples/matched_instruction_optimizers_trec/data/, beside the aggregator that consumes them, with identical digests.test/case_study_trec_recomputation_test.exsis restored too: it is not a digest check, it shells out and runs the aggregation end to end.docs/CASE_STUDY_TREC.mdnow opens by saying the result is recomputable but not reproducible, and why: the raw provider traces are 181 MB and were not published, so the step from "a model answered" to "a row records this answer" is taken on our word.Dataset licenses
Notes modelled on
HOTPOTQA_ATTRIBUTION.mdfor the sets that had none. Where the license cannot be determined it says unknown and points at what was checked: TREC's pinned dataset card declares none, the GEPA artifact repository declares none for three of six families, and IFBench's corpus has none either. The tutorial tickets were written here and are MIT. The deployment example's data already declared CC-BY-4.0 and CC-BY-SA-4.0 inside its receipts; the new README surfaces that.docs/internal
Renamed to
docs/differentials/, because "internal" tells a public reader the directory is not for them when most of it documents commands they can run. Sixteen files stay, each naming a differential that still exists, cleaned of references to paths #126 deletes and of vocabulary that named bookkeeping rather than the pinned upstream. Eight are gone: the coverage matrix and upstream conformance audit (release truth tables), the 2026-08-07 trust audit (stale, and its "hard NO-GO" must not go public), the identity cutover note (no command), and the three documents whose runnable content is folded intodocs/BENCHMARKS.md. The optimizer trajectory contract had no runnable command but was public API prose rather than bookkeeping, so it moved intodocs/TRAJECTORIES.mdinstead of being deleted.Verified
mix format --check-formatted— cleanmix test test/documentation_contract_test.exs test/learning_path_contract_test.exs test/tutorial_parity_test.exs test/case_study_trec_recomputation_test.exs— 35 tests, 0 failuresMIX_ENV=test mix docs.check— docs render, 5/5 livebooks passdocs/CASE_STUDY_TREC.md— printed the documented values and agreed with the committed aggregate; tampering with the aggregate makes it exit 1The tutorial experiment was not run. It has no provider-free mode, and no
OPENAI_API_KEYorOPENROUTER_API_KEYis present in the environment or in an ignored.env. Rows R1 and R2 ship from the committed run of 2026-08-22 at88d61a9c, labelled with that date.