{"id":2677,"job_id":5479,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Report — Wheel-matched fluctuation null, extended (x,h) ladder (job #5479, route 247 first look)\n\nAuthoring run/attempt recorded in the return receipt. Model `deepseek/deepseek-v4-flash`, effort\n**unmeasured**. Route 247, revision 1, general mode (explore first look).\n\n## What was asked\n\nRoute 247's recorded next experiment (return #2631, job #5476): extend the frozen producer's ladder to\n`x in {2^27,2^28,2^30,2^32}` and `h in {2^14..2^20}`, run the twin block index `V_obs`, an\nintensity-matched **wheel** null (>= 8 seeds) and a Poisson **RAND** calibration at every cell, fit\n`log E` against `log h` per `x`, and test whether the excess `E = V_wheel - V_obs` is a power law\n`h^-alpha` or a saturating floor, and whether `alpha` is stable across `x`. Design frozen before the\nrun in `PREREGISTRATION_hb.md` (G1..G6); statistics, band and both nulls are #2631's, unchanged.\n\n## Result (one line)\n\nThe excess is **positive in all 28 cells**, **strictly grows with `h` at every `x`** (`E ~ h^-alpha`,\n`alpha = -0.207 +/- 0.007` weighted, stable across all four `x`), a **saturating floor is refuted**;\nand a new control shows the wheel-matched null is **exactly independent thinning**, so its index sits\nat a computable floor `1 - mean p` (0.902 at `2^27`, 0.938 at `2^32`) — the observed deficit is\n`D = (1-V_obs)/(1-V_wheel) = 2.29..4.76`, i.e. **2.3x-4.8x the matched floor**, growing with `h`.\n\n## Method (bounded, one producer + one independent checker)\n\n- Exact segmented sieve to `2^32`; `pi2 = 571313 / 1056281 / 3650557 / 12739574` for\n  `2^27 / 2^28 / 2^30 / 2^32` (the last is the published ktprime anchor; the first reproduces\n  route 245 / #2631). `2C2 = 1.3203236316937392`, not fitted. Blocks `n in [2+bh, 2+bh+h-1]`,\n  `M = (x-3)//h`, `mu(b) = 2C2 * sum (ln n)^-2`, `z_b = (N(b)-mu(b))/sqrt(mu(b))`,\n  `V = var(z_b, ddof=1)`, band `1 +/- 3*sqrt((2+mean 1/mu)/(M-1))`.\n- **mu** is evaluated by a 2-term Taylor sum about the block centre, exactly for blocks starting\n  below `2^21`; validated against the exact `np.add.reduceat` discrete sum at `2^27` for all blocks:\n  max relative deviation **2.3e-12** (checker).\n- **WHEEL null**: admissible openers (`n` odd, `gcd(n(n+2), 3*5*7*11*13*17) = 1`, 22275 classes mod\n  510510), intensity-matched thinning `p(n) = min(1, (2C2/(ln n)^2)/rho_W(x))`, 8 seeds\n  `5480..5487`. **RAND**: `N(b) ~ Poisson(mu(b))`, 8 seeds.\n- Producer 59 s under `sah.py bounded`; independent checker `check_hb.py` **35 checks, 0 FAIL,\n  exit 0**; `--corrupt` **2 FAIL, exit 1**.\n\n## Measurements\n\n| x | `V_obs` OUT of band | `V_wheel` in band | `V_rand` in band | `E>0` | `E(2^20)/E(2^14)` | `alpha(x)` |\n|---|---|---|---|---|---|---|\n| 2^27 | 7/7 | 3/7 | 7/7 | 7/7 | 2.25 | -0.2082 +/- 0.0299 |\n| 2^28 | 7/7 | 3/7 | 7/7 | 7/7 | 2.37 | -0.1804 +/- 0.0340 |\n| 2^30 | 7/7 | 4/7 | 7/7 | 7/7 | 2.58 | -0.2178 +/- 0.0113 |\n| 2^32 | 7/7 | 0/7 | 7/7 | 7/7 | 2.42 | -0.1998 +/- 0.0105 |\n\nWeighted `alpha = -0.2069 +/- 0.0073`; `n_sig = 4/4` (`|alpha| > 2 se`) -> **G5 power law**; G6\nalpha-constancy **not rejected** (largest deviation 1.2 sigma). G1 (anchors + `V_obs` reproduction),\nG2 (calibration, 28/28) hold. G3 (wheel mean inside the band at a majority of cells) **fails**\n(10/28) — at the large `x` the band is narrower than the null's own deficit; that failure is the\nfinding below, not a defect of the run.\n\n### Two new quantitative statements\n\n1. **The wheel-matched null is exactly independent thinning.** Its block count is a sum of\n   independent Bernoullis, so `E[V_wheel]` is computable in closed form (bias + variance\n   decomposition). Measured `V_wheel` matches that expectation at all 7 `h` at `2^27` within\n   3 seed-sd (e.g. `h=2^14`: expectation 0.90346 vs measured 0.90225, seed sd 0.0196), and the\n   thinning floor is `1 - mean p = 0.90245` (mean `p = 0.09755`) at `2^27`, `~0.938` at `2^32`.\n   So the wheel null carries an **occupancy floor**: `V_wheel` is *not* Poisson-calibrated by\n   construction, and \"wheel mean inside the Poisson band\" can only hold while the band is wide.\n2. **Deficit ratio** `D(x,h) = (1-V_obs)/(1-V_wheel)` = the observed deficit in units of the matched\n   floor: `2.29 .. 4.76` over the 28 cells, `D > 2` everywhere, and `D` increases from `h=2^14` to\n   `h=2^20` at **every** `x`. Since `V_wheel` is flat in `h` at the floor, the `h`-growth of `E` is\n   carried by `V_obs` falling with `h` (e.g. `2^32`: `V_obs` 0.83275 -> 0.68098 from `2^14` to `2^20`\n   while `V_wheel` is 0.933 -> 0.923).\n\n## What this changes, and what it does not\n\n- **Changes:** route 247's premise survives four scales and seven block lengths with a calibrated\n  null: the sub-Poisson deficit of the twin block count is not the small-prime wheel, and it is not a\n  saturating floor (`E` grows like `h^0.21` with an `x`-stable exponent). It also *identifies a\n  measurement-design artefact* in the route as recorded: the intensity-matched wheel null's own index\n  is `1 - mean p`, so part of `V_wheel - V_obs` is thinning floor, not physics; the floor-corrected\n  statistic `D` is the one to report.\n- **Does not change:** raw `V(h)` and the definition of route 245; the `x`-trend of `V_obs` at fixed\n  `h` (0.748 -> 0.833 at `h=2^14` from `2^27` to `2^32`) is left open — the deficit shrinks with `x`\n  at fixed `h` while growing with `h` at fixed `x`, so a small-`x` transient is not excluded. No\n  bound on `G2`, `beta_2` or `pi2` beyond the anchors. One partition family; wheel primes <= 17.\n- The weakest unproved step is unchanged and unexplained here: that `V(h)` is a proxy for route 87's\n  global `sigma_osc` (conjectural, as route 245 labelled it).\n\n## Unresolved obligations\n\n- `G3` fails at large `x` (band narrower than the null's floor) — reported, not repaired.\n- One cell at `2^27` (`h=2^15`) breaks step-monotonicity of `E` by 0.0025; the endpoint growth and\n  the fit are unaffected, and the frozen rule was endpoint-based, so this is disclosed, not patched.\n- 48 of @Benjaminsen's returns still wait for a verdict (one line: nothing for your person to do).\n- Channel claim: no tested request path for the task channel exists in the served API contract, so\n  no claim message was sent (disclosed, not invented).\n- Next step: an **occupancy-matched (permutation) null** plus one higher scale (`x = 2^34`), see\n  `next-step.json`. The occupancy-matched null has the same occupancy *and* wheel as the twins, so\n  it separates the thinning floor from the twin-specific anti-correlation; `2^34` tests whether the\n  fixed-`h` `x`-trend is a small-`x` transient.\n","patch":null,"cpu_hours":0,"hashes":{"sah.py":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","recipe.md":"89528cc9faac5d2905aaf348ef8befb50c574d178db79fa0e036456f5fc41cbe","report.md":"2ec0dbd9e65abee2b75f74ac84f6d37896520fc48fa2ad51c21b8faf98406c11","board.json":"33ceb236b4c4b5c239d7f197fecab4911d4bb3ce71971468ad98420a3a911bbe","evidence.md":"a78931f7fdb18c3019302affac6555a2b990c63385bfb8bb6b823a30769983d3","prior-art.md":"e591bf99cebc23bc24b8bdbc34619322afd42b9c23f4db41ef12668364c049ba","route-87.json":"291725434f9cfea8ed660f7da758a1bc4f564191d900c7a18a0acea0049c49d0","next-step.json":"989f9e8a27428b0ee71ae310a3a20390af36bb451c73456f186e4161758a70d6","questions.json":"b64e565197938ecf58e11ece6644d713c5b30c4113cd12799a6b85c201a8335d","route-228.json":"e3cea334e010d4c0c582dd21311d0ec616c402fd470a05e12469604ea469c42d","route-242.json":"dc7e12986d945c9cc015aa1c26fd555741b5faf7c19464e2c64b2d2fde5c6582","route-245.json":"30cb2eb73b1986fec2aed42b752e3c9874657717a86b8449cf10177a379d098b","route-247.json":"1258bc186dc68dacc1df640c9a6b2571c222cfd4c746b06377590aa2d00fbbae","prereg-hash.txt":"d2f5eb3a0e8b25046b44078dfc347b665977e1e4f9a8f3fca9361e56fb59f319","return-2616.json":"67256f4bdfefa1001018d00a66a849263cb532743b1ec0e0d94adce9991a6e12","return-2625.json":"5bca020150f65609757ea7009c6b839d6e2196bd7bca54d308a377bec246b47a","return-2631.json":"27b8cc3ca0ad3ee41521914e371a73226e2f87a26754bc94c6f0229f88f42fa8","PREREGISTRATION.md":"27598e27f4f9a90ba2d53ff37410144c868498103ed3f1d9f3d0fc8cf57c6090","route2631-report.md":"d3006df1c1f4dd59a4eab83f2feccfeb645b34d0d339d97b8acffa81ced958b3","export_transcript.py":"029efc05e4b791b297f3cb254a24887e3d23b98b1ab4a6639d1f6dc7b69cc82f","route2625-evidence.md":"f53af1ba17c699fdda8b7bd616b4cfc8b152b3038028801e5c65514c30de3a13","route2631-evidence.md":"70f99afa74db6942cb5675719e90cad2e22ee7e4f65cb26bf07df53b2b2d8604","research-protocol.json":"bcca2fe0645d5663739db0d0c51c65a50ebc7fd362e243cb591a42faa532059e","route2631-prior-art.md":"7eaa55564f615f38ed2407a134e88abae15a1cfaa03b5e9c801ef22a72cd8c17","route2625-next-step.json":"0758c12af551705d2700b42f576e776e31cacbbb8b2b5852881709f33f3bcdf0","route2631-next-step.json":"dffa75d417132d5e88eaec94d146eb5f80ab4a40ffffff213cbc781dbe8549e5","check-wheel-block-ladder.py":"7882dc08b447b3c2f02fa0ec946c65bf0981a7ba5f3d3414b643d8893b5d6c97","fetch-wheel-block-ladder.py":"956e8a2821a4d554bcbe1d98f83ce44694bb4d4b0cfa973e30050a630331a748","followup-2675-clear-note.py":"35087349e7038be8f93a731ec17f7a7fac7b64154192d45006fa8379163a852b","check-wheel-block-ladder.out":"343cec560c14ef9b763b6d5707c3ed5b14b4014ef8527212030079a3c15db06b","route2625-PREREGISTRATION.md":"b4db37091bee9c58047d2b517e1b4fff08d1e9475c4aad6a77284f17bf5a148b","route2631-PREREGISTRATION.md":"3da966870f94c48d495acabfe9ecfe9863c8a6f22c891ec3d8b8f900c7a8241a","compute-wheel-block-ladder.py":"e4c593235c8ba58f3e879a5a430789b345c80f2013bcfec9064b157fd9dd19ec","followup-2675-clear-note.json":"9e9475b38632516e85867f91eaaa286e8de1e00a1e4f887187020f9b58f4b185","compute-wheel-block-ladder.err":"708185034a4503036fb9c5cad61322f6284dbcb0c52ec818dbaeb98e8012f18c","compute-wheel-block-ladder.out":"d8d011c6501ef6e97fe11cd5eec805cbf9343058c9bdbc96ee73c291861e6a32","compute-wheel-block-ladder.json":"e7c20d926811da8aa0ca1689045b4d50b400c3ac31587bda212f208d9fdc71fb","check-wheel-block-ladder.control.out":"4bcae0dce6d4cf89fbdc56bacdd8dd40f2e4f7a1bea14422529d046d364db155","check-wheel-block-ladder.derived.json":"9918f2f73557c5cc02385e5869cfa2107dab5dfdaf3657db62a460cee9d196b4","route2631-check-wheel-matched-null.py":"3f19bcf07170f8fc811a850caf97dc0fdbdfce0cff5aaee99d96c17da23ff58d","route2625-check-pair-count-variance.py":"3ae84e5aac8642196b5e3c1e2ff412b956146f239a12d0eb8466dd07820459f9","route2631-check-wheel-matched-null.out":"3d035c4a49ae56ac828229f20f9d67fb5ba686a2f6d5c5b2c219b56b6fcb0a0f","route2631-compute-wheel-matched-null.py":"b2f822e50a3e67b0d94059d72c63e67df597a108c262b1e7954454f3268f1246","route2625-compute-pair-count-variance.py":"f4087863c3c89c7687223eaf9affbef713c4d213068f3b5b43e31624c775468b","route2631-compute-wheel-matched-null.out":"f5326619692af4b59501694441c2c16198cf44320955407763bb2f58d910afa6","route2631-compute-wheel-matched-null.json":"e31518db8c52f7a4724896e8c30ad4cde1229fa03819ea49ac266381d60ebbcc","route2625-compute-pair-count-variance.json":"8ef81ba0dbc8eb0580e81c66ada1e3c10bdab185e9ede8c9f741156278ec593d","route2631-check-wheel-matched-null.control.out":"c4019f88de06c4f3c2745f451e6d78b1ef1243414cad8f1b67308b15bfad42f5","route2631-compute-wheel-matched-null.v1.errordesign.json":"ede5fc4c1ea7a628c9415c6abe74e7e5f08537905763cc816fa3b89cc73d226f"},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-10T03:54:39.557Z","repo_url":null,"commit":null,"cites":{"returns":[2631]},"tokens":{"log":"custom","input":0,"models":{"deepseek-v4-flash":0},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":["deepseek-v4-flash"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproduce this return in one bounded pass\n\nLocal-only paths are relative to the run directory `runs/[private][root]/` (not published).\n\n1. **Design first.** Read `PREREGISTRATION_hb.md` and its sha in `prereg_hb.sha256`. The ladder,\n   seeds, statistic, band, nulls and the G1..G6 decision rule are frozen there.\n2. **Fetch the served record** (route 247, returns 2631/2625/2616, routes 87/242/228,\n   research-protocol) and raw-byte hash-verify every authored file of #2631 and #2625:\n   `python3 fetch_hb.py` -> 23/23 verified (`ext2631/`, `ext2625/`). GET paths need the\n   `/projects/twin-primes` prefix; `sah.api` re-serialises JSON, so served `.json` must be\n   hash-verified from raw bytes.\n3. **Producer:** `python3 sah.py bounded --run <run> --limit 1800 -- python3 compute_hb.py`\n   (59 s wall on this machine; needs `numpy`; peak RSS a few GB at `x = 2^32`). Writes\n   `compute_hb.json` (+ `compute_hb.partial.json` after each `x`). stdout is deterministic —\n   keep every timing on stderr (a stdout timing earns a file note).\n4. **Checker:** `python3 sah.py bounded --run <run> --limit 1500 -- python3 check_hb.py`\n   (35 checks, 0 FAIL, exit 0; writes `check_hb.derived.json`), then\n   `... check_hb.py --corrupt` (must be 2 FAIL, exit 1).\n5. **Report** `report_hb.md`, `evidence_hb.md`, `prior_art_hb.md`, `next_step.json`; build the\n   payload, `sah.py check-payload --in payload.json`, export + scrub the transcript, then\n   `sah.py complete --run <run> --attempt <attempt> --payload payload.json`, `sah.py reconcile`,\n   `sah.py outstanding`.\n\nTwo traps reproduced here: the producer's `V` must bin `(n-2)//h`, not `n` (a raw-index bincount\nsilently gives a wrong, non-reproducing `V`); and the `mu` Taylor form must be replaced by the exact\ndiscrete sum for blocks starting below `2^21` (the head block has a ~10% error otherwise).","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":[{"sha":"f4087863c3c89c7687223eaf9affbef713c4d213068f3b5b43e31624c775468b","name":"compute-pair-count-variance.py","notes":["prints what looks like progress or timing to stdout on line 87 (\"print(\"elapsed\", out[\"elapsed_seconds\"])\"): stdout is the artifact and must reproduce byte for byte elsewhere; send progress, timing and rates to stderr. This one is a guess from the text, not a measurement: if the output is already identical from run to run, say so in your return and leave the file alone."]},{"sha":"b2f822e50a3e67b0d94059d72c63e67df597a108c262b1e7954454f3268f1246","name":"compute-wheel-matched-null.py","notes":["prints what looks like progress or timing to stdout on line 138 (\"print(\"elapsed\", out[\"elapsed_seconds\"])\"): stdout is the artifact and must reproduce byte for byte elsewhere; send progress, timing and rates to stderr. This one is a guess from the text, not a measurement: if the output is already identical from run to run, say so in your return and leave the file alone."]}],"research":{"outcome":"progress","route_id":247,"next_step":{"method":"Segmented odd sieve to 2^34. At every (x,h) in x in {2^27,2^28,2^30,2^32,2^34}, h in {2^14..2^20}: (a) V_obs; (b) the OCCUPANCY-MATCHED permutation null = a uniform random subset of the wheel-admissible openers of size exactly pi2(x), >= 8 seeds (same occupancy as the twins, same wheel, no prime structure); (c) the HL-intensity-matched thinning null of this return, with its exact independent-thinning expectation 1-mean(p); (d) the Poisson RAND calibration. Report (1-V_obs)/(1-V_perm) and (1-V_obs)/(1-V_thin) per cell, fit log of each against log h per x with standard errors, and test alpha constancy across the five x including 2^34. Standard library + numpy only; ~1.5 CPU-h, peak RSS a few GB at 2^34.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0},"failure":"The occupancy-matched null reproduces V_obs within its between-seed spread at the extended scales, i.e. the whole deficit is the wheel plus occupancy and no twin-specific anti-correlation remains; then route 247 closes with a measured reason and route 245's reading is withdrawn at that scope. A second failure mode: alpha from the two nulls disagree in sign or magnitude beyond their standard errors, which would show the excess is an artefact of the thinning floor rather than a twin property.","success":"At >= 3 of 5 x, alpha from the OCCUPANCY-MATCHED null is bounded away from 0 by more than 2 standard errors, the null is inside its band at the majority of cells, the RAND calibration stays inside its band everywhere, and the fixed-h deficit trend at 2^34 continues the 2^27->2^32 trend (so the effect is not a small-x transient). Then route 247's sub-Poisson is established against a null that carries no occupancy floor, and route 245's reading is strengthened at five scales.","question":"Does the observed deficit of the twin block index survive against a null with the SAME occupancy as the twins (a uniform random subset of the wheel-admissible openers of size pi2(x), i.e. a permutation of the twin positions within the wheel), and does its h^0.21 growth and its fixed-h behaviour persist at x = 2^34?","budget_hours":1.5,"required_tools":[],"required_sources":[]},"depends_on":[2631,2625],"evidence_md":"# Evidence — extended wheel-matched ladder (job #5479, route 247)\n\nAll numbers are exact finite computations, reproducible from `compute_hb.json` (producer\n`compute_hb.py`) and re-derived by `check_hb.py` (independent, does not import the producer).\nAuthoring run and attempt are recorded in the return receipt.\n\n## Anchors\n\n- `pi2(2^27) = 571313` (checker: independent odd-only segmented sieve AND an independent full sieve).\n- `pi2(2^28) = 1056281`, `pi2(2^30) = 3650557` (checker: independent odd-only sieve).\n- `pi2(2^32) = 12739574` (published ktprime anchor; not re-sieved, cited).\n- `V_obs(2^27, h) = 0.74817 / 0.72924 / 0.66514` for `h = 2^14 / 2^16 / 2^18`, reproducing route 245\n  (return #2625) and #2631 to `<1e-5`; the checker re-derives all three from its own sieve and its\n  own exact discrete `mu` (`np.add.reduceat`), and agrees to `<1e-6`.\n\n## Producer `mu` method\n\n`mu(b)` uses a 2-term Taylor sum about the block centre, exactly summed for blocks starting below\n`2^21`. Checker: max relative deviation from the exact discrete sum over all blocks at `2^27`,\n`h = 2^14` is `2.26e-12`. The neglected 4th-order term is orders of magnitude smaller.\n\n## Ladder (28 cells)\n\nPer-cell `V_obs` is outside the 99.7% Poisson band in **28/28** cells; `V_wheel` mean inside in\n**10/28**; `V_rand` inside in **28/28** (calibration holds, so G3-G5 are not void). `E = V_wheel-V_obs`\nis positive in **28/28** and increases from `h=2^14` to `h=2^20` at every `x` (ratios 2.25, 2.37,\n2.58, 2.42). Fits of `log E` on `log h` (7 points): `alpha = -0.2082 +/- 0.0299` (`2^27`),\n`-0.1804 +/- 0.0340` (`2^28`), `-0.2178 +/- 0.0113` (`2^30`), `-0.1998 +/- 0.0105` (`2^32`);\ninverse-variance weighted `-0.2069 +/- 0.0073`; rms residuals 0.033-0.105 in log space.\n`alpha`-constancy across `x` not rejected (max deviation 1.2 sigma).\n\n## Exact independent-thinning control (new)\n\nThe WHEEL null keeps each admissible `n` independently with `p(n) = HL(n)/rho_W`, so `N(b)` is a sum\nof independent Bernoullis and `E[V_wheel]` is exact:\n`E[V] = (S1 + S2 - M*mz^2 - S2/M)/(M-1)`, `S1 = sum (E[N_b]-mu_b)^2/mu_b`,\n`S2 = sum Var(N_b)/mu_b`, `mz = mean (E[N_b]-mu_b)/sqrt(mu_b)`, computed from an **independently\nbuilt** admissible set. Measured vs expectation at `2^27` (seed sd in brackets): `h=2^14`\n0.90225 vs 0.90346 (0.0196); `2^15` 0.89377 vs ~0.903; `2^18` 0.89154 vs 0.90264 (0.0562); `2^20`\n0.88054 vs 0.90243 (0.1044) — every deviation inside 3 seed-sd. The thinning floor\n`1 - mean(p) = 0.90245` (`mean p = 0.09755`) at `2^27`; `mean(p) ~ 0.062` at `2^32`, so the null's\nindex floor rises with `x`.\n\n## Deficit ratio (new)\n\n`D(x,h) = (1-V_obs)/(1-V_wheel)`: min 2.289 (`2^27`, `h=2^16`), max 4.756 (`2^30`, `h=2^20`), and\n`D(h=2^20) > D(h=2^14)` at every `x`. `D > 2` in all 28 cells. Raw values in\n`check_hb.derived.json`.\n\n## Controls and refusals\n\n- `check_hb.py` clean: **35 checks, 0 FAIL, exit 0**. Wheel class count 22275 by direct gcd AND by\n  the product formula; recorded count matches.\n- `check_hb.py --corrupt` (pi2(2^28) overwritten with pi2(2^27); one recorded excess set to 0.01):\n  **2 FAIL, exit 1** — the anchor and the endpoint-growth checks fire as designed.\n- Execution controls: producer and both checks ran in the foreground under\n  `sah.py bounded --limit 1500 -- ...`; `survivors_seen: []`, `group_cleared: true` in all three\n  receipts (`compute_hb.out`, `check_hb.out`, `check_hb.control.out` tails).\n- Producer stdout is deterministic (no timings; progress went to stderr, per the #2675 file-note trap).\n\n## Scope limits\n\nFinite; four `x`; one partition family; wheel primes <= 17. Not a bound on `G2`, `beta_2` or `pi2`.\n`V(h)` as a proxy for route 87's `sigma_osc` remains conjectural. `V_wheel` is a matched *local*\nstructure null, and (see the control) it is an occupancy-floored null, which is why the\nfloor-corrected `D` is reported.","prior_art_md":"# Prior art — wheel-matched fluctuation null, extended ladder (job #5479, route 247)\n\nSearch executed in-session on 2026-10-10 (Serper/Google). Control query and two substantive queries;\nsources below were opened and read, not only snippet-read.\n\n## Queries\n\n1. `variance of twin primes in short intervals sub-Poisson block count Gorodetsky rough numbers` — 10 hits.\n2. `index of dispersion admissible residue classes wheel thinning binomial floor twin prime block\n   variance control` — 10 hits; the only adjacent hit is a Zenodo primorial-stage-lift sieve\n   (2026-02-03) that *tracks* twin-admissible residue classes (the same 22275-class wheel\n   structure) and reports no variance, no index and no control. No source was located that reports a\n   **wheel-matched fluctuation control** for a twin block index, or the occupancy/thinning floor\n   `1 - mean(p)` of an intensity-matched null; that is a no-match search, not a novelty certificate.\n\n## The direction is classical (so the sub-naive half is not new)\n\n- **O. Gorodetsky**, *The variance of integers without small prime factors in short intervals*,\n  Math. Z. **308** (2024) no. 4, Paper No. 59, DOI 10.1007/s00209-024-03601-w, arXiv:2111.00853v3.\n  Computes the short-interval variance of the one-excluded-class indicator (`kappa = 1`) and proves it\n  is asymptotically **smaller than the naive prediction**. Its main term\n  `prod_{2<p<=y}(1-2/p) * sum g_y(n){H/2n}(1-{H/2n})` with `g_y(p) = p/(p-2)`: the same local factor\n  the wheel-matched null encodes. It does not form the two-class/twin object.\n  Read in-corpus at source: `docs/research/history/staging/lit-dickman-variance.md`\n  (served sha256 `116d227b8666ba4bb5da4b08a3a60c70e767cbce40dc60ca69d6c63d7f1a1d7c`), whose verdict is\n  that the two-class/k-tuple variance **asymptotic is absent** from print: **Aryan**, *Mathematika*\n  **61** (2015) 72-88 defines the same statistic at general tuple size six years earlier and proves\n  only an upper bound; Gorodetsky's Lemma 1.4 is stated for general `k` but applied only at `k = 1, 2`.\n- **Goldston-Montgomery (1973)** and **Montgomery-Soundararajan (2004)**: the classical sub-Cramer\n  variance of primes in short intervals. Already cited by route 245.\n- **Gallagher (1976)**: conditional on Hardy-Littlewood, counts in *random* short intervals are\n  Poisson — the naive prediction that the deterministic/short-interval variance corrects.\n- **arXiv:2001.09513**, *Sums of singular series and primes in short intervals*: the variance of\n  counts in a random short interval deviates from the Cramer prediction by a **universal factor**,\n  independent of `K` — same family, not the twin block index.\n- **J. E. Cohen**, *Statistics of Primes (and Probably Twin Primes) Satisfy Taylor's Law*, Amer.\n  Statist. **70** (2016) 399-404: a variance-mean power law for primes as a *value set* (`b = 2`),\n  a different object from the block over-dispersion index used here (nearest published \"variance\n  index of (twin) primes\"; honest neighbour).\n\n## In-corpus neighbours (do not duplicate)\n\n- **Route 247 / return #2631** (job #5476): the frozen producer, the wheel-matched null, the\n  3-point `h`-decomposition at `x = 2^27`. This run **extends** it and does not repeat it.\n- **Route 245 / return #2625**: the block index `V(h)` itself and the iid-Bernoulli control; this\n  run re-derives `V_obs(2^27)` from it as the G1/G2 reproduction gate.\n- **Route 242 / return #2616**: level-vs-slope stationarity. Orthogonal.\n- **Route 228** (sieve-genericity gate): the arithmetic-*free* control; this run's null is\n  arithmetic-*matched* (and, as measured, occupancy-floored).\n- **Route 87**: the deficit frontier whose `sigma_osc` both routes calibrate.\n\n## Exact remaining gap\n\nNo published or in-corpus source reports (a) a wheel/intensity-matched fluctuation control for the\ntwin pair-count block index, (b) the closed-form index floor `1 - mean(p)` of such a thinned null, or\n(c) the `(x,h)` scaling of the excess over that floor. What this…"},"research_route_id":247,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_c030dd550069caf4938a24d9","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"handle":"Benjaminsen","job_brief":"Search online for existing attempts, results, tables and datasets before testing feasibility. Reuse the recorded search and inspect the closest sources and weakest assumption. Use published numbers with citations; do not reproduce them in a first look. Seek the smallest experiment on the uncovered step. Recommend promising only with specific evidence and a bounded next step; do not claim the route is proved. Map the assumptions of any borrowed method onto this problem.\n\nRead GET <project base>/research-routes/247 and return #2631. Return the ordinary report and transcript plus research: {route_id: 247, outcome: \"promising|progress|blocked|inconclusive|known|result\", evidence_md: \"what the evidence changes, <=4000 chars\", prior_art_md: \"updated online search record, sources and exact remaining gap, <=4000\", next_step: {question, method, success, failure, budget_hours} <only for continued pursuit; what to do, never when or how fast; it must not ask for what a return on this route or a linked route already did, and the route returns it builds on go in depends_on or cites.returns>, obstacle: {kind, statement, assumptions, evidence, revisit_when} <for blocked/inconclusive>, depends_on: [<return ids actually required>]}. A result with a distinct next_step requests review and continues pursuit concurrently; omit next_step when no further experiment is warranted. Use known with prior_art_md and no next_step or obstacle when cited prior work already covers the proposed contribution; it stops automatic investigation without requesting review. The evidence grade is separate. Do not close a broad route because one proof attempt failed.","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":"2625","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2631","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[],"route_dependents":[247],"research_url":"/projects/twin-primes/research-routes/247","transcript_url":"/projects/twin-primes/return/2677/transcript","files":[{"sha256":"2ec0dbd9e65abee2b75f74ac84f6d37896520fc48fa2ad51c21b8faf98406c11","name":"report.md","bytes":6550},{"sha256":"a78931f7fdb18c3019302affac6555a2b990c63385bfb8bb6b823a30769983d3","name":"evidence.md","bytes":3871},{"sha256":"e591bf99cebc23bc24b8bdbc34619322afd42b9c23f4db41ef12668364c049ba","name":"prior-art.md","bytes":4316},{"sha256":"89528cc9faac5d2905aaf348ef8befb50c574d178db79fa0e036456f5fc41cbe","name":"recipe.md","bytes":1865},{"sha256":"989f9e8a27428b0ee71ae310a3a20390af36bb451c73456f186e4161758a70d6","name":"next-step.json","bytes":2319},{"sha256":"27598e27f4f9a90ba2d53ff37410144c868498103ed3f1d9f3d0fc8cf57c6090","name":"PREREGISTRATION.md","bytes":4243},{"sha256":"d2f5eb3a0e8b25046b44078dfc347b665977e1e4f9a8f3fca9361e56fb59f319","name":"prereg-hash.txt","bytes":65},{"sha256":"e4c593235c8ba58f3e879a5a430789b345c80f2013bcfec9064b157fd9dd19ec","name":"compute-wheel-block-ladder.py","bytes":10977},{"sha256":"e7c20d926811da8aa0ca1689045b4d50b400c3ac31587bda212f208d9fdc71fb","name":"compute-wheel-block-ladder.json","bytes":26295},{"sha256":"d8d011c6501ef6e97fe11cd5eec805cbf9343058c9bdbc96ee73c291861e6a32","name":"compute-wheel-block-ladder.out","bytes":4153},{"sha256":"708185034a4503036fb9c5cad61322f6284dbcb0c52ec818dbaeb98e8012f18c","name":"compute-wheel-block-ladder.err","bytes":88},{"sha256":"7882dc08b447b3c2f02fa0ec946c65bf0981a7ba5f3d3414b643d8893b5d6c97","name":"check-wheel-block-ladder.py","bytes":11548},{"sha256":"343cec560c14ef9b763b6d5707c3ed5b14b4014ef8527212030079a3c15db06b","name":"check-wheel-block-ladder.out","bytes":264},{"sha256":"4bcae0dce6d4cf89fbdc56bacdd8dd40f2e4f7a1bea14422529d046d364db155","name":"check-wheel-block-ladder.control.out","bytes":467},{"sha256":"9918f2f73557c5cc02385e5869cfa2107dab5dfdaf3657db62a460cee9d196b4","name":"check-wheel-block-ladder.derived.json","bytes":1483},{"sha256":"956e8a2821a4d554bcbe1d98f83ce44694bb4d4b0cfa973e30050a630331a748","name":"fetch-wheel-block-ladder.py","bytes":3852},{"sha256":"35087349e7038be8f93a731ec17f7a7fac7b64154192d45006fa8379163a852b","name":"followup-2675-clear-note.py","bytes":3265},{"sha256":"9e9475b38632516e85867f91eaaa286e8de1e00a1e4f887187020f9b58f4b185","name":"followup-2675-clear-note.json","bytes":1122},{"sha256":"1258bc186dc68dacc1df640c9a6b2571c222cfd4c746b06377590aa2d00fbbae","name":"route-247.json","bytes":26690},{"sha256":"27b8cc3ca0ad3ee41521914e371a73226e2f87a26754bc94c6f0229f88f42fa8","name":"return-2631.json","bytes":32673},{"sha256":"5bca020150f65609757ea7009c6b839d6e2196bd7bca54d308a377bec246b47a","name":"return-2625.json","bytes":31659},{"sha256":"67256f4bdfefa1001018d00a66a849263cb532743b1ec0e0d94adce9991a6e12","name":"return-2616.json","bytes":29132},{"sha256":"30cb2eb73b1986fec2aed42b752e3c9874657717a86b8449cf10177a379d098b","name":"route-245.json","bytes":41792},{"sha256":"dc7e12986d945c9cc015aa1c26fd555741b5faf7c19464e2c64b2d2fde5c6582","name":"route-242.json","bytes":38547},{"sha256":"291725434f9cfea8ed660f7da758a1bc4f564191d900c7a18a0acea0049c49d0","name":"route_87.json","bytes":167427},{"sha256":"e3cea334e010d4c0c582dd21311d0ec616c402fd470a05e12469604ea469c42d","name":"route-228.json","bytes":45736},{"sha256":"bcca2fe0645d5663739db0d0c51c65a50ebc7fd362e243cb591a42faa532059e","name":"research-protocol.json","bytes":66698},{"sha256":"33ceb236b4c4b5c239d7f197fecab4911d4bb3ce71971468ad98420a3a911bbe","name":"board.json","bytes":133588},{"sha256":"b64e565197938ecf58e11ece6644d713c5b30c4113cd12799a6b85c201a8335d","name":"questions.json","bytes":27653},{"sha256":"3da966870f94c48d495acabfe9ecfe9863c8a6f22c891ec3d8b8f900c7a8241a","name":"PREREGISTRATION.md","bytes":3499},{"sha256":"b2f822e50a3e67b0d94059d72c63e67df597a108c262b1e7954454f3268f1246","name":"compute-wheel-matched-null.py","bytes":5980},{"sha256":"e31518db8c52f7a4724896e8c30ad4cde1229fa03819ea49ac266381d60ebbcc","name":"compute-wheel-matched-null.json","bytes":253780},{"sha256":"f5326619692af4b59501694441c2c16198cf44320955407763bb2f58d910afa6","name":"compute-wheel-matched-null.out","bytes":761},{"sha256":"ede5fc4c1ea7a628c9415c6abe74e7e5f08537905763cc816fa3b89cc73d226f","name":"compute-wheel-matched-null.v1.errordesign.json","bytes":253774},{"sha256":"3f19bcf07170f8fc811a850caf97dc0fdbdfce0cff5aaee99d96c17da23ff58d","name":"check-wheel-matched-null.py","bytes":6766},{"sha256":"3d035c4a49ae56ac828229f20f9d67fb5ba686a2f6d5c5b2c219b56b6fcb0a0f","name":"check-wheel-matched-null.out","bytes":1910},{"sha256":"c4019f88de06c4f3c2745f451e6d78b1ef1243414cad8f1b67308b15bfad42f5","name":"check-wheel-matched-null.control.out","bytes":1895},{"sha256":"70f99afa74db6942cb5675719e90cad2e22ee7e4f65cb26bf07df53b2b2d8604","name":"evidence.md","bytes":2891},{"sha256":"d3006df1c1f4dd59a4eab83f2feccfeb645b34d0d339d97b8acffa81ced958b3","name":"report.md","bytes":5298},{"sha256":"7eaa55564f615f38ed2407a134e88abae15a1cfaa03b5e9c801ef22a72cd8c17","name":"prior-art.md","bytes":3787},{"sha256":"dffa75d417132d5e88eaec94d146eb5f80ab4a40ffffff213cbc781dbe8549e5","name":"next-step.json","bytes":1975},{"sha256":"b4db37091bee9c58047d2b517e1b4fff08d1e9475c4aad6a77284f17bf5a148b","name":"PREREGISTRATION.md","bytes":4158},{"sha256":"f4087863c3c89c7687223eaf9affbef713c4d213068f3b5b43e31624c775468b","name":"compute-pair-count-variance.py","bytes":3815},{"sha256":"8ef81ba0dbc8eb0580e81c66ada1e3c10bdab185e9ede8c9f741156278ec593d","name":"compute-pair-count-variance.json","bytes":1928341},{"sha256":"3ae84e5aac8642196b5e3c1e2ff412b956146f239a12d0eb8466dd07820459f9","name":"check-pair-count-variance.py","bytes":6160},{"sha256":"0758c12af551705d2700b42f576e776e31cacbbb8b2b5852881709f33f3bcdf0","name":"next-step.json","bytes":2101},{"sha256":"f53af1ba17c699fdda8b7bd616b4cfc8b152b3038028801e5c65514c30de3a13","name":"evidence.md","bytes":3974},{"sha256":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","name":"sah.py","bytes":56280},{"sha256":"029efc05e4b791b297f3cb254a24887e3d23b98b1ab4a6639d1f6dc7b69cc82f","name":"export_transcript.py","bytes":10230}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}