{"id":2459,"job_id":5086,"problem_id":1,"lane_id":4,"type":"explore","user_id":1,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #5086 (route 31, pursue) — the level displacement is not robust to the normaliser that the thinning control changes by two to three orders of magnitude\n\nRun-2026-10-07-co. Route 31, stage `pursue`, lane measure, general mode. Read-only served\nfetches plus one bounded local computation (`sah.py bounded`, 135 s wall, 3 cases).\n\n## Summary\n\nRoute 31's held step asks whether the level displacement its amplitude clause needs tracks\n**divisibility placement modulo `P_U`** or only **first-order per-cell occupancy**. The\nregistered device is #2348's occupancy-preserving matched control. Two results.\n\n**(1) The registered device is not constructible as written**, so no run of it exists to\nconsume. Its clauses apply to different objects — \"permute the `Lambda` vectors within\n`m mod P_U` as N4u does\" *preserves* the value-to-class association, while its own fidelity\ngate requires the measured same-residue rate to sit at the `1/P_U` **chance** level, which\nN4u is measured *not* to do in #2348's own fidelity file (0.8528/0.9261 against chance\n0.00641/0.46959). Route 184's identical `next_step` is unanswered (`last_return_id` 2348),\nso the step's escape clause is void.\n\n**(2) The cheapest substitution — the placement-destroying control with the normaliser held\nfixed — changes the reading, and not in favour of the served one.** The confound the\nregistered control was invented to remove is not small: the **observed** residual\n`mean_sq` lies *outside the entire range* of the thinning draws' `mean_sq` in all three\nanchored cases (11.42 against [978.9, 10815.6] at `x=2^16`; 17.31 against [1379.1, 12024.5]\nat `2^17`; 24.90 against [2234.1, 23984.1] at `2^20`); the draws' relative sd is 202–299×\nthe observed value. The thinning cloud is therefore *not* matched to the observed grid on\nthe normaliser at all, and `mean_sq` is an argument of `stat.rl`. Holding it fixed (the\nserved estimator is unchanged — `grid_of(stat, resid, mean_sq)` already takes it as an\nargument) gives:\n\n| case | served `\\|z\\|` / null max | matched `\\|z\\|` / null max | branch |\n|---|---|---|---|\n| `2^16` beta `U=10`, `P_U=210` | 4.7914 / 3.9652 | **5.1510 / 3.2276** | outside (60 % margin) |\n| `2^17` alpha `U=14`, `P_U=30030` | 5.5125 / 4.1156 | **5.2129 / 5.2830** | **inside** (2.3 % short) |\n| `2^20` alpha `U=14`, `P_U=30030` | 5.9941 / 4.0763 | **4.9342 / 4.1700** | outside (18 % margin) |\n\nThe case the registered **success clause names by number** (`x=2^17`, \"`|z_obs|` ~5.16\nagainst a null max ~3.76\") is exactly the case that does **not** clear its matched null:\nthe matched null max rises from 4.1156 to 5.2830 and `|z_m| = 5.2129` lands inside. So the\nsuccess clause is not reached under the matched device, and the two cases that do clear it\ndo so by a margin that the served read overstated.\n\nAnchoring gate passed before any new number was read: the harness reproduces #2348's own\npublished seed-4164 `|z_level|` for the served readings at all four of its tabulated cells\n(3.0058, 4.7914, 5.1639, 5.5125) to ≤1.3e-5 relative, and the case construction reproduces\n`out__control_fidelity.json`'s `NR`, `P_U` and mean class size exactly.\n\n## What this changes\n\n- **#2348's inference \"the control is faithful\" is not supported by its fidelity test.**\n  That test measures only the same-residue rate; the file contains no normaliser column, so\n  it cannot see that the thinning cloud differs from the observed grid by ~10²–10³ on an\n  argument of the estimator. Its reading \"against thinning the observed grid is outside the\n  null's range 3/3, so the control's failure to discriminate is real\" therefore is not a\n  statement about placement — it is confounded on the normaliser axis.\n- **The route's held question is not settled, and is now better posed.** Replacement *does*\n  not read as \"not placement\": 2 of 3 cases stay outside under matching. What is missing is\n  a matched device run over the route's full anchored set with a seed-stability clause.\n- **#2348's normaliser confound is measured, not inferred**, for the first time: the observed\n  `mean_sq` is not merely different from the cloud's, it is below the cloud's whole range.\n\n## Rungs and scope\n\n- **PROVEN in-run:** the two records' identities/revisions and the void escape clause; the\n  anchoring gate; the normaliser-range statement; the verdict arithmetic.\n- **VERIFIED:** the four-cell match against #2348's published served readings (≤1.3e-5\n  relative) and the fidelity-file case parameters; every branch taken exactly as\n  preregistered.\n- **CONJECTURED (not claimed as measured):** that #2272's original 9/9 thinning reading is\n  likewise a normaliser effect — only the three anchored cases here were run.\n- **Scope:** three finite cases, 200 draws, seed 4164, one control family, level statistic\n  only. No asymptotic, exponent or `E_>(x)` claim; nothing about `mu`'s sign correlations.\n  The leave-one-out pseudo-observations are exchangeable with each other *by construction*,\n  so a calibrated range is a statement about the estimator, not about the data.\n\n## Defects and disclosures in this run\n\n1. **Post-hoc case added.** `prereg_co.md` fixed two cases. They disagreed, so the third\n   anchored case #2348 tabulates (`x=2^20` alpha) was run with the same rule, disclosed as\n   an extension in `results_co_ext.json` and here. Its anchors are #2348's own published\n   numbers for that case, so it is an anchoring extension, not a search.\n2. **Three JSON artifacts fetched from the server were re-serialised** when saved by the\n   local wrapper (`out__control_fidelity.json`, `out__anchor_evidence.json`,\n   `summary_n4.json` differ from the served sha256 in whitespace only); every number used\n   from them was re-read and re-derived by `check_co.py`.\n3. **The registered control was not built.** No claim is made that it is unnecessary in\n   general — only that its two clauses must first be separated, and that the discriminator\n   it was for can be read without it.\n4. `check_co.py` initially passed two of nine planted mutations because it trusted stored\n   booleans; all 20 checks now recompute from raw numbers and all 9 mutations are caught.\n\n## Cheapest credible check of this return\n\nRun `check_co.py` (stdlib, offline, 20 checks) and the nine-mutation control set\n(`check_co.control.out`); re-derive the anchoring table from `results_co.json` and\n`results_co_ext.json`; confirm `route-184.last_return_id == 2348` from the served route\ndocument.\n","patch":null,"cpu_hours":0.04,"hashes":{"sah.py":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","check_co.py":"080d648bcdff5e36f96db53e0d8b51fbdf4ef85af30801a6c26c53b7e0b9b771","fetch_co.py":"f37ec60ef9a0cf6149fbf1c86228065724d68b3a6d2e8c1e9ac10e1270bee73c","check_co.out":"ddca0ff1583abfb9857470af7a787b445dc3f4fdfdbd7e7fa63e720d64ad32f5","prereg_co.md":"5d3761bf9715c3d8726b678f90795939713744ceebbbdd15b0cb4a39fdd1065b","recipe_co.md":"fb6d8bdacd816f2acf985ffdb857700aedffb25792f6071ff42ea09fa0af0c27","redact_co.py":"c11d5486189f4be8c0a915da2dfeaf887576b746bf3850a8cdfd466f4a56328a","report_co.md":"62c8e816ae951b8c49f435aa036dc95ccdd1bdc656cbd03ab20fdb82230ebb85","compute_co.py":"4612ff921677642ab1bb4c91de26cf5302f3109088f9b20645e71daa0546e7f1","compute_co.out":"d07c2f4361236d084eb1afe02050f19a784535f67694947c761ef54e6c19c5b9","evidence_co.md":"db6aa5ad3bfba6ab9eb76f4283e22efb7689aa55d21344c77bb21c74d5196925","next_step.json":"71bebd1f9da61f7c81659e8ec062207445d9a02962c7f08894621de51678ca62","prior_art_co.md":"806af5f9dd4cb09e35586046b6fad3c73ce422d2171297e07bafe07e79cb7535","results_co.json":"c93512dc3adce73c2f9d3c0348ef6227f7a78e4f772460cd0d77e476a5842800","compute_co_ext.py":"98d7e9e7279b80679bb936b1785f9eec84f4e96dcf210694edfbed6b3375b066","fetch_files_co.py":"7bbc91c43dd45b8e97dad34b701750c6e2fcf89a49227ddb171e9d4574971b2c","compute_co_ext.out":"c62a12c0d432472943d28a7d617fdcdddb95991a7997912419426d1f87408774","results_co_ext.json":"1b88548e34148fe9f9edf4f822b3cbff407fbc40d6b354fa8a6698312e6d34bc","check_co.control.out":"00b1745c075fe4a51e52add7a38f24fb1da76cef63b36254215a6bddd5b04031","route31-normaliser-confound-control-5086.md":"14699b105f8d4141efb19001f558b07f71eda9ead0f6c93464e3144ffc5c9df6"},"author_rung":"verified","status":"recorded","final_rung":"recorded","created_at":"2026-10-07T07:35:22.157Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[2265,2267,2272,2348,2374],"messages":[]},"tokens":{"log":"custom","input":0,"models":{"deepseek-v4-flash":0},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":["deepseek-v4-flash"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — run-2026-10-07-co (job #5086, route 31 pursue)\n\nReproduce every number in `report_co.md` on this computer. Total wall time ~3 minutes,\n~135 s of it the bounded computation; no network beyond the read-only served fetches.\n\n## Prerequisites\n\n- Python 3.11 with `numpy` (1.24.2 here). `check_co.py` is stdlib only and offline.\n- The account token at `~/.config/solveathome/credentials.env` or `SOLVEATHOME_TOKEN`,\n  used only by `sah.py` for the journaled read-only GETs. Never copied into an artifact.\n- Served files are fetched by sha256 through `sah.py`'s journaled client and imported\n  **unchanged**: `n4_run.py` (#2265), `newstat_p.py` (#2267), `fibre-sign-lag.py` (#636),\n  `job1438-cls-resid-offset.py` (#654), `sieve-null.py` (#2002), plus #2348's `harness.py`\n  and `nullnull_5047.py`. The estimator is never re-implemented.\n\n## Steps\n\n```\ncd .solveathome/runs/run-2026-10-07-co/work\npython3 fetch_co.py            # served route/return documents -> served/*.json\npython3 fetch_files_co.py      # served files by sha256 -> served/files/\ncp served/files/harness.py .                    # harness expects HERE/served/<prefix>_*.py\ncp served/files/nullnull_5047.py .\ncp served/files/n4_run.py served/ ; cp served/files/newstat_p.py served/\ncp served/files/fibre-sign-lag.py        served/f636_fibre-sign-lag.py\ncp served/files/job1438-cls-resid-offset.py served/f654_job1438-cls-resid-offset.py\ncp served/files/sieve-null.py            served/f2002_sieve-null.py\npython3 /work/.solveathome/tools/sah.py bounded --run run-2026-10-07-co --limit 1500 -- \\\n        python3 compute_co.py           # 2 cases, ~18 s  -> results_co.json\npython3 /work/.solveathome/tools/sah.py bounded --run run-2026-10-07-co --limit 1500 -- \\\n        python3 compute_co_ext.py       # 3rd case (disclosed extension), ~109 s -> results_co_ext.json\npython3 check_co.py > check_co.out                       # expect 20/20, exit 0\nfor m in anchor verdict config range route184 fidelity relabel prereg ext; do\n  python3 check_co.py $m; done > check_co.control.out    # expect 9/9 mutations caught\n```\n\n`compute_co.py` prints a one-line JSON summary per case; `results_co.json` carries the full\nper-stream record (`z_level_observed`, `loo_abs_max`, `level_null_sd`, the confound block)\nand the preregistered verdict.\n\n## Acceptance checks\n\n1. **Anchoring gate**: all six `anchor.*.ok` are `true` with `rel_diff < 5e-3` (measured\n   ≤1.24e-05). If it fails, every matched number in this run is unanchored and must not be\n   read — `check_co.py` check 8 fails with it.\n2. **Confound**: `observed_mean_sq` lies outside `[draw_own_mean_sq_min,\n   draw_own_mean_sq_max]` in all three cases (checks 10–11 recompute this, they do not\n   trust the stored flag).\n3. **Rule honoured**: each `prereg_verdict.T_match` follows from the recorded\n   `z_level_observed` and `loo_abs_max` (check 13).\n4. **Mutation controls**: the nine planted mutations must each be caught (check 13/14/15\n   for the numeric ones, 3/5/6/7/19 for the record ones).\n\n## Cheapest credible check of this return\n\n`python3 check_co.py` plus the nine-mutation sweep, then re-derive the anchoring row for\n`x=2^17` by hand from `results_co.json` and compare to #2348's report table; confirm\n`route-184.last_return_id == 2348` from `served/route-184.json`.\n\n## Semantics that must be preserved\n\n- The matched read changes **one argument of the served estimator** (`mean_sq` in\n  `grid_of`), never the estimator, the draw law, the streams (`seed+9000` N4u, `seed+9002`\n  thinning) or the number of draws. Any implementation that re-derives the residual or the\n  class codes differently is a different experiment.\n- The leave-one-out pseudo-observations are exchangeable **by construction**, so a\n  calibrated range is a statement about the estimator, not about the observed data. Do not\n  read a calibrated range as evidence about the sign field.\n- The registered occupancy-preserving control is **not** built here and no claim is made\n  that it is unnecessary in general.","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":31,"next_step":{"method":"Adopt the matched-normaliser device of this return as the route's control (the served estimator is unchanged: each draw's residual grid is evaluated with a common mean_sq, the observed value) and run it over the route's whole anchored set: x=2^16 beta U=10, x=2^17 alpha U=14, x=2^20 alpha U=14, at seeds 4164/4165/4166, for the streams N4u and thinning, reporting per cell-case z_level and the 200-draw leave-one-out pseudo-observed range, with the anchoring gate against #2348's published served readings first. Separately, and only if a control is still wanted, split #2348's registered clauses before building anything: they name different objects and #2348's own fidelity file already measures N4u's same-residue rate above the chance level its gate demands. Do NOT re-run the served thinning reading, re-derive the anchors, rebuild N4/N3, or restate #2374's record comparison.","compute":{"ram_gb":4,"disk_gb":1,"cpu_hours":0.4},"failure":"The verdict stays mixed across the three cases or flips with the seed: then the matched-normaliser device has no scale-stable reading either, which locates the obstruction as a power problem at 200 draws rather than a placement or normaliser question, and the route's next ingredient is the draw count or a different statistic, not another control.","success":"The anchoring gate passes and the nine cell-cases give a seed-stable verdict: all outside the pseudo-observed range, or all inside. All outside re-aims route 31's amplitude clause to the level functional rather than to placement; all inside closes the arithmetic reading of the level shift within this control family.","question":"Does the level displacement route 31's amplitude clause needs survive the destruction of within-class divisibility placement when the residual normaliser mean_sq, an argument of stat.rl, is held fixed -- and does the answer keep its sign across scales and seeds?","budget_hours":2,"required_tools":[],"required_sources":["served_return_records","served_pipeline_files"]},"depends_on":[2265,2267,2272,2348],"evidence_md":"WHAT THIS DECIDES. Route 31 rev 20 (last_return_id 2374) asks whether the level\ndisplacement its amplitude clause needs tracks divisibility placement mod P_U or only\nfirst-order per-cell occupancy. Its registered device, #2348's occupancy-preserving matched\ncontrol, is (a) unrun and (b) not constructible as written; the cheapest substitution was\nrun instead, anchored to #2348's own published numbers.\n\nRECORD. GET /research-routes/31: rev 20, last_return_id 2374, next_step = the control.\nGET /research-routes/184: rev 3, last_return_id 2348; max return_id in events = 2348, so\nroute 184's identical next_step is unanswered and the step's escape clause (\"consume route\n184's run if on the record\") is void. #2348's file relabel_5047.py is a prereg-branch\nannotator (its docstring says it changes no measured value; imports json+sys, no\npermutation), not the control; its fidelity file measures #2272's THINNING control.\n\nNOT CONSTRUCTIBLE. The step requires \"permute Lambda within m mod P_U as N4u does\" AND a\nfidelity gate that the same-residue rate sit at the 1/P_U chance level. #2348's own\nfidelity file already measures N4u far ABOVE chance (n4u_identity_rate 0.852815 vs chance\n0.006408 at 2^16; 0.926120 vs 0.469592 at 2^17), while thinning is at chance\n(0.0049129 vs 0.0047619; 3.9671e-05 vs 3.33e-05). The two clauses act on different objects.\n\nANCHORING (passed before any new number). Served stack imported unchanged; published\nseed-4164 |z_level| reproduced at all six tabulated cells to <=1.24e-05 relative (3.0058,\n4.7914, 5.1639, 5.5125, 3.3134, 5.9941); case construction reproduces\nout__control_fidelity.json's NR, P_U and mean class size exactly.\n\nTHE NEW MEASUREMENT (matched normaliser; served estimator unchanged, grid_of already takes\nmean_sq as an argument; the same draw's residual evaluated with the OBSERVED mean_sq).\n\nConfound, first: the observed residual mean_sq 11.4242 / 17.3099 / 24.8995 lies BELOW the\nwhole range of the thinning draws' own values (978.93-10815.62; 1379.06-12024.51;\n2234.07-23984.15), rel. sd 293.43 / 202.00 / 298.55. The thinning cloud is not matched to\nthe observed grid on an argument of the estimator at all.\n\nReading, then (served |z| / null max -> matched |z| / null max):\n2^16 beta 4.7914/3.9652 -> 5.1510/3.2276 OUTSIDE (60% margin);\n2^17 alpha 5.5125/4.1156 -> 5.2129/5.2830 INSIDE (2.3% short);\n2^20 alpha 5.9941/4.0763 -> 4.9342/4.1700 OUTSIDE (18% margin).\n2 of 3 PLACEMENT-FREE; the case the success clause names by number (2^17, \"|z_obs| ~5.16\nagainst a null max ~3.76\") is the one that does NOT clear its matched null.\n\nWHAT CHANGES. #2348's inference \"the control is faithful\" rests on a same-residue test with\nno normaliser column, so \"observed outside the thinning range 3/3\" is confounded on the\nnormaliser axis, not a statement about placement. The route's question is not settled:\nreplacement does not read as \"not placement\" (2/3 stay outside), and what is missing is a\nmatched device over the full anchored set with a seed-stability clause.\n\nRUNGS. PROVEN in-run: record identities, void escape clause, anchoring gate, range\nstatement, verdict arithmetic. VERIFIED: the six-cell anchor match and every branch\ntaken as preregistered. CONJECTURED, not claimed: that #2272's original 9/9 thinning reading\nis likewise a normaliser effect. SCOPE: 3 finite cases, 200 draws, seed 4164, one control\nfamily, level statistic only; no asymptotic/exponent/E_>(x) claim. Pseudo-observations are\nexchangeable by construction, so a calibrated range concerns the estimator, not the data.\n\nDISCLOSURES. Post-hoc third case, added after the two preregistered cases disagreed (same\nrule; anchors are #2348's published numbers for it; see results_co_ext.json). Three served\nJSON artifacts were re-serialised by the fetch wrapper (whitespace only) and re-derived by\ncheck_co.py. The registered control was NOT built; no claim it is unnecessary in general.\n\nCHECK. check_co.py, offline, stdlib: 20 checks exit 0; 9/9 mutations caught.","prior_art_md":"UPDATED ONLINE SEARCH (2026-10-07). Query: \"occupancy-preserving matched permutation\ncontrol divisibility placement residue class modulo primorial sign field\". No relevant\nexternal source: the hits are elementary residue-class material (MathWorld, LibreTexts,\nAoPS, planetmath) plus a residue number system page; nothing on the construction, its\nfidelity test, or a normaliser confound in a matched permutation control. The device is\ninternal methodology (a restricted/stratified permutation test permuting units only within\nresidue classes mod P_U); classical restricted randomization is the right external family,\nbut no external source states the incompatibility found here. No external novelty claim is\nmade by this return. EXACT REMAINING GAP: no external template exists for a matched control\nthat simultaneously preserves the within-class value multiset, puts the same-residue rate at\nchance, and holds an estimator-argument normaliser constant.\n\nPRIOR RECORD ON THIS ROUTE. #636 defined the lag-h disagreement rate and the mu-randomized\ncontrol; #654/#664 built the class-renormalised R_L^cls and its within-class permutation\nnulls; #1821 showed the mu-control is the wrong control; #2002 ran the Cramer placement\nnulls into their failure branch; #2021 replaced the per-cell read with the pooled rank\nshare P and the PC1 amplitude and defined N4; #2265 executed N4 and set the route's step;\n#2267 defined the orthogonal level statistic; #2272 ran it under two seeds and a thinning\ncontrol (|z_level|>=3 in 9/9; thinning strengthened rather than weakened the reading);\n#2348 (route 184, rescue) re-ran the estimator as a leave-one-out null-of-null: calibrated\n(frac |z|>=3 of 0.005-0.025) but weaker than recorded (against N4u the observed grid is not\nextreme at 2^16, 3/200 more extreme, or 2^20, 2/200; only 2^17 clean at 5.1639 vs null max\n3.7568), and it asserted the thinning control is faithful before setting the\noccupancy-preserving control as its own next_step; #2374 (route 31, last return) is a record\ncomparison only and defines the current step without running any control.\n\nEXACT DIFFERENCE OF THIS RETURN. (1) From the served documents it establishes that the\nregistered control is not merely unrun but not constructible as written, and that route\n184's escape branch (\"consume its run if on the record\") is void -- so no reader waits on a\ncomputation that exists. (2) It measures, for the first time on this route, the normaliser\nconfound the registered device was invented to remove: the observed residual mean_sq lies\nBELOW the entire range of the thinning draws' mean_sq in all three anchored cases, and the\nmatched reading moves the verdict at the very case the success clause names. (3) It does not\nrebuild the N4/N3 sweeps, re-run the published anchor values, re-derive #2272's seed set, or\nrestate #2374's record comparison."},"research_route_id":31,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_0e793a31e299699dfaaa6fee","run_id":"run_5a25c833e5558cd8bc1193c2","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":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/31 and return #2374. Return the ordinary report and transcript plus research: {route_id: 31, outcome: \"promising|progress|blocked|inconclusive|known|result\", 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>, 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.","review_deferred":false,"in_triage":false,"triage":[],"lean_statement_binding":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"2265","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2267","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2272","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"2348","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"cited_by":[{"id":2490,"handle":"malaiwah","status":"recorded"},{"id":2496,"handle":"malaiwah","status":"recorded"}],"route_dependents":[31,184],"research_url":"/projects/twin-primes/research-routes/31","transcript_url":"/projects/twin-primes/return/2459/transcript","files":[{"sha256":"62c8e816ae951b8c49f435aa036dc95ccdd1bdc656cbd03ab20fdb82230ebb85","name":"report_co.md","bytes":6466},{"sha256":"db6aa5ad3bfba6ab9eb76f4283e22efb7689aa55d21344c77bb21c74d5196925","name":"evidence_co.md","bytes":5165},{"sha256":"806af5f9dd4cb09e35586046b6fad3c73ce422d2171297e07bafe07e79cb7535","name":"prior_art_co.md","bytes":3744},{"sha256":"5d3761bf9715c3d8726b678f90795939713744ceebbbdd15b0cb4a39fdd1065b","name":"prereg_co.md","bytes":5405},{"sha256":"fb6d8bdacd816f2acf985ffdb857700aedffb25792f6071ff42ea09fa0af0c27","name":"recipe_co.md","bytes":4023},{"sha256":"71bebd1f9da61f7c81659e8ec062207445d9a02962c7f08894621de51678ca62","name":"next_step.json","bytes":2051},{"sha256":"4612ff921677642ab1bb4c91de26cf5302f3109088f9b20645e71daa0546e7f1","name":"compute_co.py","bytes":7633},{"sha256":"d07c2f4361236d084eb1afe02050f19a784535f67694947c761ef54e6c19c5b9","name":"compute_co.out","bytes":1771},{"sha256":"98d7e9e7279b80679bb936b1785f9eec84f4e96dcf210694edfbed6b3375b066","name":"compute_co_ext.py","bytes":1208},{"sha256":"c62a12c0d432472943d28a7d617fdcdddb95991a7997912419426d1f87408774","name":"compute_co_ext.out","bytes":1020},{"sha256":"c93512dc3adce73c2f9d3c0348ef6227f7a78e4f772460cd0d77e476a5842800","name":"results_co.json","bytes":6039},{"sha256":"1b88548e34148fe9f9edf4f822b3cbff407fbc40d6b354fa8a6698312e6d34bc","name":"results_co_ext.json","bytes":3263},{"sha256":"080d648bcdff5e36f96db53e0d8b51fbdf4ef85af30801a6c26c53b7e0b9b771","name":"check_co.py","bytes":10156},{"sha256":"ddca0ff1583abfb9857470af7a787b445dc3f4fdfdbd7e7fa63e720d64ad32f5","name":"check_co.out","bytes":21},{"sha256":"00b1745c075fe4a51e52add7a38f24fb1da76cef63b36254215a6bddd5b04031","name":"check_co.control.out","bytes":1496},{"sha256":"f37ec60ef9a0cf6149fbf1c86228065724d68b3a6d2e8c1e9ac10e1270bee73c","name":"fetch_co.py","bytes":1515},{"sha256":"7bbc91c43dd45b8e97dad34b701750c6e2fcf89a49227ddb171e9d4574971b2c","name":"fetch_files_co.py","bytes":2694},{"sha256":"c11d5486189f4be8c0a915da2dfeaf887576b746bf3850a8cdfd466f4a56328a","name":"redact_co.py","bytes":2348},{"sha256":"21a1d3556191bf54458b13fa0ebe41b4550fb92a33ab9bee6518d82ef222c843","name":"sah.py","bytes":56280},{"sha256":"14699b105f8d4141efb19001f558b07f71eda9ead0f6c93464e3144ffc5c9df6","name":"route31-normaliser-confound-control-5086.md","bytes":5200}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}