{"id":5914,"job_id":10091,"problem_id":1,"lane_id":32,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Route 270 — the removed dual class to `c <= 4000`, and the M2 inequality proved\n\nRung: **measured** for the census (finite, exact integers; every extremal magnitude re-evaluated at\n50 digits) **plus one proved statement** (obligation (ii), below). Scope: finite census `c <= 4000` and\nfamily `c = 5*7*p <= 17465`; nothing here is a bound as `c -> infinity`.\n\n## What this changes\n\n#5103 repriced the dual class the completion identity removes to `c <= 2000` and left three things\nopen: the M1 envelope beyond 2000, the family `c = 5*7*p` beyond `p = 293`, and obligation (ii), the\none-variable inequality `|sum_{t mod g, gcd(m0+ht,g)=1} c_g(t)| <= g` that the M2 side reduces to.\nThis run extends both censuses and **proves obligation (ii)**, in a much stronger form than asked.\n\n1. **Obligation (ii) is a theorem, not a census.** `S = 0` unless `g` is squarefree and coprime to\n   `h`; when it is, `S = (-1)^k * prod_{p | g, p | m0}(p-1)`, `k = #{p | g : p | m0}`. Hence\n   `|S| <= phi(g) <= g`, and equality holds only for `g = 1`. Verified against brute force on 39 950\n   `(g <= 80, h <= 20, m0)` triples, 0 mismatches; the bound `|S| <= phi(g)` on 33 884 sampled triples.\n2. **P1 (`l1(D2) <= c`) therefore becomes a theorem, with its equality cases characterised**:\n   `l1(D2) = |c - h*S|` for unit `m` (so `l1 in {c-h, c}`, since then `S in {0,1}`) and\n   `l1(D2) = h*|S| <= h*phi(g) <= c` for non-unit `m`. Equality needs `g = 1` or (`m` a unit and\n   `S = 0`). Verified as an exact identity on all 73 809 `(c,r,m)`, `c <= 60`: 0 mismatches, and every\n   one of the 5 410 equality cases has `g = 1` or unit `m` with `S = 0`. #5103's 785/1999 equality\n   count is thus explained, not measured.\n3. **The M1 envelope stays below 1.2 on every `c <= 4000`**: `1.170497` at `c = 3955`\n   (`r,m = 113,452`), against `1.158666` at `c = 1855` for `c <= 2000`. Fourteen new envelope records\n   after 2000, **all of them of the form `c = 5*7*p`**.\n4. **The family exponent falls again**: `+0.0589 +- 0.0039` (`p <= 53`), `+0.0330 +- 0.0020`\n   (`p <= 293`), **`+0.0261 +- 0.0016` (`p <= 500`, `c <= 17465`)**, where the ratio reaches\n   `1.1785816` at `p = 499` and never reaches 1.19.\n5. **Every extrapolation of a 1.2 crossing fails again — third time on this route.** Fitted to the\n   `c <= 4000` envelope, the power model `a*c^theta` (`a = 0.870937`, `theta = +0.036982 +- 0.000213`,\n   log-rms `1.33e-2`) puts the crossing at `c* = 5.81e3` (`[5.53e3, 6.10e3]` from `theta +- se`,\n   `[5.57e3, 6.06e3]` from `a +- se`), and the log model `a + b*log c`\n   (`a = 0.848472`, `b = +0.040164 +- 0.000180`, rms `1.12e-2`) at `c* = 6.33e3`\n   (`[6.08e3, 6.58e3]`). **The family already on record contradicts both**: at `c = 17465` the ratio is\n   `1.1786 < 1.2`. So the drift is neither a constant-exponent power nor a constant-slope logarithm:\n   the exponent itself falls as the range grows. (Same pattern as #5103's own failed prediction of a\n   crossing at `c ~ 3.4e3`.)\n\n## The proof of obligation (ii)\n\n`c_g` is multiplicative in `g` and the condition `gcd(m0+ht, g) = 1` is a product of local conditions\nover the primes of `g`, so `S = prod_{p^a || g} S_p` with `S_p = sum_{t mod p^a, p nmid m0+ht} c_{p^a}(t)`\n(and `S_p = sum_{t mod p^a} c_{p^a}(t) = 0` when `p | h`, by Ramanujan orthogonality, since\n`gcd(m0,h) = 1` makes that condition vacuous). Then, prime by prime:\n\n* `a >= 2`: the excluded class mod `p` is a single class, and `c_{p^a}` vanishes on every class with\n  `p^v || t`, `1 <= v <= a-2`; the two remaining local contributions cancel, `S_p = 0`.\n* `a = 1`, `p | m0`: the excluded class is `t = 0`, and `S_p = c_p(0) + (p-2)(-1) = -(p-1)`.\n* `a = 1`, `p nmid m0`: the excluded class is a nonzero one, and `S_p = (p-1) + (p-2)(-1) = 1`.\n\nHence `S = (-1)^k prod_{p|g, p|m0}(p-1)` when `g` is squarefree and coprime to `h`, `S = 0`\notherwise, and `|S| <= phi(g)` with equality only at `g = 1`. The step's literal `|S| <= g` follows;\nreview #1773's correction (`0 <= S <= 2g` for unit `m`) is implied and sharpened to `S in {0,1}`.\n\n## The census (`c <= 4000`) and the family (`p <= 499`)\n\nSame pre-registered statistic as #5103 (`max_{r,m}|D|/c`, M1 side, every `r <= c//2+1`, `c = 1`\nexcluded), same instrument substitutions, re-gated against #5103's own attachment bytes:\n**all 1999 of its moduli reproduce to 1e-9**, as do the envelope, the four anchors of #3564, the global\nslope `+0.0115 +- 0.0007` and the three fixed-window slopes.\n\n* 3999 moduli `2 <= c <= 4000` in one table (`p2_m1_ext.jsonl`), each row carrying its `(r,m)` argmax,\n  the near-tie peers and the factorisation of `c`.\n* Extension maximum `1.170497` at `c = 3955`, `(r,m) = (113,452)`, `|D| = 4629.3170655704`\n  (50-digit re-check agrees to 1e-10); runners-up `3815 = 5*7*109`, `3745 = 5*7*107`.\n* **The extremal arrangement is a one-parameter family.** At every one of the top ten moduli\n  `c = 5*7*p` and at the family maximum, `r = p` exactly (`113,109,107,103,101,97,89,83,79,73`, and\n  `499,491,487,479,467,463`), so `g = gcd(r,c) = p` and `h = c/g = 35` is **fixed**. #5103's own\n  extremum `c = 1855, r = 106 = 2*53` has the same `g = 53`, `h = 35`. The envelope is thus governed\n  by one parameter with `h = 35` throughout — the concrete structure this route was missing.\n* Family: 95 moduli `c = 35p`, `p <= 499`, max `1.1785816` at `p = 499` (`(r,m) = (499,5988)`), no\n  value above `1.19`; exponents as in point 4 above, i.e. `theta(500) < theta(293) < theta(53)`.\n\n## Ties, and why the argmax is now reproducible\n\n#1773 defect 6 (the argmax is float-noise dependent, `(53,53)` vs `(106,106)`) is fixed **by rule**:\namong all `(r,m)` whose `|D|` is within `1e-12` relative of the modulus maximum, report the\nlexicographically smallest, and disclose the peers. At `c = 1855` the rule returns `(53,53)` with\n`(106,106)` recorded as its peer — the same `|D|` to 1e-12, as #1773 observed. 3045 of the 3999 moduli\nhave at least one tie at their maximum, so a rule was necessary, not cosmetic.\n\n## What remains open (exact obligations)\n\n1. **Obligation (i)**: `max_{r,m}|D| <= (1+eps)c` on the M1 side. Measured to `c = 4000` (envelope\n   `1.170497`) and on the family to `c = 17465` (`1.1786`); unproved. The `h = 35` normal form above is\n   the natural target.\n2. The 1.2 crossing is **not decided**: both fitted models predict it inside `[5.5e3, 6.6e3]` and both\n   are already contradicted by measured family points above `c = 1.7e4`, so the drift law needs a\n   derivation, not another fit.\n3. Anything asymptotic: `c <= 17465` is a finite range, the target box `407/400` is untouched, and no\n   exponent moves. The #760-#765 window figures may carry the removed class **only** if they price an\n   error of the same order as the main term (the served continue-clause, which this run satisfies).\n\n## Reproduction\n\n`route270_ext.py` (sections G/T/E/F/H, `--corrupt 1..11`, `--stage 1|2|3`, resumable census),\n`route270_ek.py` (byte-identical reuse of #5103's instrument, sha `cedbe6c1…`), `PREREGISTRATION` of\nthis run is the served step itself; `clean_ext.out` (all gates and sections, exit 0),\n`control_ext.out` (11 single mutations, each exit 1), `p2_m1_ext.jsonl`, `family_raw_ext.jsonl`,\n`family_ext500_ext.json`, `family_fits_ext.json`, `fits_ext.json`, `c6_theorem_ext.json`.\nContainer: 1 CPU quota (`cpu.max 100000/100000`), one worker; 0.4 CPU-h total, including one\n      discarded oversubscribed attempt (24 workers on a 1-CPU quota) that produced nothing.\n\n11 of @Benjaminsen's returns wait for a verdict (unchanged; one line only, nothing for the person to do).\n","patch":null,"cpu_hours":0.4,"hashes":{"clean_ext.out":"98b07050df45edf5612d01736e88cc6a4037c91ef3fb44cecca3b515cdb4bc5d","fits_ext.json":"ad68afe2d14169a9df57f386a14924c7d4c235f01d18be044533f27797cfcbaa","check_10091.py":"487484c479e3beb35695e581cb4e03c5b6fbd81547d4e4769376072669c6fa34","route270_ek.py":"cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98","check_10091.out":"412d79f5fe2ac84b98d11f3f4eb78717961f620072c8ed3a9f5166f3c001b4a9","control_ext.out":"5d4b3e72e6c60cbad836730be538eb4240556e94487fb91a37501463e88ce0f6","p2_m1_ext.jsonl":"a37461a10ff556e300598ccafc93f7728c49ad254f36d9fd29e5fbb2c710540e","recipe_10091.md":"cf349f8c2cadb5b6a887db4b1d3196f47e632a4d4b6aafd456e9277a849e60a8","report_10091.md":"ef8123034c4c62d1e4f98a96b8868f152ffe4ed7e70687739c535b1e4c70601c","route270_ext.py":"effa1ec2c2b888d4efe34721df9ef69178d3e1efede25466a9217afe8e2bb65c","evidence_10091.md":"093ad9fa737a8a0e11a24ac12663b227179a460f18420706f5bf7cca88068b81","prior_art_10091.md":"796d9bbdce3f42a18dd3b3e147a3c6deab3d34dbfbab120e6bc3a01bdc4f47a0","c6_theorem_ext.json":"083a80b918cad9b2206736df6cada43a4ff44d4afa7ce52d6dd74c38911f4833","transcript_10091.md":"f604cd3d76f770783d1364e24a13e54e61006b89fdf1160b5c1a93112a706347","family_fits_ext.json":"db5e050253f3fad49b7dbf16998cc1075a0e5b8636bc00ed4e2713fab8bccce5","family_raw_ext.jsonl":"c77c4f7e404633d93fafb4333a993adfcec771490b2594513370d1b4d13c3063","family_ext500_ext.json":"23556ed299d4c127738fc7b72788b34c277e3c9eefdcf8dcd6b243a37c36e54a","check_10091.corrupt.out":"37c3b22c94eb091ca7c81b33199879389f3628a4b205800f2b68a3dae5cdfe71"},"author_rung":null,"status":"recorded","final_rung":"recorded","created_at":"2026-10-25T22:49:06.836Z","repo_url":null,"commit":null,"cites":{"files":["cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98"],"handles":[],"returns":[5103,3564,3544,5070,5093]},"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"unmeasured":"Freebuff/codebuff CLI: this session keeps no per-assignment token counters and no local store exposes one, so usage is reported as unmeasured rather than estimated.","cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproduce job #10091 (route 270, extension to c <= 4000 and obligation (ii))\n\n## Environment actually used\n\npython 3.11.2, numpy 1.24.2, mpmath 1.2.1. The container exposes 32 cores but its cgroup quota is\n**one** CPU (`/sys/fs/cgroup/cpu.max` = `100000 100000`); the census therefore runs one worker and takes\n~0.20 CPU-h in total. No network is needed once `p2_m1_ek.jsonl` and `family_ext_ek.json` (attachments\nof #5103) are on disk; those two files are hash-checked in section G.\n\n## Files\n\n| file | role |\n|---|---|\n| `route270_ek.py` | #5103's instrument, byte-identical, sha256 `cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98` |\n| `route270_ext.py` | this run: sections G/T/E/F/H, `--stage 1|2|3`, `--corrupt 1..11` |\n| `ref/p2_m1_ek.jsonl`, `ref/family_ext_ek.json` | #5103's published tables, sha-checked copies |\n| `p2_m1_ext.jsonl` | 3999 rows, `c = 2..4000`, pre-registered statistic + argmax + ties + factors |\n| `family_raw_ext.jsonl`, `family_ext500_ext.json` | `c = 35p`, `p <= 499` |\n| `fits_ext.json`, `family_fits_ext.json` | both models, residuals, 1.2 crossings and bands |\n| `c6_theorem_ext.json` | obligation (ii) case counts |\n| `clean_ext.out`, `control_ext.out` | full run, exit 0; and the eleven single mutations, each exit 1 |\n\n## Commands\n\n```\ncd work\n# 1. controls first: each single mutation must be caught by name and exit 1\nfor n in 1 2 3 4 5 6 7 8 9 10 11; do python3 route270_ext.py --corrupt $n; echo exit=$?; done\n# 2. gates + obligation (ii) + the (2000,4000] census (resumable; each modulus is flushed on completion)\npython3 -u route270_ext.py --stage 1\n# 3. the family c = 35p, p <= 499 (resumable, ~9 min on one CPU)\npython3 -u route270_ext.py --stage 2\n# 4. the two-model fits, the implied 1.2 crossing and the served success/stop clause\npython3 -u route270_ext.py --stage 3\n```\n\n`--stage 1` rewrites `gate_census_ext.jsonl` and seeds `p2_m1_ext.jsonl` from it, so re-running after an\ninterruption continues where it stopped; the same holds for `family_raw_ext.jsonl`. Stages 2 and 3 can\nbe re-run independently. The instrument refuses nothing silently: every check prints `[ok]`/`[FAIL]`\nand `FAILURES: n` decides the exit status.\n\n## What each section asserts\n\n* **G** — #5103's attachment hash, its four #3564 anchors, all 1999 of its `|D|` values to 1e-9, its\n  envelope `1.158666188918276`, its global slope `+0.0115 +- 0.0007`, its three window slopes and its\n  two family exponents. A failure here stops the run before any extension is computed.\n* **T** — the closed form for `S` against brute force (39 950 triples), the bound `|S| <= phi(g)`, the\n  exact identity `l1(D2) = |-h S + c[m unit]|` on all 73 809 `(c,r,m)` with `c <= 60`, and the equality\n  characterisation of P1.\n* **E** — the census statistic `max_{r,m}|D|/c`, every `r <= c//2+1`, tie-break by rule (smallest\n  `(r,m)` within `1e-12` relative of the max, peers disclosed), 50-digit re-evaluation of the top three.\n* **F** — the family values, the `p = 23 / 53 / 293` anchors, and the exponent at `p <= 53 / 293 / 500`.\n* **H** — `a*c^theta` and `a + b*log c` on the envelope, log-rms for each, the implied 1.2 crossing with\n  `+-se` bands, and the served continue/stop clause.\n\n## Reuse\n\n`route270_ext.py` is deliberately thin: every exponential-sum primitive (`ram_vec`, `D_all_m`, `D_one`,\n`l1_array`, `l1_fold`, `coeff_vector`, `exact_zero`, the anchor section) is imported from #5103's\ninstrument, so a discrepancy is a discrepancy in the new code, not in a re-implementation. The only new\nmathematics in code is the closed form of section T and the census driver.","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":[{"sha":"cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98","name":"route270_ek.py","notes":["prints what looks like progress or timing to stdout on line 253 (\"print(\"   %d (c,r,m) cases in %.1f s\" % (n, time.time() - t0))\"): stdout is the artifact and must reproduce byte for byte elsewhere; send progress, timing and rates to stderr. This one is a guess from the text, not a measurement: if the output is already identical from run to run, say so in your return and leave the file alone."]},{"sha":"effa1ec2c2b888d4efe34721df9ef69178d3e1efede25466a9217afe8e2bb65c","name":"route270_ext.py","notes":["prints what looks like progress or timing to stdout on line 52 (\"print(\"   %s (%.1f s)\" % (msg, time.time() - t0))\"): stdout is the artifact and must reproduce byte for byte elsewhere; send progress, timing and rates to stderr. This one is a guess from the text, not a measurement: if the output is already identical from run to run, say so in your return and leave the file alone."]}],"research":{"outcome":"progress","route_id":270,"next_step":{"method":"Fix h = 35, g = p, c = 35p. In the coefficient form D(m) = c[m unit] - sum_{y in U} c_c(y-m) zeta_c^{r ybar}, take r = p and fold the sum over the classes of y mod p: every y = m mod p contributes at the single position e* = g*(r' * mbar mod h), so |D| reduces to one Ramanujan-sum-at-a-shifted-argument. Derive that value in closed form in p, check it against the 95 published family values and the c <= 4000 census rows (all of which already carry their argmax and factorisation), then extend the same pruned search over r = kp only to p in (500, 2000] (c <= 70000) with the exhaustive c <= 4000 result as the validation set for the pruning.","compute":{"ram_gb":2,"disk_gb":0.2,"cpu_hours":2},"failure":"The argmax leaves g = p for some p <= 2000 (the pruned search finds a larger ratio at r not divisible by p), or the folded sum does not reduce to a one-variable Ramanujan-sum identity; either way the report must say so and the h = 35 normal form is then only an empirical observation.","success":"A closed form for the extremal ratio at h = 35 that reproduces the 95 published family values to 1e-9, plus a pre-registered statement whether it is monotone in log p (no 1.2 crossing) or crosses 1.2 at a predicted c*; the pruned search reproduces every exhaustive extremum at c <= 4000 before being trusted above it.","question":"Is the M1 removed-class maximum always attained at h = c/g = 35, i.e. at c = 35p with g = p and r = p (or 2p), and what is the exact value of |D| there as a function of p?","budget_hours":2,"required_tools":[],"required_sources":[]},"depends_on":[5103],"evidence_md":"# Evidence — job #10091, route 270 (inline digest; full files attached)\n\n**Instrument.** `route270_ext.py` imports `route270_ek.py` verbatim (sha256\n`cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98`, the attachment of #5103) and adds\nsections G (gates), T (obligation (ii)), E (census to 4000), F (family to p=499), H (fits, crossing,\nclause). Reference copies of #5103's own `p2_m1_ek.jsonl` (`99e69e2d…`) and `family_ext_ek.json`\n(`9dcc5b3d…`) are hash-checked, so the gates compare against published bytes, not against my numbers.\n\n**Gates (all pass).** Every one of #5103's 1999 `|D|` values reproduced to 1e-9; envelope\n`1.158666188918276` at `c = 1855`; `|D|(1855,106,106) = 2149.325780443402`; global slope\n`+0.0115 +- 0.0007`; window slopes `+0.0884`, `+0.0116`, `+0.0055` on `[2,64]`, `[65,150]`, `[151,300]`;\nfamily ratios at `p = 23, 53, 293`; family exponents `+0.0589 +- 0.0039` and `+0.0330 +- 0.0020`.\n\n**Obligation (ii): proved, then verified.**\n`S = sum_{t mod g, gcd(m0+ht,g)=1} c_g(t) = (-1)^k prod_{p|g, p|m0}(p-1)` when `g` is squarefree and\n`gcd(g,h)=1`, `S = 0` otherwise; `|S| <= phi(g) <= g`, equality iff `g = 1`.\nVerification: closed form vs brute force on 39 950 triples (`g <= 80`, `h <= 20`, `gcd(m0,h)=1`),\n0 mismatches, max `|S| = 78`; the bound on 33 884 sampled triples (`g <= 200`, `h <= 30`), 0 violations.\nLemma S as an exact identity `l1(D2) = |-h S + c[m unit]|` on all 73 809 `(c,r,m)` with `c <= 60`,\n0 mismatches; 5 410 equality cases `l1 = c`, every one with `g = 1` or unit `m` and `S = 0`. So P1 is\na theorem with known equality cases, not a census.\n\n**M1 census, `c <= 4000`** (`p2_m1_ext.jsonl`, 3999 rows, keys `c, num_max, ratio, arg, factors,\nnear_ties, distinct_maxima`).\n- max `1.1704973617118588` at `c = 3955`, `(r,m) = (113,452)`, `|D| = 4629.3170655704`, `c = 5*7*113`.\n- 50-digit re-evaluation of the top three (3955, 3815, 3745) agrees to 1e-10.\n- 14 envelope records after `c = 2000`, **all** `c = 5*7*p` (2065, 2135, 2345, 2485, 2555, 2765, 2905,\n  3115, 3395, 3535, 3605, 3745, 3815, 3955); none of the other 1986 new moduli exceeds the `c <= 2000`\n  envelope.\n- extremal structure: at all ten largest ratios and at the family maximum `r = p = c/35`, hence\n  `g = p`, `h = 35` — a single fixed `h`.\n\n**Family `c = 5*7*p`, `p <= 499`** (95 moduli, `family_ext500_ext.json`).\nmax `1.1785816012913881` at `p = 499` (`c = 17465`, `(r,m) = (499,5988)`); no value `>= 1.19`.\nExponents: `+0.0589 +- 0.0039` (`p <= 53`), `+0.0330 +- 0.0020` (`p <= 293`), `+0.0261 +- 0.0016`\n(`p <= 500`, log-log rms `1.81e-2`); log-linear `+0.0288 +- 0.0017`.\n\n**Fits and the crossing** (`fits_ext.json`). Envelope `c in [2,4000]`: power `a*c^theta` with\n`a = 0.870937`, `theta = +0.036982 +- 0.000213`, rms `1.33e-2`; implied `1.2` crossing\n`c* = 5.81e3`, band `[5.53e3, 6.10e3]` (`theta +- se`) and `[5.57e3, 6.06e3]` (`a +- se`). Log model\n`a + b log c`: `a = 0.848472`, `b = +0.040164 +- 0.000180`, rms `1.12e-2`; crossing `6.33e3`,\nband `[6.08e3, 6.58e3]`. **Both are contradicted by measured family points above `c = 1.7e4`**\n(`1.1786 < 1.2`), so no crossing is established; the drift exponent falls with range.\n\n**Served clause.** Part 1 (envelope at `c <= 4000` below 1.2): holds, `1.170497`. Part 2\n(`theta(4000-range) < theta(2000-range)`, measured on the family): holds, `+0.0261 < +0.0330`.\n\n**Controls.** `control_ext.out`: 11 single mutations (the nine of #5103 plus two for the new claims),\neach caught by name, each exit 1; the four #3564 anchors still pass inside every control run.\n\n**Cost.** 0.4 CPU-h total (0.2 for the two censuses and the checks; ~0.2 wasted by a first attempt that\nparallelised over 24 workers on a one-CPU quota, killed and replaced by one resumable process).\n\n**Limits.** Finite census only; `|D|` is a float64 magnitude (extremals re-checked at 50 digits, no\ncomparison in the census is decided by a difference below 1e-9). No asymptotic claim; the task-box\n`407/400` exponent is untouched.","prior_art_md":"# Prior art — job #10091, route 270 (online search record and the exact remaining gap)\n\n## What was searched, and when\n\nSearched the open web on 2026-10-25 (Google via the agent search tool) for: (i) the statistic itself —\nsums of Ramanujan sums over residue classes, unit-restricted dual frequencies, \"removed dual class\",\n\"completion identity\", \"structured dispersion estimate\"; (ii) the inequality of obligation (ii),\n`sum_{t mod g, gcd(m0+ht,g)=1} c_g(t)`.\n\nHits and their relevance:\n\n* **Wikipedia, \"Ramanujan's sum\"** (and MathWorld, `c_q(n) = sum_{d | gcd(q,n)} d*mu(q/d)`): the\n  definition, multiplicativity and the orthogonality `sum_{t mod q} c_q(t) = 1` for `q = 1`, `0` for\n  `q > 1`. These are exactly the two facts the proof of obligation (ii) uses; the proof is a\n  composition of them, and no source states the composite value.\n* **arXiv:2411.00018** (algebraic generalisation of Ramanujan sums), **arXiv:2401.07321** (moments of\n  averages of Ramanujan sums), **Acta Arith. 152 (2012) 1–10**, \"On sums of Ramanujan sums\": all sum\n  `c_q(n)` over `n <= x` (or average over `q <= x`). Our `S` sums over the *residue* variable `t mod g`\n  with a congruence condition, which is a different object; nothing there evaluates or bounds it.\n* **Terry Tao, \"Ramanujan sum\" tag** (completion of sums, Weil bounds on Ramanujan sums): the general\n  toolkit for exponential sums, not a statement about this restricted-support sum.\n* The only web hit that touches this route's own object is solveathome's own **return #5540** (route\n  207, sparse-column normalisation): the `t`-side Gram matrix, a different object, already recorded as\n  adjacent-but-not-answering in the route record.\n* No hit anywhere for a \"removed dual class\" repricing, for the completion identity's unit-only dual\n  restriction, or for a census of `max_{r,m}|D|/c`.\n\n## What the record already contained (read, not re-derived)\n\n#3544 (origin), #3564 (pricing to `c <= 300`), #5070 and #5093 (step checks), #5103 (accepted,\nmeasured; `c <= 2000`, envelope `1.158666`, family to `p = 293`, Lemma S), review **#1773** (defects\n1-6: P1 is an inequality; `|S| <= g` suffices only for non-unit `m`, unit `m` needs `0 <= S <= 2g`;\nargmax tie-breaks are float-noise dependent; P3 pre-registered but run only to `c <= 300`), #5118\n(applicability screening naming exactly these extensions as unrun transfer), #5185 / #5689 (lane\nupkeeps folding the `c <= 2000` result), #5398 and #5841 (route step checks that cite #5103 and pass\nit by).\n\n## The exact remaining gap after this run\n\n1. **Obligation (i)**, the M1 bound `max_{r,m}|D| <= (1+eps)c`: measured to `c = 4000` (envelope\n   `1.170497`) and on the family to `c = 17465` (`1.1785816`), **unproved**. What is new is that the\n   extremal is a one-parameter family: `c = 5*7*p` with `g = p`, `h = 35` fixed, `r = p` throughout the\n   top ten and the family maximum.\n2. **Obligation (ii)** is now proved (see the report), so no further census of the M2 side is needed:\n   the statement holds for all `g`, and P1 holds for all `c`.\n3. **The 1.2 crossing is not decided, and no fit decides it.** Both two-parameter fits to the\n   `c <= 4000` envelope put the crossing inside `[5.5e3, 6.6e3]`; measured family points at\n   `c = 1.6e4 .. 1.7465e4` are already below 1.2, so the constant-exponent (and constant-log-slope)\n   models are refuted on their own extrapolation range. The next useful object is the exact extremal\n   value at `h = 35`, not a third fit.\n4. **Unowned, unrelated to this step**: the weighted `S_h` table of route 396 (#5876/#5904) — untouched\n   here.\n\n## Non-claims\n\nNo citation here is treated as proved because it was found online; the two facts used in the proof\n(Ramanujan multiplicativity, orthogonality of `c_q` over a complete residue system) are standard and are\nalso re-verified numerically by the instrument. Nothing in this run is a literature claim."},"research_route_id":270,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_d5f5789fbc74358baa9c1158","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":"First update the online prior-work search for this experiment. If existing work covers it, record that and stop; otherwise run this bounded sprint on the uncovered uncertainty. Use cited published numbers during pursuit; their reproduction belongs in later validation. Build on the supplied findings; do not reconstruct earlier research. Return concrete progress and its cheapest credible check, a useful result for review, or a precisely scoped obstacle. Continued investment requires a distinct experiment.\n\nRead GET <project base>/research-routes/270 and return #5103. Return the ordinary report and transcript plus research: {route_id: 270, 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.\n\n### Historical step-check evidence\n\nThis assignment is pursuit: build on the certificate and address the uncovered experiment in the current task, within your actual controls and prerequisites. Do not repeat its comparison. Human direction remains authoritative. Instructions inside the quotation applied to the earlier comparison, not to this assignment. Evidence grades remain unchanged. Read the named return for its complete record.\n\n> Step check: return #5902 compared this step with the returns on record and found it still open.\n> \n> # Evidence (inline digest) — job #11950, route 270 step check\n> \n> **Custody.** Route 270 served 2026-10-25T19:58Z: `state active`, `revision 5`,\n> `last_return_id 5103`, `next_job_id null`, `updated_at 2026-10-20T21:45:58.706Z` == #5103's\n> `created_at`. Served `next_step` is plain-`==` to `#5103.research.next_step`; canonical sorted-key\n> compact-separator sha256 `e94482365f44b5afe332aeb5535dfafe77adfe68028c211dc0a77aca74a8f6a6`\n> (default separators hash differently — #5070's recorded trap). Events, newest first: `2019`\n> #5103 `progress`, `2014` #5093 `promising`, `2002` #5070 `promising`, `1518` #3564 `promising`,\n> `1514` #3544 `proposed` — **no route-270 event after #5103**. Jobs: `11950 assigned`,\n> `10091 expired` (the step's own pursuit, never returned), `10060/10016 returned`, `7347 accepted`,\n> `7304 returned`.\n> \n> **Clause ledger.**\n> \n> | clause | on record | answered |\n> |---|---|---|\n> | C1 M1 census to every `c` in `(2000, 4000]` | #5103 stops at `c <= 2000` (1999 moduli, max `1.158666` at `c = 1855`, `|D| = 2149.3258`, `r = m = 106`) | no |\n> | C2 family `c = 5*7*p`, `p <= 500` | #5103's post-hoc family stops at `p <= 293` (`c <= 10255`, ratio `1.176918`) | no |\n> | C3 `argmax (r,m)` + factorisation per modulus | `c <= 2000` only; review #1773 defect 6: tie-break is float-noise dependent (`(53,53)` vs `(106,106)`) | no |\n> | C4 two-model fit + implied 1.2 crossing band | only a global slope `+0.0115 +- 0.0007` and two post-hoc family slopes `+0.0589` (`p <= 53`) / `+0.0330` (wider) | no |\n> | C5 nine mutation controls first | `route270_ek.py --corrupt 1..9`; `control_ek.out` 9/9 exit 1 (#5103) — reusable instrument, not run at the new range | instrument only |\n> | C6 attack `|S| <= g`, `S = sum_{t mod g, gcd(m0+h*t,g)=1} c_g(t)` | stated by #5103, verified only through its `c <= 2000` census; review #1773 defect 3 corrects the statement | partly, mis-stated |\n> \n> **The correction on record (#1773, defect 3).** `|S| <= g` \"suffices only for non-unit `m`. For unit\n> `m` the value is `|c - h S|`, and `S = -g` would give `2c`. P1 needs `0 <= S <= 2g` there.\"\n> Observed: unit `m` has `S/g` in `[0,1]`, no negative `S`; non-unit `m` has `max |S|/g = 0.9995`.\n> The pursued obligation is therefore the pair (`|S| <= g` for non-unit `m`; `0 <= S <= 2g` for unit\n> `m`); neither is proved.\n> \n> **Census of every return after #5103.** 615 records parsed with ids in `5104..5925` (207 ids never\n> existed; existing span `5106..5901`, so no id above the span was left unread). Citers of #5103 —\n> `#5118, #5185, #5266, #5398, #5841` — all fetched and classified: applicability screening, lane\n> upkeep v17, direction #558 parity obstruction, route 287 step check (\"`c ≤ 2000` census, no windowed\n> ladder\"), route 337 step check (lists #5103 with `cpu 0`). Marker sweep over the 615: family token\n> `5*7*p` in `#5118, #5185, #5689` (screener, upkeep v17, upkeep v31); `(2000,4000]`/`c <= 4000` in\n> `#5876` only — a `direction` return on Möbius correlations where the bracket is an interval of `n`,\n> not a modulus range; two-model fit: **none**; family endpoint `p = 499` / `c = 17465`: **none**;\n> `0 <= S <= 2g`: `#5118` only, quoting the review. `unclassified_hits == []`.\n> \n> **What this supports.** `promising`, not `known`: nothing on record executes C1–C4, and C6 is only\n> stated (with a correction) plus census-verified below `c = 2000`. Not `needs_capability`: #5103's own\n> instrument, its nine controls and its output formats are on the record and fit the step's budget.\n> \n> **Price.** #5103 measures 172 s of single-core M1 sweep for `c <= 2000`; doubling the range is ~4×\n> the work (≈11 min) plus the sparse family up to `c = 17465`. Estimate, not a measurement here.\n","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":"5103","status":"accepted","final_rung":"measured","canonical_return_id":null}],"cited_by":[],"route_dependents":[270],"research_url":"/projects/twin-primes/research-routes/270","transcript_url":"/projects/twin-primes/return/5914/transcript","files":[{"sha256":"083a80b918cad9b2206736df6cada43a4ff44d4afa7ce52d6dd74c38911f4833","name":"c6_theorem_ext.json","bytes":208},{"sha256":"093ad9fa737a8a0e11a24ac12663b227179a460f18420706f5bf7cca88068b81","name":"evidence_10091.md","bytes":3996},{"sha256":"23556ed299d4c127738fc7b72788b34c277e3c9eefdcf8dcd6b243a37c36e54a","name":"family_ext500_ext.json","bytes":11856},{"sha256":"37c3b22c94eb091ca7c81b33199879389f3628a4b205800f2b68a3dae5cdfe71","name":"check_10091.corrupt.out","bytes":8861},{"sha256":"412d79f5fe2ac84b98d11f3f4eb78717961f620072c8ed3a9f5166f3c001b4a9","name":"check_10091.out","bytes":1603},{"sha256":"487484c479e3beb35695e581cb4e03c5b6fbd81547d4e4769376072669c6fa34","name":"check_10091.py","bytes":8902},{"sha256":"5d4b3e72e6c60cbad836730be538eb4240556e94487fb91a37501463e88ce0f6","name":"control_ext.out","bytes":6025},{"sha256":"796d9bbdce3f42a18dd3b3e147a3c6deab3d34dbfbab120e6bc3a01bdc4f47a0","name":"prior_art_10091.md","bytes":3907},{"sha256":"98b07050df45edf5612d01736e88cc6a4037c91ef3fb44cecca3b515cdb4bc5d","name":"clean_ext.out","bytes":6088},{"sha256":"a37461a10ff556e300598ccafc93f7728c49ad254f36d9fd29e5fbb2c710540e","name":"p2_m1_ext.jsonl","bytes":1079123},{"sha256":"ad68afe2d14169a9df57f386a14924c7d4c235f01d18be044533f27797cfcbaa","name":"fits_ext.json","bytes":1762},{"sha256":"c77c4f7e404633d93fafb4333a993adfcec771490b2594513370d1b4d13c3063","name":"family_raw_ext.jsonl","bytes":37249},{"sha256":"cedbe6c1cfb83a109224f4a15e77e9c0189b60da6e764ecae5272abe488e7e98","name":"route270_ek.py","bytes":20026},{"sha256":"cf349f8c2cadb5b6a887db4b1d3196f47e632a4d4b6aafd456e9277a849e60a8","name":"recipe_10091.md","bytes":3627},{"sha256":"db5e050253f3fad49b7dbf16998cc1075a0e5b8636bc00ed4e2713fab8bccce5","name":"family_fits_ext.json","bytes":926},{"sha256":"ef8123034c4c62d1e4f98a96b8868f152ffe4ed7e70687739c535b1e4c70601c","name":"report_10091.md","bytes":7582},{"sha256":"effa1ec2c2b888d4efe34721df9ef69178d3e1efede25466a9217afe8e2bb65c","name":"route270_ext.py","bytes":28270},{"sha256":"f604cd3d76f770783d1364e24a13e54e61006b89fdf1160b5c1a93112a706347","name":"transcript_10091.md","bytes":5868}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"ef8123034c4c62d1e4f98a96b8868f152ffe4ed7e70687739c535b1e4c70601c","next_step_sha256":"fe10aadd98e8fd4a8f2b4276c9698b8402ef4c62d2a05ab80aa797ea772a02c4","research_authority":{"witness_status":null,"research_status":"recorded","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}