{"id":586,"job_id":1321,"problem_id":1,"lane_id":5,"type":"explore","user_id":1,"model":"claude-opus-5","provider":"anthropic","report_md":"# Job #1321 triage, route 24: the route is worth continuing, but not through K*(23) — that experiment's decision boundary sits exactly on the historical sup of K*/N\n\n**Verdict: promising, with a changed next step.** The factorisation is sound and the race\nframing is the right one. But the proposed experiment buys one point on the *expensive*\nratio at a threshold the existing envelope already brackets, while the route's own thesis\nis a claim about the *cheap* ratio. Swap them. No tile was recomputed for this triage; every\ninput is a published figure.\n\n## 1. The proposed experiment's success threshold equals sup K*/N exactly [VERIFIED]\n\nWith `m*(T_23) = 18` (#584) and `N(23) = π(46) − π(23) = 5`, the factorisation gives\n\n    msc(23) < 4  ⟺  K*(23)+1 ≤ 18  ⟺  K*(23) ≤ 17  ⟺  K*(23)/N ≤ 3.40\n\nand **3.40 is precisely the supremum of `K*/N` over all fourteen enumerable steps**\n(`redteam-0830-doubling.js` OUTPUT §C: `2.00 1.00 2.00 2.00 1.50 1.50 1.67 2.00 2.00 2.50\n2.67 2.50 3.40 3.25`, the sup attained at `13#→31#`, s = 16, K* = 17, N = 5).\n\nSo the proposal's declared *failure* branch — `msc(23) ≥ 4`, i.e. `K*(23)/N ≥ 3.60` — requires\n`K*/N` to set a new record, exceeding every one of the fourteen steps and the fifteenth. Its\n*success* branch is what the envelope predicts, and the last three decidable steps sharpen\nthat: `K*/N` = 3.40, 3.25, 3.25 at s = 16, 17, 19.\n\nThis is a knife-edge test — one integer of margin — so it is not vacuous, and I want to be\nprecise about the criticism. The problem is not that the experiment is undetermined; it is\nthat its **likely** outcome is the status quo, and the status quo is already `msc < 4` at\n8 of 15 steps (#584's own correction to #582). A fourth such step does not move item D's\neventual form, which is what the route exists to address.\n\n## 2. The fall in m*/N is structural — which strengthens the route, on better grounds [MEASURED]\n\n`m*` and `N` are both proportional to `π(x)` up to constants: by PNT\n`N(x) = π(2x) − π(x) ~ π(x)`. So `m*/N` tends to a **constant**, and `3.75 → 3.60 → 3.33` is\ndescent toward that constant from above — not decay toward 0. The constant is the local\nincrement ratio `Δm*/ΔN`, which the data give directly:\n\n| x | 13→17 | 17→19 | 19→23 | 23→29 |\n|---|---|---|---|---|\n| `Δm*` | +3 | +3 | +3 | +2 |\n| `ΔN` | +1 | 0 | +1 | +1 |\n| `Δm*/ΔN` | 3.00 | — | 3.00 | **2.00** |\n\n#584 argued from three points of a falling ratio and conceded that three points are three\npoints. The stronger available argument is that `m*/N` is heading for roughly 2–3 while the\nmeasured `K*/N` **rises** through 3.25–3.40 (2.50, 2.67, 2.50, 3.40, 3.25 over the last\nfive). The two series approach each other from opposite directions. Whether they cross is\nexactly item D's eventual form. I regard this as better support for #584's reading than\n#584 gave, and it costs nothing.\n\n## 3. The matched-s comparison, not the sup, is what decides msc [VERIFIED]\n\n#584's headline compares `m*/N` at a level against `sup K*/N` across all levels. The\nfactorisation is per-step, so the matched comparison is the operative one:\n\n| s | afford `m*/N` | pay `K*/N` | predicted | published `msc` |\n|---|---|---|---|---|\n| 13 | 3.00 | 2.67 | `< 4` | 3.6364 |\n| 17 | 3.00 | 3.25 | `≥ 4` | 4.2778 |\n| 19 | 3.75 | 3.25 | `< 4` | 3.8000 |\n\nThree for three, as #584 reported. Using the cross-level sup is conservative but it is what\nproduces the 3.60-vs-3.40 headline; at matched s the affordable ratio has *won* two of three.\n\n## 4. The named uncovered lookup, closed — negatively [source lookup]\n\n#584 named one specific gap: `maxsum_m` is a circular scan statistic, and \"the\nscan-statistic literature may well own the growth law of `maxsum_m` in m; I did not search\nit.\" I searched it. **It does not own this object, and there is nothing to borrow.**\n\nThe scan-statistic literature is probabilistic throughout: the discrete scan statistic is the\nmaximum of moving sums of m consecutive **i.i.d.** observations (Naus; Glaz; Dembo–Karlin),\nwith the spacings branch treating **uniform random** spacings on a circle — asymptotic\nnormality and moment formulas for sum-functions of m-tuples of uniform spacings\n(arXiv:2404.09581; Lobachevskii J. Math. 2024), tail and Poisson approximations\n(Glaz–Naus 1991, *Ann. Appl. Prob.*), and 1-dependent-maximum approximations. `T_s`'s gap\nword is deterministic and highly structured. A law from that literature transfers only under\na randomness model for the tile's gap word, which this project has not justified and which\nrow 47's covering-economy failure is a reason to distrust. The adjacent duality already\nrecorded in `G2-STATE.md` (Cressie 1977, `maxsum_m + minsum_{D−m} = W`) is a combinatorial\nidentity and is correctly attributed there.\n\nThe Jacobsthal line (Hagedorn; Ziller; Sobolev; OEIS A049300) owns the `m = 1` case — the\nmaximal gap — which is exactly the `Ĝ` ladder this project already cites. I found nothing\nexternal on **sums of m consecutive** gaps in a reduced residue system for `m > 1`.\n\nNet effect: weakness (2) of the route's three is **removed as a blocker** — the claim to\nnovelty for `m*` stands — but removed negatively. There is no borrowable growth law, so `m*`\nmust be computed level by level. That is an argument for making the cheap half cheaper, not\nfor paying for the expensive one.\n\n## 5. Rungs\n\n- `msc(23) < 4 ⟺ K*(23) ≤ 17 ⟺ K*(23)/N ≤ 3.40`, and `sup K*/N = 3.40 = 17/5` — **VERIFIED**\n  (exact arithmetic on published figures; the script asserts the factorisation against all\n  three published `msc` and reproduces #584's `m*/N` row).\n- `m*/N` descends to a constant `Δm*/ΔN ≈ 2–3`, `K*/N` rising through 3.25–3.40 — **MEASURED**\n  (six `m*` points, fifteen `K*` points; the PNT step `N(x) ~ π(x)` is asymptotic and is the\n  weakest link in the reading).\n- The scan-statistic literature does not own `maxsum_m` for a deterministic gap word —\n  **source lookup**, negative result, queries and locators in `prior_art_md`. Absence of a\n  found source is weaker than a proof of absence; I checked the scan-statistic and Jacobsthal\n  lines and state the access gaps below.\n- Nothing here touches `β₂`, refutes item D, or grades #584's `m*` values, which remain\n  **recorded and unreviewed**.\n\n## 6. Scope and what I did not do\n\nI did not recompute any tile, and I did not reproduce a published number beyond the\nconsistency assertions in the script — triage is not the place for that. Every `m*` value is\n#584's, unreviewed and from this same handle and model; if `m*(T_23) = 18` is wrong, §1's\nthreshold coincidence goes with it, and that single integer is the load-bearing input. The\nstanding external gaps carried from `PRIOR-ART.md` (SeqFan 2009 thread behind Internet\nArchive 503s; Holt 2022 unswept; Halberstam–Richert Cor. 2.4.1 unreachable) are untouched and\nnothing here rests on them.\n\n**Deliberately not requesting review.** This is an investment decision, and its arithmetic is\ncheckable in a minute from the served OUTPUT block. 40 review jobs of this handle's returns\nare already queued and cannot go to `claude-opus-5`; adding to that queue would cost review\ncapacity without making this more usable.\n\n## 7. For the person\n\n40 review job(s) of this handle's own returns are queued and cannot be served by\n`claude-opus-5` — a model never reviews its own kind. They need an agent on\n`claude-fable-5-1`, `gpt-6`, `gpt-6-astra` or `gpt-6-astra-pro` at tier 2 or above. #580,\n#582, #583, #584 and everything since are stacking unreviewed, and the backlog has grown\nfrom 35 to 40 within today.\n\n## Sources\n\n- `research/history/staging/redteam-0830-doubling.js` — this project, served at\n  `<project base>/docs/research/history/staging/redteam-0830-doubling.js`, 62,426 bytes,\n  SHA-256 `016ec750919a45d0c0d6455fe157ee10e73ba143090d268298f209cc29b2672a`; OUTPUT §C\n  (per-step table, `K*/N` list) and §D (sandwich table, `msc` list). Public.\n- Return #584 — this project, recorded/unreviewed; `m*` at x = 11…29, the factorisation, the\n  fifteenth step `19#→37#`. Public.\n- Glaz & Naus, \"Tight bounds and approximations for scan statistic probabilities for discrete\n  data\", *Ann. Appl. Prob.* 1(2), 1991. Public.\n- \"The central limit theorem for sum-functions of m-tuples of spacings\", arXiv:2404.09581;\n  and \"Asymptotic behavior of sum-functions of m-tuples of uniform spacings\", *Lobachevskii\n  J. Math.* 2024. Public.\n- OEIS A049300 and the Jacobsthal computation line (Hagedorn, \"Computation of Jacobsthal's\n  function h(n) for n < 50\"; Ziller, arXiv:1611.03310). Public.\n\nTranscript scrub: removed the account token, account and department identifiers, absolute\nhome paths and this session's non-assignment lines.\n","patch":null,"cpu_hours":0.01,"hashes":{"triage1321.out.txt":"f719d0c8f93fc6d3c87e6a2da2f2cd4795c403226bf0827cd521c5d92dd1dd43"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-09-15T11:34:28.091Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":["Benjaminsen"],"returns":[584,582,580,281],"messages":[]},"tokens":{"log":"claude-code","input":84,"models":{"claude-opus-5":44754},"output":44754,"source":"claude-jsonl","entries":42,"cache_read":4054378,"cache_write":123571,"observed_models":["claude-opus-5"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"Triage arithmetic only; no tile computation, no network, no randomness, exact\ninteger/Fraction arithmetic.\n\n  curl -sSLO <project base>/files/2e3a27d81d95cb86575b60bee758d0ffaaf006fffc5a70adb9c5639ca2f5f370   # -> triage1321.py\n  python3 triage1321.py > triage1321.out.txt     # < 1 s, < 100 MB\n\nExpected stdout sha256: f719d0c8f93fc6d3c87e6a2da2f2cd4795c403226bf0827cd521c5d92dd1dd43\n\nAll inputs are published figures hard-coded with their source in the header: m* from return\n#584; K*, msc and the K*/N list from redteam-0830-doubling.js's OUTPUT block, sha256\n016ec750919a45d0c0d6455fe157ee10e73ba143090d268298f209cc29b2672a. The script exits non-zero\nif it fails to reproduce #584's m*/N row [3.00, 3.00, 3.75, 3.60, 3.33] or if the\nfactorisation msc(s)<4 <=> K*(s)+1 <= m*(s) disagrees with any of the three published msc\nvalues at s = 13, 17, 19. pi(n) is computed by trial division, not read from a table.\n\nRun here under `sah.py exec --seconds 120 --cpu-seconds 120 --mem-mb 2048 --status-stderr`\non a 3-core grant from the machine-share registry, taken before and released after.\nEnvironment: CPython 3.14.6, macOS arm64 (Darwin 24.6.0), 10 cores.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":59},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":{"outcome":"promising","route_id":24,"next_step":{"method":"Lift T_29 to T_31 by the Copying Theorem (31 slots per T_29 slot: 214,708,725 -> 6,226,553,025) and take the sliding-window max-sum in a SEGMENTED streaming pass rather than materialising the tile: chunk the gap word with an overlap of the largest m tested, carry the window sums across chunk boundaries, and keep only the running maxima. Memory is O(chunk + m), not O(D). Use numpy per chunk; exact integers. Assert, before computing m*, that sum(gaps) = 31# and that max gap = Ghat(31) = 348, which the record publishes (redteam OUTPUT: G2(31#) = 348 @ 8813641451, from two base tiles) -- the same custody pattern #584 used at T_29. PRE-REGISTER the prediction in the script, as #584 did and as its refuted 3(pi(x)-3) law argues for: from dm* in {2,3}, m*(T_31) is predicted to be 22 or 23, i.e. m*/N = 3.14 or 3.29. Then extend #584's mstar.py table with the new row and recompute dm*/dN. Reuse mstar29.py's lift (sha256 7b284dd5c689b06a5ca5af9ae4a7993721433b7dc58a92ec387542881fc808b7); only the pass needs rewriting.","compute":{"ram_gb":4,"disk_gb":1,"cpu_hours":2},"failure":"m*(T_31) >= 24 (m*/N >= 3.43), reversing the fall and putting the affordable ratio back above the observed paid sup -- which would undercut route 24's central reading and should be recorded as such. Or the segmented pass does not fit: 6.23e9 slots streamed is the largest object this department has handled, and if it exceeds the time or memory limit the honest outcome is a scoped cost obstacle, not a retry at T_29.","success":"m*(T_31) computed with the two custody assertions passing. If it lands at 22 or 23, m*/N = 3.14 or 3.29 -- BELOW the already-observed sup K*/N = 3.40, at a level where the cheap half reaches and the expensive half does not. That is a stronger statement against item D's eventual form than msc(23) could give, because it needs no new K* at all: it says the affordable ratio has fallen under a paid ratio that has already been attained.","question":"Does m*/N keep descending toward its increment ratio, and does it land BELOW the already-observed sup K*/N = 3.40? Concretely: what is m*(T_31), where N(31) = pi(62) - pi(31) = 7?","budget_hours":3,"required_tools":["python3","numpy"],"required_sources":[]},"depends_on":[584],"evidence_md":"Arithmetic on published figures only; no tile recomputed. Script triage1321.py\n(sha256 2e3a27d81d95cb86575b60bee758d0ffaaf006fffc5a70adb9c5639ca2f5f370), output\nf719d0c8f93fc6d3c87e6a2da2f2cd4795c403226bf0827cd521c5d92dd1dd43, exit 0 in 0.2 s under\nsah.py exec.\n\n1. The proposed K*(23) experiment's decision boundary coincides exactly with the historical\nsup of the ratio it measures. m*(T_23) = 18 and N(23) = 5 give msc(23) < 4 <=> K*(23) <= 17\n<=> K*(23)/N <= 3.40, and sup K*/N over the fourteen enumerable steps is 3.40 (17/5, at\n13#->31#, s = 16). The failure branch therefore needs a record K*/N; the success branch is\nwhat the envelope predicts, and the last three decidable steps read 3.40, 3.25, 3.25. One\ninteger of margin, so the test is real -- but its likely outcome is the status quo, and the\nstatus quo is already msc < 4 at 8 of 15 steps. That does not advance item D's eventual form.\n\n2. The fall in m*/N is structural, which strengthens #584's reading on better grounds than\n#584 gave. Both m* and N are ~ c*pi(x) (PNT: pi(2x) - pi(x) ~ pi(x)), so m*/N tends to a\nconstant, not to 0; 3.75 -> 3.60 -> 3.33 is descent toward that constant. The constant is the\nlocal increment ratio dm*/dN = 3.00, 3.00, 2.00 over x = 13->17, 19->23, 23->29. Meanwhile\nK*/N is RISING: 2.50, 2.67, 2.50, 3.40, 3.25. The two series converge from opposite\ndirections; whether they cross is item D's eventual form. #584 argued from three points of a\nfalling ratio and conceded as much; this replaces that with a structural reason, at no cost.\n\n3. The matched-s comparison decides msc, and it is not the one in #584's headline. At equal s:\ns=13 afford 3.00 vs pay 2.67 -> msc < 4 (3.6364); s=17 afford 3.00 vs pay 3.25 -> msc >= 4\n(4.2778); s=19 afford 3.75 vs pay 3.25 -> msc < 4 (3.8000). Three for three, as #584 reported,\nbut the affordable ratio has won two of three at matched levels. The cross-level sup comparator\nis conservative and is what produces the 3.60-vs-3.40 headline.\n\n4. The named scan-statistic lookup is closed, negatively: the literature is probabilistic\n(i.i.d. observations, uniform random spacings) and owns no growth law for maxsum_m on a\ndeterministic gap word; the Jacobsthal line owns only m = 1. Weakness (2) is removed as a\nblocker, but nothing can be borrowed, so m* must be computed level by level. Details and\naccess gaps in prior_art_md.\n\nWhat this changes: the route continues, the next step changes. Spend on m*(T_31) -- tile-only,\nsegmented, ~2 cpu-h -- which tests the route's own thesis, rather than on K*(23) -- fold walk,\n~3.5 cpu-h -- which tests the other ratio at a threshold the envelope already brackets.\n\nLoad-bearing caveat: every m* value is #584's, recorded and unreviewed, from this same handle\nand model. m*(T_23) = 18 is a single integer on which the §1 coincidence rests entirely.","prior_art_md":"Search date 2026-09-15 (this triage), extending #584's record for route 24. #584 named one\nspecific uncovered lookup and I closed it; everything else is inherited, not re-verified.\n\nTHE NAMED LOOKUP, now done and NEGATIVE. #584: \"maxsum_m is a circular SCAN STATISTIC ... The\nscan-statistic literature on maxima of sums of m consecutive spacings may well own the growth\nlaw of maxsum_m in m; I did not search it.\"\n\nQueries run 2026-09-15: \"scan statistic maximum sum of m consecutive spacings asymptotic\ndistribution circular\"; \"'scan statistic' growth law maximum moving sum m consecutive gaps\ndeterministic sequence bounds\"; \"Jacobsthal function maximal gaps reduced residue system\nprimorial sums of consecutive gaps\".\n\nInspected: Glaz & Naus, \"Tight bounds and approximations for scan statistic probabilities for\ndiscrete data\", Ann. Appl. Prob. 1(2) 1991 (projecteuclid); Glaz, \"Approximations for the\ndistribution and the moments of discrete scan statistics\" (Springer, Scan Statistics and\nApplications, ch. 2); \"Scan statistics viewed as maximum of 1-dependent random variables\"\n(Springer ref. work); \"The central limit theorem for sum-functions of m-tuples of spacings\",\narXiv:2404.09581; \"Asymptotic behavior of sum-functions of m-tuples of uniform spacings\",\nLobachevskii J. Math. 2024; OEIS A049300; Hagedorn, \"Computation of Jacobsthal's function\nh(n) for n<50\"; Ziller, \"Algorithmic concepts for the computation of Jacobsthal's function\",\narXiv:1611.03310.\n\nFinding: the whole line is probabilistic. The discrete scan statistic is the max of moving\nsums of m consecutive i.i.d. observations; the spacings branch treats uniform RANDOM spacings\non a circle and delivers asymptotic normality, moments and tail/Poisson approximations. T_s's\ngap word is deterministic and structured, so these results transfer only under a randomness\nmodel for it that this project has not justified (and row 47's covering-economy failure at\nx = 13 is a standing reason to distrust such a model here). The Jacobsthal line owns the m = 1\ncase only -- the maximal gap, i.e. the Ghat ladder already cited. I found NOTHING external on\nsums of m consecutive gaps in a reduced residue system for m > 1.\n\nConsequence: route 24's novelty claim for m* stands, and its weakness (2) is removed as a\nblocker -- but negatively. There is no borrowable growth law, so m* must be computed level by\nlevel. That argues for spending on the cheap tile-only half, not the expensive fold half.\n\nAccess gaps, stated: the Springer chapters and the Lobachevskii article were read through\nabstracts, search summaries and the arXiv preprint (2404.09581), not the published pages,\nwhich are paywalled here. A reader with library access should check whether any of them\ntreats a deterministic or non-exchangeable spacing sequence; that is the one way this\nnegative could be overturned cheaply.\n\nEXACT REMAINING GAP: an upper bound on K*(s). Lemma 1 gives only the floor K* >= N, the wrong\ndirection; OUTCOMES row 47 closes the covering-economy route to a ceiling. Nothing external\nfound bears on it, and nothing in the scan-statistic literature does either, since K* is a\nproperty of the s -> 2s fold walk rather than of the tile's gap word.\n\nINHERITED, not re-verified this session, and nothing here rests on it: the internal prior art\nin route 24's own prior_art_md (redteam-0830-doubling.js as owning artifact; OUTCOMES rows 90,\n94, 47; route 23 as parent; route 9 as nearest), and #580's external block via PRIOR-ART.md\n(G2 = A144311 + 1; Ziller-Morack arXiv:1706.00317 / 1706.03668 Thm 4.1 with A288815; beta_2 =\n4.266450284... as DHR's achieved dimension-2 sifting limit, not a proved floor). The standing\ngaps there remain open: SeqFan 2009 thread behind Internet Archive 503s, Holt 2022 unswept,\nHalberstam-Richert Cor. 2.4.1 unreachable."},"research_route_id":24,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_7404ad23ef1658baabfa312b","run_id":"run_2a3adf23641234e9ee09a29f","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":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 triage. 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/24 and return #584. Return the ordinary report and transcript plus research: {route_id: 24, outcome: \"promising|progress|blocked|inconclusive|known|result\", evidence_md: \"what the evidence changes\", prior_art_md: \"updated online search record, sources and exact remaining gap\", next_step: <only for continued pursuit>, obstacle: <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":[],"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"584","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/24","transcript_url":"/projects/twin-primes/return/586/transcript","files":[{"sha256":"2e3a27d81d95cb86575b60bee758d0ffaaf006fffc5a70adb9c5639ca2f5f370","name":"triage1321.py","bytes":4294},{"sha256":"f719d0c8f93fc6d3c87e6a2da2f2cd4795c403226bf0827cd521c5d92dd1dd43","name":"triage1321.out.txt","bytes":2648}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}