Spaces:
Running
Running
| # Benchmark evolution doctrine | |
| A11oy benchmark claims are evidence artifacts, not slogans. A run is | |
| publishable only when the corpus, route, judge panel, receipts, and raw results | |
| are immutable and replayable. | |
| This doctrine covers competition-math goals in `agi-forecast`, theorem/runtime | |
| routes in `lutar-lean` and `a11oy`, and any future Hugging Face | |
| `test-results` mirror. | |
| ## Corpus immutability | |
| - Every corpus has a stable `corpusId`, `corpusVersion`, `sourceUri`, | |
| `license`, `canonicalization`, `sha256` or externally declared digest, and | |
| problem-count manifest. | |
| - A changed prompt, solution, rubric, split, metadata row, or canonicalization | |
| rule creates a new `corpusVersion`. | |
| - Old corpora are never overwritten. They may be deprecated by pointer only. | |
| - competition-math problem text may be stored only when license permits. Otherwise store | |
| official/source pointers, metadata, and content digests. | |
| ## Competition-math raw-score honesty | |
| - Report competition-math benchmark results as raw points: `earned_points / possible_points`, with | |
| year/problem breakdown. | |
| - Do not say “solved the benchmark” unless a sealed, pre-registered corpus reaches a | |
| declared threshold with receipts, reproducible tooling, and unanimous headline | |
| judge agreement. | |
| - Separate answer correctness, proof validity, Lean/formal verification, | |
| runtime formula routing, and provenance compliance. | |
| - Publish failed attempts, retries, time budgets, tool use, and judge | |
| disagreements. | |
| ## Formula routing | |
| Each benchmark item may route to zero or more formulas: | |
| - `FalsePosition` | |
| - `MadhavaBound` | |
| - `LiuHuiPi` | |
| - `SummationInvariant` | |
| - `AdversarialRobustness` | |
| - `QECLineage` | |
| - `ReceiptSubstrate` | |
| A formula route is advisory unless backed by: | |
| 1. a theorem-runtime manifest ID; | |
| 2. a runtime file; | |
| 3. a test file; | |
| 4. a validation command; | |
| 5. a current claim status. | |
| Ancient or historical lineage never gives benchmark credit by itself. | |
| ## Multi-judge panels | |
| Minimum panel: | |
| | Judge | Role | | |
| | --- | --- | | |
| | `raw_grader` | Scores final answer against a rubric. | | |
| | `proof_judge` | Checks reasoning, theorem use, formalization, or runtime verification. | | |
| | `provenance_judge` | Checks receipts, corpus digest, tool budget, and claim wording. | | |
| Two-of-three agreement may publish a raw result. Unanimous agreement is | |
| required for headline claims. | |
| ## Receipt requirements | |
| Each run emits JSONL receipts containing: | |
| - `runId` | |
| - `sourceCommit` | |
| - `benchmarkMapSha256` | |
| - `corpusSha256` or `externalCorpusDigest` | |
| - `problemId` | |
| - `promptSha256` | |
| - `modelId` / `solverId` | |
| - `toolPolicy` | |
| - `attemptNumber` | |
| - `answerSha256` | |
| - `judgePanelSha256` | |
| - `rawScore` | |
| - `timestamp` | |
| - `prev_receipt_hash` | |
| Receipts must verify as an append-only chain before a result is mirrored. | |
| ## Hugging Face test-results publication | |
| GitHub remains canonical. Hugging Face can mirror benchmark outputs to a | |
| dataset such as `SZLHOLDINGS/a11oy-test-results` with: | |
| - `README.md` | |
| - `benchmark-map.json` | |
| - `results/*.jsonl` | |
| - `receipts/*.jsonl` | |
| - `MANIFEST.json` | |
| The HF dataset must say `mirror-not-canonical` and point back to GitHub commits, | |
| CI runs, receipts, and payload manifests. | |
| ## CI gates | |
| Block benchmark PRs unless: | |
| - `benchmarks/benchmark-map.json` validates; | |
| - corpus/result digests match bytes on disk or declared external digests; | |
| - formula routes resolve to `docs/theorem-runtime-manifest.json`; | |
| - Competition-math benchmark language remains raw-score/staged unless evidence supports more; | |
| - receipt JSONL verifies as append-only; | |
| - HF dry-run includes benchmark/test-results files. | |
| ## Current state | |
| The current benchmark map is deliberately staged: it defines the operating | |
| contract and formula routes, but it does not claim a live benchmark score. The | |
| next operational step is a pinned corpus manifest, judge-panel config, and | |
| receipt-emitting runner in `agi-forecast` or a dedicated benchmark package. | |