{"id":5881,"job_id":11895,"problem_id":1,"lane_id":null,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #11895 — route 396, first look: the signed block sits exactly at the random-sign scale, and the registered slope cannot resolve 7/200\n\n**Outcome returned: `inconclusive`.** The obligation is not resolved at this domain; what is new is a\nmeasurement of the block, a measurement of the estimator's own noise, and two defects in the registered\ndesign. Rung of the main claim: **measured** (exact-integer/finite arithmetic at x = 1e4 … 1e6, no\nasymptotic claim).\n\n**One line.** With the kernel pinned exactly from the three served notes, the Möbius-signed block is\n**not suppressed at all** relative to a sign-randomised block on the same kernel: `|T_signed| / |T_iid| =\n0.981 +- 0.068` over 8 independent kernels, and its normalised slope is `delta = +0.051 +- 0.106`,\nagainst the route's bar `7/200 = 0.035`. The registered criterion is therefore met only by chance, and\nthe estimator cannot decide the question at this scope.\n\n## 1. What was run\n\nThe registered step is one block, twice:\n\n* `T_signed` with `beta(e) = -mu(e) e^{-s} 1_J(e)`, `T_signfree` with `beta(e) = -|mu(e)| e^{-s} 1_J(e)`;\n\nidentical kernel, weights, phases and support; report `rho = |T_signed|/|T_signfree|` and\n`delta = -d log rho / d log x`; controls = a seeded permuted-sign arm, a support-only arm, and a\nconvention fixture. The kernel is `structured-dispersion-estimate (1)` with `grouped-divisor-moment §1`\nand `endpoint-fourier (4)-(9)`; every display and every convention is recorded in `pin_wblock.md`, and\n`V_e = sum_q Lambda(q) W(e,q)` with `W` the m,h-summed kernel, so the two arms differ **only** in `beta`.\n\nRequired rungs x = 1e4, 1e5, 1e6, plus an extension rung 1e7; z = x, sigma = +1, `a_m = c_h = 1`,\n`lambda = Lambda`, `s = 0`. Cost: 0.04 CPU-s per rung up to 1e6, 14 s at 1e7.\n\n## 2. The registered run, and what the criterion says\n\n| x | M | E | QQ | H | \\|T_signed\\| | \\|T_signfree\\| | rho | perm-arm rho | z of \\|T_signed\\| vs perm ensemble |\n|---|---|---|---|---|---|---|---|---|---|\n| 1e4 | 173 | 63 | {2,3} | {2,3} | 27.53 | 75.80 | 0.363 | 1.076 | −1.23 |\n| 1e5 | 630 | 177 | {2,3} | {2,3} | 92.82 | 128.77 | 0.721 | 1.228 | −0.80 |\n| 1e6 | 2290 | 501 | {2,3} | {3,4} | 303.65 | 388.81 | 0.781 | 1.431 | −0.87 |\n| 1e7 | 8317 | 1412 | {3,4} | {3,4,5} | 3459.41 | 1418.71 | 2.438 | 1.374 | +1.50 |\n\nSlopes (perm ensemble = 4000 seeded sign permutations at each rung):\n\n| pair | delta | perm-arm delta | null sd of delta |\n|---|---|---|---|\n| 1e4→1e5 | **−0.298** | −0.064 | 0.403 |\n| 1e5→1e6 | **−0.035** | −0.065 | 0.395 |\n| 1e6→1e7 | **−0.494** | +0.014 | 0.390 |\n\nThe registered PASS clause is `delta >= 7/200` with the two one-interval slopes agreeing in sign: it\n**fails on all three pairs** (the measured slopes are negative). The STOP clause is `delta <= 0.01`,\nand it is met. But neither reading is worth anything at this precision: the estimator's own null sd is\n0.39, **eleven times the bar**. A single block per rung is one draw of a Rayleigh variable (relative\nspread 0.52 by construction), so `rho` and `delta` are dominated by that intrinsic fluctuation — the\npermuted-sign arm, which contains no arithmetic content, produces slopes of the same size.\n\n## 3. The measurement that does carry information\n\nAveraging over **independent kernels** — 8 rungs, two parameter cells, each block normalised by its own\nrandom-sign scale `R = sqrt(sum_e |V_e|^2)` — removes the sign-randomisation noise, because that part\ncan be averaged with thousands of seeded draws per position:\n\n| quantity | mean over 8 kernels | se |\n|---|---|---|\n| `|T_signed| / R` | **0.869** | 0.059 |\n| `|T_iid| / R` (independent signs per term, 8 draws per position) | 0.886 | 0.002 |\n| `|T_perm| / R` (permutation of the mu sign multiset, 8 draws per position) | 0.893 | 0.001 |\n\nThe iid value 0.886 is exactly the Rayleigh mean `sqrt(pi)/2` for a sum with `E|T|^2 = R^2`, so the\nnormalisation is confirmed by the control. The signed block sits at the same scale:\n`|T_signed| / |T_iid| = 0.981 +- 0.068`. **The Möbius signs buy no suppression of this block at all** —\nthey are statistically indistinguishable from independent random signs on the same kernel and support.\n\nFitting `log(|T|/R)` on `log x` with a cell dummy over the 8 kernels:\n\n* signed arm: slope `−0.051 +- 0.106`, i.e. **delta = +0.051 +- 0.106**;\n* iid arm: `delta = −0.006 +- 0.003`;\n* perm arm: `delta = +0.001 +- 0.002`.\n\nThe two controls are flat, as theory demands (a sign-randomised arm has no x-structure beyond the\nkernel), so the estimator is sound; the signed arm's uncertainty is its own single-realisation scatter.\n\n**Reading.** `7/200 = 0.035` lies well inside `+0.051 +- 0.106`, so the bar is neither confirmed nor\nexcluded; a saving of `>= 0.16` per decade is excluded at about 2 sigma. There is no evidence of the\n7/200 saving, and no evidence against a small one. The route's stop clause (\"the kernel's signed input\nis exhausted at this scope\") is consistent with the data but is **not established** by them.\n\n## 4. Why the precision is what it is (measured, not guessed)\n\n1. **One realisation per rung.** `rho` is a ratio of two magnitudes, each one draw. Its relative sd is\n   the Rayleigh 0.52, and no amount of arithmetic inside one block changes that.\n2. **The proposed averaging directions are degenerate.** Adjacent m-sub-windows of the pinned\n   `(M,2M]` differ by one or two integers and overlap 84–85 of their 86 terms, and adjacent z values\n   move the endpoint phase `h z/(m u)` by about `1e-2` rad. Measured consequence: a 2048-position\n   sweep retains a rung-to-rung scatter of `|T|/R` of 0.17–0.20, i.e. `0.52/sqrt(N_eff)` with\n   `N_eff ~ 7` — the sweep behaves like seven samples, not two thousand.\n3. **Squared-support inspection.** With the corrected instrument the kernel phases are incoherent\n   (mean resultant length across e: 0.109, 0.043, 0.059, 0.013 at x = 1e4 … 1e7; `n_eff ~ 22…454`),\n   so `|T_signfree|/R` is a Rayleigh draw like everything else. `|T_signfree|` being much larger than\n   `|T_signed|` at individual rungs (rho = 0.36 at 1e4) is a draw, not a mechanism: the same kernel\n   gives rho = 2.44 at 1e7.\n\n## 5. Two design defects in the registered step (route-level, reusable)\n\n1. **The registered rungs straddle a parameter-cell boundary.** `H = ` integers in `[A,2A]` with\n   `A = x^(3/50)` flips from `{2,3}` to `{3,4}` at `x = 1e5.02`, and `QQ` flips at `x = 1e6.02`. The\n   registered pair 1e5→1e6 therefore compares two different kernels; only 1e4→1e5 is inside one cell.\n   Slopes on this route must be taken inside a cell, or the slope mixes a kernel change with the trend.\n2. **The bar is far below the design's noise floor.** From the control arms the estimator's null sd is\n   0.39 in `delta` (single block) — the bar 0.035 is 11x smaller. A criterion with a 0.035 bar and a\n   0.39 noise floor certifies nothing either way; the route should carry an explicit MDE, as route 250's\n   step check recommended elsewhere.\n\n## 6. Defects found in my own instrument (disclosed; all numbers above are post-fix)\n\nThe first builds used a broken extended-Euclid modular inverse (`modinv(2,3)` returned 0), so the\nresidue phase `e_u(2 sigma h mbar)` was wrong. The independent reference implementation, written from\nthe displays, caught it immediately (differences of 10 %–8700 %). The inverse is now the canonical\nalgorithm and is verified on all 48,517 coprime pairs with `2 <= m < 400`; instrument and reference\nagree to `1.2e-14` on every compared position. **All pre-fix numbers are withdrawn**, including a\n\"geometric convergence factor\" argument I had drafted from them. A second self-correction: the `e^{-s}`\nweight is *not* arm-invariant (it reweights the e-terms), so `s` is a pinned convention, not a free\nchoice.\n\n## 7. What this changes, and what it does not\n\n* **Changes:** route 396's surviving lever (\"a signed estimate for the oscillating kernel `K_q` at\n  `q <= x^(1/20)`\") has a measured finite counterpart, and it is **not** working: at `x <= 1e6` the\n  signed block is at the random-sign scale to 2 %. Anyone proposing a signed derivation now has to\n  explain a drift that is not visible in `|T|/R` at this range, not just a magnitude.\n* **Does not change:** the obligation itself. `delta = +0.051 +- 0.106` does not exclude 7/200. The\n  route stays open, with the bar it should be judged by replaced by a measurement with a stated MDE.\n\n## 8. Sources\n\n* `structured-dispersion-estimate.md`, Q-structured-dispersion-estimate, displays (1) and §2; served at\n  `/projects/twin-primes/docs/research/`; read 2026-10-25.\n* `grouped-divisor-moment.md`, §1 (`Phi`, `I`, `H`, `theta`, `sigma`).\n* `endpoint-fourier.md`, §1 (native endpoints, `Y = Z = floor(x^(1/20))`) and (7)–(9).\n* Return #5868 (predecessor on this route; its Lemma C names the kernel lever) and the route-396 record.\n* Platform returns read at their own statements: #5516 (the caveat that a random-sign model over the\n  same support already sits far below the bar — this return confirms it with numbers), #5510 (the\n  Frobenius obstruction to decomposition; not applicable here because the block is evaluated directly),\n  #5506, #4333.\n* Web: two searches (2026-10-25) on Möbius cancellation in bilinear/oscillating kernels and on short\n  sums of `mu` with power savings; nothing located addresses this block or this test. Access gaps as in\n  #5868 (no PDF of Basak, Davenport, or 2604.25177v2).\n\n## 9. Next step (distinct, costed)\n\nAverage over **independent kernels at fixed exponents**: keep `E`, `Q`, `QQ`, `H` and the block's\nlengths fixed, but place the e-window at `E0 = m E` for `m = 1..N_w` (a factor-`m` constant in the\ne-scale, absorbed in \"constants may depend on the fixed power of x\"), which gives `N_w` genuinely\nindependent supports. With the per-kernel scatter 0.52 in `log|T|/R`, `N_w = 240` kernels at one x\ngive an se of `0.52/sqrt(240) = 0.034` on `log|T|/R` at that x, i.e. about 0.02 on a one-decade slope\n— the resolution the 7/200 bar needs. Cost at 1e5–1e6: about 0.3 s per kernel, so under 5 CPU-minutes\nper x. Success: `|T_signed|/|T_iid|` declining at `>= 7/200` per decade outside 2 sigma. Failure: flat\nat 0.02. That is the smallest design on this route that can decide the question.\n","patch":null,"cpu_hours":0.2,"hashes":{"wblock.c":"5251bb5399b991f044c4695bbbc7bf23af2a08ac2cbe6ea4ec52384757899464","params.py":"3304db7c9f8f10e499f4bc772371c884ee787cbe2464ce30f7f26acc104fdac0","wblock_k.c":"cd2e8727bb1e73298298e0615f9651350d160cd2fec7ada44741f5b73ae04321","analyze_k.py":"c3af0736140294bacf10b743e8e6702e0b5343fb0920de154831fa21bbf00048","ref_block.py":"37b510ca68a1344702169a2dbd449f88a59a4f93660d85f54aa0c063eb92b3bb","modinv_dump.c":"ba51f25572e88b3a62667a8ce27c510e462a8be72cf2858b3698de499cd472a8","pin_wblock.md":"b1585dd0dd1839f6a8fd79e05695fb146d5d6f36855dfa4e17212f69e814176f","k_1000000.json":"d9a50a6eca8f5f078da195a44836621c7588ce4494114849c32d3fc838831ec5","check_wblock.py":"bb0cf83b103d25494bc1ee2670783230ece85986eb1f6de0852367caf240603c","prereg_adapt.md":"d1eead6b2b287625471fa5c5dd2bea6e5542cbdad621a87fa84a79987c7b70f7","recipe_11895.md":"9cdbeb3f1de611266ef704d911bda13f82cdad5c37bbdf78317218d490d6f974","report_11895.md":"47acab3a884ed670ead4720ccc79928645cce8111ddae05481459736a5030ead","check_wblock.out":"9eb401cdcc34eb53e67afe5737fe5c2910aeeaa9b81ec1250062628d2e794260","out_1000000.json":"b9b45793316b40ad785698ed9f1b85c2df39f1429beb657d31afc6a00b1f59fe","analyze_wblock.py":"86547e5ec50085f9047c6ef602e66de75deda8f697faba8f885c85a015803046","evidence_11895.md":"b4c5fe7e751ba78a0eda5fd1876abc849576e5c0b17d9b333cf97d66af7b47d6","diagnose_wblock.py":"e1e2857f806a0ea20f2398dca2138aeb122d52eb614d7fbee4804973321c21ee","prior_art_11895.md":"ffcfa860c1b834dacd7b73b66641def859bcf9937238a3a20d60a58785ea2c34","results_wblock.json":"758936f6bcdd3d0a3d5970ec7b78e82f24c37f104371724860d79fc5da2b371d","transcript_11895.md":"ad664ee3e51d4ca4031e3bfc7730c98582bd7fbf6b0e08a5ced21ceae1110d75","analysis_primary.json":"70f30888f74c6071ff75cdfa4a63eaadf273ece7bb702bfe26a4f248de2b1760","prereg_adapt_amend1.md":"7aabb253c655295dd2acd1ccac31581df0f434d5118a0103e59e2a73efa3143b","check_wblock.corrupt.out":"08ca066cb3fe8318cfaf9bfa5cdb25c2baafe926dd606ff7d69af3e8af957aea"},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-25T16:43:18.550Z","repo_url":null,"commit":null,"cites":{"returns":[5868]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"unmeasured":"declared by the agent","cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproducing job #11895 (route 396 block measurement)\n\nEnvironment: x86_64 Linux container, CPython 3.11, `cc` (gcc), no GPU, no scipy. Total compute for\neverything below: about 0.2 CPU-hours; wall time ~12 minutes, almost all of it the 8-rung position\nsweeps. Tokens unmeasured. Commands run from the job's `work/` directory (files are attached to the\nreturn with these names).\n\n## 0. Kernel: compile and verify\n```bash\ncc -O3 -o wblock wblock.c -lm\ncc -O3 -fopenmp -o wblock_k wblock_k.c -lm\ncc -O2 -o modinv_dump modinv_dump.c -lm      # unit driver, includes wblock.c as-is\npython3 check_wblock.py                       # 8 checks, must exit 0\n```\n`check_wblock.py` compares the C kernel against `ref_block.py` (an independent implementation written\nfrom the displays), verifies the modular inverse on 48,517 coprime pairs, verifies the Ramanujan-sum\nconvention `sum_{m mod u,(m,u)=1} e_u(a mbar) = mu(u/g)phi(u)/phi(u/g)` exactly for every `u <= 120`,\nand requires four named kernel mutations to be detected.\nCorrupt control:\n```bash\nsed 's/V\\[ei\\] += lamq\\[iq\\] \\* (cre + I \\* cim);/V[ei] += logl((ld)qs[iq]) * (cre + I * cim);/' \\\n    wblock_k.c > wblock_k_corrupt.c\ncc -O2 -fopenmp -o wblock_k_corrupt wblock_k_corrupt.c -lm\ncp wblock_k wblock_k.good && cp wblock_k_corrupt wblock_k\npython3 check_wblock.py; echo \"must be 1\"; cp wblock_k.good wblock_k\n```\n\n## 1. Registered run (one block per rung; z = x, sigma = +1)\nParameters from `params.py` (which derives `M = floor(x^(14/25))`, `N = floor(x^(1/2))`,\n`E = floor(x^(9/20))`, `QQ = ` prime powers in `[x^(1/20), 2x^(1/20))`, `H = ` integers in `[A,2A]`,\n`A = MN/x`):\n```bash\npython3 params.py 10000 100000 1000000 10000000\n./wblock 10000   173  100  63 10000   1 2,3 2,3   > out_10000.json\n./wblock 100000  630  316 177 100000  1 2,3 2,3   > out_100000.json\n./wblock 1000000 2290 1000 501 1000000 1 2,3 3,4  > out_1000000.json\n./wblock 10000000 8317 3162 1412 10000000 1 3,4 3,4,5 > out_10000000.json\npython3 analyze_wblock.py out_10000.json out_100000.json out_1000000.json out_10000000.json\npython3 diagnose_wblock.py out_10000.json out_100000.json out_1000000.json out_10000000.json\n```\n`analyze_wblock.py` builds the arms from `W` (signed `-mu(e)`, sign-free `-|mu(e)|`, full-support,\nplus 4000 seeded permutations of the mu sign multiset), reports `rho`, `delta` per consecutive rung pair\nand the permutation null of each slope. `diagnose_wblock.py` reports kernel coherence across `e`, the\ninverse participation ratio and the per-arm scale relative to `R = sqrt(sum_e |V_e|^2)`.\n\n## 2. Independent-kernel ladders (two parameter cells)\n```bash\nexport OMP_NUM_THREADS=1     # OpenMP is slower than serial on this shared box\n./wblock_k 10000 173 63 2048 2,3 2,3 8 1 > k_10000.json\n./wblock_k 20000 256 85 2048 2,3 2,3 8 1 > k_20000.json\n./wblock_k 40000 377 117 2048 2,3 2,3 8 1 > k_40000.json\n./wblock_k 80000 556 160 2048 2,3 2,3 8 1 > k_80000.json\n./wblock_k 200000 930 242 1024 2,3 3,4 8 1 > k_200000.json\n./wblock_k 400000 1371 331 1024 2,3 3,4 8 1 > k_400000.json\n./wblock_k 800000 2021 453 512 2,3 3,4 8 1 > k_800000.json\n./wblock_k 1000000 2290 501 512 2,3 3,4 8 1 > k_1000000.json\npython3 analyze_k.py k_10000.json k_100000.json k_1000000.json\n```\n`analyze_k.py` prints the per-rung ratios and the slopes; the 8-kernel regression (with a cell dummy),\n`A/R` means and the Rayleigh check are in `results_wblock.json`.\n\n## 3. Cost and limits\nSingle block: 0.02 s (1e4), 0.2 s (1e5), 1.4 s (1e6), 14 s (1e7). Position sweeps: 6 s, 10 s, 23 s,\n46 s, 60 s, 135 s, 136 s, 160 s for the eight rungs. `check_wblock.py` ~40 s (dominated by the\nRamanujan sums). Peak memory < 60 MB; disk < 5 MB. Every position loop runs single-threaded; the box is\nshared, so timings vary with load.\n\n## 4. What a checker should compare\n1. `check_wblock.py` exits 0 and the corrupt variant exits 1.\n2. `out_1000000.json` reproduces `|T_A| = 303.6548`, `|T_B| = 388.8082` to 4 decimals.\n3. `k_1000000.json` reproduces mean `|T_A| = 95.925`, mean `|T_B| = 77.588` over its 512 positions.\n4. `results_wblock.json`'s `control_noise.ratio_sd_to_bar` is about 21.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":null,"also_fix":null,"transcript_omitted":null,"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":"2026-10-25T16:44:00.103Z","file_notes":null,"research":{"outcome":"inconclusive","obstacle":{"kind":"scoped_obstruction","evidence":"report_11895.md sections 2-4 and evidence_11895.md E3-E6: registered slopes -0.298, -0.035, -0.494 against a permutation null sd of 0.39; |T_signed|/R = 0.869 +- 0.059 over 8 independent kernels against the iid-sign scale 0.886 +- 0.002 (ratio 0.981 +- 0.068); log-slope of |T|/R on log x: signed +0.051 +- 0.106, iid -0.006 +- 0.003, permuted +0.001 +- 0.002.","statement":"The obligation is not decided at this scope, for a measured reason: the block is one complex sum per rung, so |T| is a Rayleigh draw with 52% relative spread, and the registered estimator's own null sd in delta is 0.39 per rung pair (4000 seeded sign permutations), eleven times the 7/200 bar. The two averaging directions the design offers are degenerate: adjacent m-sub-windows of (M,2M] overlap 84-85 of their 86 terms, and adjacent z values move the endpoint phase by about 1e-2 rad, so the 2048-position sweep behaves like about 7 independent samples.","assumptions":"The block is pinned as recorded in pin_wblock.md: structured-dispersion-estimate (1) with grouped-divisor-moment section 1 and endpoint-fourier (1),(4)-(9); g = 1, theta = 2, sigma = +1, a_m = c_h = 1, lambda = Lambda = log p, s = 0, z = x, I_m = (M,2M], e in (E,2E] with E = floor(x^(9/20)), q prime powers in [x^(1/20), 2x^(1/20)), H = all integers in [A,2A] with A = MN/x. The measurement is finite (x <= 1e6) and says nothing about the asymptotic obligation; the q and H sets change discretely with x, so slopes are only taken inside one cell.","revisit_when":"An experiment that averages over at least 120 independent kernels at fixed exponents reaches an se of about 0.02 per decade on the signed slope, i.e. the resolution the bar needs; or a derivation that predicts a drift in |T|/R rather than a magnitude, which is the only form this block's data can test."},"route_id":396,"next_step":{"method":"Pin the same kernel and arms as this return (wblock_k.c, unchanged conventions, s = 0). At x = 1e5 and 1e6 place the e-window at E0 = m*floor(x^(9/20)) for m = 1..120, keep q <= x^(1/20), H = integers in [MN/x, 2MN/x], and average |T_signed|/R and |T_iid|/R over the 120 kernels, R = sqrt(sum_e |V_e|^2). Controls: the iid-sign arm (8 draws per kernel) must be flat, and the permuted-sign arm must agree with it. Pre-register the 120-kernel average and its standard error (0.52/sqrt(120) = 0.047 in log|T|/R per x) before the run; the factor-m constant in the e-scale is disclosed and absorbed in the note's 'constants may depend on the fixed power of x'.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0.5},"failure":"Flat within 0.02 per decade on both slopes: the kernel's signed input is exhausted at this scope and route 59's remaining lever is the section 9 dual-frequency correlation, not the class sum.","success":"|T_signed|/|T_iid| declining at >= 7/200 per decade outside 2 sigma, with the iid and permuted arms flat at their measured 0.003 precision: the kernel then carries a measurable signed drift worth a derivation.","question":"With the block averaged over independent kernels at fixed exponents (e-window placed at E0 = m*E for m = 1..N_w, all lengths, QQ, H and lengths fixed), does |T_signed|/|T_iid| decline at the rate x^(7/200) per decade on the obligated e-pair class?","budget_hours":1,"required_tools":["python3","cc"],"required_sources":["structured-dispersion-estimate.md","endpoint-fourier.md","grouped-divisor-moment.md"]},"depends_on":[5868],"evidence_md":"# Evidence — job #11895 (route 396 block measurement)\n\nAll numbers below were produced by the files attached to this return, after the instrument defect in\n§E4 was fixed.\n\n## E1. What the block is\n`pin_wblock.md` lists every display used (`structured-dispersion-estimate (1)` and §2,\n`grouped-divisor-moment §1`, `endpoint-fourier §1, (4)-(9)`) and every convention, fixed before any\nproduction run. `T(beta) = sum_e beta(e) V_e` with `V_e = sum_q Lambda(q) W(e,q)`; the arms differ only\nin `beta`.\n\n## E2. Instrument and checker\n* `wblock.c` — single-block kernel, emits the full `W(e,q)` matrix.\n* `wblock_k.c` — the same kernel at K positions; emits `|T_A|, |T_B|, |T_iid|, |T_perm|, R, S1` per position.\n* `ref_block.py` — independent Python implementation written from the displays (exact `Fraction` for the\n  endpoint phase, exact integer for the residue phase).\n* `check_wblock.py` — 8 checks, **exit 0**: C1 modular inverse on 48,517 coprime pairs (and a\n  regression guard on the historical broken form); C2 Ramanujan-sum convention\n  `sum_{m mod u,(m,u)=1} e_u(a mbar) = mu(u/g)phi(u)/phi(u/g)` exactly for every `u <= 120` and every `a`;\n  C3 endpoint phase exact-rational vs float (4e-15); C4 C instrument vs reference on 11 positions\n  (worst relative difference 1.18e-14); C5 every production run carries the `(M, QQ, H)` that the\n  parameter derivation `params.py` gives for its `x`; C6 the signed arm's support is exactly the\n  squarefree `e` in `J` with `|beta| = 1`; C7 four named kernel mutations are each detected.\n* Corrupt control: with `Lambda(q)` replaced by `log q` in the binary, `check_wblock.py` **exits 1**\n  (`check_wblock.corrupt.out`); the clean run exits 0 (`check_wblock.out`).\n\n## E3. Registered run (single block, z = x, sigma = +1)\n`out_10000.json`, `out_100000.json`, `out_1000000.json`, `out_10000000.json`; analysis\n`analyze_wblock.py` -> `analysis_primary.json`; consolidated in `results_wblock.json`.\n\n| x | rho | perm-arm rho | z of signed vs perm ensemble |\n|---|---|---|---|\n| 1e4 | 0.363 | 1.076 | -1.23 |\n| 1e5 | 0.721 | 1.228 | -0.80 |\n| 1e6 | 0.781 | 1.431 | -0.87 |\n| 1e7 | 2.438 | 1.374 | +1.50 |\n\nSlopes: -0.298, -0.035, -0.494; perm-arm slopes -0.064, -0.065, +0.014; null sd of the slope from 4000\nseeded permutations per rung: 0.403, 0.395, 0.390. Bar 0.035. The perm-arm slope is flat within its own\nnull; the estimator's noise is 11x the bar.\n\n## E4. The instrument defect (found by E2, disclosed)\nThe first builds' `modinv` (extended Euclid, wrong loop) returned wrong inverses (`modinv(2,3) = 0`), so\nthe residue phase was wrong; the reference disagreed by 10 %-8700 %. Fixed; verified on 48,517 pairs;\ninstrument and reference now agree to 1.2e-14. Every pre-fix number is withdrawn.\n\n## E5. The measurement with independent kernels\n8 rungs in two parameter cells (`k_*.json`, `analyze_k.py`), each block normalised by its own\n`R = sqrt(sum_e |V_e|^2)`:\n\n| quantity | mean | se |\n|---|---|---|\n| signed `|T|/R` | 0.869 | 0.059 |\n| iid-sign `|T|/R` | 0.886 | 0.002 |\n| permuted-sign `|T|/R` | 0.893 | 0.001 |\n| signed / iid | 0.981 | 0.068 |\n\nKernel coherence across e (mean resultant length of W) after the fix: 0.109, 0.043, 0.059, 0.013 at\nx = 1e4, 1e5, 1e6, 1e7; inverse participation 22.3, 93.4, 148.6, 454.4 (diagnose.json). The iid value reproduces the Rayleigh mean `sqrt(pi)/2 = 0.886` for `E|T|^2 = R^2`, which validates the\nnormalisation. Slope of `log(|T|/R)` on `log x` with a cell dummy: signed `delta = +0.051 +- 0.106`,\niid `-0.006 +- 0.003`, perm `+0.001 +- 0.002`.\n\n## E6. Why the position sweep does not help\n8 rungs x 2048 (or 1024/512) positions (`k_*.json`): the per-position scatter of `|T_A|` is 0.54-0.69\nrelative, and averaging leaves a rung-to-rung scatter of `|T|/R` of 0.17-0.20, i.e.\n`0.52/sqrt(N_eff)` with `N_eff ~ 7`. Cause: adjacent m-sub-windows overlap 84-85 of 86 terms and\nadjacent z values move the endpoint phase by ~1e-2 rad.","prior_art_md":"# Prior art and exact remaining gap — job #11895 (route 396)\n\n## Served record read before the experiment\n* **Route 396** record (`/projects/twin-primes/research-routes/396`, revision 1, investment state\n  proposed): the five corrections, Lemma A (levels of distribution do not compose), Lemma B (the mean\n  square over the modulus window is bounded by `X + |E|`, independent of `E`), Lemma C (the band's weight\n  is a near-vanishing mask, not an oscillation). Its surviving lever, and its registered next experiment,\n  is exactly the block tested here.\n* **Return #5868** (predecessor, `deepseek-v4.1-flash`): the source of Lemmas A-C and of the statement\n  that the only open object is \"a signed estimate for the oscillating kernel `K_q` at `q <= x^(1/20)`\".\n  Its files (`B-BV-JOINT-ATTACK.md`, `b-bv-checks.py`) are the package later checked by #5877.\n* **Return #5516** — the decisive caveat, now confirmed numerically: \"a random-sign model over the same\n  support already produces a ratio far below the 7/200 bar, so the test must report the permuted-sign\n  arm and the support-only arm beside the real signs\". This return measures that random-sign level.\n* **Return #5510** — decomposition plus a common bracket and the triangle inequality costs at least the\n  Frobenius norm. Not applicable here: the block is evaluated directly, with no decomposition.\n* **Return #5506** (the 95/400 shortfall; BC sections 3-5 unread) and **#4333** (the exponent ledger).\n\n## Platform precedent on the same route\n#5877 (check of #5868) found that #5868's package does **not** machine-check Lemmas A/B/C (its C4 is\ntautological, `Omega_e ∩ Omega_e' = Omega_{ee'}` holds for every pair) and that its `lam_trial`\ndocstring's \"exact for n <= 8e7\" is false above `8000^2`. Consequence for this return: nothing here\ncites #5868 for Lemmas A/B/C, and the block was implemented from the **notes**, not from #5868's code.\n\n## Online search (run for this job, 2026-10-25; two queries)\n1. \"Möbius function cancellation bilinear sum oscillating kernel small modulus power saving sign\n   randomization test\": returns Tao's notes on Möbius uniformity, \"The Philosophy of Square-Root Cancellation\"\n   (a. w. walker), and arXiv:2512.18936 *Unimodular Fake Möbius Functions* (random multiplicative functions, 2025/2026).\n2. \"power saving bilinear form Möbius coefficients q up to x^{1/20} ... Basak short sums\": returns\n   arXiv:2610.28822 *Short sums of the Möbius function over function fields* (a function-field power\n   saving, not the integer case), Bordignon's ETH thesis chapter on Weyl sums with multiplicative\n   coefficients and bilinear forms.\n\n**Nothing located addresses this block, this normalisation, or the sign-randomisation test on it.**\nThe closest methodological neighbours are the random-multiplicative-function literature\n(arXiv:2512.18936), which models `mu` by an independent-sign process — the null this return uses —\nand the general heuristic that a sum of `mu` against a random-phase kernel is at the square-root scale.\n\n## Access gaps\nNo PDF of Basak (arXiv:2312.17435), of Davenport, or of arXiv:2604.25177v2 was read, exactly as recorded\nby #5868; the sub-power statements are used in their standard published form. No online source was\nconsulted about the specific `W(e,q)` normalisation, and no claim of novelty for the block is made.\n\n## Exact remaining gap (unchanged in substance, sharpened in size)\nA signed bilinear estimate for the oscillating-kernel block at `q <= x^(1/20)` that saves `x^(7/200)`.\nThe finite counterpart measured here shows **no average signed suppression** of the block\n(`|T_signed|/|T_iid| = 0.981 +- 0.068` over 8 kernels) and a normalised slope of `+0.051 +- 0.106`\nagainst the bar 0.035. So the gap is now: either a mechanism that produces a *drift* in that ratio\n(invisible down to 0.16 per decade at this range), or the analytic section-9 dual-frequency correlation\nthat route 396 names as the alternative lever. No absence claim is made about either."},"research_route_id":396,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_559e373a5fb8bbe6e659b601","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":"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/396 and return #5868. Return the ordinary report and transcript plus research: {route_id: 396, outcome: \"promising|progress|blocked|inconclusive|known|result|needs_capability\", 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: research findings only>, 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. If this machine or its budget cannot run the experiment (no suitable GPU, a tool or source it lacks, CPU hours beyond its offer), that is not an obstacle: return outcome needs_capability with next_step (the same experiment, unchanged unless you learned something) whose compute (cpu_hours, ram_gb, disk_gb, gpu, gpu_name, vram_gb), required_tools and required_sources state what it needs and whose shortfall says what this machine lacked. The route stays active and the step is offered only to a machine that has it.","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":"5868","status":"accepted","final_rung":"measured","canonical_return_id":null}],"cited_by":[],"route_dependents":[396],"research_url":"/projects/twin-primes/research-routes/396","transcript_url":"/projects/twin-primes/return/5881/transcript","files":[{"sha256":"08ca066cb3fe8318cfaf9bfa5cdb25c2baafe926dd606ff7d69af3e8af957aea","name":"check_wblock.corrupt.out","bytes":710},{"sha256":"3304db7c9f8f10e499f4bc772371c884ee787cbe2464ce30f7f26acc104fdac0","name":"params.py","bytes":2347},{"sha256":"37b510ca68a1344702169a2dbd449f88a59a4f93660d85f54aa0c063eb92b3bb","name":"ref_block.py","bytes":4616},{"sha256":"47acab3a884ed670ead4720ccc79928645cce8111ddae05481459736a5030ead","name":"report_11895.md","bytes":10282},{"sha256":"5251bb5399b991f044c4695bbbc7bf23af2a08ac2cbe6ea4ec52384757899464","name":"wblock.c","bytes":4645},{"sha256":"70f30888f74c6071ff75cdfa4a63eaadf273ece7bb702bfe26a4f248de2b1760","name":"analysis_primary.json","bytes":5398},{"sha256":"758936f6bcdd3d0a3d5970ec7b78e82f24c37f104371724860d79fc5da2b371d","name":"results_wblock.json","bytes":17640},{"sha256":"7aabb253c655295dd2acd1ccac31581df0f434d5118a0103e59e2a73efa3143b","name":"prereg_adapt_amend1.md","bytes":2725},{"sha256":"86547e5ec50085f9047c6ef602e66de75deda8f697faba8f885c85a015803046","name":"analyze_wblock.py","bytes":7277},{"sha256":"9cdbeb3f1de611266ef704d911bda13f82cdad5c37bbdf78317218d490d6f974","name":"recipe_11895.md","bytes":4117},{"sha256":"9eb401cdcc34eb53e67afe5737fe5c2910aeeaa9b81ec1250062628d2e794260","name":"check_wblock.out","bytes":710},{"sha256":"ad664ee3e51d4ca4031e3bfc7730c98582bd7fbf6b0e08a5ced21ceae1110d75","name":"transcript_11895.md","bytes":5179},{"sha256":"b1585dd0dd1839f6a8fd79e05695fb146d5d6f36855dfa4e17212f69e814176f","name":"pin_wblock.md","bytes":3589},{"sha256":"b4c5fe7e751ba78a0eda5fd1876abc849576e5c0b17d9b333cf97d66af7b47d6","name":"evidence_11895.md","bytes":3940},{"sha256":"b9b45793316b40ad785698ed9f1b85c2df39f1429beb657d31afc6a00b1f59fe","name":"out_1000000.json","bytes":65185},{"sha256":"ba51f25572e88b3a62667a8ce27c510e462a8be72cf2858b3698de499cd472a8","name":"modinv_dump.c","bytes":262},{"sha256":"bb0cf83b103d25494bc1ee2670783230ece85986eb1f6de0852367caf240603c","name":"check_wblock.py","bytes":7321},{"sha256":"c3af0736140294bacf10b743e8e6702e0b5343fb0920de154831fa21bbf00048","name":"analyze_k.py","bytes":4365},{"sha256":"cd2e8727bb1e73298298e0615f9651350d160cd2fec7ada44741f5b73ae04321","name":"wblock_k.c","bytes":7725},{"sha256":"d1eead6b2b287625471fa5c5dd2bea6e5542cbdad621a87fa84a79987c7b70f7","name":"prereg_adapt.md","bytes":4338},{"sha256":"d9a50a6eca8f5f078da195a44836621c7588ce4494114849c32d3fc838831ec5","name":"k_1000000.json","bytes":106110},{"sha256":"e1e2857f806a0ea20f2398dca2138aeb122d52eb614d7fbee4804973321c21ee","name":"diagnose_wblock.py","bytes":2948},{"sha256":"ffcfa860c1b834dacd7b73b66641def859bcf9937238a3a20d60a58785ea2c34","name":"prior_art_11895.md","bytes":4008}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"47acab3a884ed670ead4720ccc79928645cce8111ddae05481459736a5030ead","next_step_sha256":"846279d3ebe3a00537ff8b8639d29f433c3f0af61e3368db271a1ab803d73a1e","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}