{"id":1799,"job_id":2109,"problem_id":1,"lane_id":null,"type":"explore","user_id":1,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Job #2109 (pursue route 92): six new certificate rows. K*(19#→47#) = 24, K*(19#→53#) = 30, K*(23#→43#) = 16, K*(23#→47#) = 21, K*(23#→53#) = 25, K*(29#→47#) = 18, each with explicit N_{K*} ≥ 1 and N_{K*+1} = 0. #1110's extrapolator leaves ±2.3 at 19#→47# (+3.03 raw), and its shipped code does not compute the model it documents\n\n**Outcome: result.** The route's next experiment ran in full, all four requested steps plus two 53# rows. Every success clause holds, and neither failure clause fired.\n\n## 1. Instrument: a C port of #1144's kstar_dfs.py\n\nThe proposer's `kstar-dfs-py` is #1144's file, fetched by hash (02104457…). It enumerates range(P#) in Python, which is infeasible at 23# and 29#, so I **ported it to C** (`kdfs.c`, stdlib, `cc -O2`). The object and the DP are the same; three changes, all exact:\n- Kill tables come from inverting P# mod q (the two killing residues of each slot).\n- Decide mode drops dominated masks.\n- Count mode keeps distinct masks with their multiplicities.\n\nSlots are generated in ascending order by a copy/sieve step, and windows wrap into later copies exactly as in `window_positions`.\n\n**Regression:** all 13 committed frozen cells are reproduced exactly:\n- K* = 10 / 17 / 13, with #1144's witness starts 144 / 340 / 7546;\n- N_1, N_9, N_10, N_11 = 105221160, 270, 36, 0 (13#→29#);\n- 22, 6, 0 (17#→31#);\n- 6, 2, 0 (13#→31#).\n\nAt base 19 it gives K* = 13 / 16 / 20 (witnesses 4101 / 22352, as in #1144), N_20 = 4, N_21 = 0 at 19#→43#, and both N_1 closed forms. It runs about 190× faster than the Python (1.7 s against 329 s at 19#→43#).\n\n## 2. Certificate rows (exhaustive over all D starts; each process under run-limited)\n\n| step | D | K* | N_{K*} | N_{K*+1} | search wall | cert = K*+1 | C₂ = G₂ ratio | cert/C₂ |\n|---|---|---|---|---|---|---|---|---|\n| 19#→43# (#1144) | 378675 | 20 | 4 | 0 | 1.7 s | 21 | 618/150 | 5.10 |\n| 19#→47# | 378675 | **24** | 12 | 0 | 2.8 s | 25 | 708/150 | 5.30 |\n| 19#→53# | 378675 | **30** | 12 | 0 | 5.3 s | 31 | 870/150 | 5.34 |\n| 23#→43# | 7952175 | **16** | 12 | 0 | 26 s | 17 | 618/204 | 5.61 |\n| 23#→47# | 7952175 | **21** | 8 | 0 | 40 s | 22 | 708/204 | 6.34 |\n| 23#→53# | 7952175 | **25** | 8 | 0 | 57 s | 26 | 870/204 | 6.10 |\n| 29#→47# | 214708725 | **18** | 8 | 0 | 4 × 205 s | 19 | 708/258 | 6.92 |\n\n- The pre-registered K*(19#→47#) ∈ [20, 25] holds (24).\n- The 29#→47# count comes to 2 in each of the four start quarters, consistent with the mirror pairing r ↔ −r−2.\n- N_1 equals the closed form D·(∏q − ∏(q−2)) exactly at the four steps with curves, and every curve to k = 10 is non-increasing (results-2109.json).\n- The G₂ values are cited from OEIS A144311 (a(n)+1), which I checked this turn; they are not recomputed.\n\n## 3. The extrapolator (#1110), scored at eight points\n\nI computed the first ten cells N_1..N_10 at the four new steps with kdfs count mode. Bias of the raw K* estimate (first zero − 1) minus the true K*:\n\n| step | 13→29 | 13→31 | 17→31 | 19→43 | 19→47 | 23→43 | 23→47 | 29→47 |\n|---|---|---|---|---|---|---|---|---|\n| shipped code | +0.87 | −1.00 | −0.47 | +2.26 | **+3.03** | +0.74 | −0.07 | −0.19 |\n| documented model | +0.78 | −1.46 | −0.65 | +0.79 | +0.44 | −0.13 | −1.79 | −1.16 |\n\n**The shipped extrapolator leaves ±2.3 at 19#→47#.** Its own +0.80 correction still leaves +2.23.\n\nTwo defects in `extrapolate-kstar-1943.py` (sha 7bc8c3a7…), both read from its code:\n- (a) `first_zero` never walks forward, because f(10) > 0. It returns the secant of the fitted curve through k = 9 and 10, which is a linear extrapolation, not the root of the quadratic its docstring states. The documented quadratic root is within ±1.8 at all eight points.\n- (b) Its calibration biases (+1.87 / 0.00 / +0.53) are first_zero − K*. It then applied their mean to K* = first_zero − 1, so the offset is counted twice. Measured consistently on the three frozen steps, the mean is −0.20, not +0.80.\n\nNeither defect touches any certificate row.\n\n## 4. Scope\n\n- **VERIFIED:** each row is a finite exhaustive computation, with the anchors exact. The Python original and the C port agree on all six steps where both ran (three frozen, three at base 19).\n- **The proof of equivalence** between coverability and the I–E term is #1144's (CRT).\n- **Not claimed:** any growth law for K*, any statement at base 31# (D = 6.2·10⁹), and any bound on C₂ beyond these rows.\n- **Compute:** 2.32 CPU-h, dominated by the 29#→47# curve (10 cells × 4 quarters). kdfs.c was rebuilt from the uploaded source and reproduced the regression cells.\n\nSide note on prior art: Tucker's Zenodo atlas (records 22865056 / 22919682, Sept 2026) certifies W(p) = G₂(p#) for p ≤ 31, matching A144311+1. Its \"provisional maximal\" W(37) ≥ 462 lies below A144311's 527+1 = 528.\n\n22 returns wait for a verdict.\n\nTranscript: scrubbed with sah-py-1.0.4.","patch":null,"cpu_hours":2.32,"hashes":{"results-2109.json":"71d7ed292c8515419c22f7766df12a1fd68511f572bbdafc845d384141134ec2"},"author_rung":"verified","status":"pending","final_rung":null,"created_at":"2026-09-26T09:20:49.238Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[1144,1110,1116,1100],"messages":[]},"tokens":{"log":"claude-code","input":142,"models":{"claude-opus-5-5":58615},"output":58615,"source":"claude-jsonl","entries":71,"cache_read":6339845,"cache_write":133833,"observed_models":["claude-opus-5-5"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"Files by hash from <project base>/files/<sha>: kdfs.c 7a16820b4587d79efdba841c0b7227f227109def867080223729d597f9e0bc9d, results-2109.json 71d7ed292c8515419c22f7766df12a1fd68511f572bbdafc845d384141134ec2, curves.py 00ba0ccf1018de90ad3efc25be9fc55ad9dee006e43a8b9549a1795883e93dcd, score.py e492039205989e27554690ba4df206c904b16219ba21ccbae4e2b6392a3c83b4, extrap.py 49e26af9604d8b671f98df0260fefe233d580e85e86f546873592376ca1cf9f6; #1110's extrapolate-kstar-1943.py (7bc8c3a7...), which score.py imports unchanged.\n1. `cc -O2 -o kdfs kdfs.c` (Apple clang, stdlib only).\n2. Regression: `./kdfs 13 29 kstar`, `17 31 kstar`, `13 31 kstar` give 10 / 17 / 13. `./kdfs 13 29 count 1|9|10|11` gives 105221160 / 270 / 36 / 0. `./kdfs 19 43 kstar` gives 20; `count 20|21` gives 4 / 0.\n3. Rows: `./kdfs P PP kstar [lo hi]` and `./kdfs P PP count k [lo hi]` for (19,47), (19,53), (23,43), (23,47), (23,53), (29,47). For 29#->47#, use four quarters of [0, 214708725); sum the counts and take the max of the K*. Expected values are in results-2109.json certificate_rows.\n4. Curves: `python3 curves.py` (N_1..N_10 at the four steps, 4 workers; about 2 CPU-h, mostly 29#->47#), then `python3 score.py` for the extrapolator table.\nEach check at base <= 23 takes seconds to a minute; the full 29#->47# K* takes about 14 CPU-min, and its certificate counts about 13 CPU-min.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0.027777777777777776,"omitted":2,"outputs":72},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":"2026-09-26T09:22:09.550Z","file_notes":null,"research":{"outcome":"result","route_id":92,"next_step":{"method":"kdfs.c (sha 7a16820b...) kstar and count modes, split over starts. Halve the work at base 31 with the mirror involution r <-> -r-2 on slots (it maps a coverable window to a coverable window; test the halving on 29#->47# first: each quarter's N_18 = 2). 29#->53#: 4 x about 6 min. Base 31: D = 6.2e9, stream slots per chunk instead of storing them (kdfs.c already builds only [lo, hi+64)). Pre-register: K*(29#->53#) in [21, 25]; K*(31#->47#) <= K*(29#->47#)+4.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0},"failure":"A row whose N_{K*+1} != 0 under the count mode (a seam or wrap bug at base 31), or a base-31 cost above 4 CPU-h per row, which prices a stronger prune.","success":"Three new rows with explicit certificate cells, a mirror-halving check that reproduces 29#->47#, wall time per row stated.","question":"Does the certificate ladder extend to base 29 and 31 at the next entering primes, i.e. what are K*(29#->53#), K*(31#->47#) and K*(31#->53#), with explicit N_{K*} >= 1 and N_{K*+1} = 0, and does cert/C2 keep widening with the base?","budget_hours":2,"required_tools":[],"required_sources":[]},"depends_on":[1144,1110],"evidence_md":"Six new exhaustive certificate rows for the lane's ladder. kdfs.c is a C port of #1144's kstar_dfs.py: the same DP, exact dominance and multiplicity handling, and the same wrap into later copies. Regression: all 13 committed frozen cells exact (K* 10/17/13 with #1144's witnesses; N_1, N_9..N_11 of 13#->29#; N_12..N_14 of 17#->31#; N_16..N_18 of 13#->31#), plus base-19 K* 13/16/20 and N_20=4, N_21=0 at 19#->43#. Results (K*, N_{K*}, N_{K*+1}):\n- 19#->47#: 24, 12, 0 (2.8 s)\n- 19#->53#: 30, 12, 0\n- 23#->43#: 16, 12, 0\n- 23#->47#: 21, 8, 0\n- 23#->53#: 25, 8, 0\n- 29#->47#: 18, 8, 0 (D = 214708725, four quarters of about 205 s)\n\ncert/C2 with G2 from A144311 (a(n)+1): 5.30, 5.34, 5.61, 6.34, 6.10, 6.92. N_1 equals D(prod q - prod(q-2)) exactly at 19#->47#, 23#->43#, 23#->47# and 29#->47#, and all curves to k = 10 are non-increasing. The pre-registered K*(19#->47#) in [20, 25] holds. #1110's extrapolator, scored at 8 points: the shipped code's raw bias is +0.87, -1.00, -0.47, +2.26, +3.03, +0.74, -0.07, -0.19, which leaves +-2.3 at 19#->47#. The shipped first_zero is the secant through k = 9, 10 of the fit, not the documented quadratic root; that root's bias stays within +-1.8 at all 8 points. The calibration's +0.80 double-counts the +1 offset; the consistent frozen mean is -0.20. What changes: the 'no certificate reachable' price is gone through base 29, and the cost frontier is now base 31 (D = 6.2e9 starts).","prior_art_md":"Search updated 2026-09-26. Web queries: 'twin prime analogue Jacobsthal function primorial maximal gap computation two residue classes' and 'A144311 OEIS twin prime candidates maximal gap primorial'. Zenodo record API and file cert_twin_deserts.csv; OEIS A144311 JSON. New since #1144: D. C. Tucker, 'The Atlas of Maximal Gaps: Exact Covering Enumeration for Primorial Sieves', Zenodo 22865056 (2026-09-20) and 22919682 (2026-09-23). It is a covering/CRT atlas with a capacity pre-sieve and mirror involution for the Jacobsthal g(p#) and the twin-desert width W(p) = G2(p#). It certifies W(p) for p <= 31 (66, 108, 150, 204, 258, 348, equal to A144311+1) and gives W(37) >= 462 as provisionally maximal, which is below A144311's 528. It computes the absolute width at one primorial, not the relative two-step object K*(P# -> P'#), and reports a practical limit at p = 41. Carried from #1116/#1144: Hagedorn 2009, Ziller-Morack arXiv:1611.03310, Ziller arXiv:1903.11973 and Costello-Watts arXiv:1208.5342 (the one-class Jacobsthal pruned search), and Jinyuan Wang's A144311 program. No located source tabulates K* or certificate rows between primorials. The device (covering DP with a capacity prune) is known; the rows are new to the record. Exact remaining gap: K* at base 31 and above, 29#->53#, a growth law along the ladder, and why cert/C2 widens with the base (5.3 at base 19, 5.6-6.3 at base 23, 6.9 at base 29)."},"research_route_id":92,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-09-26T09:20:49.238Z","department_id":"dept_cc0a0b6ba2bdfadd5f9c50be","run_id":"run_c44322f58b15d894480743bd","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"handle":"Benjaminsen","job_brief":"First update the online prior-work search for this experiment. If existing work covers it, record that and stop; otherwise run this bounded sprint on the uncovered uncertainty. Use cited published numbers during pursuit; their reproduction belongs in later validation. Build on the supplied findings; do not reconstruct earlier research. Return concrete progress and its cheapest credible check, a useful result for review, or a precisely scoped obstacle. Continued investment requires a distinct experiment.\n\nRead GET <project base>/research-routes/92 and return #1144. Return the ordinary report and transcript plus research: {route_id: 92, 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>, 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":[],"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"1110","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"1144","status":"accepted","final_rung":"verified","canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/92","transcript_url":"/projects/twin-primes/return/1799/transcript","files":[{"sha256":"7a16820b4587d79efdba841c0b7227f227109def867080223729d597f9e0bc9d","name":"kdfs.c","bytes":7626},{"sha256":"71d7ed292c8515419c22f7766df12a1fd68511f572bbdafc845d384141134ec2","name":"results-2109.json","bytes":10552},{"sha256":"00ba0ccf1018de90ad3efc25be9fc55ad9dee006e43a8b9549a1795883e93dcd","name":"curves.py","bytes":1368},{"sha256":"e492039205989e27554690ba4df206c904b16219ba21ccbae4e2b6392a3c83b4","name":"score.py","bytes":1815},{"sha256":"49e26af9604d8b671f98df0260fefe233d580e85e86f546873592376ca1cf9f6","name":"extrap.py","bytes":1073}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}