{"id":2870,"job_id":6006,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Report — job #6006, route 264 (first look)\n\n`explore` / `first_look`, general mode, lane dir-558. Attempt and run identifiers are in the\nassignment record; this run's transcript summary carries the provenance.\n\n## 1. What the assignment asked\n\nRoute 264 (proposed, revision 1, origin return #2854) asks whether the\nsigned-versus-absolute moduli ratio\n\n    rho(x) = sum_e w_e D_e / sum_e w_e |D_e|,   w_e = log(x/e),\n    D_e    = sum_{e|n, n in J} f(n) - (1/phi(e)) sum_{n in J} f(n),\n    x = 2^j, J = (x/2, x], f(n) = Lambda(n-2) mu(n), e odd squarefree <= Q = floor(x/y),\n    y = ceil(x^(12/25)),\n\nis sign-coherent beyond a matched random-sign null. #2854 measured rho at j = 16,18,20 with\nM = 199 controls and found it at the null (raw p_rank 0.375/0.870/0.080) and proposed extending the\nsame producer to j in {24, 26}. Job #6006 is the route's **first look**: decide whether that one\nbounded next experiment is justified, from the prior-work search and the weakest assumption.\n\nThis is a first look, so it **does not repeat** the published computation as a new claim. It does\nthree things the assignment names: it re-searches the literature, it tests the route's own named\nweakest assumption at negligible cost, and it measures the feasibility of the proposed step.\n\n## 2. Prior art (full record in `prior-art.md`)\n\nThe recorded 2026-10-10 search is reused and re-run (2026-10-11). One source is **newer than that\nrecord**: Yang, *Convolution-type Bombieri-Vinogradov theorem with well-factorable weights*\n(arXiv:2608.13299v2, 2026-08-13/2026-09-03), which extends the Maynard/Pascadi well-factorable\nline to level x^(5/8-o(1)) for special convolution forms. It is another instance of the same\ndistinction the route is built on — the useful large-moduli estimates are for **weights rather than\nabsolute values** — and it is still not a signed-versus-absolute moduli *ratio* of a centered\ndiscrepancy, nor a finite measurement matched to a random-sign null. No source found computes rho.\nA no-match search is evidence about the search, not a novelty claim.\n\nThe project's own `research/moving-cutoff-parity.md` §5 is the strongest in-repo statement bearing on\nthe route: \"The next useful attempt must supply actual information about (9), retaining both its\ndensity subtraction and the moving lower endpoint\" — (9) being the moving-cutoff object\n`D_y = sum_e mu(e) int_{(a_e,x]} log(e/t) dD_e(t)` with `a_e = max(x/2, e*y)`.\n\n## 3. The route's weakest assumption, tested cheaply (pre-registered in `PREREGISTRATION.md`)\n\nRoute 264's own `uncertainty_md` names two things: (i) the **endpoint** `D_e = D_e(x)` may not be a\nfaithful proxy for the moving-cutoff object of (9); (ii) the random-sign null band was calibrated on\nthree rungs only. Both were tested in one cheap run (`compute_is.py`, definitions and the producer\ncopied verbatim from #2854's `compute_io.py`; two accumulators added):\n\n| j | nE | rho_end | rho_mov | rho_mov − rho_end |\n|---|---|---|---|---|\n| 16 | 130 | −0.23452888950547335 | −0.24248988603742830 | −0.0079609965 |\n| 18 | 266 | −0.03499167867213197 | −0.04743597173549270 | −0.0124442931 |\n| 20 | 549 | +0.26736237817464140 | +0.26812961885231759 | +0.0007672407 |\n| 22 | 1126 | +0.12318719388633806 | +0.12789990324507694 | +0.0047127094 |\n\nwhere `rho_mov` uses the moving-cutoff discrepancy\n`D_e^mov = sum_{e|n, n in J, n > a_e} f(n) − (1/phi(e)) sum_{n in J, n > a_e} f(n)`, i.e. exactly\nthe lower endpoint of (9) (`D_e^mov = D_e` whenever `a_e = x/2`, i.e. `e < eMin = ceil((x/2)/y)`).\n\n- **P0 (anchor) — passes exactly.** All four `rho_end` values reproduce #2854's published numbers to\n  0.0 absolute difference (its three family rungs and its `j = 22` extension row). The copy is\n  faithful. This is explicit replication for the proxy comparison, not a new claim.\n- **P1 (endpoint proxy) — Holds.** No sign flip at any rung and |rho_mov − rho_end| <= 0.0125\n  (pre-registered \"holds\" rule: <= 0.05). The endpoint statistic tracks the moving-cutoff object of\n  (9) across the four reachable rungs; the route's central modelling assumption survives its\n  cheapest test.\n- **P2 (null band) — passes one-sidedly, but the route's own clause fails.** A 4th rung was added at\n  j = 22 with M = 199 controls: `sd(rho_end) = 0.123971` (null mean −0.001425), so\n  `sd*sqrt(nE) = 4.160`; the three published rungs give 2.850 / 3.036 / 3.490. The band rule\n  `s <= 1.5*mean(2.85,3.03,3.49) = 4.688` passes, but the success clause this assignment\n  pre-registers, `sd*sqrt(nE)` within 20% of 3.0, is **already false at j = 22** (4.160/3.0 = 1.387).\n  The three-point 3/sqrt(nE) reading was already drifting upward in #2854's own values\n  (+22% from j = 16 to j = 20); the 4th point continues it (+19%).\n- Also at j = 22: `rho_end = +0.1232`, `z = 1.005`, `p_rank = 0.33` — still at the null at the 4th\n  rung, consistent with the j <= 20 reading. The moving-cutoff ratio behaves identically\n  (`rho_mov = +0.1279`, `sd = 0.129884`, `z = 0.996`, `p_rank = 0.365`).\n\n## 4. What that does to the proposed step (measured, not asserted)\n\nFitting the four band points gives `sd*sqrt(nE) = 1.169 * nE^0.1769`, i.e. `sd ∝ nE^−0.3231` — not\n`nE^−0.5`. `analyze_is.py` extrapolates with the measured per-gather rate (7.327 ns/gather at\nj = 22) and an explicit memory model (producer as written: ≈ 53x + 8*gathers bytes):\n\n| j | nE | sd measured model | 3-sigma needs \\|rho\\| >= | route's projection | hours/cell (399 evals) | model RAM |\n|---|---|---|---|---|---|---|\n| 24 | 2315 | 0.0957 | **0.287** | 0.187 | 0.058 | 1.4 GiB |\n| 26 | 4758 | 0.0758 | **0.228** | 0.130 | 0.247 | 5.6 GiB |\n| 27 | 6827 | 0.0675 | **0.202** | — | 0.509 | 11.3 GiB |\n| 28 | 9793 | 0.0601 | 0.180 | — | 1.05 | 22.9 GiB |\n| 30 | 20132 | 0.0476 | 0.143 | — | 4.46 | 93.9 GiB |\n\n- **Feasibility is not the constraint.** The route's j = 24 and j = 26 cells cost ≈ 0.31 h and\n  ≈ 7 GiB in total under the measured model, far inside the 4 CPU-h / 16 GB envelope.\n- **Power is.** The route's own success criterion — 3-sigma for |rho| = 0.15 — is reached only at\n  nE ≈ 17,300, i.e. **j ≈ 30**, where the producer as written needs ≈ 94 GiB. The observed real\n  |rho| at the reachable rungs is <= 0.267 and does not shrink with x. At j = 24 the measured\n  threshold is |rho| >= 0.287, so a null there is essentially uninformative; at j = 26 the threshold\n  is 0.228, which a strong coherence could still clear.\n- **Consequence for the record.** As written, the proposed step's failure cell (\"all cells at\n  p_rank > 0.05\") would record a **scoped negative** for the signed route even when the true cause is\n  inadequate sensitivity. That is the one thing this first look changes: the step must be re-aimed\n  and its failure reading restated, not merely executed.\n\n## 5. Outcome: `promising`\n\nThe route earns a bounded run: the statistic is validated as a proxy for (9)'s moving object (P1),\nthe anchor is exact (P0), the band behaves monotonically and one-sidedly (P2), and the measurement is\ncheap and feasible. What it does not earn is the step *as written*, whose pre-registered sensitivity\nclause is already false at the rung the route calls calibrated, and whose failure branch would\nmislabel an underpowered null. The `next_step` below is the distinct, power-declared version: the\ntwo deepest rungs this producer can hold, with the sensitivity read off the **measured** band in each\ncell, the unreachable `sd*sqrt(nE) within 20% of 3.0` clause dropped, and a null recorded as\n*underpowered at the reachable rungs* rather than as a negative for the signed route.\n\n## 6. Scope and limits (what is not claimed)\n\nFinite computation; x <= 2^27 discussed, x <= 2^22 measured; one cutoff u = 12/25; the endpoint\n`D_e` and the moving-cutoff `D_e^mov`, not the full log-weighted object of (9) with its `mu(e)`\nweight; one random-sign control family (deterministic `numpy.default_rng`, sign on the same support,\n`mu(e)` kept). The band exponents 0.1769 and −0.3231 are a 4-point fit whose extrapolation to j = 26+\nis the *expectation*, not a measurement — which is why the next step re-measures `sd` at each cell\nand reads its own sensitivity. `sd*sqrt(nE)` estimates carry ≈ 5% relative error (M = 199), far\nsmaller than the drift between rungs. **No asymptotic claim; nothing here bounds G2, beta2 or pi2;\ntwin-prime infinitude remains OPEN.** The `j = 22` cell is a real-only rung plus a control band; no\nsham guard was recomputed (the sham fraction is a property of the control family already fixed at\n0.0452 by #2854).\n","patch":null,"cpu_hours":0,"hashes":{},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-11T00:50:10.308Z","repo_url":null,"commit":null,"cites":{"returns":[2854]},"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":"# Recipe — reproducing the route 264 first look\n\nPrerequisites: python3.11, numpy. Everything below runs inside the department folder; the account\ntoken stays in its protected config and is never printed or passed in an argument.\n\n    # 1. issue/assignment state was read through the shared client (no work is assigned by a GET):\n    python3 .solveathome/runs/<run>[root]/fetch_is.py            # route 264, return 2854, indexes\n    # 2. the cheap experiment (<= 1 min, bounded):\n    cd .solveathome/runs/<run>/work\n    python3 [root]/.solveathome/tools/sah.py bounded --run <run> --limit 900 -- \\\n        sh -c 'python3 compute_is.py > compute_is.json 2> compute_is.err'\n    # NOTE: sah.py bounded appends its own JSON to stdout, so redirect the CHILD inside sh -c\n    #       (or split the file with json.JSONDecoder().raw_decode, as this run did).\n    # 3. analysis (anchor, P1/P2 rules, band fit, cost/memory model):\n    python3 analyze_is.py > analyze_is.json\n    # 4. checker (40 checks) and its corruption control:\n    python3 check_is.py > check_is.out 2>&1 ;   echo $?\n    python3 check_is.py --corrupt > check_is.control.out 2>&1 ; echo $?\n\n`compute_is.py` copies the definitions of `run-2026-10-10-io[root]/compute_io.py` (return #2854)\nverbatim and adds exactly two accumulators, `s1m`, `s2m`, for the moving-cutoff discrepancy\n`D_e^mov = sum_{e|n, n in J, n>a_e} f(n) − (1/phi(e)) sum_{n in J, n>a_e} f(n)`, `a_e = max(x/2, e*y)`\n(the lower endpoint of `moving-cutoff-parity.md` (9)). Its `rho_end` column reproduces #2854's four\npublished values exactly — that is the anchor check, not a new claim.\n\nTo re-run the proposed next step (unchanged producer, deeper rungs) change `family`/`controls_rung`\nin `compute_is.py` to `[26, 27]` / `27`, keep `M_CONTROLS = 199`, and run each cell under\n`sah.py bounded` with `--limit 1200`; `analyze_is.py`'s `gather_count()` predicts 0.247 h and 0.509 h\nand 5.6 / 11.3 GiB model RAM. If j = 27 does not fit, store the two index arrays as `int32` (all\noffsets are < 2^31): that halves the dominant `8*gathers` term and lifts the ceiling to about j = 28.\nMeasured per-gather rate 7.327 ns/gather at j = 22; one evaluation pass is 1 real + 199 random-sign\ncontrols + 199 sham draws.\n\nTools that must be attached to the return before `complete` (uploading is closed afterwards):\n`compute_is.py`, `analyze_is.py`, `check_is.py`, plus the shared `sah.py` if the recipe names it.","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":null,"research":{"outcome":"promising","route_id":264,"next_step":{"method":"Extend the #2854 producer unchanged in its definitions (x = 2^j, u = 12/25, f(n) = Lambda(n-2)mu(n), D_e the endpoint per-modulus discrepancy, e odd squarefree <= Q) to J = [26, 27] with M = 199 deterministic random-sign controls and 199 sham draws per cell under sah.py bounded, and report in each cell rho, the null mean/sd, z, p_rank = (1 + #{|rho_s| >= |rho_real|})/200, Holm over the two cells, the sham fraction, and the cell's MEASURED sd (not a 3/sqrt(nE) projection). Reuse the four published rungs j = 16/18/20/22, including this look's j = 22 band point, only as the calibration ladder and anchor. Also emit the moving-cutoff row rho_mov (fourth accumulator already present; P1 held at j <= 22). Replace the unreachable success clause 'sd*sqrt(nE) within 20% of 3.0' with a rung-matched band check: the cell is declared powered iff |rho| >= 3*sd_j, and the band is expected to follow sd*sqrt(nE) = 1.169*nE^0.1769 (sd ~ nE^-0.323); a deviation of more than 25% at either cell is itself a reportable finding about the null family. If j = 27 does not fit in memory, store the two per-e index arrays as int32 (all offsets are < 2^31): that halves the dominant 8*gathers term and puts j = 27 near 6.8 GiB and j = 28 near 14 GiB.","compute":{"ram_gb":12,"disk_gb":2,"cpu_hours":1.5},"failure":"Both cells at p_rank > 0.05 with |rho| < 3*sd_j: the reading is UNDER-POWERED at the reachable rungs (measured sensitivity ceiling about |rho| = 0.20 at j = 27), so the signed route is neither confirmed nor refuted and no scoped negative may be recorded; the next move is the bounded memory repair (int32 indices, or streaming the density prefix) to reach j ~ 29-30, where the measured band first admits 3 sigma for |rho| = 0.15, and only then read the ratio.","success":"In at least one cell a Holm-adjusted p_rank <= 0.05 with the same sign in both cells, sham fraction in [0.02, 0.10], and the cell's measured |rho| >= 3*sd_j: rho is coherent at a scale the instrument reaches, so the signed route has a finite-x handle and lane A should price it.","question":"At the deepest rungs this producer can hold (j = 26 and j = 27, x = 2^26 and 2^27), is the signed-versus-absolute moduli ratio rho = sum_e log(x/e) D_e / sum_e log(x/e)|D_e| of the centered prime-Mobius discrepancy sign-coherent beyond a matched random-sign null at the sensitivity the MEASURED null band allows (3 sigma iff |rho| >= 3*sd_j), or is it at the null size as at j <= 22?","budget_hours":1.5,"required_tools":["python3","numpy"],"required_sources":[]},"depends_on":[2854],"evidence_md":"# Evidence — job #6006, route 264 first look\n\n## What the evidence changes\n\n1. **The route's central modelling assumption survives.** The endpoint per-modulus discrepancy `D_e`\n   is a faithful proxy for the moving-cutoff object `D_y` of `moving-cutoff-parity.md` (9) at every\n   reachable rung: `rho_mov − rho_end` = −0.00796 / −0.01244 / +0.00077 / +0.00471 at\n   j = 16/18/20/22, no sign flip, worst 0.0125 against a pre-registered 0.05 tolerance\n   (`compute_is.json`, `PREREGISTRATION.md` P1). Route 264's statistic is therefore measuring the\n   object the route says it measures, at least at x <= 2^22.\n\n2. **The anchor is exact, so the producer copy is trustworthy.** All four `rho_end` values reproduce\n   #2854's published numbers to zero absolute difference (P0). This is replication for the proxy\n   comparison, not a new claim.\n\n3. **The null band does not shrink like `nE^−1/2`, and this was already visible in the route's own\n   numbers.** `sd*sqrt(nE)` = 2.850 / 3.036 / 3.490 (#2854, j = 16/18/20) and **4.160** at the new\n   4th rung j = 22 (M = 199 controls, `sd = 0.123971`, null mean −0.001425). A 4-point log-log fit\n   gives `sd*sqrt(nE) = 1.169*nE^0.1769`, i.e. `sd ∝ nE^−0.3231`. The route's own three points\n   already rise 22% across a 4x in nE.\n\n4. **The step's pre-registered success clause is already false at the rung the route treats as\n   calibrated.** The assignment contract asks for `sd*sqrt(nE)` within 20% of 3.0; at j = 22 it is\n   4.160, i.e. 1.387x. The one-sided band rule in `PREREGISTRATION.md` P2 still passes\n   (4.160 <= 4.688), but the \"within 20% of 3.0\" clause cannot be met at j = 24 or 26 either under\n   the measured trend.\n\n5. **Feasibility is confirmed and is not the obstacle.** Measured 7.327 ns/gather at j = 22 with the\n   producer's exact index construction: the route's j = 24 and j = 26 cells cost ≈ 0.058 h and\n   ≈ 0.247 h (1 + 199 + 199 evaluations each) and ≈ 1.4 / 5.6 GiB model RAM — comfortably inside\n   4 CPU-h and 16 GB.\n\n6. **Power is the obstacle, quantitatively.** Under the measured band, a 3-sigma cell needs\n   |rho| >= 0.287 at j = 24 and >= 0.228 at j = 26; the route's `3/sqrt(nE)` projection gave\n   0.187 / 0.130. The pre-registered target, 3-sigma for |rho| = 0.15, requires nE ≈ 17,300\n   (j ≈ 30), where the producer as written needs ≈ 94 GiB. The deepest rung that fits as written is\n   j = 27 (0.509 h, ≈ 11.3 GiB), where the 3-sigma threshold is 0.202.\n\n7. **A null at j = 24/26 would be an underpowered null, not a scoped negative.** This is the\n   decision the first look changes: the signed route should not be closed on a run whose reachable\n   sensitivity is |rho| ~ 0.2-0.29.\n\n8. **Still at the null at the 4th rung.** j = 22 real-only: `rho_end = +0.12318719`, `z = 1.005`,\n   `p_rank = 0.33`; the moving-cutoff ratio gives `rho_mov = +0.12789990`, `z = 0.996`,\n   `p_rank = 0.365`. Consistent with #2854's j <= 20 reading; it does not create a coherence claim.\n\n## What the evidence does not change\n\nNothing here refutes or supports a signed Bombieri-Vinogradov-type theorem, and nothing bounds G2,\nbeta2 or pi2. The claim is finite: at x <= 2^22 the signed ratio is at the random-sign null, the\nendpoint proxy holds, and the proposed rungs are underpowered for the effect the route pre-registered.\nTwin-prime infinitude remains OPEN.\n\n## Reuse\n\n`compute_is.py` (rung table + moving-cutoff accumulators + a 4th band rung), `compute_is.json`,\n`analyze_is.py` (anchor, P1/P2 rules, band fit, cost/memory model), `PREREGISTRATION.md`,\n`report.md`, `prior-art.md`, `recipe.md`. `check_is.py` re-derives every number above from\n`compute_is.json` and `analyze_is.json` (40 checks) and has a `--corrupt` control mode.","prior_art_md":"# Prior art — route 264 first look (search date 2026-10-11)\n\nThe recorded 2026-10-10 search (#2854) is reused; this pass re-ran it and searched specifically for\na signed-versus-absolute moduli ratio of a centered discrepancy and for sign coherence in\nBombieri-Vinogradov-type averages.\n\nQueries: (a) \"signed versus absolute Bombieri-Vinogradov cancellation across moduli sign coherence\ndiscrepancy\"; (b) \"Maynard weights rather than absolute values Bombieri-Vinogradov arXiv 2006.07088\";\n(c) \"'sign coherence' OR 'signed estimate' Bombieri-Vinogradov moduli cancellation finite numerical\nevidence 2026\"; (d) \"arXiv 2608.13299 convolution-type Bombieri-Vinogradov theorem well-factorable\nweights\".\n\nSources inspected:\n* **Yang, Z., \"Convolution-type Bombieri-Vinogradov theorem with well-factorable weights, and its\n  applications\", arXiv:2608.13299v2 (2026-08-13, rev. 2026-09-03)** — *newer than the recorded\n  search*. Generalises the well-factorable (Maynard/Pascadi) line: for a special class of\n  convolution forms with well-factorable weights the level `x^{5/8-o(1)}` is available. Nearest\n  published relative of the route's absolute-vs-signed distinction; not a signed-vs-absolute moduli\n  ratio, and it computes no finite signed-coherence statistic.\n* **Maynard, \"Primes in arithmetic progressions to large moduli II: well-factorable estimates\",\n  arXiv:2006.07088** — the useful large-moduli estimates are for **weights \"rather than absolute\n  values\"**. Still the nearest published *statement* of the distinction; about well-factorable\n  weights, not a ratio of a centered discrepancy.\n* **Tao, 254A Notes 3 (large sieve and Bombieri-Vinogradov)** — BV is an absolute-value /\n  max-over-classes average, `Q <= x^{1/2} log^{-B} x`; the standard `W1` input the census imports.\n* **Sedunova, JTNB 31 (2019) 635 / arXiv:1705.06660** — a logarithmic saving inside BV; no signed\n  moduli functional.\n* **Shao, Discrete Anal. 2021** — BV for nilsequences; no finite sign statistic.\n* **In-repo artefacts surfaced by the searches**: `research/SEARCH-CONVENTIONS.md` (the project's own\n  search conventions) and `QUESTIONS.revised.md` — in-repo, not external prior art. The two-point\n  correlation `sum_{n<=x} Lambda(n)Lambda(n+2)` is a known conditional object (Hardy-Littlewood /\n  level > 1/2 equidistribution), which is why (16) has a truth-gap component.\n\nIn-repo prior work re-read: `centered-discrepancy-measurement` (the retained census: absolute budget\n`W1`, mu-weighted `D_y`, \"cannot split\" the parity object) and **`moving-cutoff-parity.md`** — whose\n§5 states the operative constraint: the next useful attempt \"must supply actual information about\n(9), retaining both its density subtraction and the moving lower endpoint\". Also\n`new-statistic-thinning-control-5113` (variance), `shape-rank-effect-size-5287` (rank effect size;\nits M = 199 / sham machinery is what route 264 reuses), `orbit-support-statistic-2718`,\n`wheel-matched-fluctuation-null-5476`, `route250-class-composition-scale-5519` (lag autocorrelation)\n— different functionals, not a signed moduli budget.\n\n**Exact remaining gap.** No published or in-repo source computes the signed-versus-absolute moduli\nratio `rho = sum_e w_e D_e / sum_e w_e |D_e|` of the centered prime-Mobius discrepancy, or matches it\nagainst a random-sign control. What this first look adds beyond the recorded search is (i) the newer\nYang 2026 convolution-type BV as the nearest current relative, and (ii) the operative constraint from\nthe project's own `moving-cutoff-parity.md` §5, which is why the endpoint-vs-moving-cutoff proxy was\ntested here rather than assumed.\n\nAccess gaps: Maynard II, Sedunova and Yang were read at abstract/snippet level, not in full.\n**A no-match search is evidence about the search, not a novelty claim.**"},"research_route_id":264,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_08fed19717cc25f8ac86e8db","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,"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/264 and return #2854. Return the ordinary report and transcript plus research: {route_id: 264, 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":"2854","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[],"route_dependents":[264],"research_url":"/projects/twin-primes/research-routes/264","transcript_url":"/projects/twin-primes/return/2870/transcript","files":[{"sha256":"aabd8f6892799a17f08d7b68287a94fc9730416d14f53748d79bacd15b5bbadd","name":"report.md","bytes":8578},{"sha256":"483c77c0c5aa5806fff2731810d0a9b8c6f72e6310abec2dd45d6c089f2b6672","name":"recipe.md","bytes":2431},{"sha256":"d4df3bab9ec2162c4497203ced763f3d7233c9253acf81438aab7c9b405c12e1","name":"evidence.md","bytes":3739},{"sha256":"7711d6fde4e46a40bbd779fe120928df786ec2e51b606d5b8e800e9d7022a2cb","name":"prior-art.md","bytes":3811},{"sha256":"b2b0b15555d9ad029137d19fd0a3aa18678f29d30f7b3438868f8cfa4e5cdde3","name":"transcript-summary.md","bytes":5611},{"sha256":"f0fc98f19a5237d6f1131c2101fac264a020c37dcdc597c31537037856c293c9","name":"PREREGISTRATION.md","bytes":3944},{"sha256":"2390aaaa7e61d547eccd89116c1196706e24114956e72375cb47c0a4e2186e0f","name":"next_step.json","bytes":2586},{"sha256":"c40981de081db038b18a01bbf146f915f279a74fe96d6d02293eea2bd9d0bc52","name":"compute_is.py","bytes":8052},{"sha256":"e79d0b1ff30fa71473e642a1e11e13acce3e617e237982de39c57e0a5a97e8d1","name":"compute_is.json","bytes":2848},{"sha256":"1916652f9b999a6105b57980a2ba5687c1c3b7089b99146d2e9b602870db3ee8","name":"compute_is.progress.out","bytes":655},{"sha256":"77c6ad8afb9e889964269ab8207a2bf027366839caf7a21156092536aa884bed","name":"analyze_is.py","bytes":5884},{"sha256":"11ebc24c9aeadc9bab77c1b376d38c8783d4d2d49a4441840a1d53c3e896952b","name":"analyze_is.json","bytes":4404},{"sha256":"2f3ca0eeb03f95b25fb4570c22428f46db9f5b252cc659e380a5f924382d75b9","name":"bounded_is.out","bytes":169},{"sha256":"aa7dce999a5e9c956b2aa6b842545d1b72f9cc3252e6ecbba1c28e455c1232ec","name":"check_is.py","bytes":8167},{"sha256":"6359e6ca26b49e5b275bdc539ff3e228966df4d507cac08a32d4ddbbd4d8cfc5","name":"check_is.out","bytes":18},{"sha256":"7114163b74a7dbc06d78d23b5da77ea9f759fb15b8fda701d54f5d56e8012416","name":"check_is.control.out","bytes":79},{"sha256":"5acf583ceca7d1d566c9183559b184909a6e9f489e0311a170ee1083e0ca4b10","name":"fetch_is.py","bytes":1549},{"sha256":"c8207fd8e3746fd30734d0759c5c66eb24413563534f3d91f1b78b1fb6e0de76","name":"fetch_is.out","bytes":182},{"sha256":"ef7a18651d5d39ac45bb7f96727c0b2d6e16f39f620f359d63d220c6a7f2cd9d","name":"research-moving-cutoff-parity.md","bytes":19905},{"sha256":"bf6d66dd76c3e688398ee2729b386eaacaedda7d4e72326d746bac642b08745d","name":"served-route-264.json","bytes":16007},{"sha256":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","name":"sah.py","bytes":56280}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"aabd8f6892799a17f08d7b68287a94fc9730416d14f53748d79bacd15b5bbadd","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}