# s2s-bench-v1 — `two-frontiers-r1` (EXHIBIT FORTY)

Licence: **CC BY 4.0**. Every number in the article is written by one of the scorers in this kit; none is typed by hand.

## What this kit is

A dated, two-arm reading on instruments frozen earlier: the rules-desk bank and its gates froze 2026-08-15, before either frontier model existed; Leg C's needles were drawn by code from a seed recorded at registration. The kit publishes the QUERIES, the GATE RESULTS and the SCORERS. It does not publish the bank's rulebook passages.

## Who the co-signer is, and is not named as

The human co-signer's name reads "an operator" everywhere in this kit, including in the public pre-registration, which is cut from the sealed original by `public-copy.py` in this kit: it applies exactly three substitutions — the human co-signer's name, the production port number, and home-directory paths — and the sealed original's sha256 is in `seal-manifest.json` so the copy is checkable against it.

## What is deliberately not here

- the bank's 480 licensed rulebook passages (their shas are in `seal-manifest.json`);
- the CLI arm's raw streams (they carry the model's reasoning text; quarantined on the box);
- declared path fields naming an artifact inside the repo publish as repo-relative paths (`golden/offload-bank-r1.json`); anything outside it gets an opaque id.
- box names, home paths and endpoints: `cwd` and `base_url` are mapped to opaque ids and the mapping's values are not published;
- any file `index.json` lists under `withheld` — its sha256 and the reason are there, including the sent records, the attempts and the raw streams as directory manifest shas.

## How to check it

1. `index.json` lists every file with its size, sha256 and what it answers.
2. `counting-rules.json` holds every registered denominator; the prereg holds the same integers in prose, and every scorer refuses to disagree with them.
3. `legC-score.py`, `score.py` and `pairwise-score.py` ARE the scorers, verbatim — a code scorer is only a neutrality claim if the reader can read it.
4. `receipts/` holds every gate receipt filed before the seal, with its absolute paths described. The outside family's raw reply to "find every choice in this document that favours one arm" ships unedited: hash its `reply` and compare with the `reply_sha256` on the same row.

## Which files run, and which are here to be read

