{
 "credit": "Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved: replica, Gaussian filter, posterior policy and the qm_k1e-5.json tables. LEANBASE (lean tell of lb-4) and the QPL1 u1 blob/decoder are the credited IdentityMD artifacts efb8e653..., a79a3606..., fd38823c..., all built on Taylor's work.",
 "item": "refit-visit",
 "batch": "e03-tab-ref",
 "status": "Stopped by the brief's rule: FULL minus U1 is under 0.005 on the choose seeds, so there is nothing for a table refit to recover on Taylor's replica. advance=false. No report seed was run. No submission anywhere.",
 "approach": "Refit build 1. Same QPL1 format, knots, scales and size (10,160 bytes); header bytes copied from U1; decoder unchanged. Only the coefficient integers (int16 row base + int8 column deltas) of the tables that are ever read were refitted: weighted least squares against FULL (qm_k1e-5.json, ask excess A-w clamped at 0 as the contract clamps nodes), weight of grid node (sd level,row,col) = replica visit mass of LEANBASE reading FULL on choose seeds 64000..64511 (trilinear weight of the lookup whose fees are returned; bid side logged at the mirrored ask node), scaled to mean 1 per table plus a uniform floor eps. Continuous solve (conjugate gradients, active set for the clamp) from the U1 values, rounding with deltas clipped to int8, then integer coordinate descent (+-1,+-2,+-5) on the clamped weighted objective under the int8/int16 limits. CAND tables are produced by qpl_int.py, an integer-only Python decoder that follows the contract's qt/rk/spanR/spanC/record/lerp/surf (truncating division, WAD); only the final division by 1e18 to hand Taylor's float replica its table dict is non-integer.",
 "ceiling": {
  "mean_diff": 0.0007940660792898346,
  "se": 0.006057828928489167,
  "n": 1024,
  "min": -1.0075854444755805,
  "seeds": [
   64000,
   65023
  ],
  "definition": "FULL minus U1, each LEANBASE (soft=1 a0=0.35 ainf=0.35) alone against its 30 bps rival on Taylor's replica2, paired by seed",
  "under_0_005": true,
  "mean_plus_2se": 0.012909723936268169,
  "halves": {
   "64000..64511": {
    "mean_diff": 0.007512377033689122,
    "se": 0.008589217366204245,
    "min": -0.7368172885406921,
    "n": 512
   },
   "64512..65023": {
    "mean_diff": -0.005924244875109452,
    "se": 0.008542920068425,
    "min": -1.0075854444755805,
    "n": 512
   }
  },
  "mean_edge": {
   "FULL": 539.0183276684871,
   "U1": 539.0175336024079
  },
  "note": "Measured on choose seeds only (the stop rule is applied before any report seed). The point estimate is under 0.005; its se is 0.006, so a true ceiling up to about 0.013 (mean + 2 se) is not excluded, but 0.111 is. The goal's 0.111 comes from kt-high (artifact 4a41a90c...), which scored FULL against \"LEAN = TellPolicy(blob, 4, .0001)\" in another port (\"o1-b engine-order scratch/ref/port.py\") on report seeds 10512..11023. That compressed arm appears to be the earlier qt1/lb-4 blob rather than the QPL1 u1 blob measured here, but this item did not fetch or rerun it, so that reading is unverified. What this item measured: with U1 as the compressed table, LEANBASE loses nothing measurable against FULL."
 },
 "noise_floor": {
  "arm": "U1 blob decoded by the integer decoder (blob unchanged) minus U1 from q_u1.json",
  "max_abs_table_difference_bps": 5.000000005139782e-07,
  "mean_diff": 0.0026890926924893477,
  "se": 0.0023954485840409646,
  "min": -0.5372649333241952,
  "n": 1024,
  "note": "Tables equal to 5e-7 bps still move single seeds by up to 0.54: the replica is chaotic in the fees (exact-arithmetic tell, discrete events). Paired differences of a few thousandths between table sets are at this floor."
 },
 "choose": {
  "seeds": [
   64000,
   65023
  ],
  "n": 1024,
  "visit_log_seeds": [
   64000,
   64511
  ],
  "tried": [
   {
    "arm": "FULL: LEANBASE reading qm_k1e-5.json",
    "versus": "U1",
    "mean_diff": 0.0007940660792898346,
    "se": 0.006057828928489167,
    "n": 1024
   },
   {
    "arm": "U1 through the integer decoder (unchanged blob)",
    "versus": "U1",
    "mean_diff": 0.0026890926924893477,
    "se": 0.0023954485840409646,
    "n": 1024
   },
   {
    "arm": "CAND eps=0.01: LEANBASE reading the refit blob through the integer decoder",
    "eps": 0.01,
    "mean_diff": -0.004651065055695014,
    "se": 0.004011767725318191,
    "n": 1024,
    "versus": "U1",
    "cand_minus_u1": {
     "mean_diff": -0.004651065055695014,
     "se": 0.004011767725318191,
     "min": -0.6013314760572257,
     "n": 1024
    },
    "cand_minus_full": {
     "mean_diff": -0.005445131134984849,
     "se": 0.005992355007064283,
     "min": -0.7545408325752305,
     "n": 1024
    },
    "cand_minus_u1_on_visit_log_half_64000_64511": {
     "mean_diff": -0.0027900289561895164,
     "se": 0.005848621515067348,
     "min": -0.5637302995559139,
     "n": 512
    },
    "cand_minus_u1_on_other_half_64512_65023": {
     "mean_diff": -0.0065121011552005115,
     "se": 0.0054972887149099085,
     "min": -0.6013314760572257,
     "n": 512
    },
    "blob_sha256": "dc0180a876ad3c7e185295b0c6f74c27a45317ac738a359645147168c2bb620c",
    "blob_bytes_changed_vs_u1": 2573,
    "tables_identical_to_u1": [
     "1c",
     "2c"
    ],
    "visit_weighted_node_rms_error_vs_FULL_bps": {
     "0c": {
      "u1": 0.22663404835723708,
      "cand": 0.22665054566371268
     },
     "1s": {
      "u1": 0.38246464750964404,
      "cand": 0.3718593846953359
     },
     "2s": {
      "u1": 0.45455075102683806,
      "cand": 0.44097510153468134
     }
    },
    "max_abs_node_error_on_visited_nodes_bps": {
     "0c": {
      "u1": 22.07,
      "cand": 21.32
     },
     "1s": {
      "u1": 61.83333333333333,
      "cand": 52.83333333333333
     },
     "2s": {
      "u1": 42.03999999999999,
      "cand": 34.46000000000001
     }
    },
    "builder_objective_rms_bps_incl_floor": {
     "0c": {
      "u1": 0.26001706984927897,
      "continuous": 0.2515905562333705,
      "rounded": 0.2583381638307146,
      "final": 0.25806290083500966
     },
     "1s": {
      "u1": 0.42590602291012114,
      "continuous": 0.39944556641463164,
      "rounded": 0.4142799458925819,
      "final": 0.412714701077625
     },
     "2s": {
      "u1": 0.49136475389016143,
      "continuous": 0.4466673512264891,
      "rounded": 0.4836875757977429,
      "final": 0.4773397657077572
     }
    },
    "coefficients_changed": {
     "0c": [
      186,
      528
     ],
     "1s": [
      1198,
      3870
     ],
     "1c": [
      0,
      1456
     ],
     "2s": [
      667,
      2808
     ],
     "2c": [
      0,
      510
     ]
    }
   },
   {
    "arm": "CAND eps=0.001: LEANBASE reading the refit blob through the integer decoder",
    "eps": 0.001,
    "mean_diff": -0.0022839866995555957,
    "se": 0.003849478954989142,
    "n": 1024,
    "versus": "U1",
    "cand_minus_u1": {
     "mean_diff": -0.0022839866995555957,
     "se": 0.003849478954989142,
     "min": -0.6148327022297053,
     "n": 1024
    },
    "cand_minus_full": {
     "mean_diff": -0.0030780527788454304,
     "se": 0.00585242074856478,
     "min": -0.7797320013818307,
     "n": 1024
    },
    "cand_minus_u1_on_visit_log_half_64000_64511": {
     "mean_diff": -0.0011496176893721621,
     "se": 0.0051111205843160385,
     "min": -0.48922914993136146,
     "n": 512
    },
    "cand_minus_u1_on_other_half_64512_65023": {
     "mean_diff": -0.0034183557097390294,
     "se": 0.005762235755081858,
     "min": -0.6148327022297053,
     "n": 512
    },
    "blob_sha256": "470c0476f85c9a4c97c905db3a39ea33bb33cd51ae0773be1eca77a44f4483ad",
    "blob_bytes_changed_vs_u1": 2711,
    "tables_identical_to_u1": [
     "1c",
     "2c"
    ],
    "visit_weighted_node_rms_error_vs_FULL_bps": {
     "0c": {
      "u1": 0.22663404835723708,
      "cand": 0.22578077805343427
     },
     "1s": {
      "u1": 0.38246464750964404,
      "cand": 0.36893607016000474
     },
     "2s": {
      "u1": 0.45455075102683806,
      "cand": 0.4387025953931556
     }
    },
    "max_abs_node_error_on_visited_nodes_bps": {
     "0c": {
      "u1": 22.07,
      "cand": 21.82
     },
     "1s": {
      "u1": 61.83333333333333,
      "cand": 55.83333333333333
     },
     "2s": {
      "u1": 42.03999999999999,
      "cand": 38.46000000000001
     }
    },
    "builder_objective_rms_bps_incl_floor": {
     "0c": {
      "u1": 0.23022203855883747,
      "continuous": 0.2219802658080223,
      "rounded": 0.2296882241642942,
      "final": 0.2293758146219525
     },
     "1s": {
      "u1": 0.38706905515322715,
      "continuous": 0.3594894682944744,
      "rounded": 0.3760300156130158,
      "final": 0.37422036616508797
     },
     "2s": {
      "u1": 0.4583993763116105,
      "continuous": 0.4097163612478257,
      "rounded": 0.44996779728344816,
      "final": 0.44323218180413565
     }
    },
    "coefficients_changed": {
     "0c": [
      173,
      528
     ],
     "1s": [
      1201,
      3870
     ],
     "1c": [
      0,
      1456
     ],
     "2s": [
      755,
      2808
     ],
     "2c": [
      0,
      510
     ]
    }
   }
  ],
  "pick": "eps=0.001 (higher paired mean against U1 of the two refits); neither refit differs from U1 by more than about 1 se",
  "fit_finding": "With the knots and scales fixed the values have almost no room: the refit lowers the visit-weighted node rms error against FULL by 0-4% (0c 0.2266->0.2258, 1s 0.3825->0.3689, 2s 0.4546->0.4387 bps at eps=0.001). Even the continuous optimum before integer rounding is only 4-11% under U1 on the builder objective (see builder_objective_rms_bps_incl_floor), and rounding to the 0.25/0.5/1 bps quanta gives most of that back. The remaining error is set by knot placement and quantum, not by the coefficient values."
 },
 "observation_dead_tables": {
  "finding": "Tables 1c and 2c (QT index 2 and 4, phases 1 and 2 with synced=false) were never read: 0 of 5593298 returned lookups on choose seeds 64000..64511 (visit mass 0c 3902262, 1s 5168208, 1c 0, 2s 2116126, 2c 0; each lookup adds 1 on the ask node set and 1 on the mirrored bid set).",
  "why": "In LEANBASE (stalerival.py, a0=ainf=0.35) a non-arb trade either binds the rival bound (synced=True) or is pulled 0.35 of the way (synced=True); synced stays False only when cand equals the rival estimate exactly. Strategy.sol of copy-a has the same shape: if(t.isBuy?c<r:c>r){r=c;syn=true;} else if(c!=r){...syn=true;}.",
  "size": "1c holds 4*28*14 = 1,568 and 2c 3*17*11 = 561 of the 10,160 blob bytes (offsets 5115..6682 and 9599..10159): 2,129 bytes, plus two qt() branches, that a later build could drop or re-spend on finer knots for 0c/1s/2s. Not done here (it changes the decoder, which build 1 may not), and the c==r case would then need a fallback (e.g. the s table); read from the source and the replica log only, not tested on a contract."
 },
 "frozen": {
  "builder_sha256": "890379869131f423ddb1739e88544240f1027b93ac62b6dc9803af7dcd7f3fcc",
  "decoder_sha256": "84eb3726544a8a60642375591f833b032bdae29ab2ade91b45896fa5c73de3e9",
  "blob_sha256": "470c0476f85c9a4c97c905db3a39ea33bb33cd51ae0773be1eca77a44f4483ad",
  "builder": "build_refit.py (numpy 2.1.3; args: u1.qpl qm_k1e-5.json visits.json 0.001 out.qpl)",
  "decoder": "qpl_int.py (standard library, integers only)",
  "visit_logger_sha256": "5a344ea8bf2b9661add28cf96e487b9bce4a80457462118e6ab586236ba12cda",
  "visits_json_sha256": "43c6e57962e7e72849aee9969bf0de353f8b49e60117e72a0fff817dba3918fd",
  "inputs": {
   "u1_blob_sha256": "830868f9b3e5ad162c4f2070e6faed0782c7b4cc308ab69044b2cf7306f68099",
   "q_u1_json_sha256": "d5645b6dd4ed8f1e33cc712d56d9eb916a50db7d5014c285b0f388cd114f96f9",
   "full_qm_sha256": "5ff53e42ca87390e5f65d1caa3f7a480e67a8212fb0670274dfd562b05ba1afd",
   "pol_mid_sha256": "efbb5ee102db4d312f64565d9bf7232b6becbe02b624164f744a402bbbf2983b",
   "leanbase_sha256": "ba015769f7981d7798acbbc9aff8c0e0c59825bb1541d55bcdef49311d7a04bc",
   "research": "gtmcknight/amm-sim@66604b3426d8e97a73e2c39940b9b4dece51cc73 research via tell/fetch.sh (34 files, 0 mismatched), reference_zb64 of efb8e653... written over it",
   "options": "soft=1 a0=0.35 ainf=0.35"
  },
  "note": "Frozen after the choose runs; since the stop rule fired no report seed was run against it."
 },
 "report": {
  "seeds": [],
  "n": 0,
  "cand_minus_u1": null,
  "cand_minus_full": null,
  "note": "Not run. The brief: if FULL minus U1 is itself under 0.005, report that, set advance false and stop. Seeds 10000..12047 were not touched by this item."
 },
 "cost": {
  "blob_bytes": 10160,
  "extra_blob_bytes": 0,
  "decoder_change": "none: same QPL1 header, knots, scales and offsets; only coefficient bytes differ (2,711 of 10,160 bytes; tables 1c and 2c byte-identical to U1)",
  "extra_runtime_bytes_estimate": 0,
  "extra_source_chars_estimate": 0,
  "extra_gas_estimate": 0,
  "room_needed": "none of the 3,000 runtime bytes / 6,000 source characters",
  "basis": "Same-length hex literal and unchanged code: record() walks the same number of delta bytes for the same cell and opcode cost does not depend on operand values; only the exp() of a slightly different fee could take a different path. Read from the source, not compiled or gas-measured here."
 },
 "advance": false,
 "advance_reason": "Ceiling FULL-U1 = +0.0008 (se 0.0061, n 1024) is under 0.005; the refit candidates are -0.0047 (se 0.0040) and -0.0023 (se 0.0038) against U1 on the choose seeds, i.e. no gain. Size room is not the obstacle (it needs none).",
 "tables_zb64": "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",
 "tables_encoding": "base64(zlib(QPL1 blob bytes, 10,160 B)) of the eps=0.001 refit; sha256 in frozen.blob_sha256",
 "decoder_zb64": "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",
 "decoder_encoding": "base64(zlib(UTF-8 JSON path:text)): build_refit.py (builder), qpl_int.py (integer decoder), visitpol.py (visit logger), common.py/visits.py/noise.py/choose.py (the runs; they expect <dir>/work/*.py beside <dir>/scratch/amm = the fetched research with the LEANBASE reference written over it, q_u1.json there and u1.qpl in <dir>/scratch)",
 "seeds_used": {
  "visit_log": [
   64000,
   64511
  ],
  "choose_arms": {
   "U1, FULL, U1-int, CAND eps=0.01, CAND eps=0.001": [
    64000,
    65023
   ]
  },
  "timing_and_decoder_sanity": [
   64000,
   64015
  ],
  "report": [],
  "engine": [],
  "note": "Only seeds inside 64000..65023 were run. Each arm ran each seed once (64000..64015 additionally in a 16-seed timing run for U1, U1-int and FULL; 64000..64015 once more through the visit logger to confirm it leaves edges unchanged: 0 of 16 differed)."
 },
 "not_done": [
  "Report on 10000..12047: not run, by the stop rule (ceiling under 0.005).",
  "No Solidity: the refit blob was not put into Strategy.sol, compiled or gas-measured; cost figures are read from the source. Gates P, T, F, G, E not run (Python-only item).",
  "The 0.111 of kt-high was not reproduced or reconciled: its compressed arm and port were not fetched or rerun here, so whether it differs from U1 is an inference from that artifact's text, not a check.",
  "Ceiling se is 0.006 on the 1,024 choose seeds available; a tighter figure would need report seeds, which the stop rule leaves unused.",
  "The integer decoder was checked against qpl.py only through U1 (max table difference 5e-7 bps, qpl.py rounds to 6 decimals) and not against the deployed contract's surf() on-chain.",
  "Knot placement, quantum and dropping the unread 1c/2c tables are outside build 1 and were not tried.",
  "The shared evaluation kit (score.py, engine_eval.py) was not used: nothing here runs on the engine."
 ]
}