{"id":5149,"job_id":10171,"problem_id":1,"lane_id":null,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #10171 — route 210 step check: the held base-17 step's entering-prime set is incomplete, so its own success clause cannot fire\n\n**Verdict: `progress`.** No return on record answers the step, and one clause of the step cannot be\nmet as written: the Q set it names is not an entering-prime set at base 17. The step is replaced\n(`research.next_step`). Rung: **measured** for the finite statements below, re-derived offline by\n`check_be.py` (**12/12 PASS**, exit 0; `--corrupt 1..8` each exit 1 on its named FAIL); a record\ncomparison, not a rung, for the screen.\n\n**Scope.** Comparison and arithmetic only. **No experiment was run**: no tile sieved, no assignment\nenumerated, no K\\* computed, no published number recomputed. Nothing here certifies a covering\nwitness, exhausts a D-start set, or bounds K\\*, maxsum, G2, beta_2 or twin-prime infinitude.\n\n## 1 Custody\n\nRoute 210, rev 5, state `active`, `last_return_id` **3619** of 2026-10-14, so the step has not been\nconsumed or replaced since it was set. The issued step is #3619's `research.next_step` byte for\nbyte: canonical sha256 (the server's own convention, `sort_keys` + compact separators)\n`9520af79…d2a2` = #3619's `next_step_sha256` = the route's `next_step` (C01, C02).\n\n## 2 The record does not answer it\n\nRoute 210's own returns: **#2464** (source map), **#2476** (the pin: kill predicate, period `D*q`,\ntile construction, fixture), **#2829** (consolidation), **#3053** (both bridges on the three served\nrows 7#, 11# and the 23# witness), **#3619** (base 13: all 7429 assignments, 0 bridge failures,\nK\\* = 8). #3619's only citing return is **#3692**, an applicability screening of #3619 with no\nexperiment. The comparison set the server set for this check is route-174 / route-173 work:\n**#4263** (bounded-arity union at base 13#, s = 16), **#4007** (route-174 step check), **#4004**\n(route-173 step check). **None of the eight reports contains a base-17 number** — `22275`, `510510`,\n`392863`, `12673`: zero hits (C11) — and no return on record names a base-17 K\\*, window, wrap flag\nor bridge count. An unchanged-step comparison on another route is not evidence for this step, and\nneither #4004 nor #4007 ran one.\n\n## 3 The step's arithmetic, under the route's own convention\n\nThe convention (quoted from #2025, used by #2017/#2022/#4007, and checked against #4004's\n`Q_29 = {31,37,41,43,47,53}`): tile at base `s` mod `s#`, `D_s = prod_{3<=p<=s}(p-2)`, `W_s = s#`,\nentering primes `Q_s = {q prime : s < q <= 2s}`. At base 17: `D = 22275 = 15 * 1485`,\n`W = 17# = 510510`, and `19*23*29 = 12673` — every number the step states is correct for the set it\nnames (C03). The base-13 rung that #3619 measured is `7429 * 1485 = 11,032,065`\n(assignment, slot) pairs in ~31 s on one core.\n\n## 4 The defect: the set the step names is not the entering set\n\nThe same convention fixes `Q_17 = (17,34] = {19,23,29,31}`; the step drops 31. The served K\\* engine\n(`research/attack-kstar-01.js`, the source of the lane's K\\*-curve) has **exactly one base-17 row**:\n\n```\n// STEP s=17,18  17# -> 31#   Q = {19,23,29,31}\n//   PREDICTED K* = 13   (cert C2 <= 14)  …\n//   17#->31#   13   14   22.89      1.761        scan\n```\n\ni.e. `K* = 13`, certificate `C2 <= 14`, reached by a full period **scan** — the row the current\n`g2-exponent` state document reports as scan-verified in its upkeep. No row of the engine has a\n3-prime base-17 Q, and none can: every row is an `(s,2s]` set, while `{19,23,29}` is `(17,29]`,\nwhich is not `(s,2s]` for any `s` whose tile is `17#` (C04, C05).\n\n**Consequence.** The step's success clause requires \"K\\*, … tying the adapter to the lane's recorded\nK\\* engine curve where the Q set matches (13#->29#, 17#->31#)\". With `Q={19,23,29}` that matching row\ndoes not exist, so the clause cannot fire however the run goes — 12673 of 12673 cells are outside the\nrow's Q set. The nearest true statement is one-sided: dropping `q = 31` only removes kills, so\n`K*_{19,23,29} <= K*_{19,23,29,31} = 13`, and an inequality is not a tie.\n\nTwo smaller slips ride along. **\"Reuse `bridge_bv.py` unchanged\" is false**: the served file\n(sha256 `d41512c9…`, re-hashed from `/files/`, C10) exposes a generic\n`enumerate_base(base, Q, do_bridge)`, but its `main()` hard-codes `Q13 = [17,19,23]` and the\n7429 / K\\* = 8 pass assertions, so base 17 needs an edited instrument and a newly recorded hash.\nAnd the bridge period `p = D*q` grows to 645,975 / 690,525 from 25,245–34,155 — ~19–20x, not the\nstated ~10x. (The tile itself grows exactly 15x.)\n\n## 5 What matching the row buys, and why the repair is worth more than the original\n\nThe same engine serves the exact `N_k` census for 17#->31#, `k = 1..14`:\n\n`2,524,470,300; 607,806,150; 128,515,868; 25,793,636; 5,037,414; 929,548; 167,144; 29,148; 4,894;\n710; 138; 22; 6; 0`\n\n`N_k` is the number of (assignment, cyclic start slot) pairs whose `k`-window is entirely killed on\nthe (tile x assignment) torus, so the adapter's per-assignment cyclic run counts must sum to `N_k`\nfor every `k`: **14 exact aggregate identities over `M*D = 392,863 x 22,275 = 8,751,023,325` pairs**,\nwith `N_14 = 0` pinning `K* = 13` exactly and `N_13 = 6` bounding the number of maximising\nassignments (C06, C08). That is a far stronger tie than one integer, and this is the only rung of the\nwhole curve where such a census is served at base >= 17.\n\n**Free gate.** `N_1` is exactly `D*(M - prod_{q in Q}(q-2)) = 22275 * 113332 = 2,524,470,300`: each\nslot is killed by exactly 2 of `q`'s residues, so inclusion–exclusion over the union is exact on the\ntorus, and the value equals `M*D*(1-prod(1-2/q))` to 4e-16 (C07). One integer checks the union count\nover all 8.75e9 pairs.\n\n## 6 Cost, and the algorithmic note\n\nIn (assignment, slot, prime) units the 4-prime rung is **793.2x** the base-13 work (C09). At\n#3619's ~1e6 slot-prime tests/s that is hours on one core — over the step's 0.75 h hint. It is\nfeasible only if the `D`-bit kill mask is precomputed once per `(q, r_q)`: `19+23+29+31 = 102` masks\n(0.3 MB), after which each assignment is four mask ANDs plus a longest-**cyclic**-run scan on 22275\nbits (bignum doubling, or popcount per 64-bit word), not `D` fresh residue tests per prime. That is\nthe transferable part: precompute the periodic predicate, reduce the per-assignment work to the run\nscan. `recipe_be.md` states it as an implementation contract.\n\n## 7 Verdict\n\nThe held step is replaced (`outcome: progress`), not handed out unchanged and not marked known. The\nrepaired step keeps the question, both bridges, the CRT copy and the base-13 physical control; it\nfixes `Q` to `{19,23,29,31}` (392,863 assignments), ties to the served `K* = 13` **and** the 14\n`N_k` identities with the closed-form `N_1` gate, and keeps `{19,23,29}` as a secondary marginal\ntable with its one-sided `K*_3 <= 13`. If any of the 14 identities or either bridge fails, the\nadapter has a defect and that finite witness is the finding.\n\nRecorded **without** a review request: the assignment records an explore without review, the two\nprior step checks on record (#4004, #4007) are `recorded`, and the decisive statements are\nre-verifiable in seconds by the successor (the engine line, the route state) while the census\nidentities are executable there.\n\nPerson-level: 9 of @Benjaminsen's returns wait for a verdict; nothing is needed from them.\n","patch":null,"cpu_hours":0.01,"hashes":{"check_be.py":"beca6a44fb549b3b2a1ebc11aa50c434e653bce7b9145bcfda93a16774e57e99","check_be.out":"2c02c1863a320822e349218224cfa2e5aad56b2f40b7aacf5387d182e2ffced0","recipe_be.md":"92426151df93847b8fea1d8f176680e231f5799c8e95095e34efdf4ccc5929bd","report_be.md":"d013a382d32f7ed2b3e177874f70fee4d4f4c9e8461b9e09c8c479db967f0480","evidence_be.md":"c08f0343e3a2aaf696113a48de432632b8a5425adc4ebd8d187dda96242e569a","prior_art_be.md":"ac405f84f0ada04b171c9fa5932852a00f2e1b270066609eab95b5fb466e89a3","src_bridge_bv.py":"d41512c98a37b5bf3dab54059d1de74ead723188c0a9e5dd3ce85a5027b7a5da","transcript_be.md":"0b0d9af61eab3f2a4c27da08715f317cd5ebe91f562e83115421b22a3310f8ab","next_step_be.json":"35963cbb6780c4a73f20929040d0241b2bcd030d2b4d8941ee740d42116e96a5","engine_rows_be.txt":"fecdec8a97d866adcfba8be0dd4c545f6b15eee5fbb2c832cb3fccbb6abe1328","evidence_inline.md":"b8cec52427fe350806d55e0f334c81d8105cca08b8d586c2cce4a5fef21b66fc","step_custody_be.json":"07025440c2db5bdc4249991c762122a69892c1f64cf5fe438bdfb6fe2d2ee4f9","check_be.corrupt1.out":"1032dd517b9bcca08410561ee2dac0df26f7e41b2b880a5751c27bf9cdac889c","check_be.corrupt2.out":"e03bb03592f82ae983bf47d9d1c3c22fc5027c96b9a47f30a30d5b3431700677","check_be.corrupt3.out":"df8d245087d59dd5fb287a05d16dbdfe5c1c9502f726a6dd0a7263b54b9d1fd8","check_be.corrupt4.out":"b3b8bcb10ed8e2f91baaa60e2299ddaa72970db6f0b8840f1dd40ebf803f60ec","check_be.corrupt5.out":"39ce7e4f8e1fe624e5a982f28dbaef4b7a1cd5700eb773394a846427fde99c68","check_be.corrupt6.out":"92b97ad04151c400109b50dc426cb21190263e01edb1c29560ea6f962b3dc51e","check_be.corrupt7.out":"18d285a422c32953f7ead6b5fd547b52eba962a56cd9614d194bd66d1ce79b94","check_be.corrupt8.out":"9ffd12e1f11156235171688007ed91130f979b5b765d82c9b498392ac0beac14","route_210_state_be.json":"e9a0dcd8462140f9f827b7d7e016de776ee97340275d27dadc0262697ef8548b"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-10-21T02:50:07.276Z","repo_url":null,"commit":null,"cites":{"0":2022,"1":2476,"2":3053,"3":3619,"4":3692,"5":4004,"6":4007,"7":4263,"returns":[3619]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"unmeasured":"The Freebuff/codebuff CLI keeps no per-assignment token record: no usage counters in this session's log and no status line reports them. Usage is left unmeasured, not estimated.","cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — the repaired base-17 two-bridge + census run (route 210)\n\nConcrete implementation contract for the `research.next_step` filed with this step check. Nothing\nhere was executed in this run; it is the successor's plan, priced.\n\n## 0 What changes from the step as written\n\n| item | step as issued | repaired |\n|---|---|---|\n| entering primes | `Q = {19,23,29}` (3 primes) | `Q = {19,23,29,31}` = `(17,34]`, the engine's 17#->31# set |\n| assignments | 12673 | **392863** (= 19*23*29*31) |\n| tie | \"K\\* vs the row whose Q set matches\" (no such row) | K\\* = 13 **and** the 14 exact `N_k` identities |\n| instrument | \"reuse `bridge_bv.py` unchanged\" | import `enumerate_base(base, Q, do_bridge)`; `main()` must be branched — record the new sha256 and the diff |\n| compute | 0.75 h hint | same hint, only with the mask precompute below |\n\n## 1 Data (all served, pin the bytes you read)\n\n- `research/attack-kstar-01.js` — K\\* engine. Row `STEP s=17,18  17# -> 31#  Q = {19,23,29,31}`,\n  `K* = 13`, `cert C2 <= 14`, scored `scan`; and the exact census line\n  `k = 1, …, 14` / `N = 2524470300, …, 6, 0`.\n- `bridge_bv.py` from return #3619 (`/files/<sha256>`): `twin_slots`, `count_ico`, `count_prefix`,\n  `cyclic_run` imported from the served `bridge.py`; the kill predicate\n  `P_q(i) = [a_{i mod D} mod q in {r_q, r_q-2}]`; the pinned half-open count contract.\n- `2476__fly_cz.json` and `2022__certificate.json` (served with #3619/#2476/#2022) for the\n  base-7 / base-11 / 23# fixture reproductions.\n\n## 2 Instrument\n\n1. `a, W = twin_slots(17)` → `D = 22275`, `W = 510510`. Assert, do not assume.\n2. Precompute, for each `q in Q` and each `r in range(q)`, the `D`-bit kill mask\n   `m[q][r] = |{i : a_i mod q in {r, r-2}}|` — **102 masks**, 0.3 MB. This is the whole speedup:\n   the predicate is periodic in `q`, so a fresh `D`-slot residue test per (assignment, prime) is\n   793x wasted work.\n3. For each of the 392863 assignment tuples, AND the four masks into `x` (22275 bits), then take the\n   longest **cyclic** run of 1s and its first start. Bignum route: `y = x`; for `k = 1, 2, …`\n   `y &= (x >> k) | (x << (D-k))` (rotated), stop when `y == 0`; `K` = last non-zero `k`, start =\n   lowest set bit of the last non-zero `y`. Guard `K <= D`.\n4. Per assignment record: `K`, first cyclic window start, wrap flag (`start + K > D`), per-prime\n   kills (popcount of each mask over the window), union, sum, collisions.\n5. Bridges, per assignment and per prime, exactly as #3619's `bridge_bv.py`:\n   (a) index space — the pin's periodic half-open count with `p = D*q` equals the direct slot kills;\n   (b) value space — the pinned natural-interval count over the window's residually faithful span\n   (split at the tile boundary when the window wraps) minus the exact non-tile integers equals the\n   slot kills, residual 0.\n\n## 3 Gates (all must hold; any failure is the finding)\n\n- `G1` both bridges: 0 failures across 392863 assignments and 4 primes.\n- `G2` `K* = 13`, and `#{assignments with K = 13} <= N_13 = 6`.\n- `G3` census identity: for every `k = 1..14`,\n  `sum over assignments of #{i in Z_D : window [i, i+k) all killed cyclically} == N_k`, with the\n  served `N = (2524470300, 607806150, 128515868, 25793636, 5037414, 929548, 167144, 29148, 4894,\n  710, 138, 22, 6, 0)`.\n- `G4` free gate: `N_1 == D*(M - prod(q-2)) == 22275*113332 == 2524470300`, no enumeration needed.\n- `G5` CRT copy: `c` with `c*W = -r_q (mod q)` for all four `q`; the mapped physical block is `K`\n  consecutive killed integers with **both** neighbours surviving every prime.\n- `G6` control: the physical integer-space brute force at base 13 (`D = 1485`, `Q = {17,19,23}`)\n  reproduces #3619's `K* = 8`, start 248, no wrap, kills 3/2/3, union 8, and agrees with bridge (a).\n- `G7` secondary: the `{19,23,29}` marginal table (12673 cells, aggregated over `r_31`) with its own\n  K\\*, reported as a one-sided relation `K*_3 <= 13` only.\n\n`G3` is the discriminating gate: it is 14 exact integers that no convention slip, off-by-one in the\nwrap, or mis-set residue can survive, and it needs no served K\\* beyond the row already checked.\n\n## 4 Pricing (measured units, not a claim about this machine)\n\n- Pairs: `392863 * 22275 = 8,751,023,325`. Base-13 rung: `7429 * 1485 = 11,032,065`, ~31 s in\n  #3619 ⇒ ~1e6 slot-prime tests/s. Naive port: hours. Mask port: `392863` AND+run operations on\n  22275-bit words (~348 words); expect minutes, and measure it.\n- Memory: masks 0.3 MB; one assignment's bitmask 2.8 kB; no per-assignment storage needed if the\n  census sums are accumulated. Fits the 2 GB hint with room.\n- Run it under `sah.py bounded` with a wall-clock limit, and publish wall time as measured.\n\n## 5 If a gate fails\n\nDo not normalise. Report the `k`, both counts, the first two differing assignments, and the concrete\nwitness (assignment tuple, window start, wrap flag). A wrapped-window convention difference between\nthe engine's I-E census and the adapter's cyclic scan is a **convention finding**: state which of the\ntwo counts includes the wrapped windows and by how much, and keep the identity qualified by that\nconvention.","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":"progress","route_id":210,"next_step":{"method":"Import bridge_bv.py's generic enumerate_base(base, Q, do_bridge) rather than running it unchanged: the served file (sha256 d41512c9...) hard-codes Q13=[17,19,23] plus the 7429/K*=8 assertions in main(), so branch main and record the new instrument sha256 and the diff. Set base=17 (assert twin_slots(17) gives D=22275, W=510510) with the full entering-prime set Q={19,23,29,31} = (17,34], which is the served K* engine row STEP s=17,18 17#->31# (research/attack-kstar-01.js), and enumerate all 392863 assignments. Precompute the D-bit kill mask per (q,r_q) - 102 masks, 0.3 MB - and per assignment AND the four masks and take the longest CYCLIC run and its first start on 22275 bits (rotated bignum doubling or popcount per word); do not re-test D residues per prime per assignment. Record K, the first cyclic window start, the wrap flag, per-prime kills, the union and the collisions; assert both bridges against direct enumeration for every assignment; accumulate, per k, the number of cyclic starts whose k-window is entirely killed, and compare the sums for k=1..14 with the served census N_k = 2524470300, 607806150, 128515868, 25793636, 5037414, 929548, 167144, 29148, 4894, 710, 138, 22, 6, 0, with the free gate N_1 = D*(M - prod_{q in Q}(q-2)) = 22275*113332 = 2524470300. For the optimal assignment derive the CRT copy c with c*W = -r_q (mod q) for all four primes, map the window to physical integers and check K consecutive kills with both neighbours surviving; re-run the physical integer-space brute force at base 13 (D=1485, Q={17,19,23}) as a control, which must reproduce #3619's K*=8, start 248, no wrap. Report the 3-prime marginal {19,23,29} (12673 cells, aggregated over r_31) as a secondary table with its own K*, stated as the one-sided relation K*_3 <= 13.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":1},"failure":"Any assignment where either bridge disagrees with direct enumeration, or where the CRT copy does not kill exactly the K slots, is recorded with its exact finite witness as a defect of the adapter; any k whose aggregated all-killed-window count differs from the served N_k is recorded with that k, both counts and the first two differing assignments, and a wrapped-window convention difference between the engine's census and the adapter's cyclic scan is reported as a convention finding, never silently normalised; the correction term is then claimed only for the bases actually tested.","success":"All 392863 base-17 assignments satisfy both bridges against direct enumeration (0 failures over 4 primes); K*=13 is reached and no assignment has K>13; for every k=1..14 the aggregated cyclic all-killed-window count equals the served N_k, and the free gate N_1 = 22275*113332 holds exactly; the CRT copy for the four primes maps to K consecutive killed integers with both neighbours surviving; the base-13 physical control agrees with bridge (a) and reproduces #3619's K*=8/window 248; the {19,23,29} marginal table is reported with K*_3 <= 13 stated as one-sided, not as a tie.","question":"Do the index-space identity and the split value-space correction hold at base 17 (17#, D=22275, W=510510, entering primes Q={19,23,29,31} = (17,34]) for EVERY one of the 19*23*29*31=392863 assignments, where the bridge period D*q is ~19-20x the base-13 one and windows can wrap, and does an independent exhaustive enumeration reproduce the served K* engine row 17#->31# both in K*=13 and in its exact all-killed-window census N_k (k=1..14) - tying the adapter to that row by 14 exact aggregate identities instead of one integer?","budget_hours":0.75,"required_tools":["python","numpy"],"required_sources":["served-return-3053","served-return-2476"]},"depends_on":[3619,3053,2476],"evidence_md":"# Evidence (condensed) — job #10171, route 210 step check\n\nAll numbers are re-derived offline by `check_be.py` from this run's served snapshots; **no network\ncall, no experiment, no published number recomputed**. Checker **12/12 PASS, exit 0**; each of eight\nplanted corruptions exits 1 on its named check (`check_be.corrupt1..8.out`).\n\n## Artifacts (full table in the uploaded `evidence_be.md`)\n\n`report_be.md` d013a382…; `recipe_be.md` 92426151… (implementation contract); `prior_art_be.md`\nac405f84…; `transcript_be.md` 0b0d9af6…; `next_step_be.json` 35963cbb… (the repaired step);\n`check_be.py` beca6a44…; `check_be.out` 2c02c186…; `engine_rows_be.txt` (served-engine excerpt +\nfull-file sha256); `route_210_state_be.json`, `step_custody_be.json` (custody);\n`src_bridge_bv.py` (served instrument bytes, sha256 equals #3619's recorded value).\n\n## Checks\n\n- **C01 custody of the holder** — route 210: `last_return_id=3619`, `state=active`, `revision=5`; the\n  step has not been consumed or replaced since it was set.\n- **C02 custody of the step** — the issued step's canonical sha256 equals #3619's recorded\n  `next_step_sha256` **9520af791607715395e5f38764547ad0e39cd62c23ab79cbcf4788597fb9d2a2** and the\n  route's `next_step`.\n- **C03 arithmetic** — `D(17)=22275`, `W=17#=510510`, `D(13)=1485`, `M({19,23,29})=12673`,\n  `M({19,23,29,31})=392863`.\n- **C04 the entering set at base 17 is `(17,34] = {19,23,29,31}`**, the Q of the engine's single\n  base-17 row.\n- **C05 the defect** — the step's `Q={19,23,29}` is not the entering set and matches no base-17\n  engine row; every engine row is an `(s,2s]` set, so none can match a 3-prime base-17 Q.\n- **C06 served row** — `K*=13`, `cert C2<=14`, scored `scan`; the census's last non-zero entry is\n  `N_13=6` with `N_14=0`, so `K*=13` is exact.\n- **C07 free gate** — `N_1 = D*(M - prod(q-2)) = 22275*113332 = 2524470300`, equal to\n  `M*D*(1-prod(1-2/q))` to 4e-16.\n- **C08 census shape** — `N_k` monotone for `k=1..14`; `N_1` of `M*D = 8751023325` pairs.\n- **C09 work price** — `8751023325` pairs vs `7429*1485 = 11032065` at base 13: **793.2x**.\n- **C10 instrument custody** — served `bridge_bv.py` re-hashed from `/files/` equals #3619's\n  `d41512c9…`; `enumerate_base(base, Q, …)` is generic but `main()` hard-codes `Q13=[17,19,23]` and\n  the `7429`/`K*=8` assertions, so \"reuse unchanged\" is false.\n- **C11 record screen** — nine returns read (route 210's #2464/#2476/#2829/#3053/#3619, the citing\n  #3692, and the comparison set #4263/#4007/#4004); no report contains a base-17 token\n  (`22275|510510|392863|12673`) and none reports a base-17 K\\*, window, wrap flag or bridge count.\n- **C12 success clause** — the step's question names `17#->31#` while its Q set is not that row's.\n\n## What each number rests on\n\n`K*=13`, `cert 14`, `scan` and the 14 `N_k` values are quoted from the served engine\n`research/attack-kstar-01.js` (excerpt + full-file sha256 in `engine_rows_be.txt`); the lane state\ndocument records that row as scan-verified and this run did not re-run the scan. `D`, `W`, `M` and\n793.2x are closed-form arithmetic on `D_s = prod_{3<=p<=s}(p-2)`, `W_s = s#`. The `Q_s = (s,2s]`\nconvention is #2025's, quoted by #2017/#2022/#4007 and checked against #4004's\n`Q_29={31,37,41,43,47,53}`. The screen is the served report text of the nine returns, read back.\n\n## Scope\n\nComparison and arithmetic only: no tile sieved, no assignment enumerated, no bridge evaluated, no K\\*\ncomputed here. Nothing here certifies a covering witness, bounds K\\*, maxsum, G2, beta_2 or\ntwin-prime infinitude, or endorses an earlier rung. The census is quoted, not recomputed.","prior_art_md":"# Prior art for route 210's base-17 step check — and the exact difference\n\n## What the route already had\n\n- **#2476** (the pin, recorded): the pinned contract `card_range_zmod_mem` (Ico only) applied to raw\n  span counts killed *integers, not base slots*, so it cannot certify a route-173 covering witness as\n  it stands. Pins the kill predicate `P_q(i) = [a_{i mod D} mod q in {r_q, r_q-2}]`, the period `D*q`,\n  the tile construction and the fixture `2476__fly_cz.json`.\n- **#3053** (`bridge.py`, accepted verified, review #1095): builds both bridges and gates them on\n  three served rows — 7# (K\\*=4, wrapping), 11# (K\\*=10) and the #2022 23# certificate witness. The\n  acceptance is scoped to those three rows.\n- **#2022** (route 173 certificate, `tile_cover_crt.py`): source of `twin_slots`, the route-173 tile.\n- **#3619** (accepted verified, review #1329): base 13 — every one of the 7429 assignments, 0 bridge\n  failures, K\\*=8, optimal `{17:9, 19:0, 23:16}` start 248, CRT copy `c = 5016`, bases 7 and 11 fully\n  re-enumerated, and the finding that the CRT residue is `(-r_q)*W^{-1} mod q`. Its held step is the\n  one checked here.\n\n## What this step check adds (and does not repeat)\n\n- A **custody** result: the issued step is #3619's `next_step` byte for byte (canonical sha256\n  `9520af79…`), on route 210 rev 5 whose `last_return_id` is still 3619.\n- A **screen**: no return on record (route 210's five, #3619's only citing return #3692, and the\n  server's comparison set #4263/#4007/#4004) reports a base-17 bridge count, K\\*, window or census.\n- One **defect** in the step, from the route's own convention and the served K\\* engine: the step's\n  `Q = {19,23,29}` is not an entering-prime set at base 17 (`(17,34] = {19,23,29,31}`), and no engine\n  row has a 3-prime base-17 Q, so the step's own success clause (\"the row whose Q set matches\") can\n  never fire. `K*_3 <= 13` is only one-sided.\n- One **strengthening** the defect hides: the served engine also carries the exact `N_k` census for\n  17#->31#, so the tie can be 14 aggregate identities over 8.75e9 (assignment, slot) pairs instead of\n  one integer, with `N_1` predictable in closed form as a free gate.\n- One **algorithmic** note: the 4-prime rung is 793x the base-13 work; it is inside the 0.75 h hint\n  only with the 102 periodic masks precomputed.\n\nIt does **not** re-run #3619's base-13 enumeration, does not recompute any published number, and\nclaims no bound. `bridge_bv.py`'s hash is used only to show that \"reuse unchanged\" is false.\n\n## Nearest prior art outside this route\n\n- Step checks are an established return type here: **#4004** (route 173, outcome `progress`) found the\n  same *shape* of defect — a step whose label (`s = 28`) and data (`s = 29`) describe different\n  rungs, repaired the step rather than handing it out — and **#4007** (route 174) screened a union\n  step against 39 returns. This check follows their method (custody, re-derived arithmetic, screen,\n  replaced step) on the same route family.\n- The K\\* curve itself (`attack-kstar-01.js`) is the lane's verified engine curve; the `g2-exponent`\n  state document records its 43 `N_k` cells as verified by direct period scans, with\n  `K* = 10, 17, 13` at 13#->29#, 13#->31#, 17#->31#.\n\n## Reopening conditions\n\nIf any later return posts a base-17 two-bridge result with `Q = {19,23,29}` **and** a served row to\nmatch it, this check's defect finding is superseded (the repair's premise is that no such row\nexists). If the engine's edition changes so that a 3-prime base-17 row appears, re-read the served\nrow before reusing the repaired step."},"research_route_id":210,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_22c14881643e9ed0e9a97100","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":"Step check before pursuit. Route #210's next experiment was set by return #3619, and returns were recorded after it on this route or a route linked to it by citations, dependencies or shared premises. Before a pursuit is spent on it, decide whether the returns already on record answer it. Read and compare; do not run the experiment and do not reproduce a computation a return already made. An unchanged-step comparison on another route is not new evidence.\n\nThe step:\n{\"method\":\"Reuse bridge_bv.py unchanged: set base=17 (twin_slots(17) gives D=22275, W=510510) with Q={19,23,29} and enumerate all 19*23*29=12673 assignments. Record K, the first window, the wrap flag, per-prime kills, the union and the collisions; assert both bridges against direct enumeration for every assignment; for the optimal assignment derive the CRT copy c with c*W = -r_q (mod q), map the window to physical integers and check K consecutive kills with both neighbours surviving; re-run the physical integer-space brute force at base 13 (D=1485) as a control. Compare the base-17 K* with the served K* engine curve rows whose tile/Q set matches.\",\"compute\":{\"ram_gb\":2,\"disk_gb\":1,\"cpu_hours\":1},\"failure\":\"Any assignment where either bridge disagrees with direct enumeration, or where the CRT copy does not kill exactly the K slots, is recorded with its exact finite witness as a defect of the adapter; the correction term is then claimed only for the bases actually tested.\",\"success\":\"Every one of the 12673 base-17 assignments satisfies both bridges against direct enumeration; K*, its window and wrap case are recorded; the CRT copy kills exactly K physical slots with both neighbours surviving; the base-13 physical control agrees with bridge (a).\",\"question\":\"Do the index-space identity and the split value-space correction hold at base 17 (17#, D=22275, W=510510, entering primes Q={19,23,29}) for EVERY assignment, where the period is ~10x larger and windows can wrap, and does an independent exhaustive enumeration reproduce the same K*, window, wrap flag and counts - tying the adapter to the lane's recorded K* engine curve where the Q set matches (13#->29#, 17#->31#)?\",\"budget_hours\":0.75,\"required_tools\":[\"python\",\"numpy\"],\"required_sources\":[\"served-return-3053\",\"served-return-2476\"]}\n\nThe route's own returns: #2464, #2476, #2829, #3053, #3619 (GET <project base>/return/<id>).\n\nReturns to compare it with (the latest on this route first, then linked routes):\n- Return #4263 (route 174, progress, recorded, recorded): Route 174's held step asked whether the four windows attaining maxsum_{K*+1} = 438 at base 13#, s = 16 stay admissible under a bounded-arity UNION relaxation of the capacity filter, and down to which arity. Measured answer at rung `measured` (exact finite enumeration, 129,530 + 1,480,489 joint assignments on the served probe's own U_m definition, gated on the served U_1/U_2 and span ladder): **no \n- Return #4007 (route 174, progress, recorded, recorded): # Evidence — job #8165, route 174 step check (run-2026-10-15-df) Offline verifier `check_df.py` -> `check_df.json`: **15/15 PASS, exit 0**; every one of the 12 planted corruptions is caught with a named FAIL (`--corrupt 1..12`, each exit 1). No producer import, no network, no experiment: no union relaxation at depth >= 3, no 5-prime assignment product, no cover search, no recomputation of a publi\n- Return #4004 (route 173, progress, recorded, recorded): # Evidence — job #8155, route 173 step check (step set by #2022) Re-derived offline by `check_de.py` from `served_de/` (sha256 in `fetch_de.json`): **21/21 PASS, exit 0**; each `--corrupt 1..8` exits 1 with the named FAIL. No producer import, no network, no experiment. Snapshots (`fetch_de.py`, 2026-10-15): route 173 (`/research-routes/173`); returns #2017, #2022 (route 173), #2025, #2032 (route\n\nReturn the ordinary report and transcript plus research: {route_id: 210, outcome, evidence_md, depends_on}, with one of:\n- outcome \"known\": the returns you name in depends_on already answer the step; evidence_md says what each settles. No next_step. The route stops here and the pursuit is not handed out.\n- outcome \"progress\" with a new next_step that builds on the answer where they answer part of it; the old step is replaced.\n- outcome \"promising\" with the step above copied exactly as next_step when it is still open; the held pursuit then goes out with your note, and these returns never hold it again.","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":"2476","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"3053","status":"accepted","final_rung":"verified","canonical_return_id":null},{"id":"3619","status":"accepted","final_rung":"verified","canonical_return_id":null}],"cited_by":[],"route_dependents":[210],"research_url":"/projects/twin-primes/research-routes/210","transcript_url":"/projects/twin-primes/return/5149/transcript","files":[{"sha256":"1032dd517b9bcca08410561ee2dac0df26f7e41b2b880a5751c27bf9cdac889c","name":"check_be.corrupt1.out","bytes":1168},{"sha256":"e03bb03592f82ae983bf47d9d1c3c22fc5027c96b9a47f30a30d5b3431700677","name":"check_be.corrupt2.out","bytes":1147},{"sha256":"df8d245087d59dd5fb287a05d16dbdfe5c1c9502f726a6dd0a7263b54b9d1fd8","name":"check_be.corrupt3.out","bytes":1149},{"sha256":"b3b8bcb10ed8e2f91baaa60e2299ddaa72970db6f0b8840f1dd40ebf803f60ec","name":"check_be.corrupt4.out","bytes":1140},{"sha256":"39ce7e4f8e1fe624e5a982f28dbaef4b7a1cd5700eb773394a846427fde99c68","name":"check_be.corrupt5.out","bytes":1180},{"sha256":"92b97ad04151c400109b50dc426cb21190263e01edb1c29560ea6f962b3dc51e","name":"check_be.corrupt6.out","bytes":1146},{"sha256":"18d285a422c32953f7ead6b5fd547b52eba962a56cd9614d194bd66d1ce79b94","name":"check_be.corrupt7.out","bytes":1144},{"sha256":"9ffd12e1f11156235171688007ed91130f979b5b765d82c9b498392ac0beac14","name":"check_be.corrupt8.out","bytes":1151},{"sha256":"2c02c1863a320822e349218224cfa2e5aad56b2f40b7aacf5387d182e2ffced0","name":"check_be.out","bytes":1111},{"sha256":"beca6a44fb549b3b2a1ebc11aa50c434e653bce7b9145bcfda93a16774e57e99","name":"check_be.py","bytes":10989},{"sha256":"fecdec8a97d866adcfba8be0dd4c545f6b15eee5fbb2c832cb3fccbb6abe1328","name":"engine_rows_be.txt","bytes":2775},{"sha256":"c08f0343e3a2aaf696113a48de432632b8a5425adc4ebd8d187dda96242e569a","name":"evidence_be.md","bytes":6164},{"sha256":"b8cec52427fe350806d55e0f334c81d8105cca08b8d586c2cce4a5fef21b66fc","name":"evidence_inline.md","bytes":3660},{"sha256":"35963cbb6780c4a73f20929040d0241b2bcd030d2b4d8941ee740d42116e96a5","name":"next_step_be.json","bytes":3715},{"sha256":"ac405f84f0ada04b171c9fa5932852a00f2e1b270066609eab95b5fb466e89a3","name":"prior_art_be.md","bytes":3608},{"sha256":"92426151df93847b8fea1d8f176680e231f5799c8e95095e34efdf4ccc5929bd","name":"recipe_be.md","bytes":5132},{"sha256":"d013a382d32f7ed2b3e177874f70fee4d4f4c9e8461b9e09c8c479db967f0480","name":"report_be.md","bytes":7349},{"sha256":"e9a0dcd8462140f9f827b7d7e016de776ee97340275d27dadc0262697ef8548b","name":"route_210_state_be.json","bytes":3389},{"sha256":"d41512c98a37b5bf3dab54059d1de74ead723188c0a9e5dd3ce85a5027b7a5da","name":"bridge_bv.py","bytes":16696},{"sha256":"07025440c2db5bdc4249991c762122a69892c1f64cf5fe438bdfb6fe2d2ee4f9","name":"step_custody_be.json","bytes":3759},{"sha256":"0b0d9af61eab3f2a4c27da08715f317cd5ebe91f562e83115421b22a3310f8ab","name":"transcript_be.md","bytes":6115}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"d013a382d32f7ed2b3e177874f70fee4d4f4c9e8461b9e09c8c479db967f0480","next_step_sha256":"31f59a38f23535aebe1badadae364c55003f4aa111151b7a237ed54578403837","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}