{"credit":"Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved: replica, Gaussian filter, posterior policy, TellPolicy and qm tables (research files at 66604b3426d8e97a73e2c39940b9b4dece51cc73). LEANBASE (A/efb8e653...) and the split test qlgate cap24+GATE (A/f5cea5b2...) are IdentityMD network artifacts built on Taylor's work.","item":"carry","batch":"e04-rival-exact","question":"Does carrying the rival's exact state from one accepted split to the next beat LEANBASE's rival estimate (Python replica)?","answer":"No. Literal CARRY (arb-only moves between splits) loses 1.389 (se 0.017) per seed vs LEANBASE on 2048 report seeds: between splits the rival also takes retail flow we never see, and dropping LEANBASE's router bound lets the carried spot drift (rival error 2.64 bps vs 0.47). Keeping the bound (CARRYB, CARRYBT) tracks the rival better than LEANBASE or SPLIT (0.30 vs 0.47 / 0.40 bps) yet earns less than SPLIT, whose 0.35 pull stays (SPLIT minus CARRYB +0.0205, se 0.0057). Exact spots at splits are not the bottleneck: ORACLE-AT-SPLIT minus CARRY +0.0215 (se 0.0193), ORACLE-AT-SPLIT-B minus CARRYB +0.0007 (se 0.0021). Within the step of a split CARRY already errs 0.78 bps vs CARRYB 0.007: retail routed wholly to the rival moves it unseen and only the bound catches it. Best live arm: SPLIT (the earlier rule); the true spot at every callback (ORACLE) is worth +0.1103 more than SPLIT.","paired_contrasts_report":{"ORACLE-AT-SPLIT minus CARRY":{"mean_diff":0.021488,"se":0.01933,"n":2048},"ORACLE-AT-SPLIT-B minus CARRYB":{"mean_diff":0.00068,"se":0.002055,"n":2048},"CARRYB minus CARRY":{"mean_diff":1.403588,"se":0.015845,"n":2048},"CARRYBT minus CARRYB":{"mean_diff":-0.002558,"se":0.002843,"n":2048},"SPLIT minus CARRYB":{"mean_diff":0.020461,"se":0.005684,"n":2048},"SPLIT minus CARRYBT":{"mean_diff":0.023018,"se":0.005626,"n":2048},"ORACLE minus SPLIT":{"mean_diff":0.110309,"se":0.00611,"n":2048}},"arms":[{"name":"SPLIT","kind":"live","definition":"The earlier rule, qlgate cap24+GATE unchanged (A/f5cea5b2 frozen pick; q=1 pull=1 cap=24 order=b gate=6) on LEANBASE: on an accepted split test the rival spot := s*g/0.997 (pool bought X) or s*0.997/g, synced; between splits LEANBASE's own dynamics: new-step clip to [pe*0.997, pe/0.997], one-sided router bound on full own fills, 0.35 pull.","report":{"mean_diff":0.034895,"se":0.003807,"n":2048,"min":-2.3235,"rival_mae_bps":0.3992},"choose":{"mean_diff":0.036895,"se":0.004746,"n":1024,"seeds":"64000..65023"}},{"name":"CARRY","kind":"live","definition":"After every accepted split test the rival is taken as exact (spot = inferred spot; reserves sqrt(1e6/s), sqrt(1e6*s), x*y = 1e6). Between splits the carried spot replaces LEANBASE's estimate and moves ONLY as an arb would: at each new step clipped to [pe*0.997, pe/0.997], pe = exp(m) the price LEANBASE believes; no router bound, no 0.35 pull. Used wherever LEANBASE uses s2h (table lookup w2 and the synced tag; synced True at a split, False after a new-step clip). Before the first accepted split: LEANBASE + the same split test.","report":{"mean_diff":-1.389153,"se":0.01657,"n":2048,"min":-4.4851,"rival_mae_bps":2.6433},"choose":{"mean_diff":-1.415266,"se":0.034515,"n":512,"seeds":"64000..64511"}},{"name":"CARRYB","kind":"live","definition":"Variant (choose-stage): CARRY plus LEANBASE's one-sided router bound (a full own fill bounds the rival spot); only the 0.35 pull is dropped while carrying.","report":{"mean_diff":0.014435,"se":0.006047,"n":2048,"min":-2.5059,"rival_mae_bps":0.2953},"choose":{"mean_diff":0.019914,"se":0.008681,"n":1024,"seeds":"64000..65023"}},{"name":"CARRYBT","kind":"live","definition":"Variant (choose-stage): CARRYB with synced = True at every lookup while carrying. Identical decisions to CARRYBQ (CARRYB + synced=True, spot not moved, where the pull would fire): with the bound kept every non-arb callback ends synced either way.","report":{"mean_diff":0.011877,"se":0.005997,"n":2048,"min":-2.5231,"rival_mae_bps":0.2949},"choose":{"mean_diff":0.027598,"se":0.008699,"n":1024,"seeds":"64000..65023"}},{"name":"CARRYBQ","kind":"live","definition":"Variant (choose-stage only): CARRYB with synced = True (spot not moved) on callbacks where LEANBASE's pull would fire; same rows as CARRYBT.","report":null,"choose":{"mean_diff":0.027598,"se":0.008699,"n":1024,"seeds":"64000..65023"},"report_note":"not run on report seeds (choose-stage variant; see pick_rule)"},{"name":"CARRYBS","kind":"live","definition":"Variant (choose-stage only): CARRYB with CARRYS's synced rule.","report":null,"choose":{"mean_diff":0.019962,"se":0.008616,"n":1024,"seeds":"64000..65023"},"report_note":"not run on report seeds (choose-stage variant; see pick_rule)"},{"name":"CARRYS","kind":"live","definition":"Variant (choose-stage only, stopped early): CARRY with the synced flag kept through a new step whose clip does not move the carried spot.","report":null,"choose":{"mean_diff":-1.357021,"se":0.034241,"n":512,"seeds":"64000..64511"},"report_note":"not run on report seeds (choose-stage variant; see pick_rule)"},{"name":"ORACLE-AT-SPLIT","kind":"oracle","definition":"ORACLE-AT-SPLIT: CARRY, but at each split accepted by the live test the rival spot is set to the TRUE rival spot (hidden replica state y2/x2 at that callback), then the same arb-only carry.","report":{"mean_diff":-1.367666,"se":0.016723,"n":2048,"min":-6.0879,"rival_mae_bps":2.6367},"choose":{"mean_diff":-1.345332,"se":0.031896,"n":512,"seeds":"64000..64511"}},{"name":"ORACLE-AT-SPLIT-B","kind":"oracle","definition":"ORACLE-AT-SPLIT for CARRYB: CARRYB with the TRUE rival spot taken at accepted splits.","report":{"mean_diff":0.015114,"se":0.006068,"n":2048,"min":-2.5073,"rival_mae_bps":0.295},"choose":{"mean_diff":0.023218,"se":0.008673,"n":1024,"seeds":"64000..65023"}},{"name":"ORACLE","kind":"oracle","definition":"The TRUE rival spot (replica y2/x2 at the callback, after this event's rival leg) as s2h at every callback, synced = True, on LEANBASE + qlgate.","report":{"mean_diff":0.145204,"se":0.006725,"n":2048,"min":-2.1698,"rival_mae_bps":0.0},"choose":{"mean_diff":0.132985,"se":0.009823,"n":1024,"seeds":"64000..65023"}}],"error_by_age":{"definition":"Report seeds 10000..12047, every own callback of each arm's own run. age = timestamp minus timestamp of the last accepted split test (0 = same step; \"none\" = no accepted split yet). error = |ln(rival estimate used at the callback's final table lookup / true rival spot y2/x2 at that callback)| in bps. LEANBASE's ages come from the same gated cap24 test run in shadow (never fed to its decisions); CARRY's from its live test.","LEANBASE":{"none":{"share":1e-05,"mae_bps":0.7209},"0":{"share":0.54252,"mae_bps":0.1781},"1":{"share":0.20914,"mae_bps":0.3458},"2":{"share":0.10186,"mae_bps":0.6628},"3-5":{"share":0.10941,"mae_bps":1.2437},"6+":{"share":0.03705,"mae_bps":2.6544}},"CARRY":{"none":{"share":1e-05,"mae_bps":0.7209},"0":{"share":0.53827,"mae_bps":0.7797},"1":{"share":0.21007,"mae_bps":3.1933},"2":{"share":0.10258,"mae_bps":4.5347},"3-5":{"share":0.11066,"mae_bps":5.9987},"6+":{"share":0.0384,"mae_bps":11.0341}},"extra":{"CARRYB":{"none":{"share":1e-05,"mae_bps":0.7209},"0":{"share":0.54297,"mae_bps":0.0066},"1":{"share":0.20957,"mae_bps":0.1232},"2":{"share":0.10209,"mae_bps":0.411},"3-5":{"share":0.10914,"mae_bps":1.0313},"6+":{"share":0.03621,"mae_bps":3.0757}},"SPLIT":{"none":{"share":1e-05,"mae_bps":0.7209},"0":{"share":0.54226,"mae_bps":0.0814},"1":{"share":0.20928,"mae_bps":0.2927},"2":{"share":0.10204,"mae_bps":0.6275},"3-5":{"share":0.1095,"mae_bps":1.2121},"6+":{"share":0.03691,"mae_bps":2.6302}}},"overall_mae_bps":{"LEANBASE":0.4709,"SPLIT":0.3992,"CARRY":2.6433,"CARRYB":0.2953,"CARRYBT":0.2949,"OSPLIT":2.6367,"OSPLITB":0.295,"ORACLE":0.0},"accepted_splits_per_seed":{"LEANBASE":5562.8,"SPLIT":5565.9,"CARRY":5421.1,"CARRYB":5558.2},"callbacks_per_seed":{"LEANBASE":10926.5,"CARRY":10742.8}},"best_live":{"name":"SPLIT","mean_diff":0.034895,"se":0.003807,"n":2048,"chosen_by":"highest choose-seed (64000..65023) mean_diff among live arms; choose SPLIT 0.0369 (se 0.0047), CARRYBT 0.0276, CARRYBS 0.0200, CARRYB 0.0199, CARRY -1.415"},"ceiling":{"name":"ORACLE","mean_diff":0.145204,"se":0.006725,"n":2048},"advance":false,"advance_reason":"best_live SPLIT mean_diff 0.03490 (>= 0.05: False), mean_diff - 2se = 0.02728 (> 0: True)","base":{"name":"LEANBASE","policy":"leanbase.Policy variant A, soft=1, qm=qm_k1e-5.json, a0=ainf=0.35 (A/efb8e653...)","report_edge_mean":536.6068,"pairing":"each arm alone vs the replica 30 bps rival, paired by seed; se = sd(ddof=1)/sqrt(n)"},"report_blocks":[{"seeds":[10000,10511],"SPLIT":0.03896,"CARRY":-1.37911,"CARRYB":0.00325,"CARRYBT":-0.0027,"OSPLIT":-1.34639,"OSPLITB":0.00707,"ORACLE":0.14852},{"seeds":[10512,11023],"SPLIT":0.02834,"CARRY":-1.35888,"CARRYB":0.01576,"CARRYBT":0.02009,"OSPLIT":-1.35937,"OSPLITB":0.01074,"ORACLE":0.13176},{"seeds":[11024,11535],"SPLIT":0.04661,"CARRY":-1.4337,"CARRYB":0.02571,"CARRYBT":0.03113,"OSPLIT":-1.41596,"OSPLITB":0.03134,"ORACLE":0.16674},{"seeds":[11536,12047],"SPLIT":0.02567,"CARRY":-1.38492,"CARRYB":0.01301,"CARRYBT":-0.00101,"OSPLIT":-1.34894,"OSPLITB":0.0113,"ORACLE":0.1338}],"x_times_y_reliance":{"note":"Replica: rival K = x*y held at 1e6 (nrx = K/nry). Engine: recomputed from rounded reserves each trade.","relies":{"SPLIT":"yes: test acceptance divides by the constant sqrt(1e6*0.997) for the rival's sqrt(x2*0.997*y2); the inferred spot (marginal-price equality) does not use K","CARRY":"yes: same test acceptance; the carry itself does not: the replica arb puts the rival spot at exactly p*0.997 or p/0.997 for any K, so only the spot is carried (reserves sqrt(1e6/s), sqrt(1e6*s) are implied, unused)","CARRYB":"yes: as CARRY","CARRYBT":"yes: as CARRY","ORACLE-AT-SPLIT":"yes for which callbacks are accepted (same test); the spot itself is read from hidden state","ORACLE-AT-SPLIT-B":"as ORACLE-AT-SPLIT","ORACLE":"no: reads the true spot every callback (the test runs but its value is overwritten)","LEANBASE":"no: band clip, router bound and pull use spot ratios only"}},"cost":{"storage_slots":{"SPLIT":"0 extra words over LEANBASE (A/f5cea5b2 cost table: extra_storage_words 0)","CARRY_family":"1 extra bit (carrying flag) over SPLIT, packable into the word holding the synced flag: 0 extra words if packed, else 1; no reserves stored (spot only; reserves implied by x*y = 1e6)"},"gas_estimate":{"measured":null,"SPLIT":"not measured; A/f5cea5b2 counts at most 22 binary64 ops for the cap24 test, 29 with the hit update, and says it never runs on the peak path (first callback with dt >= 7)","CARRY_family":"not measured; vs SPLIT: one flag test per callback, and while carrying the 0.35 pull (one log, one exp, a multiply-add, one re-lookup) is skipped on non-hit retail callbacks; CARRY also skips the router-bound compare. No new loop or table read."}},"reference_zb64":"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","reference_encoding":"base64(zlib level 9 (USTAR tar)): README.txt, carry.py, exp.py, qlgate.py, qlite.py, qbase.py, leanbase.py, lean_tell.py, stalerival.py; place beside Taylor's research files @66604b34 and LEANBASE's modules (see README.txt)","reference_sha256":{"carry.py":"6a0fde733651c12bdc59401fe3692680d437f7bcdbaef62e60a08099ca7c8c35","exp.py":"a1b340a3878b07011f0a78111713d75cadb12d4d51d67b6cc0f60960a1d8dc6e","qlgate.py":"0823f2d25728bf95238fc350a8aabefe8e73143cfaf9859e894a7c2c06984de6","qlite.py":"2ab8337870a2375b79f1773619e3b11a472bc6d8b4b9085f5047cec645c57535","qbase.py":"1a6dc9fa4bf27891d91701c9b1fce91c19091b7559dfcc282342c5ab47bb306a","leanbase.py":"ba015769f7981d7798acbbc9aff8c0e0c59825bb1541d55bcdef49311d7a04bc","lean_tell.py":"b70054f8c0561779e40c4c8df3f41ab08da05b9aef591816ac6c9034beb40a95","stalerival.py":"d124a171d35b024daed840e5449d352b2b5e50a68ce98c8a9aaafaf3419d23da","tellpol.py":"7d5961c45bec56292533e65607245ad119b8733c760a5bf28f76a2e07bc3960b","tellref.py":"4867a33106ce2597863b8d7c8fb396288954b98f291714801fae8820f1f47aa3","real.py":"6a4a0f0e7f8b43d38e5eaa9d8b2e847a0771aee7f89551b122fe89bfe7969b5f","replica2.py":"54380c8755f4e42e9a0426759e918eacd2c5f915b7f04e5d0501c394c5846b40","run.py":"91133e4ef485626226679d73349b5b4e374d9713ac5d7e9d36a39e1afd75933c","evalpol.py":"79a96efe8c543aee125c937554688b37ec2e7df44df4f3435265bba6eb012bf3","par.py":"bf8a1a2e2a4bf9a23bf4622d726fd815702298ad1f9fa0dd17197230cce63ec1","pol_mid.json":"efbb5ee102db4d312f64565d9bf7232b6becbe02b624164f744a402bbbf2983b","qm_k1e-5.json":"5ff53e42ca87390e5f65d1caa3f7a480e67a8212fb0670274dfd562b05ba1afd"},"seeds_used":{"smoke":[64000,64001],"choose":[64000,65023],"choose_note":"CARRY, CARRYS, ORACLE-AT-SPLIT run on 64000..64511 only (stopped early, clearly worse)","report":[10000,12047],"report_blocks":"512-seed blocks 10000, 10512, 11024, 11536, each once, in increasing order, after the freeze","report_reused_for_selection":false},"checks":{"harness_equals_run_py":"exp.py LEANBASE and SPLIT edges equal run.py Blind leanbase:Policy / qlgate:Policy on seeds 64000..64001 (bitwise)","shadow_test_vs_policy_test_mismatches":0,"shadow_test_scope":"verified in the CHECK=1 smoke run only (seeds 64000..64001, every arm except LEANBASE, whose ages always come from the shadow test); choose and report runs did not re-check","frozen_code_hash_checked_before_each_report_block":true,"module_hashes":"LEANBASE and qlgate dependency sha256 lists from A/efb8e653 and A/f5cea5b2 match the files used","packed_vs_taylor":"LEANBASE copies of real.py, replica2.py, run.py, tellpol.py, tellref.py, evalpol.py, par.py differ from Taylor's 66604b34 files only by one added credit line","carrybt_equals_carrybq":"identical rows on all 1024 choose seeds (logical equivalence, see definition)"},"pick_rule":"Written before any choose scoring (2-seed smoke test 64000..64001 only seen).\nChoose seeds 64000..65023 (1024), arms LEANBASE,SPLIT,CARRY,CARRYB,CARRYS,CARRYBS,OSPLIT,OSPLITB,ORACLE, paired vs LEANBASE.\nbest_live pick: the live arm among SPLIT,CARRY,CARRYB,CARRYS,CARRYBS with the highest choose mean_diff vs LEANBASE.\nReport seeds 10000..12047 once, in 512-seed blocks in increasing order: LEANBASE,SPLIT,CARRY,OSPLIT,ORACLE + pick (+ OSPLITB if pick is CARRYB/CARRYBS).\nCode frozen (sha256 of carry.py, exp.py and every dependency) before the first report block.\nAmendment written after choose part A (64000..64511) and before part B: CARRY, CARRYS, OSPLIT stopped early as clearly\nworse on part A (each about -1.35..-1.42, se 0.03; kept as reported arms CARRY and ORACLE-AT-SPLIT on report seeds).\nAdded live variants CARRYBT, CARRYBQ (run on all 1024 choose seeds). best_live pick: highest 1024-seed choose mean_diff\nvs LEANBASE among live arms SPLIT, CARRYB, CARRYBS, CARRYBT, CARRYBQ (CARRY, CARRYS judged on 512).\nPick after choose (1024 seeds): SPLIT (highest live choose mean_diff). Report arms frozen: LEANBASE,SPLIT,CARRY,CARRYB,CARRYBT,OSPLIT,OSPLITB,ORACLE\n(CARRYB, CARRYBT, OSPLITB added as informative carry arms; best_live is SPLIT by the choose rule whatever the report shows).\n","not_done":["No Solidity port, gas measurement, engine run, size or tell/fee parity gates: Python replica only (brief: replica only).","Gas for every arm is unmeasured (gas_estimate.measured = null); only operation-level differences are stated.","CARRY, CARRYS and ORACLE-AT-SPLIT were stopped after 512 of the 1024 choose seeds as clearly worse (about -1.35..-1.42, se 0.03); CARRY and ORACLE-AT-SPLIT were still run on all 2048 report seeds.","CARRYS, CARRYBS and CARRYBQ were not run on report seeds (choose-stage variants only).","error_by_age uses each arm's own trajectory; a same-trajectory shadow comparison was not run.","Engine behaviour under rounded-reserve K (x*y not exactly 1e6) was not measured; reliance is stated, not quantified.","Choose-stage variants (CARRYB, CARRYBT) were added after seeing choose part A; they do not change best_live, which is SPLIT by the pre-written rule."]}