Skip to content

Remove evidence-certification bookkeeping; keep the benchmark harness - #126

Merged
deepfates merged 6 commits into
mainfrom
claude/cut-evidence-bookkeeping
Sep 17, 2026
Merged

deepfates merged 6 commits into
mainfrom
claude/cut-evidence-bookkeeping

Conversation

@deepfates

@deepfates deepfates commented Sep 17, 2026

Copy link
Copy Markdown
Owner

What a reader of the public repo gains

Before this change, most of the tracked bytes were a record that certain benchmark
runs happened: sealed .tar.zst archives, content-addressed "admitted evidence"
files, registries binding claims to those files, and tests whose only assertion was
that a digest still matched. None of it let an outside developer run anything.

What is left is everything a stranger can run. The dataset fetchers and loaders, the
scorers, the campaign runners, the benchmark mix tasks, the differential harness
against pinned DSPy and GEPA, the upstream pins it reads, and every test that
exercises a task, a campaign runner, a scorer or a differential against a local
fixture or the pinned upstream. mix differential.check runs the whole
:dspy_parity lane unchanged.

Clone size: 1599 tracked files / 87.9 MB becomes 1249 files / 15.3 MB.

Deleted, by category

Category Files Size
evidence/ sealed archives 15 25.78 MB
benchmarks/ results, runs, admitted evidence, locks, claim and reproduction registries 179 28.82 MB
examples/ matched-experiment output dumps 112 17.47 MB
test/ certification tests 15 0.12 MB
docs/ maintainer registry docs and the generated conformance ledger 9 0.11 MB
lib/mix/tasks/ registry and coverage-ledger tasks 7 0.07 MB
bench/ registry and admission modules 6 0.12 MB
scripts/ with no runnable caller 5 0.05 MB
identity/ 1 0.00 MB
.github/workflows/evidence.yml 1 0.00 MB

350 files, 72.5 MB.

What was kept, and why

benchmarks/data/, benchmarks/config/, benchmarks/authorities.json (whole, including
its families section — five differential Python scripts and four differential mix tasks
read it), benchmarks/authority_sources/, benchmarks/upstream/gepa-corrected/ (the
patch scripts/setup_corrected_gepa_comparator.sh applies in the CI differential job),
and every requirements lock the setup scripts install.

Every benchmark mix task that runs something is kept, including
imp.benchmark.parity.aggregate, imp.benchmark.gepa_replication,
imp.benchmark.gepa_merge, imp.benchmark.optimize_anything,
imp.benchmark.support_ticket_lift, imp.benchmark.provider_training,
imp.benchmark.instruction_optimizer_campaign, the two OpenRouter free-route canaries,
and imp_acp.demo_mcp_http_server. Missing documentation for a runnable task is a
documentation gap, not a reason to delete the task.

Mix tasks deleted

imp.evidence.admit, imp.evidence_authorities, imp.reproductions,
imp.research_portfolio, imp.upstream_fidelity — registry validators and
documentation generators for ledgers that no longer exist.

imp.benchmark.live_matrix — a coverage ledger over stored campaign artifacts, keyed on
the deleted benchmarks/model_availability.json; it calls no provider and measures
nothing. imp.benchmark.hotpotqa_analysis — a post-hoc classifier over stored parity
artifacts.

Bench modules deleted

Imp.EvidenceAuthorities, Imp.ReproductionRegistry, Imp.ResearchPortfolio,
Imp.UpstreamFidelity, Imp.BenchmarkTruth.EvidenceAdmission,
Imp.BenchmarkTruth.ReproductionArtifactValidator. Verified unreachable from every
surviving lib or mix task, bench module, script and test.

Imp.BenchmarkTruth.Paths loses admitted_root/0 and admitted/1.
Imp.BenchmarkTruth.OptimizeAnything.Campaign reads
benchmarks/authorities.json directly instead of through the deleted loader.
Imp.BenchmarkTruth.SupportTicketLiftCampaign no longer digests two deleted
predecessor result files while validating a preregistration manifest.
scripts/dspy_optimizer_public_workflow_gate.py defines its three-line
OperationalSafetyAbort locally instead of importing it from a deleted example dump —
that class is what the gate measures.

Tests: one line each

Deleted whole — bookkeeping (its only assertions are against a deleted validator,
registry or archive digest):

Test Why
claims_inventory validates benchmarks/claims.json against maintainer docs
evidence_admission exercises the deleted admission module
evidence_authorities exercises the deleted authority-ledger loader
evidence_provenance asserts every admitted artifact's sha is an ancestor of origin/main and is cited by a ledger
reproduction_registry validates benchmarks/reproductions.json
research_portfolio validates benchmarks/research_portfolio.json
upstream_fidelity exercises the deleted conformance-ledger generator
tutorial_ticket_routing_artifact asserts a committed artifact is named by its own SHA-256 and exists

Deleted whole — behaviour lost because its subject is gone:

Test Why
experiment_reference_graph its subject was the six deleted matched directories, claims.json, and a sha256 migration ledger; scripts/experiment_reference_graph.exs goes with it
matched_gepa_mipro_ifbench reads the deleted examples/matched_gepa_mipro_ifbench dumps
matched_ifbench_stop_accounting requires stop_accounting.exs from two deleted example dirs
matched_instruction_family_ifbench_design asserts a draft contract JSON in a deleted state
matched_instruction_optimizers_trec_example reads the deleted TREC archive rows
case_study_trec_recomputation same; the benchmark-surface branch moves those rows under examples/ and restores this test there
local_optimize_anything_retry_policy_three_seed_evidence recomputes from a deleted archived manifest; its two sibling example tests still exercise the same runner

