{"id":5559,"job_id":11255,"problem_id":1,"lane_id":null,"type":"measure","user_id":103,"model":"claude-opus-5-5","provider":"anthropic","report_md":"# Route 355: nearest slot in the L = 132, 138, 150 APs is diffuse at 29# (13, 14, 18 d values vs shuffle 22-25); 23# zeros follow from Lambda(23#) = 102; #5439's suppression is its null\n\nLane route-355-why, 2026-10-23. Brief `research/route-audit/briefs-2026-10-23/b09-r355-ap-nearest-slot.md`.\n\n## Result\n\nRung: measured, with three finite facts proved by exhaustive computation over the full x# cycle (each is a statement about one finite set, checked two ways where noted).\n\n1. **The nearest slot is diffuse, not confined to a short list.** Over all admissible triples (n, n+L, n+2L all slots) at 29#, the smallest positive d with n+d a slot takes 13, 14 and 18 distinct values for L = 132, 138, 150 (counting d1 = L, an empty first interval); the shuffled word gives 22, 23, 25. The only finite residue condition that appears is local and already known in kind: the set of d with any slot at n+d is exactly the set where the four-point pattern (0, d, L, 2L) is admissible modulo every p <= x (each count equals its CRT product, checked for every d). For L = 132 and 138 this removes the d in two classes mod 5 (Lemma 2); for L = 150 it removes seven d by mod 7. It restricts where the interior slots sit; it does not force one, and no short list of d covers the triples. By the route's own failure clause the dropout is not a finite mod-p statement on d.\n2. **At 23# the zeros are a gap-pair extreme, not an AP property.** Define Lambda(x#) = max_i min(g_i, g_{i+1}), the largest L such that two consecutive gaps are both >= L. Measured: Lambda(19#) = 78, Lambda(23#) = 102. Since a lag-1 pair at L needs two consecutive gaps both equal to L, pairs_L = 0 for every L > Lambda (Lemma 1). At 23# this accounts for every zero of #5439's 23# list except L = 102 (108, 120, 132, 138, 150, 162, 168, 180, 192, 198). The shuffle of the same gap word reaches Lambda = 150 at 23#, so the real word keeps consecutive long gaps apart.\n3. **At 29# that explanation fails, and the three zeros are what the thin joint tail predicts.** Lambda(29#) = 150 and the largest two-gap span is 330: consecutive pairs (132, 138), (138, 150), (150, 132) and others occur, only the equal pairs are missing. #5439's suppression factors (expected 105.6, 361.4, 36.5 pairs) come from the independence null c_L(c_L-1)/(N-1), which ignores that consecutive long gaps repel. Normalising each cell of the joint table (g_i, g_{i+1}) by the exact CRT count of its endpoint pattern and pooling the 8 neighbouring cells of (L, L) gives expected diagonal counts of 0.93, 0.90 and 0.25 (estimate, a heuristic null). Observed 0 has Poisson probability about 0.39, 0.41 and 0.78 under it. In the range searched (one cycle at 29#), nothing marks 132, 138, 150 out from their neighbours: the whole block of joint cells around (L, L) is depleted against the shuffle (6 consecutive pairs in the 8 cells around (132, 132) against 1,798 in the shuffled word; 6 against 474 at 138; 2 against 33 at 150). The zeros are a counting effect of that depleted region, which is the repulsion of consecutive long gaps. The mechanism of the repulsion is not proved here. L = 108 is different: 4 equal pairs against about 88 from its neighbours, a real diagonal deficit not explained here.\n\nSide results. rho(1..12) at 19# and 23# reproduce #5421 exactly (S_k identical, rho to 1e-12). This builder's 29# histogram and lag-1 pair counts equal #5439's served census. #5439's `triples_L` is the non-cyclic count: it misses the APs that wrap past P, 1 to 8 per value (exactly the wrapping APs, checked at all 41 values at 29#); the cyclic count equals the CRT product for every L (checked at 19#, 23#, 29#).\n\n## The argument\n\n### Objects\n\nP = x#. A slot is a residue n mod P with gcd(n(n+2), P) = 1; there are N = prod_{3<=p<=x}(p-2) of them. Slots are 5 mod 6, so every gap is a multiple of 6. g_i = s_{i+1} - s_i cyclically. pairs_L = #{i : g_i = g_{i+1} = L} (lag 1, cyclic). triples_L = #{n slot : n+L, n+2L slots} (cyclic, mod P). J(a, b) = #{i : (g_i, g_{i+1}) = (a, b)}, so pairs_L = J(L, L). For an admissible triple at L, d1 = the smallest d in (0, L] with n+d a slot (d1 = L means the first interval is empty), and hit_first(d) = #{triples : n+d a slot} for 0 < d < L.\n\nFor a finite set H of multiples of 6, write CRT(H) = #{n mod P : n+h is a slot for all h in H}. By the Chinese remainder theorem CRT(H) = prod_{5<=p<=x} nu_p(H) with nu_p(H) = #{a mod p : a+h is not 0 or -2 mod p for all h in H} (the factors at p = 2, 3 are 1 for H inside 6Z).\n\n### Lemma 1 (Lambda bound)\n\nIf L > Lambda(x#) = max_i min(g_i, g_{i+1}), then pairs_L = 0.\n\nProof. pairs_L counts i with g_i = g_{i+1} = L, and then min(g_i, g_{i+1}) = L > Lambda, against the definition of Lambda. QED. The content is the measured value of Lambda, a finite fact about one cycle.\n\n### Lemma 2 (where interior slots may sit, mod 5)\n\nLet x >= 5 and let n, n+L, n+2L be slots.\n(a) If L = 2 mod 5 then n = 2 mod 5, and every slot n+d has d = 0, 2 or 4 mod 5.\n(b) If L = 3 mod 5 then n = 1 mod 5, and every slot n+d has d = 0, 1 or 3 mod 5.\n\nProof. A slot m has m and m+2 nonzero mod 5, so m is 1, 2 or 4 mod 5. (a) n and n+2 must both lie in {1, 2, 4}: n = 2 (then n+2 = 4) or n = 4 (then n+2 = 1). n+2L = n+4 must also lie in {1, 2, 4}: n = 2 gives 1, n = 4 gives 3, so n = 2. Then n+d in {1, 2, 4} means d in {4, 0, 2} mod 5. (b) n+3 and n+6 = n+1 in {1, 2, 4} with n in {1, 2, 4}: n = 1 gives 4 and 2, n = 2 gives 0, n = 4 gives 2 and 0; so n = 1, and n+d in {1, 2, 4} means d in {0, 1, 3}. QED.\n\nFor L = 132 (2 mod 5) and 138 (3 mod 5) Lemma 2 empties 9 of the 21 or 22 interior positions; for L = 150 (0 mod 5) it says nothing, and the 7 empty positions come from mod 7 (summary tables). Lemma 2 is the \"finite residue condition\" that appears; it is true at every x >= 5 and checked at 19#, 23#, 29# (every hit_first count equals its CRT product, and the CRT product is 0 exactly at the listed d). It does not force a slot into either interval, so it does not explain pairs_L = 0.\n\n### Lemma 3 (consecutive count as inclusion-exclusion; why no residue lemma on d is expected)\n\npairs_L = sum over subsets A of the interior positions I = {6, 12, ..., 2L-6} minus {L} of (-1)^|A| CRT({0, L, 2L} union A).\n\nProof. Inclusion-exclusion over the events \"n+a is a slot\", a in I, on the set of admissible triples. QED.\n\nEvery term is a local product, but the sum is a global covering quantity of the same kind as G2(x#): it asks whether the classes 0 and -2 mod p, p <= x, can cover all of I but nothing in {0, L, 2L}. A residue condition on d bounds individual terms; deciding the sign of the whole sum is the covering problem. This is why the d1 histogram is the wrong place to look for the mechanism, and the joint table J is the right one.\n\n### Reading the data\n\nThe route asked whether the nearest slot inside the first interval is confined to a short list. It is not. At 29# the first slot after n takes 12, 13 and 17 different distances below L for L = 132, 138, 150 (plus d1 = L), with mass spread over them (for L = 132: 3,333,960 triples at d1 = 12, 1,707,840 at 24, down to 846 at 114, and 52,499 with an empty first interval). The support of the d1 histogram is the locally allowed set (Lemma 2 and its mod 7 analogue), plus d1 = L. So the minimal d is diffuse inside the locally allowed positions, and the route's failure clause applies: the dropout is not a finite mod-p statement on d.\n\nThe mechanism lives in the joint table J(g_i, g_{i+1}). Two facts, both measured:\n\n- 19# and 23#: Lambda(x#) is small (78, 102) against the shuffle (108, 150). Every zero above Lambda follows from Lemma 1. Below Lambda the zeros among locally admissible L are 60, 72, 78 at 19# and 102 at 23#; Lemma 1 does not reach them and they are not explained here.\n- 29#: Lambda = 150, so Lemma 1 covers only L >= 156. For L = 132, 138, 150 the diagonal cell sits in a region the real word visits 16 to 300 times less often than the shuffle (block table below), and the neighbour null puts the expected diagonal count at or below 1.\n\nSo the answer to \"why are the 29# APs at 132, 138, 150 never consecutive\" is, in the range searched: because two consecutive gaps near L >= 132 almost never occur at all at 29#, equal or not; the independence null misses this by two to three orders of magnitude. It is not because of a residue condition on L or on the nearest slot.\n\n## Tables\n\n## Gap-pair extremes per rung\n\n| rung | N | gmax | max g_i+g_{i+1} | Lambda = max min(g_i, g_{i+1}) | largest L with a lag-1 pair | shuffled: max span | shuffled: Lambda |\n|---|---|---|---|---|---|---|---|\n| 11# | 135 | 42 | 66 | 30 | 30 | 72 | 30 |\n| 13# | 1,485 | 66 | 96 | 42 | 42 | 108 | 42 |\n| 17# | 22,275 | 108 | 150 | 66 | 48 | 168 | 66 |\n| 19# | 378,675 | 150 | 186 | 78 | 48 | 246 | 108 |\n| 23# | 7,952,175 | 204 | 234 | 102 | 90 | 312 | 150 |\n| 29# | 214,708,725 | 258 | 330 | 150 | 120 | 378 | 180 |\n\n## Zeros of the lag-1 pair count among locally admissible L, split by Lambda\n\n| rung | Lambda | zero pairs, triples > 0, L > Lambda | zero pairs, triples > 0, L <= Lambda |\n|---|---|---|---|\n| 11# | 30 | 42 | none |\n| 13# | 42 | 48, 60 | none |\n| 17# | 66 | 72, 78, 90, 108 | 60 |\n| 19# | 78 | 90, 102, 108, 120, 132, 138, 150 | 60, 72, 78 |\n| 23# | 102 | 108, 120, 132, 138, 150, 162, 168, 180, 192, 198 | 102 |\n| 29# | 150 | 162, 168, 180, 192, 198, 210, 222, 228, 240, 258 | 132, 138, 150 |\n\n## Joint-table block around (L, L), real against shuffled (out/blocks_29.md, out/blocks_23.md)\n\n29#:\n\n| L | real J(L,L) | shuffled J(L,L) | real, 8 neighbours | shuffled, 8 neighbours | neighbours real/shuffled |\n|---|---|---|---|---|---|\n| 12 | 8051472 | 10151148 | 27769580 | 28732170 | 0.9665 |\n| 30 | 5925416 | 7352509 | 13299160 | 11973289 | 1.1107 |\n| 102 | 104 | 348 | 4044 | 26719 | 0.1514 |\n| 108 | 4 | 6645 | 2114 | 4010 | 0.5272 |\n| 120 | 50 | 698 | 68 | 1173 | 0.0580 |\n| 132 | 0 | 92 | 6 | 1798 | 0.0033 |\n| 138 | 0 | 343 | 6 | 474 | 0.0127 |\n| 150 | 0 | 25 | 2 | 33 | 0.0606 |\n\n23#:\n\n| L | real J(L,L) | shuffled J(L,L) | real, 8 neighbours | shuffled, 8 neighbours | neighbours real/shuffled |\n|---|---|---|---|---|---|\n| 108 | 0 | 132 | 12 | 43 | 0.2791 |\n| 120 | 0 | 11 | 0 | 12 | 0.0000 |\n| 132 | 0 | 2 | 0 | 19 | 0.0000 |\n| 138 | 0 | 6 | 0 | 6 | 0.0000 |\n| 150 | 0 | 0 | 0 | 0 | - |\n\n## Diagonal of the joint table against two nulls\n\nIndependence null: c_L(c_L-1)/(N-1) (the null of #5439). Neighbour null (estimate, heuristic): CRT(0, L, 2L) times the emptiness rate of the 8 cells (a, b) with a, b in {L-6, L, L+6}, (a, b) != (L, L), where the emptiness rate of a cell is J(a, b) / CRT(0, a, a+b), pooled over the 8 cells. CRT(0, a, a+b) is the exact number of n mod x# with n, n+a, n+a+b all slots.\n\n| rung | L | J(L,L) observed | independence null | CRT(0,L,2L) | J summed over the 8 neighbours | neighbour null | Poisson P(0) under the neighbour null |\n|---|---|---|---|---|---|---|---|\n| 19# | 12 | 20,592 | 25507.1 | 20,592 | 67,556 | 16183.26 | 0.00 |\n| 19# | 30 | 10,965 | 13833.8 | 45,045 | 25,000 | 11475.61 | 0.00 |\n| 19# | 132 | 0 | 0.0 | 24,948 | 0 | 0.00 | 1.00 |\n| 19# | 138 | 0 | 0.0 | 17,745 | 0 | 0.00 | 1.00 |\n| 19# | 150 | 0 | 0.0 | 17,325 | 0 | 0.00 | 1.00 |\n| 23# | 12 | 350,064 | 438481.6 | 350,064 | 1,183,980 | 283626.29 | 0.00 |\n| 23# | 30 | 219,553 | 283061.3 | 765,765 | 511,352 | 234723.14 | 0.00 |\n| 23# | 108 | 0 | 131.4 | 119,119 | 12 | 0.50 | 0.60 |\n| 23# | 120 | 0 | 7.8 | 668,304 | 0 | 0.00 | 1.00 |\n| 23# | 132 | 0 | 0.7 | 424,116 | 0 | 0.00 | 1.00 |\n| 23# | 138 | 0 | 3.9 | 372,645 | 0 | 0.00 | 1.00 |\n| 23# | 150 | 0 | 0.2 | 294,525 | 0 | 0.00 | 1.00 |\n| 29# | 12 | 8,051,472 | 10150041.4 | 8,051,472 | 27,769,580 | 6652293.99 | 0.00 |\n| 29# | 30 | 5,925,416 | 7353564.6 | 18,378,360 | 13,299,160 | 6324865.21 | 0.00 |\n| 29# | 108 | 4 | 6640.0 | 2,739,737 | 2,114 | 87.70 | 0.00 |\n| 29# | 120 | 50 | 699.4 | 15,370,992 | 68 | 21.31 | 0.00 |\n| 29# | 132 | 0 | 105.6 | 9,754,668 | 6 | 0.93 | 0.39 |\n| 29# | 138 | 0 | 361.4 | 8,570,835 | 6 | 0.90 | 0.41 |\n| 29# | 150 | 0 | 36.5 | 6,774,075 | 2 | 0.25 | 0.78 |\n\nPer-triple statistics, the local obstructions, the full d1 histograms and the two-gap span splits at 19#, 23# and 29# are in `out/summary.md` (generated by `summarize.py`). The 29# per-triple table:\n\n| word | L | triples | consecutive | first interval empty | min interior slots | distinct d1 | locally allowed d (hit > 0) | d1 values |\n|---|---|---|---|---|---|---|---|---|\n| real | 12 | 8,051,472 | 8,051,472 | 8,051,472 | 0 | 1 | 0 of 1 | 12 |\n| real | 30 | 18,378,360 | 5,925,416 | 10,469,440 | 0 | 5 | 4 of 4 | 6 12 18 24 30 |\n| real | 108 | 2,739,737 | 4 | 11,472 | 0 | 8 | 7 of 17 | 6 36 48 66 78 90 96 108 |\n| real | 120 | 15,370,992 | 50 | 83,532 | 0 | 20 | 19 of 19 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 |\n| real | 132 | 9,754,668 | 0 | 52,499 | 1 | 13 | 12 of 21 | 12 24 30 42 54 60 72 84 90 102 114 120 132 |\n| real | 138 | 8,570,835 | 0 | 67,782 | 1 | 14 | 13 of 22 | 6 18 30 36 48 60 66 78 90 96 108 120 126 138 |\n| real | 150 | 6,774,075 | 0 | 10,748 | 1 | 18 | 17 of 24 | 6 12 24 36 42 48 54 66 78 84 90 96 108 120 126 132 138 150 |\n| shuffled | 12 | 10,781,370 | 10,151,148 | 10,461,915 | 0 | 2 | 1 of 1 | 6 12 |\n| shuffled | 30 | 15,126,774 | 7,352,509 | 10,546,435 | 0 | 5 | 4 of 4 | 6 12 18 24 30 |\n| shuffled | 108 | 8,693,996 | 6,645 | 240,488 | 0 | 18 | 17 of 17 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 |\n| shuffled | 120 | 8,710,583 | 698 | 78,126 | 0 | 20 | 19 of 19 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 |\n| shuffled | 132 | 8,549,666 | 92 | 30,241 | 0 | 22 | 21 of 21 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 |\n| shuffled | 138 | 8,601,346 | 343 | 55,536 | 0 | 23 | 22 of 22 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 |\n| shuffled | 150 | 8,626,333 | 25 | 17,820 | 0 | 25 | 24 of 24 | 6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102 108 114 120 126 132 138 144 150 |\n\nLocal obstructions at 29# (d with no slot at n+d for any triple; the prime that kills (0, d, L, 2L)):\n\n- L = 12: 6 [5]\n- L = 30: none\n- L = 108: 12 [5]; 18 [7]; 24 [5]; 30 [7]; 42 [5]; 54 [5]; 60 [7]; 72 [5,7]; 84 [5]; 102 [5,7]\n- L = 120: none\n- L = 132: 6 [5]; 18 [5]; 36 [5]; 48 [5]; 66 [5]; 78 [5]; 96 [5]; 108 [5]; 126 [5]\n- L = 138: 12 [5]; 24 [5]; 42 [5]; 54 [5]; 72 [5]; 84 [5]; 102 [5]; 114 [5]; 132 [5]\n- L = 150: 18 [7]; 30 [7]; 60 [7]; 72 [7]; 102 [7]; 114 [7]; 144 [7]\n\nCoincidence rates: hit_first(d) / triples for every d is in `out/apslot_<x>.json` under `detail`. Each hit count equals the exact CRT product CRT({0, d, L, 2L}) (`compare.py`), so the coincidence rate is a local product and carries no information beyond the singular-series factors.\n\n## Checks (out/compare.txt, out/indep19.txt; 128 PASS, 0 FAIL)\n\n- Control (acceptance): the 29# slot count is N = 214,708,725 = prod_{3<=p<=29}(p-2); sum c_L = N; sum L c_L = P = 6,469,693,230. The 29# lag-1 pair counts at L = 12 and 30 are 8,051,472 and 5,925,416 (nonzero). The same identities hold at 11#, 13#, 17#, 19#, 23#.\n- The histogram and every lag-1 pair count equal #5439's served census at 19#, 23#, 29# (`census_19_buffy8.json`, `census_23_buffy8.json`, `census_29_buffy8.clean.json`, sha256 per `research/sah-state/2026-10-23/attachments/05439/SHA256SUMS.txt`).\n- The histogram and S_1..S_12 equal #5421's served `equalgap_19_bufc.json` and `equalgap_23_bufc.json`; rho(1..12) agrees to 1e-12. rho(1..12) at 29# (new, not in #5421): 0.6389 0.9554 0.8819 0.8845 0.9234 0.9673 1.0219 1.0208 0.9572 0.9055 0.9111 0.9554; rho(1) = 0.6389 agrees with #5439's 0.6389153.\n- Cyclic triples_L equals the CRT product for every L = 6..378 at each rung. #5439's served triples_L equals the cyclic count minus the APs that wrap past P, for every one of its values at 19#, 23#, 29#.\n- Every hit_first(d) and hit_second(d) at every target L equals its CRT product.\n- In every detail run: triples equal triples_all, consecutive triples equal the lag-1 pair count and the joint diagonal, the d1 histogram sums to the triple count.\n- `indep19.py` rebuilds the 19# slot set in Python (slice sieve, a different formulation) and reproduces the whole joint table J, Lambda(19#) = 78 and the maximal two-gap span 186, and the cyclic and non-cyclic triple counts.\n- The shuffle preserves the histogram. Seed 355202610230, recorded in `SEED.md` and committed (39cc8d6) before the first run.\n\nWhat the checks do not cover: Lambda and J at 23# and 29# come from one code path (apslot.c); the Python rebuild covers 19# only. The neighbour null is a heuristic estimate, not a model with a proof; its Poisson probabilities are illustrations.\n\n## Cost (measured: process CPU from CLOCK_PROCESS_CPUTIME_ID inside apslot; wall from the shell)\n\n| step | 19# | 23# | 29# |\n|---|---|---|---|\n| build the gap word (segmented sieve) | 0.00 s | 0.06 s | 2.04 s |\n| histogram, joint table, S_k, 2-point counts (real) | 0.01 s | 0.16 s | 4.52 s |\n| triples_L for L = 6..378, 63 cyclic passes | 0.18 s | 3.95 s | 116.21 s |\n| per-triple detail, all target L (real) | 0.02 s | 0.49 s | 14.73 s |\n| shuffle | 0.00 s | 0.01 s | 1.65 s |\n| histogram, joint, detail (shuffled) | 0.03 s | 0.69 s | 21.97 s |\n| total apslot CPU | 0.24 s | 5.36 s | 161.12 s |\n\n11#, 13#, 17#: under 0.01 s each. 29# wall time 10.7 min (07:58Z to 08:09Z) at about 25 % of one core under `nice -n 10` on the loaded Studio; resident memory 216 MB measured by `ps` during the real-word phase, about 430 MB expected after the shuffled copy (estimate; the `/usr/bin/time -l` record was lost with a session restart). Python checks: `compare.py` 0.22 s, `indep19.py` 1.7 s, `summarize.py` 0.12 s, `blocks.py` under 0.1 s (wall). Total CPU for the lane's runs about 170 s. One process at a time, never more than one worker.\n\n## What was not run\n\n- Rungs above 29#. 31# needs a gap word of about 6 GB (N = 29 * 214,708,725) and roughly 60 CPU minutes for the 63 triple passes (estimate, scaled from 29#); not attempted.\n- A proof of the long-gap repulsion, or any bound on Lambda(x#) as x grows. The values 30, 42, 66, 78, 102, 150 for 11#..29# are measured only.\n- The 19#/23# zeros below Lambda (60, 72, 78 at 19#; 102 at 23#) and the 29# diagonal deficit at 108 (4 against about 88 from neighbours): recorded, not explained.\n- The served code (`equalgap_bufc.c`, `census_buffy8.c`) was not built or run; only the served JSON outputs were compared.\n- A second code path for J and Lambda at 23# and 29#.\n- Out of scope per the brief: R357's D(n), Lean replay of #5439, filing.\n\n## Files\n\n- `apslot.c`: the builder. The 23# and 29# outputs come from the version committed in 39cc8d6 (sha256 `9911ed1f...`). The committed version (sha256 `f85b4a02...`) adds only a cap of 32 target values and checked allocations (review findings); its 19# output is identical to the committed `out/apslot_19.json` apart from the CPU timing fields.\n- `SEED.md`: the shuffle seed, committed before any run.\n- `compare.py`, `indep19.py`, `summarize.py`, `blocks.py`: checks and tables, Python 3.9 stdlib, read only JSON.\n- `out/apslot_<x>.json` for x = 11, 13, 17, 19, 23, 29; `out/compare.txt`, `out/indep19.txt`, `out/summary.md`, `out/blocks_29.md`, `out/blocks_23.md`.\n\nCommands (from `research/ap-nearest-slot`, binary built outside the repo):\n\n```\n/usr/bin/clang -O2 -std=c11 -Wall -Wextra -o \"$BIN/apslot\" apslot.c\nnice -n 10 \"$BIN/apslot\" 19 355202610230 12 30 132 138 150 > out/apslot_19.json\nnice -n 10 \"$BIN/apslot\" 23 355202610230 12 30 108 120 132 138 150 > out/apslot_23.json\nnice -n 10 \"$BIN/apslot\" 29 355202610230 12 30 108 120 132 138 150 > out/apslot_29.json\nfor x in 11 13 17; do nice -n 10 \"$BIN/apslot\" $x 355202610230 > out/apslot_$x.json; done\npython3 -I compare.py out ../sah-state/2026-10-23/attachments > out/compare.txt\npython3 -I indep19.py ../sah-state/2026-10-23/attachments out > out/indep19.txt\npython3 -I summarize.py out > out/summary.md\npython3 -I blocks.py out 29 12 30 102 108 120 132 138 150 > out/blocks_29.md\npython3 -I blocks.py out 23 108 120 132 138 150 > out/blocks_23.md\n```\n\n## What this rests on\n\n- The served #5439 census JSONs and #5421 equal-gap JSONs (compared, not trusted: every compared number is recomputed here).\n- The Chinese remainder theorem for the CRT products, and exhaustive enumeration of one full x# cycle for every count. No analytic input, no primes: everything here is about the x# slot cycle, not about twin primes.\n\n## Filing note\n\n- Route: 355. Scope key: `r355-ap-nearest`.\n- Links: #5439 **extends** (its next_step, run as asked: the nearest-slot histogram at L = 132, 138, 150 with L = 12, 30 controls and a fixed-seed shuffle null, at 29# and 23#; plus the correction that its `triples_L` is the non-cyclic count, short by the wrapping APs). #5421 **bears_on** (rho(1..12) at 19# and 23# reproduced exactly; rho(1..12) at 29# added).\n- Claim for the return: the nearest-slot distance is diffuse within the locally allowed positions (Lemma 2 for mod 5; mod 7 for L = 150), so no finite residue lemma on d appears. At 23# all zeros above Lambda(23#) = 102 follow from Lambda (Lemma 1). At 29# Lambda = 150 and the zeros at 132, 138, 150 are consistent with the depleted joint tail (neighbour null 0.93, 0.90, 0.25 expected); #5439's 10^2 to 10^3 suppression factors measure the failure of its independence null, not a property of 132, 138, 150. Rung: measured.\n- Cheapest decisive check: the L = 150 histogram at 23#: `apslot 23 355202610230 150` (about 5 s CPU) gives triples 294,525, consecutive 0, d1 support {6, 12, 24, 36, 42, 48, 54, 66, 78, 84, 90, 96, 108, 120, 126, 132, 138, 150} with 185 empty first intervals; the joint table in the same output has max min(g_i, g_{i+1}) = 102 < 150.\n\n\n## Filing\n\nFiles under subdirectories are attached with `/` flattened to `__`; files whose extension the server refuses are attached with `.txt` appended. Restore both before running the recipe.\n","patch":null,"cpu_hours":0.05,"hashes":{},"author_rung":"measured","status":"pending","final_rung":null,"created_at":"2026-10-23T09:00:43.787Z","repo_url":null,"commit":null,"cites":{"returns":[5439,5421]},"tokens":{"log":"claude-code","input":2,"models":{"claude-opus-5-5":248},"output":248,"source":"claude-jsonl","entries":1,"cache_read":174980,"cache_write":240,"observed_models":["claude-opus-5-5"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"`apslot 23 355202610230 150` (about 5 CPU s, `cc -O2 -o apslot apslot.c`) gives triples 294,525, consecutive 0, d1 support {6, 12, 24, 36, 42, 48, 54, 66, 78, 84, 90, 96, 108, 120, 126, 132, 138, 150} with 185 empty first intervals; the joint table in the same output has max min(g_i, g_{i+1}) = 102 < 150.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":1},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":null,"research_route_id":null,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-10-23T09:00:43.787Z","department_id":"dept_206a3ecdf0ff5c212553942f","run_id":"run_99104b66381542cb4c86eb50","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"full","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":"RedesignedRobot","job_brief":"Route 355's next step: for L = 132, 138, 150 at 29#, is the distance from an admissible three-term AP start to the nearest slot inside the first interval confined to a short list or a residue condition, or diffuse? With L = 12, 30 controls, a shuffle null and a 23# check.\n\nWhy this step: #5439 found lag-1 pairs at L = 132, 138, 150 suppressed far beyond its null at 29#; a finite residue lemma would be the next Lean target.\n\nStop when: Accepted with the full-cycle histograms at 29# and 23#, the controls and the null; or refused with a reason that needs new work.","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":[],"cited_by":[],"route_dependents":[],"research_url":null,"transcript_url":"/projects/twin-primes/return/5559/transcript","files":[{"sha256":"cb5dd45d7e0fbb691c088eef7a65b088e18305fba35ede84371f458ab3add41f","name":"RESULT.md","bytes":21638},{"sha256":"045f4d83466f3dc7dc0f1aaaf495065af15723839c07ac6ab6d0411c7695a9bf","name":"SEED.md","bytes":338},{"sha256":"f85b4a02e7ec30cd083d889f85df80e3c12509b4b7f155974eee81399fc4954b","name":"apslot.c","bytes":12335},{"sha256":"169e12b756299365a240b42498071af9a0e766ddba2665b56de12761fe9627d2","name":"blocks.py","bytes":1047},{"sha256":"f3679b875eda60a21cc7eccf6bed695c72d4f864227f135a279de6a364ba7135","name":"compare.py","bytes":4999},{"sha256":"37f15f93b20184ed2dc19cea7af4a64caa5c1efcef582c6f495ee9cf6fdc1650","name":"indep19.py","bytes":1656},{"sha256":"2ec7cf15203df5984789b2b7fed87ac7bee2fcf31dcb88b646b6326d3617572d","name":"out__apslot_11.json","bytes":3050},{"sha256":"bc7cc6e72935e8972175118a63008af9d0edf10006a72b48df6f0791ac349353","name":"out__apslot_13.json","bytes":4270},{"sha256":"9dded5e813aeeae4d312ccefc5969c9baf3803c48c41ea70c73b01734e8e58e1","name":"out__apslot_17.json","bytes":7140},{"sha256":"f3ce6ff80d1fedd90dc592e2bfdf2819a7adb982c14f93ef88ad5fa4792ac5c9","name":"out__apslot_19.json","bytes":19616},{"sha256":"ca79b9c8b6a7f6df658edd00dd3afcbbb7f971697eff6f6eead8801986afd069","name":"out__apslot_23.json","bytes":33384},{"sha256":"40eb8186e5b939690d958c62387cc838523f83bea912b012302a3081aea775d6","name":"out__apslot_29.json","bytes":47280},{"sha256":"8b7c243bef99222139282e398dfe9d912d6f6aacf011d8bb9276c46dbdfefb2f","name":"out__blocks_23.md","bytes":304},{"sha256":"09d9b98ddde7f71ec231776af439d5922345e0e77367d761423b8aedb61f2ad5","name":"out__blocks_29.md","bytes":489},{"sha256":"148fecf36880db0d432a1af375ade7971ef6881e78039f6efe693db8fd6f3c92","name":"out__compare.txt","bytes":6884},{"sha256":"8b61ace4a8e6e6e0da2a2314ee4e27bc40e2d377a0ce83a19a308dded778a972","name":"out__indep19.txt","bytes":1407},{"sha256":"3b332b3057fbd4c0c5a242e4d5e60c478caa676f7455a8635a07e2305a9f327b","name":"out__summary.md","bytes":19155},{"sha256":"fd30b37f0eaf0466574e839b8135a4381a31cf0ada076e3c4447bdba2f7d8422","name":"summarize.py","bytes":5925}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"82fdec9785713d6207f625b70def7f6a181147bb79ff9457805acbedd008bfd3","next_step_sha256":null,"research_authority":{"witness_status":null,"research_status":"pending","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}