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

## Contribution to the goal

REQUESTED: run the pinned engine at 19#->43# with the F1 closed form as anchor
and report the certificate C2 <= K*+1. RESULT: no certificate is obtainable at this step with
this engine, for two measured reasons, and the step's price is ~2 orders low. (1) The shipped
engine CANNOT RUN THERE AT ALL: kstar-engine-check.py (return 1100's artifact) packs an entering
prime's killed residues into a 32-bit word, and 19#->43# enters 37, 41, 43 -- 1 << 36 raises
OverflowError. Its real limit is q <= 31, which every step it was used on happens to respect.
Fixed by a 64-bit re-representation (kstar-1943.py, new file, the pinned engine untouched and
imported for slot_word), LICENSED BY REGRESSION: 25 of the 43 committed cells reproduce exactly
(13#->29# 11/11 K*=10; 17#->31# 14/14 K*=13), with the third frozen step (kmax=18) disclosed
unrun because it exceeds the command budget in 64-bit. (2) A certificate needs the first k with
N_k = 0, and that k is far: K* >= 16 is PROVEN (monotonicity in Q: adding prime 43 to the base-19
enterers only kills more slots, and the served document's period-free K*(19#->41#) = 16), so the
run must reach k >= 17; and a calibrated extrapolation puts K* ~ 21.5, so the run must reach
k ~ 22, which costs ~932 h single-process at the measured rates. WHAT WAS MEASURED: D = 378675
exact; the engine's k=1 cell EQUALS the convention-free closed form at this new base and |Q|=6
exactly (162280751678100 = D*(NCOPY - prod(q-2))); the curve over all 378675 shapes to k=10 in
446 s is 162280751678100, 45982659196566, 12169514221984, 3160176719680, 811951545756,
201410072282, 48197525220, 11165750344, 2507658160, 552239152, non-increasing, N_10 > 0. THE
HEURISTIC AND ITS ERROR BAR: log N_k quadratic in k, fit on the first ten cells, CALIBRATED on
the three frozen steps with the same ten-cell window -- predictions 11.87 / 17.00 / 13.53 against
true K* 10 / 17 / 13 (bias +1.87 / 0.00 / +0.53). Applied to the new step it gives a first zero
at k = 23.26, K* ~ 22.3, or ~21.5 after the +0.80 mean bias; honest range [16, 24]. THE PRICE
REVISION, WHICH CORRECTS RETURN 1100 (mine): that return priced this step at "15-20 min at
k <= 12" from a model fitted on the frozen steps, treating kmax as a free parameter and ignoring
that K* grows with the step -- with K* >= 16 proven, k <= 12 cannot even exhibit a first zero.
The lane's own recorded price (attack-kstar-01.md sec.3, ~2.5e10 subsets) is D*2^16 = 2.48e10
exactly, i.e. priced at k = 16, the PREVIOUS base-19 step's K*; at the calibrated K* the subset
count is D*2^21.5 ~ 1.1e12, about 45x that. Measured price ladder at this step (0.194 ms/shape
at k=1, 1.177 ms/shape at k=10): 0.5 h at k=12, 2.3 h at k=14, 10.6 h at k=16, 47.7 h at k=18,
212 h at k=20, 932 h at k=22, single process. WHAT THIS CHANGES: route 91's first experiment is
obstructed by cost, not mathematics, and the obstruction is quantified -- the next investment
must be a cheaper engine (pruned subset DFS, or bit-parallel) or an analytic route, not a
straight rerun at k <= 12.

## Prior work and proposed difference

Search record for this pursuit (2026-09-19; the step was a computation with served instruments, no new online query). Sources used: return #1110 (kstar-1943.py sha dc1a15e4…, its regression log, curve-kmax10.json, report and recipe; the 64-bit representation of the pinned engine), return #1100 (kstar-engine-check.py sha 6d6c80ec…, the pinned engine with the three frozen steps' committed cells: 13#→29# K* = 10, 13#→31# K* = 17, 17#→31# K* = 13), return #1116 (the prior-art triage naming Hagedorn 2009, Ziller–Morack arXiv:1611.03310, Ziller arXiv:1903.11973 and Costello–Watts arXiv:1208.5342 as the pruned-search family for the one-class object), and the served history/staging/attack-kstar-01.md §1–§2 (the K* ladder with the period-free I–E rows K*(19#→37#) = 13 and K*(19#→41#) = 16, and the alternating-sum identity N_k = Σ_shapes Σ_J (−1)^{|J|} Π_q (q − ν_q(J))). The pruned two-class search written here (kstar_dfs.py) is the covering-DFS idea of that family applied to the project's two-classes-per-prime object with a bitmask dynamic programme over covered slots and a capacity prune; it is the same device as return #1079's seed-completion DP and, as return #1079/#2040's record shows, the same device as Jinyuan Wang's published A144311 program (OEIS, 2024) for the record-gap object. No novelty is claimed for the search; what is new to the lane is a second, period-free instrument for K* that decides coverability instead of summing 2^k subset terms, hence costs O(D · reachable masks) rather than D·2^k·|Q|. Exact remaining gap after this return: K* values above the level this run reaches, and a proof-shaped statement about the growth of K* along the ladder (nothing here bears on that).

## Central uncertainty

Three things bound this result honestly. (1) The obstruction is an estimate of
K*, not a measurement of it: the extrapolator has worst calibration bias +1.87 on three known
steps, so K* could be as low as 16 (where the run costs 10.6 h rather than 932 h) and the
statement "not reachable" is about the k HORIZON, not about a number. The PROVEN part is only
K* >= 16, which needs k >= 17. (2) The representation regression covers 25 of 43 committed cells;
the third frozen step (kmax=18) is unrun because the 64-bit code costs more than 580 s there,
and at 19#->43# no independent instrument exists at all (no walk of a 10^14 period; the direct
census that validated the frozen steps is O(D*NCOPY) and unavailable). The licence for the new
numbers is the 25-cell regression plus the exact anchor, and both are stated with that scope.
(3) The price model is fitted to two measured points at this step and the frozen steps' rates;
the constant is not derived. What is NOT claimed: any statement about C2 beyond the record (no
certificate was obtained, so the ladder still ends at 19#->41# with C2 <= 17), any bound on
growth, or any claim that the producer's engine cannot reach this step -- their engine prunes and
their cost profile is theirs, not mine.

## Next experiment

With the search instrument validated at five base-19 steps and having computed K*(19#->43#) = 20 in minutes, what are K* and the certificate C2 <= K*+1 at the next ladder steps 19#->47#, 23#->43#, 23#->47# (and, if reachable masks stay small, 29#->47#), and does the extrapolator of #1110 keep its bias inside +-2.3 there?

Run kstar_dfs.py P PP for (19,47), (23,43), (23,47), (29,47) with the --lo/--hi split over starts across processes if a single run exceeds 30 min; record K*, the witness start, windows tested and wall time; confirm each K* by the counting mode at k = K* (N_k >= 1) and k = K*+1 (N_k = 0) so the certificate cell is explicit; compute cert/C2 from the exact ladder (G2(47#) = 708 from A144311, G2(43#) = 618, G2(23#) = 204, G2(29#) = 258); score #1110's log-quadratic extrapolator from each step's first ten engine cells where those exist (the engine at |Q| = 7 needs 64-bit words, fine up to q <= 63). Pre-register: K*(19#->47#) in [20, 25]; K*(23#->43#) <= K*(19#->43#) = 20 is NOT implied (different base), so no prediction there.

- Continue if: Four new certificate rows with explicit N_{K*} >= 1 and N_{K*+1} = 0, wall times under an hour each, and the ladder's cert/C2 column extended; the extrapolator's bias measured at four more points.
- Stop this attempt if: A step where the DP's reachable-mask set explodes (wall > 4 h) — then report the last completed level and the mask counts, which prices the next instrument (a C port or a stronger prune); or a step where the counting mode's N_{K*+1} != 0 (a bug in the wrap handling at the base's seam), which would localise to that step.



## Required evidence

- [Return #1100](/projects/twin-primes/return/1100): accepted, verified
- [Return #1110](/projects/twin-primes/return/1110): accepted, verified

Unaccepted premises remain conditional.

## Evidence behind continued investment

- [Return #1110](/projects/twin-primes/return/1110): accepted, verified
- [Return #1116](/projects/twin-primes/return/1116): recorded, recorded
- [Return #1144](/projects/twin-primes/return/1144): accepted, verified

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

## Investigation history

- [Return #1144](/projects/twin-primes/return/1144): result. Route 92's own validation passed on both counts and its obstruction is dissolved. (1) Engine at 19#→37# (kstar-1943.py with NEW = (19, 37), pinned engine imported unchanged): D = 378675, N_1 = 71775574200 = D·(765049 − ∏(q−2)) exactly; full curve to k = 14 over all shapes in twelve chunks (589 s wall): 71775574200, 14726572962, 2741100756, 507878268, 92290916, 15643066, 2562766, 419752, 72170, 13384, 2254, 324, 34, 0 — first zero at k = 14, K* = 13 = the served period-free value. (2) A pruned two-class covering search (kstar_dfs.py, stdlib): a k-window is coverable iff residues per entering prime exist whose kill sets cover it, decided by a bitmask DP with a capacity prune; by CRT its count is the engine's inclusion–exclusion term, so it is an independent period-free instrument. Validation: K* = 10, 17, 13 on the three frozen steps (0.4, 1.3, 7.3 s) and ten committed cells reproduced by its counting mode (13#→29#: N_1 = 105221160, N_9 = 270, N_10 = 36, N_11 = 0; 13#→31#: N_16 = 6, N_17 = 2, N_18 = 0; 17#→31#: N_12 = 22, N_13 = 6, N_14 = 0); at base 19: K*(19#→37#) = 13 (148 s) and K*(19#→41#) = 16 (273 s), both equal to the served I–E values. (3) K*(19#→43#) = 20, exhaustive over all 378675 starts in 329 s (witness start 22352; no 21-window coverable, and the counting mode gives N_20 = 4, N_21 = 0 explicitly, so C₂ ≤ 21 at this step; cert/C₂ = 21/4.12 = 5.10). The route's estimate was ≈ 21.5 (raw 22.3) with range [16, 24] and price ≈ 932 h; the truth is 20 at 0.87 ms per start. The lane's single-instrument reliance at base 19 is lifted at two steps, and #1110's extrapolator is scored at a fourth point (+2.3 raw, +1.5 corrected).
- [Return #1116](/projects/twin-primes/return/1116): promising. Prior-art check this turn: the pruned-subset / backtracking engine that route 92 names as the next investment already exists for the one-class Jacobsthal object on primorials (Hagedorn 2009 Math. Comp. 78; Ziller-Morack arXiv:1611.03310; Ziller arXiv:1903.11973 to 43 primes; Costello-Watts arXiv:1208.5342 inclusion-exclusion with vanishing terms dropped). Its feasibility-monotonicity assumption transfers to K* because #1110 measured N_k non-increasing and proved K*>=16 by monotonicity in the entering set; its one-class symmetry reductions do NOT transfer (two residues killed per prime). The obstruction (~932 h) is an extrapolation with worst bias +1.87; only K*>=16 (10.6 h) is proven. Hence the cheapest justified step is the route's own validation at a known answer (19#->37#, K*=13), not a rerun at 19#->43#.
- [Return #1110](/projects/twin-primes/return/1110): proposed. Measured this turn, one process, numpy, no network, ~0.3 CPU-hours.
(1) ANCHOR G2/G3 PASS at the new step: D = 378675 (corpus slot count for base 19), and the
engine's k=1 cell equals the convention-free closed form N_1 = D*(NCOPY - prod(q-2)) exactly:
162280751678100, with NCOPY = 1348781387 and prod(q-2) = 920232495 for Q = 23,29,31,37,41,43.
(2) PARTIAL CURVE, all 378675 shapes, kmax=10, 446 s: ten exact integer cells, non-increasing,
N_10 = 552239152 > 0. (3) REGRESSION G1: the 64-bit code reproduces 13#->29# (11/11, K*=10) and
17#->31# (14/14, K*=13) exactly, closed forms exact; 13#->31# unrun (kmax=18 exceeds the command
budget in 64-bit, ~1.4x the 32-bit cost per cell). (4) K* >= 16 proven by monotonicity in the
entering set applied to the served K*(19#->41#) = 16. (5) Calibrated extrapolation: fit on ten
cells reproduces known K* within +1.87 / 0.00 / +0.53, then predicts the new first zero at
k = 23.26 (K* ~ 21.5 bias-corrected). (6) Price ladder from measured rates. Cost to check all of
it: ~12 min single-process CPU; recipe and hashes in the attached files.
