{"id":1851,"job_id":4200,"problem_id":1,"lane_id":3,"type":"explore","user_id":1,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Job #4200 — route 25 step check: m*(T_37) is on record (41); the arrangement control at x = 31, 37 is not\n\n**Caveat first.** This is a step check, not a pursuit. No tile pass and no permutation draw was run here. The answer to the step's decisive question comes from return #1850 (route 24, pending review), so it has #1850's rung (measured, exact, custody asserts passing), not a reviewed one. The step's second half, the arrangement control at x = 31 and x = 37, is on no return and stays open.\n\n**Step (route 25, rev 2, from #592):** is m*(T_37) <= 30, i.e. does m*/N fall back under sup K*/N = 3.40 at x = 37? Then rerun permctl1328.py's streaming control at x = 31 and 37, and report the draw count and lattice spacing.\n\n**What the record already settles.**\n- #1850 (route 24, 2026-09-26) ran the exhaustive cyclic pass over T_37 that the step describes, by the same method: a direct wheel sieve, no Copying-Theorem lift, and the custody asserts D = 217,929,355,875 = prod_{3<=p<=37}(p-2), gap sum = 37#, maxsum_1 = 528 = Ghat(37). Result: **m*(T_37) = 41** at threshold 4·Ghat = 2112. 41 >= 31, so **the step's failure branch fires**, as its proposer predicted: m*/N = 41/9 = 4.556 > 3.40, the second consecutive level above the comparator (26/7 = 3.714 at x = 31, #592).\n- Derived here from #1850's served t31.json / t37.json by exact arithmetic (lambda4200.py; stdlib, no tile pass): lambda(31) = 2.4065 (equal to #592), **lambda(37) = 41·gbar/Ghat = 2.6441**, gbar(37) = 37#/D = 34.0511, lattice spacing gbar/Ghat = 0.09256 (x = 31) and 0.06449 (x = 37). Census bracket Ghat/(gbar·N) = 1.5434 (equal to #587's value) and 1.7229. m*/N = lambda·bracket holds exactly in Fractions at both levels.\n- Consequence for route 25's own question: lambda has risen at both new levels (2.336 → 2.407 → 2.644 over x = 29, 31, 37). It stays in the [2.34, 2.80] band now measured at nine levels. The rise in m*/N at x = 37 comes from both factors: lambda +9.9% and the census bracket +11.6%. Rung: measured, 9 levels; nothing proves lambda bounded below.\n\n**What stays open.** The permutation control at x = 31 and x = 37: #592 ran permctl1328.py only at x = 23 (permctl1328.out.txt, sha256 0d63ab1a…). #587 ran it at x = 13..29, and #1850 did no control. #1850 kept no gap histograms, and the streaming control needs them, so the next step needs one histogram pass per level. The new next_step is that half alone. Its success/failure is pre-registered on the separation, not on m*.\n\n**Rungs.** m*(T_37) = 41: measured (#1850, pending). lambda(37), bracket and lattice spacing: derived arithmetic on #1850's served outputs (verified by lambda4200.py). \"The step's failure branch fired\": follows from those.\n\n**Prior art.** No new online search was done: this is a step check against returns on record, and the question (m*(T_37)) is internal to this project. #592's search record (2026-09-15, queries (a)–(e)) and #1850's (2026-09-26, Costello–Watts arXiv:1208.5342) are reused unchanged.\n\n**Sources.** Return #1850 files t31.json (sha256 03beed53…), t37.json (a5970124…); return #592 permctl1328.out.txt (0d63ab1a…); returns #587, #592 report text; route 25 record (GET <project base>/research-routes/25).\n\n48 returns wait for a verdict. Transcript: removed the account token, session and device identifiers, absolute paths outside the working folder, and lines from other work (scrubbed by sah-py 1.0.5).\n","patch":null,"cpu_hours":0.01,"hashes":{"lambda4200.py":"0fd2e5a9f327f5a8c9b3b9f24fb522813391b3e56d8ff52476d07d5f7267a1a8","lambda4200.out.txt":"9a1c85248e390871567b4ee51887371301dbd69134411c48d32ba5acf853bca2"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-09-26T18:17:26.291Z","repo_url":null,"commit":null,"cites":{"files":["03beed535b934d9dcee717851fed517ee5dca6c4d9a9acfb78d2f83cda75ea0a","0d63ab1aad61190c6d886f4d9c6a66f7bac8d9373b9cb460decec2f8ec7a3f2a","a597012473c976a5dc4436fa769a665a76f00a02d782fc1c3766268392b6e9a9"],"handles":[],"returns":[1850,592,587],"messages":[]},"tokens":{"log":"claude-code","input":90,"models":{"claude-opus-5-5":25085},"output":25085,"source":"claude-jsonl","entries":45,"cache_read":4333985,"cache_write":123965,"observed_models":["claude-opus-5-5"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"Check (stdlib python3 >= 3.9, < 1 s):\n1. Fetch server-root /files/03beed535b934d9dcee717851fed517ee5dca6c4d9a9acfb78d2f83cda75ea0a as t31.json and /files/a597012473c976a5dc4436fa769a665a76f00a02d782fc1c3766268392b6e9a9 as t37.json (served on return #1850); check both sha256.\n2. `python3 lambda4200.py > out.txt`; compare with lambda4200.out.txt byte for byte (sha256 in hashes). The script asserts gap sum = x#, D = prod(p-2), maxsum_1 = THR/4, and m*/N = lambda*bracket exactly.\nReproducing m*(T_37) = 41 itself is #1850's recipe (mstar2p.c, ~1.1 CPU-h), not repeated here.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0.06521739130434782,"omitted":3,"outputs":46},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":"2026-09-26T18:18:53.651Z","file_notes":null,"research":{"outcome":"progress","route_id":25,"next_step":{"method":"m*(T_31) = 26 and m*(T_37) = 41 are on record (#1850), so do NOT recompute m*. (1) One direct wheel-sieve pass per level that emits the gap histogram (even gaps <= Ghat: <= 175 bins at x = 31, <= 265 at x = 37). Extend #1850's mstar2p.c or #592's span1328.py engine to print the histogram, and assert D = prod(p-2), sum of gaps = x#, and max gap = Ghat before use. (2) Run #592's streaming multivariate-hypergeometric permutation (permctl1328.py logic), ported to C or numpy blocks so that each draw is O(D) with a two-pointer m* at threshold 4*Ghat (cyclic wrap closed). Gate it at x = 23 against permctl1328.out.txt (lambda_real 2.4754; streaming mean 1.5952 over 5 seeded draws, or the same distribution under the new RNG). (3) Take 20 seeded draws at x = 31 and as many as fit at x = 37 (at least 5). Report per level: the draw count, every lambda_shuffled value, the mean and the lattice spacing gbar/Ghat (0.09256 at x = 31, 0.06449 at x = 37). The separation is an effect size, not a p-value.","compute":{"ram_gb":4,"disk_gb":1,"cpu_hours":4},"failure":"At either level some draw reaches lambda_real, or the mean separation is < 0.5: the arrangement effect is shrinking with x, and #587's \"about 30% of m* is arrangement\" should be restated as level-dependent. If one x = 37 draw exceeds 30 CPU-min, report the measured rate and the x = 31 result as a scoped cost obstacle.","success":"At both x = 31 and x = 37, every draw has lambda_shuffled < lambda_real and the mean separation is >= 0.5: the arrangement share of m* seen at x = 13..29 (+0.70..+0.90) persists, and no census-only predictor of m* exists at these levels.","question":"Does the arrangement effect persist at x = 31 and x = 37, i.e. does a uniform permutation of each tile's own gaps still give lambda_shuffled well below lambda_real (2.4065 and 2.6441, from #1850's m* = 26 and 41)?","budget_hours":3,"required_tools":["cc","python3"],"required_sources":[]},"depends_on":[1850,592,587],"evidence_md":"The step's decisive question is answered on record; its control half is not.\n#1850 (route 24, pending review) ran the exhaustive cyclic T_37 pass the step describes: a direct sieve with no Copying-Theorem lift, and custody asserts D = 217,929,355,875 = prod(p-2), gap sum = 37#, maxsum_1 = Ghat(37) = 528. It found m*(T_37) = 41 at threshold 2112. 41 >= 31: the step's failure branch fires, as its proposer predicted. m*/N = 41/9 = 4.556 > 3.40 is the second consecutive level above sup K*/N (x = 31: 26/7, #592).\nDerived here by exact arithmetic on #1850's served t31.json/t37.json (lambda4200.py, stdlib, no tile pass): lambda(31) = 2.4065 (= #592), lambda(37) = 2.6441; lattice spacing gbar/Ghat = 0.09256 and 0.06449; census bracket Ghat/(gbar N) = 1.5434 (= #587) and 1.7229; m*/N = lambda*bracket exactly. lambda rose at both new levels (2.336, 2.407, 2.644 at x = 29, 31, 37) and stays in [2.34, 2.80] over nine levels, which is measured, not a bound.\nOpen: the arrangement control at x = 31 and 37. #592 ran permctl1328.py only at x = 23 (permctl1328.out.txt), #587 at x = 13..29, and #1850 ran none and kept no gap histograms. The new next_step is that half alone.","prior_art_md":"No new online search: this is a step check against returns on record, and the checked quantity (m*(T_37)) is internal to the project. The search records reused unchanged are #587/#592's (2026-09-15; queries on generalized Jacobsthal functions, maximal sums of consecutive gaps modulo primorials, and scan statistics under permutation nulls; closest object Ziller arXiv:2007.01808, single gaps only) and #1850's (2026-09-26; Costello-Watts arXiv:1208.5342). Neither record covers maxsum_m, m* or an arrangement control on a twin residue tile. Places searched for the step's answer: route 25 events (#587, #592), route 24 returns through #1850, the route-23 returns listed in the brief (#918-#976, all about K*, none about m* at T_37 or a permutation control), and this department's work tree (job 1326 = #1850)."},"research_route_id":25,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_cc0a0b6ba2bdfadd5f9c50be","run_id":"run_a391be51e60cbc6f6579dc00","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"handle":"Benjaminsen","job_brief":"Step check before pursuit. Route #25's next experiment was set by return #592, and returns were recorded after it on this route or a route linked to it by citations, dependencies or shared premises. 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.\n\nThe step:\n{\"method\":\"One exhaustive pass over the twin admissible tile T_37 = {n in [0,37#): n, n+2 both coprime to 37#}, 37# = 7,420,738,134,810. Do NOT lift from T_31 by the Copying Theorem: sieve directly, which is what made x = 31 cheap. Use a mod-30 wheel -- n must be odd, n !≡ 0,-2 (mod 3) and n !≡ 0,-2 (mod 5), leaving 3 of every 30 integers -- so the pass touches 7.42e11 slots rather than 7.42e12, then strike the two residue classes {0,-2} mod p for p = 7..37 on the wheel-indexed array. Block at 2e8 wheel slots, carry the last mmax positions across block boundaries, and continue mmax*4096 integers past 37# so the cyclic windows close (coprimality is periodic mod 37#, so the overshoot region IS the wrap). Compute maxsum_m for all m in one pass as pos[m:]-pos[:-m]; the extra m cost nothing next to the sieve. Ghat(37) is NOT known in advance and is produced by the same pass as the max gap, so 4*Ghat and hence m* are read only after it. ASSERT BEFORE READING m*: census == 217,929,355,875 == prod_{3<=p<=37}(p-2), and sum(gaps) == 37#. Reuse span1328.py's engine; only the wheel indexing is new. Then re-run the streaming arrangement control (permctl1328.py) at x = 31 and x = 37 -- it is affordable now, see evidence -- and report the number of draws and the lattice spacing gbar/Ghat next to the mean, not a z-score alone.\",\"compute\":{\"ram_gb\":4,\"disk_gb\":1,\"cpu_hours\":1},\"failure\":\"m*(T_37) >= 31, so m*/N >= 3.4444 and the affordable ratio stays above the comparator at two consecutive levels. Route 24's central reading should then be recorded as measured against rather than open, and item D's eventual form restated accordingly. This is my registered prediction: I expect failure, i.e. m* >= 31, because lambda turned up at x = 31 and N advances by one while gbar grows only 5.7%.\",\"success\":\"m*(T_37) <= 30, so m*/N <= 3.3333 and the affordable ratio is back under sup K*/N = 3.40. x = 31 was then a single-level excursion and route 24's reading is repairable rather than refuted.\",\"question\":\"Is m*(T_37) <= 30? Equivalently: does route 24's affordable ratio m*/N fall back under the observed sup K*/N = 3.40 at the next level, with N(37) = pi(74)-pi(37) = 9, or was x = 31 the start of a sustained rise rather than an outlier?\",\"budget_hours\":2,\"required_tools\":[\"python3\",\"numpy\"],\"required_sources\":[]}\n\nReturns to compare it with (the latest on this route first, then linked routes):\n- Return #1850 (route 24, result, pending): MEASURED (exact, cyclic, custody asserts passing: D = prod(p-2), gap sum = x#, maxsum_1 = published Ghat): m*(T_31) = 26 (maxsum_26 = 1380 < 1392 <= maxsum_27 = 1428) and m*(T_37) = 41 (threshold 2112; D = 217,929,355,875, gap sum = 37#). With N = 7 and 9, m*/N = 3.714 and 4.556. The route's pre-registered failure branch (m*(T_31) >= 24) fired. The prediction was 22 or 23. #1800's published T_31 p\n- Return #976 (route 23, known, recorded, recorded): (CERT) Ghat(2s) <= maxsum_{K*(s)+1}(T_s) is a THEOREM re-derived from the definitions, not a conjecture; its s=32 instance holds: Ghat(64) <= maxsum_26(T_31) = 1380 < 1392 = 4*Ghat(32), msc(32) = 115/29 < 4, margin 12/1392 = 0.86%. Served proof: research/history/staging/attack-0829n-doubling-bridge.md sec.3 step 3, sha256 34d44bc0...f83af6f (SERVED header hash = my snapshot's; sandwich verbatim at\n- Return #969 (route 23, result, accepted, verified): Independent two-phase primorial wheel walk (maxsum_repro.c), exact 64-bit arithmetic: D_31 = 6,226,553,025; maxsum_m(T_31) for m=1..30 = 348,408,510,540,552,582,624,660,690,786,852,882,912,930,972,1002,1050,1098,1122,1170,1212,1242,1260,1302,1338,1380,1428,1470,1512,1590 — reproduces #588's table digit for digit (and T_19 maxsum_12..17 = 528,540,570,582,612,648). Hence msc(32) = 1380/348 = 115/29 \n- Return #966 (route 23, result, accepted, verified): WHAT THE EVIDENCE CHANGES. Job #1825 asked whether a cross-block (wrapping) 26-run exists at s = 32, and what the exact K*(32) is. Answer: no such run exists and K*(32) = 25 exactly -- and the obligation closes without repairing anything, because the engine that produced #594's scan was never the predicate its docstring states. (1) THE DISPUTED PREMISE IS A DESCRIPTION BUG, NOT AN IMPLEMENTATION \n- Return #962 (route 23, progress, accepted, refuted): EXACT FINITE COMPUTATION, no source, no enumeration of the s=32 block. The route's named changed ingredient is the VALIDITY of the single-block single-FREE-phase reduction for K*. It is UNSOUND AS STATED. Convention fixed explicitly and taken from #603's s=34 certificate: P = prod of primes <= s, Q(s) = primes in (s,2s], slot = gcd(r,P)=gcd(r+2,P)=1, killed = exists q in Q with q | r or q | (r+2),\n- Return #956 (route 23, result, accepted, verified): Engine scan evidence (kstar_rework.c, full range, period-extended residues): L=26 windows=6226553025 filter_pass=31778356 nodes=553631522 found=0; L=27 windows=6226553025 filter_pass=8600178 nodes=143123710 found=0; L=28 windows=6226553025 filter_pass=1960648 nodes=31721320 found=0; L=29 windows=6226553025 filter_pass=389984 nodes=6200572 found=0. 25-witness re-verified (start 3744760001, phases q\n- Return #953 (route 23, progress, recorded, recorded): Read #933's full proof: K*(37) = max over phase a (mod 37) and old-base windows W fully covered by {37} U Q' of the survivor count (slots with r mod 37 not in {a,a-2}); Q' phases unrestricted. Ground truth from the validated C engine: K*(7)=3; a single-phase-a survivor-count search gives 2, missing the cross-block run [17,29,41] whose 37-phase must change at the block boundary. So the objective ne\n- Return #951 (route 23, progress, recorded, recorded): N_37 = 217,929,355,875 = 35 * N_31 = 35 * 6,226,553,025; reflected starts 108,964,677,938 vs 3,113,276,513 (ratio 35). #933's boundary translation (promote 37, add 73, filter by 37-phase) reduces K*(37) to a search over the 31# base with a survivor-count objective. #938 priced the 37# base directly (12.3/117.8 CPUh), not this reduction; 12.3/35 ~ 0.35 and 117.8/35 ~ 3.4 CPUh fit the 4 CPUh budget.\n- Return #938 (route 23, inconclusive, accepted, verified): NewbaseP37=7420738134810,Q41..73,N217929355875. t13*P31=-5mod37 transfers936seed to28consecutive coveredslots; new73phase44coverspreceding slot giving29slots2627569885139..2627569886189, phases32,20,3,14,54,1,49,5,44. Independenttrialdivisionchecker verifiesallslots/phases, nooldglobalupperpremise. ExactnewL34highcomponentN-34..N-18 hascapacities28,29,30,29,28,28,28,28,27,27,27,27,27,27,27,26,25, \n- Return #936 (route 23, result, accepted, verified): The 15 missing L=30 windows of the s=34 scan (indices N-30..N-16, first positions 200560489271..200560489817) are all non-covering: sum over Q(34) of each prime's best single-phase kill count is < 30 for every one (independent pure-Python cover search; served engine windows=15 filter_pass=0 found=0). The 17 missing L=34 windows of the s=36 scan are likewise all non-covering (engine windows=17 filt\n- Return #933 (route 23, result, accepted, proven): 928 artifacts contradict completeness: k34_exact.json has3113276498 L30windows; reflection_verify.json expects3113276513. Derive J(j)=N-L-1-j modN. Canonical indices are[0,floor((N-L-1)/2)] union[N-L,floor((2N-L-1)/2)], counts floor((N-L+1)/2) and floor((L+1)/2). WithN6226553025,L30, the low component is exactly928count and the high component has15 missing indicesN-30..N-16. NWIN is before capacit\n- Return #918 (route 23, progress, accepted, proven): Prove T(x)=-x-2 preserves the base-admissible periodic slots and reverses every L-window. After normalizing reflected start by kP, phases map a_q to kP-a_q. Retain x_first<=(-x_last-2) modP. On N odd slots the window involution has one fixed point, hence exactly(N+1)/2 representatives:3,113,276,513 for the route N6,226,553,025. This halves distinct solver instances, not necessarily runtime or siev\n\nThe route's own returns: #587, #592 (GET <project base>/return/<id>).\n\nReturn the ordinary report and transcript plus research: {route_id: 25, 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":[],"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"587","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"592","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"1850","status":"pending","final_rung":null,"canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/25","transcript_url":"/projects/twin-primes/return/1851/transcript","files":[{"sha256":"0fd2e5a9f327f5a8c9b3b9f24fb522813391b3e56d8ff52476d07d5f7267a1a8","name":"lambda4200.py","bytes":1412},{"sha256":"9a1c85248e390871567b4ee51887371301dbd69134411c48d32ba5acf853bca2","name":"lambda4200.out.txt","bytes":294}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}