RUNNABLE standalone (each rebuilds something this kit publishes, and its own output's sha is the check): `design-floors.py`, `public-copy.py`, `article-fill.py`, `legC-score.py`, `score.py`, `pairwise-score.py`.

HERE TO BE READ (they are the definitions the rest of the kit leans on, not commands): `prereg-integers.py`.

NAMED HERE BUT NOT IN THIS KIT: `gen-needles.py`, `build-fixtures.py`, `BENCH-DESIGN-offload.md`, `sample-record.py`, `screen-literals.py` — each is listed under `withheld` in `index.json` with its sha256 and the class of literal that refused it. They are not edited to pass and they are not dropped quietly.

## The files

| file | bytes | sha256 | what it answers |
|---|---|---|---|
| `legA-gates.json` | 33465 | `5e52c1e9ca9fb4b1…` | every Leg A gate, per arm, against the floors frozen 2026-08-15 |
| `legA-queries.json` | 16356 | `da86ee292ca66666…` | the 26 canonical asks verbatim and the 34 substituted queries (D-20260905-09 (b)) |
| `legA-g4.json` | 33793 | `776eaf6fef0096ea…` | G4 groundedness per arm, per judging family, with the recusal count |
| `pairwise.json` | 9143 | `91c427876f669985…` | the head-to-head: the collapsed per-case observations, the pooled rate, the 36-cluster interval, the per-judge rates, the order-flip rate and the per-case table |
| `pairwise-key.json` | 25861 | `a2f1225d48e42c05…` | which arm sat in which position on each sheet — the join the blind withheld until scoring |
| `legC-cells.json` | 71753 | `c103207f33a4098d…` | Leg C by tier × depth: recall, abstention, fabrications, NOT-CLASSIFIED |
| `legC-cells-think-true.json` | 23827 | `bbc44df8c5e17218…` | the local seat's think:true polarity control (PREREG A3 FOLDED (2)) |
| `legC-needles.json` | 8569 | `7440beee268378c9…` | the drawn needles and absent topics, with every screen that ran |
| `legC-fixture-manifest.json` | 17845 | `da4025a7c9bfde59…` | the 36-item grid's shape, its unique-fraction table and its stamped sha — one row per item with its tier, depth, kind, filler window, needle and PROMPT SHA256; the prompt text itself is not published (it is reducible from the public-domain filler, the recorded window and the needles, and the sha is what makes a reproduction checkable) |
| `counting-rules.json` | 2146 | `e214226f7bbe7582…` | every registered denominator and every counting rule, as data |
| `seats.json` | 2446 | `ccb6289bb07726fc…` | the seven judging seats, their families and their cost states |
| `bill.json` | 7580 | `0d61c8f183000685…` | the bill in four cost states, never collapsed |
| `seal-manifest.json` | 1901 | `a88514006ae20f6e…` | the shas of the bank, the fixture and the prompts (the bank itself is NOT published) |
| `prereg.md` | 63660 | `2b58a71212380e6e…` | the pre-registration, frozen before the first scored call, with every amendment — the PUBLIC copy (prereg A4.3), cut from the sealed file BY CODE (`public_copy.py`, in this kit): byte-identical to the sealed file except that the human co-signer's name reads "an operator" and the production port and home-directory paths are described, not printed; the sealed file's sha256 is in seal-manifest.json and prereg-index.md |
| `prereg-index.md` | 12904 | `72b8788cfa9e6bb5…` | every artifact the prereg names, with its sha256 at the freeze |
| `legC-score.py` | 44106 | `1f5635fcffb6eb8a…` | Leg C's scorer as CODE: both normalisers, published so the neutrality claim is readable |
| `score.py` | 44179 | `bdf9885226e1ae2c…` | Leg A's gate scorer as CODE |
| `pairwise-score.py` | 24362 | `6cde0471edef449c…` | the head-to-head scorer as CODE — there is no rating function in it |
| `design-floors.py` | 9857 | `34eabb8a9ebd01d4…` | the FLOOR READER as CODE — RUNNABLE: it parses every Leg A floor out of the frozen design text beside it, so a floor cannot be a number somebody typed into a scorer |
| `prereg-integers.py` | 7386 | `7831d3abb00fa5fd…` | every registered denominator in ONE place, as CODE — shipped to be READ: it is the refusal each scorer makes before it scores |
| `article-fill.py` | 184025 | `7e11e6a9cde77f45…` | the script that writes every number into the article's prose, as CODE — RUNNABLE against this kit's own result files: no figure on the page is typed by hand, and this is the proof |
| `fills.json` | 137878 | `5aa603f3ba96da9d…` | every filled value the article prints, with the result-file path it was read from — the join between a sentence on the page and a cell in this kit |
| `public-copy.py` | 11757 | `ae0f17a6b0854d29…` | the cut that makes `prereg.md` from the sealed file, as CODE — RUNNABLE: it applies A4.3's three substitutions and nothing else, and it never stores the name it removes |
| `receipts/2026-09-04-astra-effort-high.json` | 795 | `d52b5675b07741c4…` | a receipt filed before the seal |
| `receipts/2026-09-04-astra-effort-low.json` | 794 | `001f1264d6ccd02f…` | a receipt filed before the seal |
| `receipts/2026-09-04-astra-smoke.json` | 793 | `62cc458d80949af2…` | a receipt filed before the seal |
| `receipts/2026-09-05T140417Z-cli-claude-fable-5-1-g-quota.json` | 12757 | `ca75274f846191f7…` | the G-QUOTA receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T140422Z-cli-claude-fable-5-1-hook-nonce.json` | 7054 | `8dd148f3589e193f…` | the G-TOOLS receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T140425Z-cli-claude-fable-5-1-session-persistence.json` | 12441 | `c637080ac02eb3ae…` | the G-TOOLS receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T140429Z-cli-claude-fable-5-1-g-tools.json` | 16030 | `859b327d9ff7fff1…` | the G-TOOLS receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T140431Z-openai-gpt-6-astra-g-tools.json` | 6258 | `f5715a2870845b7d…` | the G-TOOLS receipt for openai-gpt-6-astra |
| `receipts/2026-09-05T140442Z-cli-claude-fable-5-1-g-effort.json` | 13560 | `2ec296b3ccadbc47…` | the G-EFFORT receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T140448Z-openai-gpt-6-astra-g-effort.json` | 5859 | `9e63f11891e2595c…` | the G-EFFORT receipt for openai-gpt-6-astra |
| `receipts/2026-09-05T144532Z-cli-claude-fable-5-1-g-quota.json` | 12799 | `eff8a30ad79551a3…` | the G-QUOTA receipt for cli-claude-fable-5-1 |
| `receipts/2026-09-05T144819Z-cli-claude-fable-5-1-g-quota.json` | 12799 | `db682e5b45718677…` | the G-QUOTA receipt for cli-claude-fable-5-1 |
| `receipts/20260905T043729Z-ollama-shelf-read.json` | 1107 | `c8a073fae8a715db…` | a receipt filed before the seal |
| `receipts/20260905T043934Z-outside-prereg-read.json` | 11950 | `f6f2fd61003446fb…` | the G-OUTSIDE-READ receipt for mistral-large-3-675b |
| `receipts/20260905T140442Z-cli-claude-fable-5-1-double-canary.json` | 441 | `b056d020c2a21e96…` | the G-EFFORT / Leg C context integrity receipt for cli-claude-fable-5-1 |
| `receipts/20260905T140448Z-openai-gpt-6-astra-double-canary.json` | 439 | `6f003d47092701e0…` | the G-EFFORT / Leg C context integrity receipt for openai-gpt-6-astra |
| `receipts/20260905T140451Z-local-gemma4-26b-double-canary.json` | 438 | `652d8e83c90446d3…` | the G-EFFORT / Leg C context integrity receipt for local-gemma4-26b |
| `receipts/20260905T144854Z-cli-identity-census.json` | 917 | `70893b6d505547f9…` | the G-ID (per cell) — the identity census over every CLI stream to this minute receipt |
| `receipts/20260905T181859Z-g-pen.json` | 407 | `5538a1db43d99cdc…` | the G-PEN receipt |
| `receipts/20260905T181859Z-hostile-read.json` | 389 | `96fb1a1d436be291…` | the hostile-read receipt — SUPERSEDED by receipts/20260905T224559Z-hostile-read.json (append-only; the newest stamp is the current one) |
| `receipts/20260905T195339Z-hostile-read.json` | 1293 | `08e9a397e1813a2e…` | the hostile-read receipt — SUPERSEDED by receipts/20260905T224559Z-hostile-read.json (append-only; the newest stamp is the current one) |
| `receipts/20260905T195711Z-hostile-read.json` | 1324 | `9b0cc1f4aff4ce63…` | the hostile-read receipt — SUPERSEDED by receipts/20260905T224559Z-hostile-read.json (append-only; the newest stamp is the current one) |
| `receipts/20260905T203537Z-hostile-read.json` | 1222 | `642f7f4cddd0e66d…` | the hostile-read receipt — SUPERSEDED by receipts/20260905T224559Z-hostile-read.json (append-only; the newest stamp is the current one) |
| `receipts/20260905T210832Z-hostile-read.json` | 2434 | `63fbd81b87600aff…` | the hostile-read receipt — SUPERSEDED by receipts/20260905T224559Z-hostile-read.json (append-only; the newest stamp is the current one) |
| `receipts/20260905T221500Z-operator-read.json` | 1374 | `f4aa07f92387c6cb…` | the OPERATOR-READ receipt |
| `receipts/20260905T224559Z-hostile-read.json` | 27999 | `3b0d5f50bcf3a410…` | the hostile-read receipt — CURRENT |
| `receipts/20260905T230427Z-g-pen.json` | 913 | `c9637b68193ab026…` | the G-PEN receipt |
| `receipts/20260905T231355Z-g-pen.json` | 913 | `bb918a5e283bb0fc…` | the G-PEN receipt |
| `receipts/20260906T001050Z-g-pen.json` | 1083 | `42a1130008a081c3…` | the G-PEN receipt |
| `receipts/20260906T003223Z-g-pen.json` | 1083 | `95d2af9f0fdbcab4…` | the G-PEN receipt |
| `receipts/20260906T005938Z-g-pen.json` | 1083 | `4988fbab9282d65d…` | the G-PEN receipt |
| `receipts/20260906T010732Z-g-pen.json` | 1083 | `949925615d476586…` | the G-PEN receipt |
| `receipts/20260906T011522Z-g-pen.json` | 1083 | `9f8b34ffb51dacc4…` | the G-PEN receipt |
| `receipts/20260906T012303Z-g-pen.json` | 1083 | `525a16661bb831de…` | the G-PEN receipt |
| `receipts/20260906T012814Z-g-pen.json` | 1083 | `ca3fbfece474ea72…` | the G-PEN receipt |
| `receipts/20260906T013439Z-g-pen.json` | 1083 | `6b6090eb7b170f30…` | the G-PEN receipt |
| `receipts/20260906T013912Z-g-pen.json` | 1083 | `23e0366a2d789a2a…` | the G-PEN receipt |
| `receipts/20260906T014310Z-g-pen.json` | 1083 | `2c5a67ad85584052…` | the G-PEN receipt |
| `receipts/20260906T014743Z-g-pen.json` | 1083 | `3fa93919c632d6bd…` | the G-PEN receipt |
| `receipts/20260906T041725Z-g-pen.json` | 1083 | `68e019ac9ee500f5…` | the G-PEN receipt |
| `readers/v1-coldscroll.md` | 42093 | `e4fb9699b06b492a…` | the coldscroll reader's critique of draft v1 of the article |
| `readers/v1-hostile.md` | 50019 | `889b5ac2000690c7…` | the hostile reader's critique of draft v1 of the article |
| `readers/v1-numbers.md` | 84545 | `7a81d735fc6eed75…` | the numbers reader's critique of draft v1 of the article |
| `readers/v1-stranger.md` | 30578 | `d48a5375040b4007…` | the stranger reader's critique of draft v1 of the article |
| `readers/v2-numbers.md` | 159608 | `359942b3e1fb2bce…` | the numbers reader's critique of draft v2 of the article |
| `readers/v2-stranger.md` | 36760 | `87b7df5d3df8d311…` | the stranger reader's critique of draft v2 of the article |
| `readers/v3-coldscroll.md` | 44170 | `c618d060f822a0ea…` | the coldscroll reader's critique of draft v3 of the article |
| `readers/v4-numbers.md` | 120564 | `c59bd77564f4c2ba…` | the numbers reader's critique of draft v4 of the article |
