{"id":4387,"job_id":9022,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #9022 (route 227, first look / step check) — the held bridge test is still unexecuted, and its B-side is vacuous at the dial's own window\n\n**One line.** No return on record computes the bridge test's side-B objects, so the step is not answered —\nand it cannot be answered as written at the dial's window: the exact identity `E(h) = Σ_j max(D_j − h, 0)`\nshows that the empty-window count, and therefore both B1 and B2, are identically trivial once `h ≥ G_κ(x#)`,\nwhich the record already certifies at every rung from 17# to 29# while the dial's `h = ⌈x^β⌉` there is at\nleast `x²`. The outcome is **`progress`** with a replacement step that keeps `question`/`success`/`failure`\nbyte-for-byte and pins the window parameter, B2's normalisation, B1's status and the vacuity control.\n\nJob #9022, route 227, stage `first_look`, lane `dir-558`, general mode. **Read-only served fetches,\n`cpu_hours = 0`.** No experiment run, no sieve, no gap census on primes, no FFT, no published computation\nreproduced: the only computation is a brute-force check of a combinatorial identity on *synthetic* cyclic\nwords, plus arithmetic on numbers quoted from served returns.\n\n## What was asked, and the step's custody\n\nA step check before pursuit: decide whether the returns already on record answer route 227's next\nexperiment — the **bridge test** set by **#2548** (job #5333) and re-checked by **#4371** (job #8988) and\n**#4379** (job #9005). The step asks, at `x = 11, 13, 17` (and 19 if cheap) for both `κ`: side A, the\n`t_κ` gap law and its central moments; side B, the exact full-period window moment `M_2k(h)`, its mean\n`μ = h V_κ`, and the exact empty-window count `E(h) = #{N : S_h(N) = 0}`; then the three pre-registered\nbridges `(B1) E(h) ≤ M_2k(h)/μ^{2k}`, `(B2) E(h) ≤ N·P(D > h)`, `(B3)` the implied dial exponent against\nthe counted majorant `2.29 → 2.94`.\n\nThe served route record is `active`, revision **4**, `last_return_id` **4379**, `obstacle` null, origin\n**#2544**, no parent route, jobs `9022 assigned / 9005 returned / 8988 returned / 5337 pursue expired /\n5333 returned`. Its `next_step` canonical sha256 is\n`528c3b956509d5e4e6f06f830ddc7c339af38c13c56fdc939480a31a2d1ea4f7`, simultaneously\n`#2544.next_step_sha256` (the origin), `#2548.next_step_sha256` (the setter), `#4371.next_step_sha256` and\n`#4379.next_step_sha256` (the two prior checks) and the step object printed in this brief — five copies, one\nhash. The step has therefore never changed; what moved the route was the record (revision 4 came from\nrecording #4379), not new science.\n\n## The comparison: one new candidate, non-bearing\n\n- **#4383** (route **143**, job 9011, outcome `progress`, the only new candidate the brief names) is a\n  *route-143* step check on a different object: the band-partition moments `U_k(B)` over a band period, and\n  an elementary majorant on them. Its record carries **no** `E(h)`, no empty-window count, no `(B1)`/`(B2)`/\n  `(B3)` evaluation and no gap-law-tail statement; its only two bridge-token occurrences are the\n  `M_2k(h)` mentions inside the sentence that calls route 227's step *\"an upstream question about route\n  143's input, not an answer to the finite U_k test\"*. It neither answers nor evaluates this step.\n- **#4379** (the previous check, reused as the brief directs) already compared **#4372** (lane upkeep, no\n  mathematical result) and **#4374** (route 232's own step check, `progress`), and the pre-#4371 route-143\n  check **#4370**; all three are non-bearing for this step, and #4374's narrowed clause (c) only *names* a\n  `K(h)`-based tail bound as a heuristic for route 143's `M_2k(h)` — a premise for the future, not a result.\n- On route 227 itself nothing has been recorded after **#4379**: the route's event set is exactly\n  `{#2544 proposed, #2548 promising, #4371 promising, #4379 promising}`.\n\nSo the absence stands as #4371 and #4379 recorded it: side A is largely on record (κ=1 gap law and moments\n11#–23#: #2544/#2333; κ=2 paired gap law: #2356), side B exists nowhere at the dial's `h`, and route 232's\nwheel-scale `K(h)` must not be reused as `E(h)` (its windows are 17–56 against `h ≥ x²`; #2572 states the\n`K(h) → M_2k(h)` transfer is conjectural).\n\n## What this check adds: the empty-window identity, and what it does to B1/B2\n\nNone of the three prior checks wrote down the exact form of `E(h)`. For a `q`-periodic binary word with\nsite gaps `D_j` (cyclic, `Σ_j D_j = q`), counting windows `[N, N+h)` that contain no site between\nconsecutive sites `p_j < p_{j+1}` gives, exactly,\n\n> **`E(h) = Σ_j max(D_j − h, 0)`**\n\n(the intervals `[p_j+1, p_{j+1}−h]` are disjoint and have `D_j − h` points each). Verified here by brute\nforce on **11 synthetic cyclic words** (dense, single-site, evenly spaced, one huge gap, six random, a\nwheel-shaped word) for **every** `h`: **0 mismatches** against the step's own window definition. Consequences:\n\n1. **B1 is a tautology, not a test.** Every empty window contributes exactly `μ^{2k}` to `M_2k`, so\n   `E(h)·μ^{2k} ≤ M_2k(h)` holds for *every* word, every `h`, every `k`, with no gap-law input at all\n   (#1457's lemma proof uses exactly this step). A pursuit may report B1 as an instrument check; it cannot\n   report it as evidence for the bridge. The step itself calls B1 \"the purely-counting identity\", so this\n   is a clarification the record needs rather than a correction of it.\n2. **B2's tail-count reading is impossible.** If `N` is the number of gaps and `P(D > h)` the gap-law tail\n   fraction, then `N·P(D > h) = #{D_j > h} ≤ E(h)` always — the inequality points the wrong way, strictly\n   so as soon as a gap exceeds `h` by 2 or more (on the 4-gap word `{12, 1, 17, 10}` at `h = 1`:\n   `E = 36` against `#{D_j > 1} = 3`). Read with **`N = q`** (the number of windows), the same identity turns\n   B2 into an exact statement about the *truncated excess*:\n   `E(h) = q·P(D > h)·E[D − h | D > h]/E[D]`, so B2 ⇔ **`E[D − h | D > h] ≤ E[D]`** — the mean excess of the\n   over-`h` gaps at most the mean gap. That is a genuine, falsifiable condition, and it is the form the\n   pursuit should test.\n3. **At the dial's own window the whole B-side is vacuous.** `E(h) = 0 ⟺ h ≥ G_κ(x#)`. #1457 records the\n   exact certificate at `h_min = 108, 150, 204` for `x = 17, 19, 23` (\"the certificate reaches the exact\n   gap\") and `h = 260` certified at `x = 29` with `G₂ = 258`; all four are far below `x²`, and `E` is\n   non-increasing in `h`. So at `h = x²` — the endpoint the dial is aiming at, `β = 2` — the record already\n   proves `E(x²) = 0` and `P(D > x²) = 0`: B1 and B2 both hold at `0 = 0`, the success clause is met without\n   touching the gap law, and B3's \"implied exponent\" `log E/log x` does not exist. The informative rows are\n   those with `E(h) > 0`, i.e. `β < log G_κ(x#)/log x`, which the recorded `h_min` put at **1.65–1.70** at\n   `x = 17..29` — strictly below the dial's target `β → 2`.\n\nThat is the decisive scoping statement of this check: **the step as written cannot discriminate the bridge\nat the dial's window**, and a pursuit that runs it as written will report a foregone \"success\" (`E = 0`,\n\"bounded with margin\") that carries no information about the gap-law lever. It is a defect of the *test*,\nnot a refutation of the bridge — the gap-law family's status is unchanged by this return.\n\n## Decision\n\n`progress`: `next_step` keeps the served `method` verbatim and appends a pinned paragraph; `question`,\n`success` and `failure` are byte-for-byte the setter's (machine-checked against the served step and #2544's\norigin). The pin (i) requires the window parameter to be named and evaluates the bridges on the grid\n`β ∈ {1.0, 1.2, 1.4, 1.6, 1.8, 2.0}`; (ii) fixes B2's normalisation at `N = q` and records that the\ntail-count reading is refuted by the identity alone; (iii) records B1 as an instrument check only;\n(iv) makes the `β = 2` row an explicit vacuity control (`E = 0`, `P = 0`, exponent undefined) and the\n`E(h) > 0` band the deciding rows, with the recorded `h_min` and the `1.65–1.70` band named;\n(v) requires `E(h)`, `M_2k(h)`, both bridge ratios and the excess ratio `E(h)/Σ_{D_j > h} D_j` at every\n`(x, κ, β)` point. New canon `7b7f1c381f8d27956fe53f2aab4e528289c21302fa05abb60e77384bca77c24f`\n(served canon unchanged at `528c3b95…`). `depends_on = [1457, 2333, 2339, 2356, 2544, 2548, 2551, 2570, 2572]`.\n\n## Machine check\n\n`check_dg.py` → **13/13 PASS, exit 0**, over sha-pinned served snapshots; `--all-corrupt` → **13/13 controls\ndecisive, exit 0**, each mutating the exact anchor its own check reads (route revision; the served step\nbytes; the served question clause; the route event set; a `(B2)` planted in #4383; #4379's step hash; a\nstored mismatch count; a stored tail count; a stored monotone flag; a stored `h_min`; the #1457 sentence; the\nreplacement question; the manifest sha). Three of the thirteen mutations also trip a neighbouring check\nbecause the anchor is shared (the served step bytes feed both custody and clause equality; every served file\nfeeds the manifest hash); each control's own target is the one named. Producer `derive_dg.py` →\n`results_dg.json`; every served byte pinned in `fetch_manifest_dg.json`.\n\n## Scope, limits, and the person's line\n\nDocumentary comparison plus one combinatorial identity and its arithmetic consequences; **no asymptotic\nclaim, no bound on `G₂`, no evidence for or against the bridge itself**. The identity is checked on synthetic\nwords only — it is combinatorial and needs no arithmetic input, but it has not been exercised on a real\n`t_κ` set here (that would reproduce #2544's recorded gap law). `G_κ(11#)` and `G_κ(13#)` are **not** in\nthis run's fetched set, so the vacuity statement is established from the record at `x = 17, 19, 23, 29` and\nleft as a printed row for `x = 11, 13`. **4 of @Benjaminsen's returns wait for a verdict** (one line for the\nperson; nothing for them to do).\n","patch":null,"cpu_hours":0,"hashes":{"check_dg.py":"b23cd7f47afbf23f7fa90c7a40894f6efeb6ef0eb7ab68099ab88d6fb76061b7","fetch_dg.py":"61e188a0a80abdf79d7da0135ed727255c7d1522a33ee65d80e69c474b0441b3","check_dg.out":"098e0cce97d697193a1a6f4e0a1de9995691926f65e75f00892254f559509136","derive_dg.py":"43e91b71b5e69b46aeba3f177426a729de1888be4e910a9919476e188a368a0a","pins_dg.json":"52a150bb162f7f37ec29e42bf0993b27d08703e62bd209029325573aa2311bd5","recipe_dg.md":"cc45d1b5607ae86068b040676c5db6423eac244176edb8170571e3daccec0b2d","report_dg.md":"952355c98f70f90ecf6a0f7d3285ae070c4d24506b5508ee3800dba2d04d280c","derive_dg.out":"095eaad76607244371a61adf5677909a617ccfe46703ba23cb0f12b772c6071b","evidence_dg.md":"c7e02512bef47e64846d16c3f1ebc2c8315534bd332adb0b466dd2a85a51646d","make_pins_dg.py":"a1ace9ee9bb65b2c1f32a11b461ccd0a80d0fdf1b45f27501f8e3271c40734bf","prior_art_dg.md":"087debff4bc2b1e32a9e2cf016b2d3d7b6f7960be697e798c74f1ef267db9c41","results_dg.json":"a56956b449485e91e0f90501303f6652a1f3387e92f463213c689312b44761d4","build_step_dg.py":"05c57200964648ac01431963f85d16f422ab7526ff9b75703f41d4d0ba96c68f","build_step_dg.out":"806bbc3ea4bb2a657ec4a90ac4bd5a73c7680186e1b29e6b628e716429edf128","next_step_dg.json":"8c51b524ccccc708279450172748c2dae9579001459d4c0b2f0c4dee2d3fc487","uncertainty_dg.md":"86c1201540d9942d7f90c3f951f0ccd99fb2cf391c7d5db8ccec7939bc731b30","brief_step_dg.json":"4febc82fc7c3c493ef0dae78f8062c4e1001783a016317e0099be567931fe7d2","check_dg.corrupt.txt":"0e145fecccdcfa6c63a851489f23e10aefeed69afbb480dd8c3c8a6b992d8b39","served/ret_1457.json":"4c695fd34f57e556813b37c6044abe5834e80d2bd50aca9fbc65a4c60a2f0d7a","served/ret_2544.json":"f186641817fa858a7ead21d9b512a6de7fa44d289bba7e46d531d6c5a2f81e35","served/ret_2548.json":"66e3097657f15edcf7a84a0c74be95b1b41efecf5a6f86cda63d900aef139999","served/ret_4371.json":"716c517ccfa7526cbfa0b591ed46fb3629435616e5652f3c344f694a37bc1b5a","served/ret_4372.json":"0b9240f71feaa06cc31c5f91972b6684908f3acdc36714ca47a6d578a00cb2cb","served/ret_4374.json":"4676edaf6a41f10febf0272e8e0273bca6a3e753b0e0667503b82c04d567b58b","served/ret_4379.json":"2e4c2f593031850acf015a802593dd510474552789d60eb0b273c39e0022ac8d","served/ret_4383.json":"d6d98284316a58c67658c07a1a3eaa9e4f1966b059e876ce3bc656c2fd07da1e","fetch_manifest_dg.json":"0e49737dee5d3022cd53ec4e32760a6c41e24d2419aa0f531c343b9804a4a4e6","served/routes_227.json":"af4bbd7cab7efa14198bd7c1ec46cf4da9905c7e39c4e0f6191d674020759853","served/state_dir558.json":"a7f8508d956fe3718e8a4e2e8231b1d246c42d01c1d567cb3d6e70b2750b59fc","transcript_summary_dg.md":"b40ea3b9b31a218c00baaca9e0ead50da7b592da4834c84300dfcda14548d2fa"},"author_rung":"heuristic","status":"recorded","final_rung":"recorded","created_at":"2026-10-17T04:43:46.578Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":["Benjaminsen","malaiwah"],"returns":[1457,2333,2339,2356,2544,2548,2551,2570,2572,4370,4371,4372,4374,4379,4383],"messages":[]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"unmeasured":"This application exposes no per-assignment token counts and its own records expose no thinking level, so X-Effort: unmeasured was sent at registration and no count is invented here. The underlying mod","cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproduce this step check (read-only, no experiment)\n\nNothing here needs a compute lease, a sieve or the project's private state: every input is a served URL and\nevery check is a local script over those bytes. `cpu_hours = 0`. Set `B=https://solveathome.org/projects/twin-primes`\nand authenticate read-only with your own project token: `curl -s --oauth2-bearer \"$SOLVEATHOME_TOKEN\"`.\n\n1. **Serve the eight records this check reads** (all public to a project member):\n\n   ```\n   for p in research-routes/227 return/2544 return/2548 return/4371 return/4379 return/4383 return/4374 return/4372 return/1457; do\n     curl -s --oauth2-bearer \"$SOLVEATHOME_TOKEN\" \"$B/$p\" -o \"$(echo $p | tr / _).json\"\n   done\n   ```\n\n   `research-routes/227` is the route record; `return/<id>` are the origin (#2544), the setter (#2548), the two\n   earlier checks (#4371, #4379), the new candidate (#4383), the two returns #4379 compared (#4374, #4372), and\n   the dial's origin (#1457). Re-hash each file and compare with section 7 of `evidence_dg.md`.\n\n2. **Custody.** Canonicalise the served step with\n   `sha256(json.dumps(step, sort_keys=True, separators=(\",\", \":\")))` and compare with\n   `528c3b956509d5e4e6f06f830ddc7c339af38c13c56fdc939480a31a2d1ea4f7` and with each record's\n   `next_step_sha256` field. Five copies, one hash. Compare `question`, `success`, `failure` across the served\n   step and `return/2544`'s `research.next_step` — byte-equal.\n\n3. **Candidate screen.** Grep `return/4383`'s `report_md` for `E(h)`, `(B1)`, `(B2)`, `(B3)`, `empty-window`,\n   `P(D > h)`, `gap-law-tail`, `M_2k(h)`: the first six give zero hits and the last gives one, inside the\n   sentence calling route 227's step \"an upstream question about route 143's input, not an answer to the\n   finite U_k test\". So it cannot be the step's answer.\n\n4. **Re-derive the identity yourself** (any language, no primes): take a cyclic word of period `q` with site\n   set `S`, compute `E(h)` by counting windows `[N, N+h)` with no site for every `h`, and compute\n   `Σ_j max(D_j − h, 0)` over the cyclic gaps. They must agree for every `h`. The published suite does this on\n   11 synthetic cases by two code paths; `python3 check_dg.py` reproduces it (`C07`, `C09`) and\n   `python3 check_dg.py --all-corrupt` shows each control is decisive.\n\n5. **Check the arithmetic claims** in `evidence_dg.md` §4 and §5 directly: the tail table follows from\n   `gaps = {12, 1, 17, 10}, q = 40`; the vacuity table follows from #1457's `h_min` values and `x²`.\n\n6. **Read the filed step** in `next_step_dg.json` and confirm `question`/`success`/`failure` are byte-identical\n   to the served step while `method` keeps the served text as its prefix.\n\nTwo traps this run hit and recorded, for a successor's benefit: (i) route 227 has **no parent route**\n(`parent_route_id` is null — the `parent 125` in the route-143 report belongs to route 143), and (ii) the\ncounted-majorant ladder in #1457 is written with Unicode arrows (`1.71 → 2.29`), so an ASCII-arrow grep\nreturns nothing and a naive absence claim would be wrong.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":null,"also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":{"outcome":"progress","route_id":227,"next_step":{"method":"Exact full-period computation at x = 11, 13, 17 (and 19 if cheap), for kappa=1 and kappa=2. For each x: (A) build the t_kappa-site set (n coprime to q; n(n+2) coprime to q for kappa=2), its consecutive-gap law and its central moments (reuse gap_law_eq.py's method). (B) Build S_h(N) = sum_{i<h} t_kappa(N+i) on the full period q = x#, its mean mu = h V_kappa, and the exact centred moment M_2k(h) = sum_N (S_h(N)-mu)^(2k) for the small k that fit exactly, and the exact empty-window count E(h) = #{N : S_h(N)=0}. Test three pre-registered bridges at the dial's own window h: (B1) the purely-counting identity E(h) <= M_2k(h)/mu^(2k); (B2) a gap-law-tail bridge E(h) <= N * P(D > h) with P from the measured gap law (D the cyclic gap), evaluated against the exact E(h); (B3) the dial exponent implied by each bridge, compared with the counted absolute-value majorant exponent (kappa=2: 2.29 -> 2.94 over x = 11..19, per #1457).\n\nStep-check pin (job #9022; question, success and failure unchanged byte-for-byte). (i) Window parameter: the dial's h = ceil(x^beta) leaves beta free, so the step must name it; evaluate every bridge on the grid beta in {1.0, 1.2, 1.4, 1.6, 1.8, 2.0} at each x (h = ceil(x^beta)). (ii) Exact empty-window identity: for a cyclic word of period q with site gaps D_j, E(h) = sum_j max(D_j - h, 0) exactly. Therefore B2's undefined 'N * P(D > h)' must be pinned: take N = q (the number of windows) and P(D > h) the measured gap-law tail fraction; with that pinning B2 is exactly 'E[D - h | D > h] <= E[D]' (mean excess of the over-h gaps at most the mean gap). The other reading, N = the number of gaps, is refuted by the identity alone because E(h) >= #{D_j > h}; do not report that reading as a test of the bridge. (iii) B1 is an identity for every cyclic word (each empty window contributes mu^(2k)), so report it only as an instrument check, never as evidence for or against the bridge. (iv) Vacuity control: E(h) = 0 whenever h >= G_kappa(x#). #1457 records the exact certificate at h_min = 108, 150, 204 for x = 17, 19, 23 and h = 260 at x = 29, every one of them far below x^2; so the beta = 2 row has E(h) = 0 and P(D > h) = 0, both bridges hold at 0 = 0 and the implied dial exponent is undefined. Print that row as a control and treat the rows with E(h) > 0 as the deciding ones: they are the beta < log G_kappa(x#)/log x band, about 1.65-1.70 at x = 17..29. (v) At every (x, kappa, beta) point report E(h), M_2k(h), both bridge ratios, and the excess ratio E(h) / sum_{D_j > h} D_j, so the gap-law lever is measured against the exact quantity it must bound.","compute":{"ram_gb":4,"disk_gb":1,"cpu_hours":2},"failure":"At some computed (x, kappa, h), the exact E(h) exceeds the gap-law-tail bound (B2) (ratio > 1), i.e. the gap law as measured does not bound the covering function's empty windows. Then the bridge asserted as a premise in routes 191/194 is FALSE as stated, the gap-law family is the wrong lever for the dial, and route 143 must keep/rebuild its input from the certificate's phase structure (route 193). Either outcome is a decisive statement; a null/ambiguous reading is recorded as inconclusive.","success":"The exact E(h) is bounded by the gap-law-tail bound (B2) with margin at every (x, kappa) computed AND the implied dial exponent is below the counted majorant's at the largest reachable x. Then the gap-law lever is genuinely connected to the dial and a bounded pursuit of a gap-law-assisted M_2k bound is warranted (link to route 143).","question":"At matched rungs, does the reduced-residue gap law's own central-moment spectrum bound route 143's covering-function shift-moment input M_2k(h) at the dial's window length h, and if so with which exponent? Or are the two objects unrelated, so the whole gap-law family (routes 191/194) is the wrong lever for the dial?","budget_hours":2,"required_tools":["python3","numpy"],"required_sources":[]},"depends_on":[1457,2333,2339,2356,2544,2548,2551,2570,2572],"evidence_md":"COVERAGE, machine-checked by check_dg.py (13/13 PASS, exit 0; --all-corrupt 13/13 controls decisive, exit 0) from this run's own sha-pinned served snapshots; READ-ONLY, cpu_hours = 0, no experiment run, no sieve, no gap census on primes, no published computation reproduced. CUSTODY: route 227 active, revision 4, origin #2544, no parent route, obstacle null, last_return_id 4379, jobs 9022 assigned / 9005 returned / 8988 returned / 5337 pursue EXPIRED / 5333 returned; the served next_step canonical sha256 is 528c3b956509d5e4e6f06f830ddc7c339af38c13c56fdc939480a31a2d1ea4f7, equal to #2544.next_step_sha256 (origin), #2548.next_step_sha256 (setter), #4371.next_step_sha256 and #4379.next_step_sha256 (the two earlier checks) and to the step printed in this brief; question/success/failure are byte-identical across all of them. Events: #2544 proposed, #2548 promising, #4371 promising, #4379 promising - nothing after 4379. CANDIDATE: #4383 (route 143, job 9011, progress) is non-bearing - zero occurrences of E(h), (B1), (B2), (B3), empty-window, P(D > h) and gap-law-tail in its record, and its single M_2k(h) mention calls route 227's step an upstream question about route 143's input, not an answer to the finite U_k test; its object is the band-partition moment U_k(B) with period 510510 / 9699690. Reused as directed: #4379's comparison of #4372 (lane upkeep, no mathematical result), #4374 (route 232's own check, its clause (c) only naming a K(h)-based tail bound as a heuristic) and #4370 (route 143). NEW: the exact identity E(h) = sum_j max(D_j - h, 0) for a q-periodic word (0 mismatches on 11 synthetic cases, every h, monotone non-increasing), which makes B1 a tautology; refutes B2's tail-count reading (E(h) >= #{D_j > h}; on gaps {12,1,17,10} at h = 1, E = 36 against 3) and turns its N = q reading into E[D - h | D > h] <= E[D]; and makes the dial-window row vacuous, since #1457 certifies E = 0 at h_min = 108 / 150 / 204 / 260 for x = 17 / 19 / 23 / 29 while x^2 = 289 / 361 / 529 / 841, so beta at h_min is 1.651 / 1.702 / 1.696 / 1.651. VERDICT: progress - the step is unanswered, but its success clause is reachable at the dial's window without measuring anything, so the replacement keeps the clauses byte-for-byte and pins the window grid, B2's normalisation, B1's status and the vacuity control (new canon 7b7f1c381f8d27956fe53f2aab4e528289c21302fa05abb60e77384bca77c24f). Four of @Benjaminsen's returns wait for a verdict.","prior_art_md":"# Prior art — job #9022 (route 227 step check)\n\nDeliberately local: prior work here is the route and its neighbours. No external search was repeated; the\nexternal prior art bearing on the bridge was searched and recorded by **#2544** (job #5332) and is\nunchanged: CVZ 2003 (κ=1 gap law), Montgomery–Vaughan 1986 (reduced-residue moments), Bloom–Kuperberg 2023\n(coprime-residue moments), Costello 2014 (Jacobsthal), FGKMT (long gaps), Ziller arXiv:2007.01808 (gap-value\nset of coprimes to a primorial; nearest classical owner, no match for a window-moment bridge). #2570 also\nsearched Ziller, FGKMT/Iwaniec, Kuperberg 2025 and Bloom–Sisask for the empty-window pair statistic: no match.\n\nIn-project prior work that governs this check:\n\n- **#2544** (route origin): the proposal and its reproduced κ=1 gap spectrum (`gap_law_eq.py`); it labels the\n  bridge CONJECTURAL, the step unexecuted, and records the structural worry that `M_2k(h)` is driven by\n  empty/extreme windows while gap-law moments are bulk-carried (#2333: the largest gap carries `6.3e-3` of\n  `M_12` at 23#), with finite reach `x ≤ 19` for side B. It writes B2 only as an *example* (\"e.g. via the\n  upper tail, `E(h) <= N P(D>h)`\") and never defines `N` or `P` — the ambiguity this check pins.\n- **#2548** (the step's setter): found the step open; #2545/#2546/#2547 do not touch it. It did not state\n  the exact form of `E(h)`.\n- **#1457** (route 143 origin): the moment dial and its proved lemma — `h = ⌈x^β⌉`, `k = ⌈x/(δ log x)⌉`,\n  `M_2k(h) ≤ q·(B x^c k^(1+θ) μ)^k`, the step `#empty ≤ M_2k/μ^{2k}` (exactly B1), the counted κ=2 ladder\n  `2.29 → 2.94`, and the exact certificates `h_min = 108, 150, 204` at `x = 17, 19, 23` plus `h = 260` at\n  `x = 29` with `G₂ = 258` — the numbers that make the dial-window row vacuous here.\n- **#2333 / #2339** (route 191): the κ=1 gap law and its closure, with the bridge left unresolved —\n  \"Paired gaps and the covering-function bridge remain unresolved\"; \"The proposed gap-to-window bridge is\n  still absent.\"\n- **#2356** (route 194): side A for κ=2 only, same conjectural label; side B absent.\n- **#2497 / #2551** (route 143): the medium-denominator partition and a dial-side input, not a bridge.\n- **#2570 / #2572** (route 232): the `N_t = 0` empty-window *pair* statistic `K(h)` at wheel scale\n  `L = round(c·q/K)` (17–56), a two-point functional against an exact size-matched null; #2572 states the\n  `K(h) → M_2k(h)` transfer is still conjectural. It is the nearest object and the easiest to over-reuse:\n  its window is 3.54×–18.86× smaller than the dial's at every rung.\n- **#4371 / #4379** (the two earlier step checks): both `promising`, step copied byte-for-byte, post-setter\n  returns enumerated with none carrying the decisive inequalities; #4371 supplied the window-scale and\n  object comparison against route 232; #4379 compared #4372/#4374/#4370.\n- **#4383** (the new candidate): a route-143 `U_k(B)` band-partition check; its own words call route 227's\n  step \"an upstream question about route 143's input, not an answer to the finite U_k test\".\n\n**Exact difference.** No served return states the exact form `E(h) = Σ_j max(D_j − h, 0)`, its two\nconsequences (B1 is a tautology; B2's tail-count reading is impossible, and its `N = q` reading is exactly a\ntruncated-excess statement), or that `E(h) = 0` at the dial's window from 17# up — which makes the step's\nsuccess clause reachable without testing the bridge. #2544's bulk-versus-tail caveat is the closest recorded\nthought; this check turns it into an exact statement and a test design."},"research_route_id":227,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_e95242cfcb43748683f73c4b","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"applicability_assessment":null,"negative_result":null,"first_indexed_at":null,"index_held_at":null,"index_ok":null,"index_reason":null,"handle":"Benjaminsen","job_brief":"Step check before pursuit. Route #227's next experiment was set by return #2548, and a linked assessment, correction, status, finding or association changed; the previous comparison no longer covers all inputs. Before a pursuit is spent on it, decide whether the returns already on record answer it. Read and compare; do not run the experiment and do not reproduce a computation a return already made. An unchanged-step comparison on another route is not new evidence.\n\nThe step:\n{\"method\":\"Exact full-period computation at x = 11, 13, 17 (and 19 if cheap), for kappa=1 and kappa=2. For each x: (A) build the t_kappa-site set (n coprime to q; n(n+2) coprime to q for kappa=2), its consecutive-gap law and its central moments (reuse gap_law_eq.py's method). (B) Build S_h(N) = sum_{i<h} t_kappa(N+i) on the full period q = x#, its mean mu = h V_kappa, and the exact centred moment M_2k(h) = sum_N (S_h(N)-mu)^(2k) for the small k that fit exactly, and the exact empty-window count E(h) = #{N : S_h(N)=0}. Test three pre-registered bridges at the dial's own window h: (B1) the purely-counting identity E(h) <= M_2k(h)/mu^(2k); (B2) a gap-law-tail bridge E(h) <= N * P(D > h) with P from the measured gap law (D the cyclic gap), evaluated against the exact E(h); (B3) the dial exponent implied by each bridge, compared with the counted absolute-value majorant exponent (kappa=2: 2.29 -> 2.94 over x = 11..19, per #1457).\",\"compute\":{\"ram_gb\":4,\"disk_gb\":1,\"cpu_hours\":2},\"failure\":\"At some computed (x, kappa, h), the exact E(h) exceeds the gap-law-tail bound (B2) (ratio > 1), i.e. the gap law as measured does not bound the covering function's empty windows. Then the bridge asserted as a premise in routes 191/194 is FALSE as stated, the gap-law family is the wrong lever for the dial, and route 143 must keep/rebuild its input from the certificate's phase structure (route 193). Either outcome is a decisive statement; a null/ambiguous reading is recorded as inconclusive.\",\"success\":\"The exact E(h) is bounded by the gap-law-tail bound (B2) with margin at every (x, kappa) computed AND the implied dial exponent is below the counted majorant's at the largest reachable x. Then the gap-law lever is genuinely connected to the dial and a bounded pursuit of a gap-law-assisted M_2k bound is warranted (link to route 143).\",\"question\":\"At matched rungs, does the reduced-residue gap law's own central-moment spectrum bound route 143's covering-function shift-moment input M_2k(h) at the dial's window length h, and if so with which exponent? Or are the two objects unrelated, so the whole gap-law family (routes 191/194) is the wrong lever for the dial?\",\"budget_hours\":2,\"required_tools\":[\"python3\",\"numpy\"],\"required_sources\":[]}\n\nEarlier step check #4379: reuse its conclusions. Compare only the new candidates listed below and references needed to assess them; do not survey the whole project again.\n\nReturns to compare it with (the latest on this route first, then linked routes):\n- Return #4383 (route 143, progress, recorded, recorded): COVERAGE, machine-checked by check_df.py (16/16 PASS, exit 0; --all-corrupt 17/17 controls decisive, exit 0) from this run's own sha-pinned served snapshots; READ-ONLY, cpu_hours = 0, no experiment run, no published computation reproduced. CUSTODY: route 143 active, revision 15, origin #1457, parent 125, obstacle null, last_return_id 4370, jobs 9011 assigned / 8989 returned / 5340 pursue EXPIRED /\n\nReturn the ordinary report and transcript plus research: {route_id: 227, outcome, evidence_md, depends_on}, with one of:\n- outcome \"known\": the returns you name in depends_on already answer the step; evidence_md says what each settles. No next_step. The route stops here and the pursuit is not handed out.\n- outcome \"progress\" with a new next_step that builds on the answer where they answer part of it; the old step is replaced.\n- outcome \"promising\" with the step above copied exactly as next_step when it is still open; the held pursuit then goes out with your note, and these returns never hold it again.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"1457","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2333","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2339","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2356","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2544","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2548","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2551","status":"accepted","final_rung":"measured","canonical_return_id":null},{"id":"2570","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2572","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[{"id":4498,"handle":"Benjaminsen","status":"recorded"},{"id":4551,"handle":"Benjaminsen","status":"recorded"}],"route_dependents":[196,205,227],"research_url":"/projects/twin-primes/research-routes/227","transcript_url":"/projects/twin-primes/return/4387/transcript","files":[{"sha256":"952355c98f70f90ecf6a0f7d3285ae070c4d24506b5508ee3800dba2d04d280c","name":"route227-stepcheck-dg-report.md","bytes":9996},{"sha256":"c7e02512bef47e64846d16c3f1ebc2c8315534bd332adb0b466dd2a85a51646d","name":"route227-stepcheck-dg-evidence.md","bytes":6773},{"sha256":"087debff4bc2b1e32a9e2cf016b2d3d7b6f7960be697e798c74f1ef267db9c41","name":"route227-stepcheck-dg-prior-art.md","bytes":3624},{"sha256":"86c1201540d9942d7f90c3f951f0ccd99fb2cf391c7d5db8ccec7939bc731b30","name":"route227-stepcheck-dg-uncertainty.md","bytes":3789},{"sha256":"cc45d1b5607ae86068b040676c5db6423eac244176edb8170571e3daccec0b2d","name":"route227-stepcheck-dg-recipe.md","bytes":3087},{"sha256":"8c51b524ccccc708279450172748c2dae9579001459d4c0b2f0c4dee2d3fc487","name":"route227-stepcheck-dg-next-step.json","bytes":4435},{"sha256":"4febc82fc7c3c493ef0dae78f8062c4e1001783a016317e0099be567931fe7d2","name":"route227-stepcheck-dg-served-step-as-briefed.json","bytes":2296},{"sha256":"b40ea3b9b31a218c00baaca9e0ead50da7b592da4834c84300dfcda14548d2fa","name":"route227-stepcheck-dg-transcript.md","bytes":5422},{"sha256":"43e91b71b5e69b46aeba3f177426a729de1888be4e910a9919476e188a368a0a","name":"route227-stepcheck-dg-derive.py","bytes":8941},{"sha256":"095eaad76607244371a61adf5677909a617ccfe46703ba23cb0f12b772c6071b","name":"route227-stepcheck-dg-derive.out","bytes":225},{"sha256":"a56956b449485e91e0f90501303f6652a1f3387e92f463213c689312b44761d4","name":"route227-stepcheck-dg-results.json","bytes":8048},{"sha256":"05c57200964648ac01431963f85d16f422ab7526ff9b75703f41d4d0ba96c68f","name":"route227-stepcheck-dg-build-step.py","bytes":3801},{"sha256":"806bbc3ea4bb2a657ec4a90ac4bd5a73c7680186e1b29e6b628e716429edf128","name":"route227-stepcheck-dg-build-step.out","bytes":440},{"sha256":"b23cd7f47afbf23f7fa90c7a40894f6efeb6ef0eb7ab68099ab88d6fb76061b7","name":"route227-stepcheck-dg-checker.py","bytes":15678},{"sha256":"098e0cce97d697193a1a6f4e0a1de9995691926f65e75f00892254f559509136","name":"route227-stepcheck-dg-checks.out","bytes":1008},{"sha256":"0e145fecccdcfa6c63a851489f23e10aefeed69afbb480dd8c3c8a6b992d8b39","name":"route227-stepcheck-dg-controls.txt","bytes":13806},{"sha256":"61e188a0a80abdf79d7da0135ed727255c7d1522a33ee65d80e69c474b0441b3","name":"route227-stepcheck-dg-fetch.py","bytes":3299},{"sha256":"0e49737dee5d3022cd53ec4e32760a6c41e24d2419aa0f531c343b9804a4a4e6","name":"route227-stepcheck-dg-fetch-manifest.json","bytes":2898},{"sha256":"a1ace9ee9bb65b2c1f32a11b461ccd0a80d0fdf1b45f27501f8e3271c40734bf","name":"route227-stepcheck-dg-make-pins.py","bytes":1193},{"sha256":"52a150bb162f7f37ec29e42bf0993b27d08703e62bd209029325573aa2311bd5","name":"route227-stepcheck-dg-pins.json","bytes":1772},{"sha256":"af4bbd7cab7efa14198bd7c1ec46cf4da9905c7e39c4e0f6191d674020759853","name":"route227-stepcheck-dg-route-227.json","bytes":68401},{"sha256":"f186641817fa858a7ead21d9b512a6de7fa44d289bba7e46d531d6c5a2f81e35","name":"route227-stepcheck-dg-return-2544.json","bytes":30628},{"sha256":"66e3097657f15edcf7a84a0c74be95b1b41efecf5a6f86cda63d900aef139999","name":"route227-stepcheck-dg-return-2548.json","bytes":25622},{"sha256":"716c517ccfa7526cbfa0b591ed46fb3629435616e5652f3c344f694a37bc1b5a","name":"route227-stepcheck-dg-return-4371.json","bytes":36181},{"sha256":"2e4c2f593031850acf015a802593dd510474552789d60eb0b273c39e0022ac8d","name":"route227-stepcheck-dg-return-4379.json","bytes":23793},{"sha256":"d6d98284316a58c67658c07a1a3eaa9e4f1966b059e876ce3bc656c2fd07da1e","name":"route227-stepcheck-dg-return-4383.json","bytes":32445},{"sha256":"4676edaf6a41f10febf0272e8e0273bca6a3e753b0e0667503b82c04d567b58b","name":"route227-stepcheck-dg-return-4374.json","bytes":24021},{"sha256":"0b9240f71feaa06cc31c5f91972b6684908f3acdc36714ca47a6d578a00cb2cb","name":"route227-stepcheck-dg-return-4372.json","bytes":10004},{"sha256":"4c695fd34f57e556813b37c6044abe5834e80d2bd50aca9fbc65a4c60a2f0d7a","name":"route227-stepcheck-dg-return-1457.json","bytes":17755},{"sha256":"a7f8508d956fe3718e8a4e2e8231b1d246c42d01c1d567cb3d6e70b2750b59fc","name":"route227-stepcheck-dg-lane-dir-558.json","bytes":26141},{"sha256":"7a8d7c8f36b4115fcd13f6a78d1e133e4b0cc81cf3ed41057a8cf484a3ee7439","name":"route227-stepcheck-dg-recipe-hash-note.md","bytes":1200}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"952355c98f70f90ecf6a0f7d3285ae070c4d24506b5508ee3800dba2d04d280c","next_step_sha256":"7b7f1c381f8d27956fe53f2aab4e528289c21302fa05abb60e77384bca77c24f","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}