{
 "item": "comp-resid",
 "batch": "e03-tab-ref",
 "credit": "Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved: replica, Gaussian filter, posterior policy, tell and qm tables. LEANBASE from result efb8e653..., U1 (QPL1) blob and qpl.py from results a79a3606... and fd38823c..., all built on Taylor's work.",
 "summary": "Stop rule met: on Taylor's replica LEANBASE reading FULL (qm_k1e-5.json) beats LEANBASE reading U1 (q_u1.json) by +0.0024 se 0.0064 on 896 choose seeds, under 0.005. The U1 blob already carries the table; a residual has nothing measurable to recover. advance=false; no report seed was read.",
 "approach": "U1 blob kept byte for byte (10,160 bytes, sha256 830868f9...). Appended RSD1 section: for each of 12 (table, sd level) blocks (tables 0c, 1s, 2s; levels 0..3) a sheared box: a contiguous range of w rows, each row with its own start column (1 byte) and a fixed-width run of int8 residuals in units of 2^-sh bps (sh 2..4 per block), added to the clamped U1 node value before the bilinear and sd interpolation. Cells chosen by visits x (squared error removed), visits = bilinear x sd weights of LEANBASE's final lookup of every callback on choose seeds 64000..64127 (1,384,858 callbacks, U1 tables, ask side plus mirrored bid side); error = FULL node - U1 node with U1 decoded in integers as TellMinLookup.surf/record does (max difference from q_u1.json 5e-7 bps, its 6-decimal rounding). A Lagrange multiplier is bisected to hit a byte target. Decoder is integers only; one added function rs() and one changed line in surf (Solidity sketch in resid_dec.py). CAND arms read json produced by that decoder.",
 "ceiling": {
  "mean_diff": 0.00239,
  "se": 0.00643,
  "n": 896,
  "min": -1.0076,
  "seeds": [
   64128,
   65023
  ],
  "definition": "FULL minus U1, LEANBASE (soft=1 a0=0.35 ainf=0.35, variant A, sha256 ba015769...), replica edge of each arm against its 30 bps rival, paired by seed",
  "by_batch": [
   {
    "mean_diff": 0.01244,
    "se": 0.01595,
    "min": -0.7368,
    "n": 160,
    "seeds": [
     64128,
     64287
    ]
   },
   {
    "mean_diff": 0.01246,
    "se": 0.00975,
    "min": -0.5589,
    "n": 368,
    "seeds": [
     64288,
     64655
    ]
   },
   {
    "mean_diff": -0.01206,
    "se": 0.01008,
    "min": -1.0076,
    "n": 368,
    "seeds": [
     64656,
     65023
    ]
   }
  ],
  "under_0_005": true,
  "note": "Point estimate under 0.005; mean + 2 se = 0.0152, so a true gap up to about that is not excluded, but none of it is resolved on 896 seeds. Per-seed paired differences have sd about 0.19 (path divergence), mean near zero."
 },
 "choose": {
  "seeds": [
   64128,
   65023
  ],
  "n": 896,
  "rule": "highest paired mean against U1 among candidates run on all 896 seeds",
  "picked": "C2200",
  "tried": [
   {
    "name": "C600",
    "what": "U1 blob + RSD1 residual section, builder target 600 bytes",
    "extra_blob_bytes": 565,
    "blob_sha256": "d61342aaae6e15ee26464c59b1fc692d59cc3515e60004e9130af6afb940a97b",
    "share_of_visit_weighted_squared_node_error_removed": 0.4403,
    "cand_minus_u1": {
     "mean_diff": -0.00434,
     "se": 0.00457,
     "min": -0.6562,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    },
    "cand_minus_full": {
     "mean_diff": -0.00673,
     "se": 0.00572,
     "min": -0.6574,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    }
   },
   {
    "name": "C1000",
    "what": "U1 blob + RSD1 residual section, builder target 1000 bytes",
    "extra_blob_bytes": 987,
    "blob_sha256": "eb0a646ee6839ce7bffa4d629a814594794134318ecf5b332bd5dea6688e5a01",
    "share_of_visit_weighted_squared_node_error_removed": 0.5873,
    "cand_minus_u1": {
     "mean_diff": -0.00164,
     "se": 0.00514,
     "min": -1.375,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    },
    "cand_minus_full": {
     "mean_diff": -0.00403,
     "se": 0.00523,
     "min": -0.6093,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    }
   },
   {
    "name": "C1500",
    "what": "U1 blob + RSD1 residual section, builder target 1500 bytes",
    "extra_blob_bytes": 1491,
    "blob_sha256": "bad43180564a48b7f433bfe33d8d86e47ff0650965353013ea5c9cb8c6733be4",
    "share_of_visit_weighted_squared_node_error_removed": 0.6915,
    "cand_minus_u1": {
     "mean_diff": 0.00238,
     "se": 0.01363,
     "min": -0.4067,
     "n": 160,
     "seeds": [
      64128,
      64287
     ]
    },
    "cand_minus_full": {
     "mean_diff": -0.01007,
     "se": 0.0124,
     "min": -0.5025,
     "n": 160,
     "seeds": [
      64128,
      64287
     ]
    }
   },
   {
    "name": "C2200",
    "what": "U1 blob + RSD1 residual section, builder target 2200 bytes",
    "extra_blob_bytes": 2163,
    "blob_sha256": "2bfef7658ccfca5007fd91733a4960aaa3e4a0452101f7abb94bae151b4bf547",
    "share_of_visit_weighted_squared_node_error_removed": 0.7666,
    "cand_minus_u1": {
     "mean_diff": 0.00173,
     "se": 0.00579,
     "min": -1.1166,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    },
    "cand_minus_full": {
     "mean_diff": -0.00066,
     "se": 0.00461,
     "min": -0.673,
     "n": 896,
     "seeds": [
      64128,
      65023
     ]
    }
   }
  ],
  "note": "C1500 was run on 64128..64287 only (160 seeds) and dropped to keep commands under 8 minutes. No candidate is distinguishable from U1 or from FULL; removing 44% to 77% of the visit-weighted squared node error moved the edge by less than its standard error."
 },
 "frozen": {
  "builder_sha256": "980f5868ca9e89412a99211733af432e5c669b6c114d7ce7fd526bdacf0fa633",
  "decoder_sha256": "5c11a2be93ddad4547db8d135f2920b727f8baab303491e5d970dbcd139ad2ba",
  "blob_sha256": "2bfef7658ccfca5007fd91733a4960aaa3e4a0452101f7abb94bae151b4bf547",
  "u1_blob_sha256": "830868f9b3e5ad162c4f2070e6faed0782c7b4cc308ab69044b2cf7306f68099",
  "visits_logger_sha256": "2a11baa2222bb127507cfb9b6320141c15023b9632e3b467fb195b9b2401542c",
  "visits_json_sha256": "a0aa576fc928808f571d162414d4a252d8179e3dd55cc9d79bf7c0303cefbaf2",
  "q_u1_json_sha256": "d5645b6dd4ed8f1e33cc712d56d9eb916a50db7d5014c285b0f388cd114f96f9",
  "qm_full_sha256": "5ff53e42ca87390e5f65d1caa3f7a480e67a8212fb0670274dfd562b05ba1afd",
  "leanbase_sha256": "ba015769f7981d7798acbbc9aff8c0e0c59825bb1541d55bcdef49311d7a04bc",
  "builder_args": "u1.qpl qm_k1e-5.json visits.json 2200",
  "rebuild_is_byte_identical": true,
  "blocks_slot_g4L": {
   "0": {
    "sh": 3,
    "nj": 3,
    "i0": 113,
    "ni": 57
   },
   "1": {
    "sh": 4,
    "nj": 1,
    "i0": 152,
    "ni": 5
   },
   "2": {
    "sh": 4,
    "nj": 1,
    "i0": 155,
    "ni": 7
   },
   "3": {
    "sh": 4,
    "nj": 2,
    "i0": 160,
    "ni": 2
   },
   "4": {
    "sh": 2,
    "nj": 3,
    "i0": 101,
    "ni": 69
   },
   "5": {
    "sh": 3,
    "nj": 4,
    "i0": 132,
    "ni": 40
   },
   "6": {
    "sh": 3,
    "nj": 6,
    "i0": 130,
    "ni": 45
   },
   "7": {
    "sh": 3,
    "nj": 8,
    "i0": 131,
    "ni": 38
   },
   "8": {
    "sh": 2,
    "nj": 4,
    "i0": 127,
    "ni": 42
   },
   "9": {
    "sh": 3,
    "nj": 3,
    "i0": 140,
    "ni": 26
   },
   "10": {
    "sh": 3,
    "nj": 3,
    "i0": 138,
    "ni": 37
   },
   "11": {
    "sh": 3,
    "nj": 5,
    "i0": 138,
    "ni": 37
   }
  },
  "note": "Hashes taken after the choose runs; no report seed (10000..12047) was read before or after."
 },
 "report": {
  "seeds": null,
  "n": 0,
  "cand_minus_u1": null,
  "cand_minus_full": null,
  "status": "not run: the brief's stop rule (FULL minus U1 under 0.005) applied after the choose seeds, so the report seeds 10000..12047 were left unread by this item"
 },
 "cost": {
  "blob_bytes": 12323,
  "extra_blob_bytes": 2163,
  "decoder_change": "one new pure function rs(b,tb,L,i,j) (7 byte reads, 2 range checks, 1 multiply) and one changed line in surf: nodes[..]=(n>0?n:0)+rs(...); surf takes tb. The 84-byte directory can be three packed code constants instead of blob bytes.",
  "extra_runtime_bytes_estimate": 2463,
  "extra_runtime_bytes_basis": "2,163 blob bytes plus about 300 bytes of code for rs() and the call; NOT compiled, an estimate",
  "extra_gas_estimate": 6000,
  "extra_gas_basis": "16 node reads per afterSwap (2 surf calls x 8 nodes) at roughly 300 gas each plus the longer blob copied to memory; NOT measured, an estimate",
  "smaller_builds": {
   "C600": 565,
   "C1000": 987,
   "C1500": 1491,
   "C2200": 2163
  },
  "room_needed": "none recommended: with the ceiling at +0.0024 se 0.0064 this lever should get 0 of the 3,000 bytes / 6,000 characters. If taken anyway, C2200 needs about 2,460 runtime bytes and about 900 source characters besides 4,326 hex characters of blob."
 },
 "advance": false,
 "advance_reason": "ceiling FULL minus U1 is under 0.005 and within 1 se of zero; the picked candidate is +0.0017 se 0.0058 against U1 on choose seeds; no report was run",
 "findings": [
  "The 0.111 of lever (2) is FULL against lb-4's own compressed lookup (result 4a41a90c..., \"the compressed LEAN lookup\", blob.bin sha256 3ac7cb88...), not against U1. Against the U1 (QPL1) blob the same FULL tables gain +0.0024 se 0.0064 here. I did not run lb-4's blob myself, so that the two encodings differ by about 0.11 is an inference from the two results, not a measurement of this item.",
  "Tables 1c and 2c were never the table of a final lookup: 0 of 1,384,858 callbacks on seeds 64000..64127 (weights 0c 35.0%, 1s 46.3%, 2s 18.7%). In LEANBASE (stalerival pull with a0=0.35) every retail callback ends with synced=True, either by the router identity binding or by the pull. Their U1 records are 1,568 + 561 = 2,129 blob bytes (plus knot constants). Measured in the Python reference only; whether TellMinLookup can drop them needs a check that the contract never reads tb 2 or 4 for a fee it returns.",
  "sd levels 4..7 carry 2.7% of the visit weight; the residual covers levels 0..3 only.",
  "Visit-weighted node error of U1 against FULL: rms 0.23 bps (0c), 0.39 (1s), 0.46 (2s); 98.0% (0c), 94.2% (1s) and 88.7% (2s) of the weight sits on nodes within 0.5 bps of FULL. The large errors (up to 37 bps) are on rarely visited diagonal ridges."
 ],
 "tables_zb64": "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",
 "decoder_zb64": "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",
 "decoder_zb64_files": [
  "README.md",
  "pair.py",
  "resid_build.py",
  "resid_dec.py",
  "runarms.py",
  "visits.py"
 ],
 "seeds_used": {
  "visits_logging": [
   64000,
   64127
  ],
  "choose_and_ceiling": [
   64128,
   65023
  ],
  "report": null,
  "engine": null,
  "note": "All replica seeds inside 64000..65023. Arms per seed: U1, FULL, C600, C1000, C2200 on 64128..65023; C1500 on 64128..64287. A timing run reused 64000..64007. No report seed and no engine seed was used."
 },
 "not_done": [
  "Report on 10000..12047: not run (stop rule).",
  "No Solidity port, compile, gas or engine run: Python only; runtime bytes and gas are estimates.",
  "The arms were not cross-checked against published absolute LEANBASE edges (result efb8e653 stores only paired differences); they call run.work with leanbase:Policy and the stated options, as experiment.py does.",
  "lb-4's compressed blob was not run, so the 0.111 was not reproduced here.",
  "C1500 on 160 seeds only."
 ],
 "method_notes": {
  "seconds_per_seed_arm": 0.89,
  "processes": 4,
  "longest_command_seconds": 413,
  "state": "test/scratch (scratch state; nothing kept outside the two named outputs)"
 }
}