Restored after the first review — behaviour, kept with only the deleted-validator
assertions removed:

Test What it exercises What was dropped
instruction_optimizer_contract_artifact runs imp.benchmark.instruction_optimizer_contract against pinned DSPy; 33 structural rows and the cross-runtime bootstrap fixture the two ReproductionArtifactValidator calls and the tamper block
gepa_contract_artifact GepaContract.compare against pinned GEPA v0.1.4; 15 required cases the admitted envelope and its validator calls
support_ticket_lift_campaign (v2, v3, v3 full runner) drives SupportTicketLiftCampaign.run through a local HTTP fixture for 48 requests and checks the response ledger; the four benchmarks/config preregistration files are restored two digest-of-deleted-result-file assertions
optimize_anything_campaign runs the campaign across seeds with fixture LMs, budget ceilings, cost guards the mutation blocks whose only assertion was the deleted validator
optimize_anything_artifact row validation plus the smoke and input CLI paths the block reading a deleted archived artifact
optimize_anything_agent_config, optimize_anything_code_artifact, optimize_anything_scheduling_heuristic, optimize_anything_v1_4_readiness, circle_v1_4_cold_plan evaluators, baseline-vs-comparator lift, held-out generalization, all provider-free nothing
gepa_replication_artifact, gepa_merge_task, gepa_campaign the replication and merge tasks against local fixtures nothing
langprobe_heart_disease_product_fit four-predictor program, pinned split, 147 grounded proposer calls, pinned DSPy product shape nothing
musique_ans_product_fit, musique_ans_mipro_current scorer agreement with the official Python scorer over 19,938 rows; real ReqLLM and DSPy wire rendering; MIPRO selection and fresh service nothing
hover_papillon_calibration_pilot, hover_gepa_no_merge_plan request serializers, route contracts, provider-disabled lifecycles with mutation, selection and fresh service, pinned DSPy loopback nothing
gepa_study_plan derives the study opportunity from the suite receipts nothing
benchmark_paths symlink containment and lane-escape rules on a surviving module three Paths.admitted assertions
copro_isolation_artifact runs the provider-free COPRO differential against pinned DSPy and validates the artifact the task emits now captures a fresh artifact from a real task run instead of reading a deleted admitted file; the historical-ledger receipt block is dropped
authority_inventory keeps benchmarks/authorities.json internally valid — the ledger the differential lane reads two blocks reading claims.json and the deleted conformance doc

Trimmed, subject partly gone:

Test Verdict
benchmark_truth 27 blocks removed, all of them live_matrix or hotpotqa_analysis, whose tasks are deleted. Nothing else was removed; the parity aggregator, fetcher, runner, integrity and scorer tests are untouched.
local_mlx_campaign five blocks reading a committed admitted artifact removed — behaviour lost because its subject is gone. The acceptance, persistence and deployment tests remain and run fresh.
confidence_calibration_benchmark one block reading a committed live result removed, same reason. The dataset preflight and provenance tests remain.
bfcl_adapted_artifact one block removed whose every assertion was a deleted-validator call; the four scorer and mutation-corpus tests remain.
upstream_authority_registry the UpstreamFidelity assertions removed; the registry fail-closed tests stay and a pin-resolution test replaces the deleted one.
documentation_contract two blocks reading deleted maintainer docs.
operations_stress one assertion that the run stays out of the deleted registries.
package_contract exclusion-list entries naming deleted files.

Consistency

mix.exs loses only the aliases whose tasks are gone (upstream_fidelity.check,
reproduction.check, research.portfolio.check, benchmark.live_matrix,
benchmark.hotpotqa_analysis) and their preferred_envs entries. bench stays in
elixirc_paths for dev and test. .github/workflows/ci.yml needs no change: its jobs
run mix aliases, and every path in the paths-filter lists still exists.
.dialyzer_ignore.exs drops the entry for the deleted task and re-pins one line that
moved. .gitignore no longer ignores tracked files. test/test_helper.exs keeps the
:evidence_infrastructure exclusion — 40 tagged files remain. CONTRIBUTING.md,
decisions.md and docs/EVIDENCE.md lose their pointers to deleted paths.

Verification

  • MIX_ENV=test mix compile --warnings-as-errors: clean.
  • mix format --check-formatted: clean.
  • mix quality.check (credo, mix deps.audit, mix hex.audit — the exact CI commands): exit 0.
  • mix test on main: 54 doctests, 9 properties, 2998 tests, 0 failures, 11 skipped (171 excluded)
  • mix test on this branch: 54 doctests, 9 properties, 2884 tests, 0 failures, 10 skipped (146 excluded)
  • mix dialyzer: Total errors: 150, Skipped: 150, Unnecessary Skips: 0done (passed successfully).
  • The :evidence_infrastructure suites outside the default run were exercised
    separately against a provisioned pinned environment: the COPRO isolation
    differential and artifact, the hover pilots, the GEPA contract, the BFCL scorer and
    the authority inventory all pass.
  • CI on this PR, all ten jobs green: check, stranger.check, classify changes,
    package.check, integration.check, protocol.check, quality.check,
    dialyzer.check, differential.check (11m01s), docs.check.

Not in this change

docs/CASE_STUDY_TREC.md and docs/internal/ still reference deleted paths; the
benchmark-surface branch owns both.

Everything deleted here exists as a tarball on the owner's machine.

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.
@deepfates
deepfates force-pushed the claude/cut-evidence-bookkeeping branch from 674c308 to 22cdce0 Compare September 17, 2026 19:33
@deepfates
deepfates merged commit 547013b into main Sep 17, 2026
10 checks passed
@deepfates
deepfates deleted the claude/cut-evidence-bookkeeping branch September 17, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant