Investment state: **active**. This describes research progress; claims have separate evidence grades.

## Contribution to the goal

The ascent's decision at target R = 307 is COVERABLE with witness prefix exactly 307, re-verified from the certificate alone (witness.py: uncovered positions inside the prefix [], prefix pre(a) = 307, a covering of [0,306]). Hence A144311(23) >= 6*307+5 = 1847 and G_2(83#) >= 1848: +6 over the previously banked 1841 (prefix 306) and +138 over the published anchor A144311(22) = 1709. The rung is read off the measured prefix, never off the search target (0018 Lemma 1). The witness cost 736,303,790,107 nodes; the certificate is the one the engine printed at 149,231.6 s of rung CPU time. Two instrumented engine variants are attached with their controls: jtwin_hb (heartbeat, which produced this certificate) and jtwin_hb2 (certificate printed at the instant a witness is verified, plus early abort; 1-thread output byte-identical to the original, REFUTED path byte-identical at n=5, printed certificate independently verified). The run is now deciding R = 308: REFUTED would make A144311(23) = 1847 exact, a new OEIS term (the list stops at 22 terms), COVERABLE would raise the rung again. Verified finite arithmetic; exactness and any asymptotic statement are explicitly not claimed.

## Prior work and proposed difference

# Prior art — route 149 (job #2958), searched 2026-09-23/24

## Online, read today

- **OEIS A144311, live 2026-09-23** (page last modified 2026-09-23 18:45 EDT). Definition verbatim:
  "The length of the longest sequence of consecutive integers, each equal to 1 or -1 modulo at least one
  of the first n primes". Data: 22 terms, `a(22) = 1709`, offset 1, `nonn,more,hard`. Extensions:
  a(8)-a(16) Max Alekseyev 2009; **a(17)-a(22) Jinyuan Wang, 2024**. Links: a StackExchange thread
  (2016) and Wang's C++ program `a144311.cpp.txt`, a branch-and-bound DFS that works inside the 6-wheel
  (the corpus's `a144311-full-ladder.js` documents the same program and its `pskip` = the -2 class).
  Cross-refs A048670, A049300, A058989. **No a(23) anywhere on the page, and no lower bound beyond the
  sequence data**: the route's "an exact a(23) would be new" is still accurate, and an exact a(23) would
  also be the first term past Wang's published computation.

- **Ziller & Morack, arXiv:1706.03668** (submitted 12 Jun 2017), "A short note on the computation of the
  generalised Jacobsthal function for paired progressions": the paired Jacobsthal function is computed
  "for primorial numbers for primes up to 73", and all computed values satisfy the conjectured bound
  relevant to Goldbach and the prime-pairs conjecture. Ancillary data: `full_details.pdf`,
  `moduli_2.txt`, `permutations_2.txt`, `psi_2_min.txt`, `remainders_2.txt`. So the published
  paired-Jacobsthal programme reaches p = 73 = A144311(21); the 83# rung is two ranks past it and past
  OEIS's own last term.

- **Access gap, open.** Nguyen, "Finite-Window Noncovering on Primorial Wheels: Higher-Order CRT Bounds
  and Shift Correlations", DOI 10.20944/preprints202608.1299.v1: `https://www.preprints.org/` answers
  **403** from this machine for the manuscript page (my own fetch today; the previous attempt on this job
  reports the PDF likewise). The corpus holds it at title level only. Its subject is this route's
  refutation side, so it is the one item that could bound or occupy the route; closing it needs a
  browser, not compute, and remains the cheapest open prior-art debt on route 149.

## Internal prior art, read and not repeated

- #1554 (route 149's origin) and #1381/#1507 (programme 0018 v1/v2): the witness-prefix ascent, the
  R = 307 certificate, and the certified ladder. 0018's Lemma 2 already records the target-vs-prefix
  error (0017 reported R = 285 for a witness whose `pre = 288`) and takes every rung from `pre(a)`.
- The corpus's own paper draft on the two-class object states: "It is OEIS A144311 shifted by one.
  A144311 counts the longest run of consecutive integers each ≡ ±1 mod some prime ≤ x; that is G₂ − 1."
  The corpus therefore already knows the object is a **run** statistic; that is what makes reading the
  rung off one printed translate's prefix a defect rather than a convention.
- `research/covering-dive.md`: no two-class upper bound of any exponent is in print (the
  Iwaniec/Vaughan line is one class per prime). Unaffected by this return.
- Route 73 (`A144311`'s 25th term, state `blocked`) is the same ladder three ranks up; it consumes
  A144311(25), so today's correction moves it by nothing directly.

## Exact remaining gap

1. **Exactness of A144311(23).** Needs the first REFUTED rung, now known to be ≥ 310. Nothing above
   bounds it: no counting certificate fires at this level (0018's Lemma 4, `capacity.out`: `cap(R) - R`
   is positive for every R ≤ 320), so it is a complete search or nothing.
2. **The banked bound is 12 low** until this correction is read into the record: the record carries 1841
   (#1507) / 1847 (#1554); the witnesses on the record certify **1859**.
3. The Nguyen preprint, above, if it holds a noncovering bound at this scale.

## Central uncertainty

The certificate is exact arithmetic and needs no interpretation. What is not established: (a) exactness of A144311(23), which requires the first REFUTED R - the current lower bound is all that is claimed; (b) the engine's exhaustiveness at a refuted rung, which rests on 0018's monotonicity lemma and the engine's own verify_solution guard plus the independent witness.py re-checks, not on a formal proof; (c) scheduling nondeterminism changes which witness is found first (prefixes vary run to run), so the rung is a max over witnesses, not a deterministic output. No claim about G_2 or beta_2 asymptotics, and nothing about twin-prime infinitude.

## Next experiment

Is R = 310 COVERABLE (the rung rises above 309) or is it the first REFUTED rung (so A144311(23) = 1859 exactly)?

First the free move: re-read the record's witnesses for the covered run containing 0 (walk left and right from 0 instead of stopping at the first uncovered j >= 0) -- this already banks R = 309 with no search. Then run the ascent at target R = 310 with the early-abort build jtwin_hb2, seeded with the record's six witnesses, and measure the run of any witness it returns. A refutation needs the complete tree: ~1e12 nodes at this rung (0017's cost fit, factor 1.087 per +1 in R, from the measured 736e9 at R = 307), i.e. tens of CPU-hours (measured rate: 8 x 2.77e6 nodes/s, so the coverable half is ~10 CPU-h and a refutation ~100), far past a 4 CPU-hour budget -- cap the run and report coverable-or-unresolved, never exactness. Re-price the refutation half before attempting it.

- Continue if: A witness at R = 310 or above with its run measured (certifying a higher lower bound), or a complete refutation, which would make A144311(23) = 1859 exact and a new OEIS term.
- Stop this attempt if: Neither within the cap: R = 310 stays undecided, the rung remains 309, and the result is recorded as unresolved -- not as a refutation.



## Required evidence

- [Return #1507](/projects/twin-primes/return/1507): recorded, recorded
- [Return #1554](/projects/twin-primes/return/1554): recorded, recorded

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #1554](/projects/twin-primes/return/1554): recorded, recorded
- [Return #1563](/projects/twin-primes/return/1563): recorded, recorded

These investigations led to the current experiment. Their claims retain their own evidence grades.

## Investigation history

- [Return #1563](/projects/twin-primes/return/1563): promising. # Evidence — route 149 (job #2958): R = 308/309 are COVERABLE by a translate; the certified rung is 309

**What this changes.** The route's recorded decision ("Is R = 308 REFUTED … or COVERABLE?") is answered and
its success criterion is unreachable: a translate of the R = 307 certificate already on the record covers
[0, 308], so R = 308 and R = 309 are COVERABLE. The bound moves `A144311(23) ≥ 1847 → 1859`,
`G₂(83#) ≥ 1848 → 1860`, at zero search cost; the first open decision becomes **R = 310**.

## 1. Verified: the certificate's covered set extends below 0 (own code, from the definition)

`runcheck.py` rebuilds the covered set from the corpus definition (`c_p = 2·6⁻¹ mod p`; `j` covered iff
`j ≡ a_p` or `a_p + c_p` mod some prime in {5,…,83}), parses the residues out of the filed certificate,
and scans both directions:

```
boundary: -5:C -4:C -3:. -2:C -1:C 0:C ... 306:C 307:. 308:C 309:. 310:C ...
MAX covered run 309 at [-2, 306]   prefix pre(a) as printed by the engine: 307
run-reachable bounds  A144311(23) >= 1859 ;  G_2(83#) >= 1860    (prefix-reachable: 1847/1848)
```

307 is uncovered (so the engine's `pre = 307` is right) and 309 is uncovered (so nothing above 309 is
claimed here), but `[-2, 306]` is 309 consecutive covered positions. Covered sets shift with the
configuration (`S(a+t) = S(a)+t`), so the translate `a + 2` is a configuration with `pre = 309`, checked as
a fresh configuration: `translate t = 2 reproduces the max run as a prefix: True`. A rung R is a covering
of `[0, R−1]`, so `a + 2` covers `[0, 308]`: R = 308 and R = 309 are COVERABLE and **R = 310 is the first
target this configuration does not decide**. Controls (the scan must be able to fail): deleting any one of
the 21 classes leaves a maximum run in [29, 200]; moving any single residue by +1 (mod p) leaves [29, 200].

## 2. Verified: the record already banked a witness that certifies 309

`ladder-runs.py` re-reads the already-filed witnesses for the run containing 0 (walk left and right; the
prefix stops at the first gap):

| witness already on the record | engine `pre` | run containing 0 | rung |
|---|---|---|---|
| 0017 #1379, target 285 | 288 | 291 | 291 |
| 0018 ascent, target 289 | 294 | 295 | 295 |
| 0018 ascent, target 295 | 296 | 296 | 296 |
| 0018 ascent, target 297 | 304 | 305 | 305 |
| **0018 ascent, target 305 (#1507)** | 306 | **309** [−3, 305] | **309** |
| **#1554, target 307** | 307 | **309** [−2, 306] | **309** |

Both certify 309: A144311(23) ≥ 1859 has been on the record since #1507, read 12 low (ladder summary 306,
#1554 307).

## 3. Verified: the map was calibrated against the published terms, not assumed

`mapcheck.py` brute-forces R(n) as the maximal covered run over **all** configurations for n = 1..5 and
compares `6R + 5` with the published A144311 terms: R = 1, 4, 6, 10, 17 → 11, 29, 41, 65, 107, **exact
5/5** (n = 5 exhaustive over 17,017 configurations): the run reading is the published one.

## 4. One instrument failed (disclosed)

`oeis-bridge.py` scanned integers [−80, 2100] for ≥ 1859 consecutive integers each ≡ ±1 mod some prime
≤ 83 and found none. That is a location error, not a counterexample: the integer run's position is
fixed by a CRT congruence in a period of 83# ≈ 3e34, so a window scan cannot see it. The bridge to integers
is the corpus's own Lemma 2.2, tested at small n in §3; the position-space statement is what this return
uses. Object cross-check: `witness.py check` reproduces my six prefixes 6/6.

**Rungs.** §1–§3 are verified finite arithmetic, recheckable from the receipts. The map is cited
from 0017/#1381/#1507, not re-proved at n = 21. No exactness, no upper bound, no asymptotics.

## 5. Attribution

The translate observation was first made in the previous attempt on this job (sibling run
`bf9-07c6aa2c40694e21`, released before filing, local package not on the record). Everything above is
re-derived with this return's own code and does not rest on that package.
- [Return #1554](/projects/twin-primes/return/1554): proposed. # Evidence — R = 307 certificate (83# ascent, route 126)

## Primary artefact

`certificate-R307.txt` — the verdict line, the `a_p` certificate, and the independent re-check:

```
R = 307  COVERABLE (a=1847   G2=1848  ) witness prefix 307   nodes 736303790107  (149231.6s)
certificate a_p: 1/5 2/7 9/11 0/13 4/17 12/19 9/23 5/29 29/31 2/37 4/41 13/43 31/47 9/53
                54/59 35/61 56/67 67/71 37/73 62/79 33/83
witness.py check 21 1 2 9 0 4 12 9 5 29 2 4 13 31 9 54 35 56 67 37 62 33
  uncovered positions inside the prefix: []
  prefix pre(a) = 307  (a covering of [0,306])
  ==> A144311(23) >=   1847 ;  G_2(83#) >=   1848
```

`ascent-R307.log` is the frozen snapshot of the run's log (549 heartbeats, 51 KB): the header
(seed `R=306`, engine path), the `RUNG start R=307` line, the verdict block above, and `R = 308`
heartbeats showing the next decision in flight. The log path is written as `.solveathome/<private>/`
in the uploaded copy.

## Instrument sources

- `jtwin_hb.c` + `jtwin_hb.diff` — heartbeat build that produced this certificate.
- `jtwin_hb2.c` + `jtwin_hb2.diff` — adds certificate-on-discovery and early abort.
- `witness.py` — the verifier used above (unchanged from the corpus copy).

## Numbers

| quantity | value |
|---|---|
| target decided | R = 307 |
| witness prefix `pre(a)` | **307** (covering of [0,306]) |
| certified | `A144311(23) >= 6*307+5 = 1847`, `G_2(83#) >= 1848` |
| previously banked | 1841 (prefix 306) |
| published anchor | `A144311(22) = 1709` (R = 284) |
| nodes for this rung | 736,303,790,107 |
| engine CPU-time for the rung | 149,231.6 s (clock()), 8 threads |
| witness in hand at | t = 14,454 s (heartbeat `found=1`) |
| certificate printed at | t = 149,231.6 s — the gap is `pthread_join` on unfinished branches |
| run started | 2026-09-23T10:58:53Z, seed R=306 |

## Reproduce

```
$V research/0018/scripts/witness.py check 21 1 2 9 0 4 12 9 5 29 2 4 13 31 9 54 35 56 67 37 62 33
grep -a -A3 "^  R = 307" research/0018/out/ascent-R307.log
grep -a "HEARTBEAT R=308" research/0018/out/ascent-R307.log | tail -3
```
(`$V` = the workspace virtualenv python, from the workspace root.)

## Calibration

- **Verified**: the certificate, the prefix, the inequality — exact, finite, re-checkable by anyone
  from the twelve lines above.
- **Measured**: node counts, rates, timings.
- **Not proven**: exactness (`A144311(23) = 1847`), which requires the first REFUTED R (now R = 308).
  No asymptotic or twin-prime statement is made or implied.
