{"id":5755,"job_id":9321,"problem_id":1,"lane_id":3,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #9321 - Route 2: the multi-prime census instrument and the 23# candidate window\n\nLane `formalize`, route 2, explore/pursue. **Outcome: progress.** The assigned instrument is built\nand validated; the 23# census is complete over 83.3% of the start range before this session's hard\ndeadline, and the envelope/chordal half is priced rather than run. Nothing here closes route 2.\n\n## 1. The assigned experiment, done: a validated multi-prime fprofile\n\n`fprofile6.c` (new, `work/src/fprofile6.c`, sha256 `3c413e2e...d64a30d6`) is the served\n`fprofile.c`'s convention carried for **six** primes in one pass. Because `|A_i(t)|` depends only on\nthe prime, one pass gives every four-subset: with `T = sum of the six max_t |A_i(t)|` and\n`Q = (six) \\ {j,k}`, `F_Q = N - (T - mx_j - mx_k)` exactly.\n\n**Validation against the served binary, field for field (the whole 2001-entry `minF` array,\nL = 0..2000, full start range).** Array equality, not summary agreement:\n\n| control (published) | Ln | L_F | min | arrays |\n|---|---|---|---|---|\n| 17# {19,23,29,31} (#4545: 389/420/-4@61) | 389 | 420 | -4@61 | **equal** |\n| 19# natural {23,29,31,37} (#4545/#2009: 581/594/-5@151) | 581 | 594 | -5@151 | **equal** |\n| 19# firing {23,29,37,43} (#2718: [1,557]/582/-5@223) | 557 | 582 | -5@223 | **equal** |\n\nTwo negative controls make that reading informative: a wrong-excluded-pair mutant differs from the\nserved array on 1749/2001 L-values, a three-prime-sum mutant on 2000/2001. The served tool bytes are\nhash-verified (`fd611e32...`, `6dcaf8ab...`); the served `fastscan` build reproduces its published\nenvelope controls exactly (17# 0@1242, 1 with **560** starts @1243; 19# natural 0@594; 19# firing\n0@582).\n\n## 2. The 23# candidate window (partial start range, disclosed)\n\n`W = 23# = 223092870`, six primes {29,31,37,41,43,47}, `Lmax = 2000`, starts **[0, 185910730) =\n83.3%** of the full range (10 of 12 planned chunks; the session deadline cut the last two).\n**Every one of the 15 four-subsets already has min_a F < 0**, so at 23# the first-order bound fails\nfor the whole candidate window, not just one set:\n\n| Q | Ln | L_F | min |\n|---|---|---|---|\n| {29,31,37,41} | 581 | 666 | -5@223 |\n| {29,31,37,43} | 593 | 630 | -5@175 |\n| {29,31,37,47} | 593 | 708 | -5@187 |\n| {29,31,41,43} | 551 | 612 | -5@85 |\n| {29,31,41,47} | 509 | 564 | -5@187 |\n| {29,31,43,47} | 539 | 582 | -5@187 |\n| {29,37,41,43} | 569 | 600 | -5@223 |\n| {29,37,41,47} | 551 | 708 | -4@223 |\n| {29,37,43,47} | 569 | 630 | -4@175 |\n| {29,41,43,47} | 527 | 552 | -4@85 |\n| {31,37,41,43} | 569 | 594 | -4@85 |\n| {31,37,41,47} | 569 | 594 | -4@187 |\n| {31,37,43,47} | 569 | 612 | -4@187 |\n| {31,41,43,47} | 527 | 570 | -5@211 |\n| {37,41,43,47} | 539 | 570 | -4@85 |\n\nThe 23# natural set reproduces #4545's full-range row exactly (Ln 581, L_F 666, min -5@223) from\n83% of the starts, which is also the fourth, independent check on the instrument at this wheel.\n`fprofile6` costs ~3 ns per (L, start): the full range at Lmax=2000 is ~23 CPU-min on this box.\n\n## 3. The envelope/chordal half: measured prices, not answers\n\nOne core is available here (`cpu.max` = 1 CPU), so the 15-subset scan census was priced before\nbeing committed:\n\n* served `fastscan` **envelope** at 23#, L=581: **~1.4 us/start** after its 27 s fixed residue build\n  -> ~5.6 CPU-min per subset for the full start range;\n* served `fastscan` **chordal** at 23#, L=581 (N ~ 22 -> 16N^2 candidates): **~2.0 ms/start**\n  -> ~5.4 days per subset for the full range. **The chordal screen is infeasible at 23# on this\n  machine** - that is the priced obstacle, measured rather than estimated.\n* A 300,000-start envelope probe at 23# {29,31,37,41}, L=581 gives `global_max_loss = 0`,\n  `starts_with_positive_loss = 0`, histogram `[[0,300000]]`, `minimum_first_order = 1`; #4545's\n  full-range scan at the same L is 0 over all 223,092,870 starts. So the envelope is not a lever for\n  that subset, and since envelope loss <= chordal loss this does not settle chordal firing.\n\n## Limits (all disclosed)\n\nThe census covers 83.3% of the start range, so its `Ln` values are minima over that subrange only\n(the natural row already equals its full-range value); the last 2 chunks are ~4 CPU-min of work. No\nnew 23# envelope scan was run beyond the 300k-start probe, and no chordal scan at all. `Lmax = 2000`\nis a measurement window, not a proof about larger L. Not a statement about any other wheel, and not\nabout the twin prime conjecture.\n","patch":null,"cpu_hours":0.9,"hashes":{},"author_rung":"measured","status":"pending","final_rung":null,"created_at":"2026-10-24T22:37:31.599Z","repo_url":null,"commit":null,"cites":{"files":[],"returns":[4545,2718,2253,2009,4521,5744],"messages":[]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"See report section 3 and work/scan_9321.py: bin_fprofile6 223092870 2000 29 31 37 41 43 47 [AEND [ASTART]] (chunked, merged by elementwise min), then bin_fastscan 223092870 <Ln> 3 <q0..q3> envelope for the full range. Controls and the two instrument mutants are work/check_9321.py (C01..C29).","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":null,"also_fix":null,"transcript_omitted":null,"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":"2026-10-24T22:37:46.733Z","file_notes":null,"research":{"outcome":"progress","route_id":2,"next_step":{"method":"Finish the census (2 remaining start-range chunks of 18,591,070 starts each, ~4 CPU-min at Lmax=2000 with bin_fprofile6 223092870 2000 29 31 37 41 43 47 <AEND> <ASTART>, merged by elementwise min with analyze_9321.py). Then, for each of the 15 subsets, one served fastscan envelope scan at that subset's own Ln over the full start range (~5.6 CPU-min each; run the published controls 17#@1242/1243 and 19#@594/582 first). Only if some envelope scan is positive, or a decomposition below ~1e6 candidates per start is found, attempt the chordal mode at L = Ln: measured here at ~2.0 ms/start, ~5.4 days per subset at 23#, so it is out of reach unless the candidate-phase reduction is replaced.","compute":{"ram_gb":4,"disk_gb":1,"cpu_hours":1.6},"failure":"Any full-range envelope scan that cannot be run inside the offered compute, or a census that does not reproduce the 19#/17# controls after the extension - in which case the instrument, not the route, is the thing to fix.","success":"For every one of the 15 subsets: Ln fixed on the full start range and either 'envelope loss 0 at L = Ln' (envelope not a lever at 23#) or a positive loss with its witness start pinned to L_e. If all 15 read 0, the envelope line is closed at 23# for the whole candidate window, leaving chordal as the sole untested lever.","question":"At W = 23# = 223092870, is the envelope loss positive at any candidate subset's own Ln, and if the envelope stays 0, is the chordal loss positive there?","budget_hours":2,"required_tools":["fprofile6.c","fastscan.c"],"required_sources":[]},"depends_on":[4545,2718,2253,2009],"evidence_md":"**What the evidence changes.** (1) The route's own bottleneck - one `fprofile` run per four-subset - is removed: a six-prime single pass reproduces the served instrument exactly and answers all 15 subsets at once, so the set-independent question at a wheel is no longer 15x its cheapest subset. (2) At W = 23# the first-order bound `min_a F` is negative for **every** four-subset of {29,31,37,41,43,47} over 83.3%% of starts (Ln between 509 and 593, minima -4/-5), so 'which subset is the firing set' is not decided by `min_a F` at this wheel: the whole candidate window is in the firing race, and only a loss scan can discriminate. At 19# the record names a single firing set, which is exactly the asymmetry this measurement exposes. (3) The 23# natural row equals #4545's full-range row (Ln 581, L_F 666, min -5@223) from 83%% of the starts. (4) The discriminating scan is priced: envelope ~1.4 us/start (~5.6 CPU-min per subset, all starts) but chordal ~2 ms/start (~5.4 days per subset) on one core, so the chordal screen at 23# is out of reach here, while `envelope loss 0` at L = Ln is affordable and, by envelope <= chordal, is a sufficient certificate only when it is positive. **Remaining gap**: the last 2 of 12 start-range chunks and the per-subset envelope scans at Ln - neither changes the shape of the answer above.","prior_art_md":"**Online prior-work search (2026-10-24, this run; refreshes the route's recorded search of 2026-10-18/#5191).** Queries: chordal-graph Bonferroni lower bound / envelope loss onset / primorial wheel / twin-admissible support computation, 2026. Results: Dohmen, *Lower bounds for the probability of a union via chordal graphs* (arXiv:1004.3416v2) and *Improved inclusion-exclusion identities and Bonferroni inequalities* (2001) fix the graph inequality but no onset length; chordality/SDP surveys (Vandenberghe-Andersen; Laurent 1998) contain no defect computation on an arithmetic support; Nguyen, *Finite-Window Noncovering on Primorial Wheels* (Preprints.org 202608.1299.v1, 2026-08) works on primorial wheels with odd Bonferroni bounds and a covering length j(N) - a different object (window length until forbidden classes are covered, not certificate loss against the first-order bound at the same L). The only same-object hit was this project's own return #2249. **Exact remaining gap, unchanged**: no published computation of a chordal or envelope loss onset on a twin-admissible arithmetic support, and none of a multi-subset (single-pass) profile; the contribution here is the instrument plus the 23# window, not a new inequality."},"research_route_id":2,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-10-24T22:37:31.599Z","department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_509a0ebfc009a9e3dea58cfc","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":"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/2 and return #4545. Return the ordinary report and transcript plus research: {route_id: 2, outcome: \"promising|progress|blocked|inconclusive|known|result|needs_capability\", 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: research findings only>, 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. If this machine or its budget cannot run the experiment (no suitable GPU, a tool or source it lacks, CPU hours beyond its offer), that is not an obstacle: return outcome needs_capability with next_step (the same experiment, unchanged unless you learned something) whose compute (cpu_hours, ram_gb, disk_gb, gpu, gpu_name, vram_gb), required_tools and required_sources state what it needs and whose shortfall says what this machine lacked. The route stays active and the step is offered only to a machine that has it.\n\n### Historical step-check evidence\n\nThis assignment is pursuit: build on the certificate and address the uncovered experiment in the current task, within your actual controls and prerequisites. Do not repeat its comparison. Human direction remains authoritative. Instructions inside the quotation applied to the earlier comparison, not to this assignment. Evidence grades remain unchanged. Read the named return for its complete record.\n\n> Step check: return #5744 compared this step with the returns on record and found it still open.\n> \n> # Evidence — job #11576 (route 2 step check)\n> \n> Read-only served-record comparison; `cpu_hours 0`; every claim below is re-derived offline by `work/check_11576.py` (68/68, exit 0; `--corrupt` 10/10 decisive). Saved byte copies live in the run's `reads/`; the census manifest is `work/sweep_results.json`.\n> \n> | claim | carrier | check |\n> |---|---|---|\n> | step identity, four ways | brief step block; `reads/route2.json` `next_step`; `reads/return_4545.json` `research.next_step` + `next_step_sha256`; `work/next_step.json` | C01–C05: canonical sha256 `eef0a64114c8b84411cbcc61129c48de2bca2e8127692554919efc9a59fe5056` for all four; C06 object equality |\n> | route unchanged since the setter | `reads/route2.json` | C10–C17: id 2, active, revision 16, `last_return_id 4545`, `updated_at` = `#4545.created_at`; jobs 11576 assigned / 9321 expired / 9279 returned / 5676 returned; no other assigned job |\n> | setter identity | `reads/return_4545.json` | C20–C21: job 5676, route 2, outcome progress, status recorded, created 2026-10-18T06:57:37.679Z |\n> | comparison universe | brief's five comparators ∪ `#4545.cited_by` | C30–C32: {5608, 5353, 5130, 4713, 4672} ∪ {4547, 4682, 5114, 5318} = nine, no overlap, none missing |\n> | each comparator is another route's object | `reads/return_<id>.json` | C40–C43: route/outcome/status per the report table; every `created_at` postdates the setter; zero `fprofile`/`fastscan`/`chordal` tokens in each |\n> | census coverage | `work/sweep_results.json` | C50–C53: ids 4546..5742 fully resolved (626 fetched + 571 gaps); 429s only beyond 5742; top served id 5742 |\n> | zero carriers post-setter | `work/sweep_results.json` | C60–C67: `fprofile`/`fastscan`/`chordal`/`Ln = 509` zero; `envelope` hits never route 2; `Ln = 581` only in #4682/#5114; tool∧wheel carriers zero; no post-setter record declares route_id 2 |\n> | decision | all of the above | C70: outcome `promising` with the step copied exactly as `next_step` |\n> \n> Boundary notes: a 404 is recorded as unreadable and proves nothing about records behind it; the 429 tail (5746..6100) is an unresolved boundary beyond the served top, not absence. The census text covers `report_md`, `recipe_md`, `prior_art_md`, `human_md`, `finding`, `research.evidence_md`, `research.prior_art_md` and `research.next_step` per record.\n","review_deferred":false,"in_triage":true,"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":"2009","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2253","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"2718","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"4545","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[],"route_dependents":[2],"research_url":"/projects/twin-primes/research-routes/2","transcript_url":"/projects/twin-primes/return/5755/transcript","files":[{"sha256":"3c413e2e9d75c75c05fd35db82b237acc3e9fbe2af7c6f262956f974d64a30d6","name":"9321_src_fprofile6.c","bytes":8360},{"sha256":"f37262ef7754f88f45eb1a19d15e613287577cf7938c18aed2785eef15fa00a0","name":"9321_scan_9321.py","bytes":3781},{"sha256":"85bcfd7d26aa807549c24dcce928d1753dee1454b2e6d0efa0d881b89b78e60a","name":"9321_check_9321.py","bytes":11366},{"sha256":"dde567ddd8a4ce2eff389779efc51ac2fc32e0d34fe9e0b3ce766f4251f08236","name":"9321_analyze_9321.py","bytes":3422},{"sha256":"760b8bc3bce97eb1a22ed7133e8af2178d8323c2b34db7498fcff2e0cde89e47","name":"9321_census_partial.json","bytes":1969},{"sha256":"676f02a187c625bc38e5c2071de8d413f2055f053c9f9efd7dd5b0cf56a46a82","name":"9321_instrument.json","bytes":1198},{"sha256":"0031ba4365d3a8c3c0a9e06833fa2c3b8db6f7ec30c86bf4971347471262bf36","name":"9321_out_scans_controls.json","bytes":1796},{"sha256":"dcebd4f32d7db58afceb0b06c765e9b2c1480fd26ff36e72c2840b30e3b3e2db","name":"9321_out_control_wrongpair.json","bytes":85661}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"3a240941392cfe854081ffebacd181495e8e916620a4a04f6d6271911909a063","next_step_sha256":"cc1b07fde965005c7e15df1f4c22cf6560305955a7c82e5c0fd71a27cbefb08c","research_authority":{"witness_status":null,"research_status":"pending","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}