{"item":"probe-reference","batch":"e01-p-engine-probe","summary":"Tell test (tellref.is_arb ported to Solidity) proven on the unpatched amm_sim_rs wheel, seeds 14000000..14000007 once each, probe at 30 bps + telemetry vs VanillaStrategy. Arbitrage trades read: 29091 of 29091 (100%), 0 false negatives. Retail trades read as arbitrage: 2015 of 70503 (2.86%), far above the README's mirror figure (0.21%). Likely cause (hypothesis supported by a control run): at 30 bps the probe's pool has the same fee as Vanilla's, and both pools keep k exact, so the router's split ratio r ~ 1 and a split leg numerator/(gamma1 + r*gamma2) lands on fl(n*grid/gamma). The same 8 seeds with the probe at 35 bps (side diagnostic, not the brief's 30 bps) give 75 of 60502 (0.124%) retail read as arbitrage, in line with the README, and 24806 of 24807 arbitrage trades read: 1 false negative, the step with the smallest arbitrage margin (rel 1.3e-8, an estimated trade of ~6.5e-7 X), retained below. Implication for track A: a contract quoting exactly Vanilla's fees would see many more retail grid hits; the soft posterior (never pin on a hit) matters.","seeds":[14000000,14000001,14000002,14000003,14000004,14000005,14000006,14000007],"seeds_used_once_each":true,"engine":{"repo":"https://github.com/benedictbrady/amm-challenge","commit":"6b6921f8d463314aa7c96234e1be25a25245f704","wheel":"amm_sim_rs-0.1.0.post1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl","wheel_sha256":"aedb68280aca34c110968f00148387c95885207913fb2cf19a1ab4c5cfd6887a","installed_so_sha256":"ff88b6353c2aad7342f0a26194f7347e78b9c3b38d683a7449006d423978cd14","patched":false,"call":"amm_sim_rs.run_batch(probe_bytecode, VanillaStrategy_bytecode, configs, 8); configs per MatchRunner._build_configs with np.random.default_rng(seed=actual seed) and SimulationConfig.seed=actual seed; one 8-seed block saved as it landed"},"research_sources":{"B":"https://raw.githubusercontent.com/gtmcknight/amm-sim/66604b3426d8e97a73e2c39940b9b4dece51cc73/research","fetch_check":"fetch.sh: fetched 34 files, 0 mismatched","TELL.md_sha256":"58313183f81d5a0ba6a5e3454645bd3572c1fe5366694ad72242b7ad932a9714","tellref.py_sha256":"72679df55e2ba46a903075543654b685e7b2bf86dfbef3d5122dff6368d4a4f2","vectors.json.gz_sha256":"7483623d551bd6334547b6b1fcd621b4d721dd2082011b6c113f083421396947","setup_sh":"https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/setup.sh (ran clean; StarterStrategy validated)"},"vectors":{"vectors":11856,"mismatches":0,"first_mismatch_idx":[],"arb_vectors":4661,"arb_expected_true":4661,"retail_vectors":7195,"retail_expected_true":9,"gas_per_isArb_call_tx_incl_21000_base":{"n":11856,"min":51505,"max":69809,"mean":60754.91109986505},"note":"Probe.sol isArb via pyrevm, solc 0.8.24 optimizer runs 200; gas includes the 21000 tx base and calldata"},"probe":{"design":"afterSwap runs isArb on every callback with the reserves it was handed last (afterInitialize's at start) and the fees it actually returned last (all within [0,1e17], so the engine's clamp is a no-op). bid = 30e14 + 2*((t+1)%2048) + firstHit (first callback's grid hit for step t, kept through later callbacks); ask = 30e14 + 64*min(ncb,63) + min(nhit,63), per-step callback and hit counters. No fair price or truth in the contract.","decode_proof":{"base_30bps":{"codes":4096,"distinct_f64":4096,"collisions":0},"base_35bps":{"codes":4096,"distinct_f64":4096,"collisions":0},"max_fee_perturbation_wei":4095,"max_fee_perturbation_bps":4.095e-11},"decoder":"outside the contract: fee_w = the unique integer w with float(w)/1e18 == step fee; step t live iff bid code>>1 == (t+1)%2048, else silent (counters 0); truth arb at t iff spot[t-1] < (1-ask_w[t-1]/1e18)*p[t] or p[t] < (1-bid_w[t-1]/1e18)*spot[t-1], initial reserves and 30e14 fees at t=0; arb trade is the step's first callback; retail = all other callbacks; retail_read_as_arb = hits - arb first-hits. Ambiguous boundary flagged at rel margin < 1e-12 (none); unreadable = counter saturation, possible stale alias (silent run >= 2047), truth arb with no callback (all 0).","validate":"amm-match validate Probe.sol: Strategy 'TellProbe' validated successfully!","runtime_bytes":3699,"runtime_limit":24576,"afterSwap_peak_gas":99374,"afterSwap_peak_gate":245000,"oog":0,"revert":0},"result_30bps":{"pooled":{"arbs_total":29091,"arbs_read":29091,"retail_total":70503,"retail_read_as_arb":2015,"callbacks":99594,"hits":31106,"silent_steps":21180,"saturated":0,"stale_alias":0,"arb_without_callback":0,"first":{"tp":29091,"fn":0,"fp":861,"tn":28868},"arb_read_rate":1.0,"retail_read_as_arb_rate":0.028580344098832675,"first_trades_misread_rate":0.014637878272696362,"ambiguous_boundary":0,"unreadable":0,"false_negatives":[]},"per_run":[{"seed":14000000,"arbs_total":3616,"arbs_read":3616,"retail_total":8688,"retail_read_as_arb":337,"first":{"tp":3616,"fn":0,"fp":150,"tn":3593},"callbacks":12304,"hits":3953,"silent_steps":2641,"max_silent_run":8,"max_callbacks_in_step":7,"min_rel_margin_arb":2.526815052920702e-07,"min_rel_margin_noarb":8.865910290857337e-08,"edge_submission":346.7322943624304,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.03878913443830571},{"seed":14000001,"arbs_total":3362,"arbs_read":3362,"retail_total":6991,"retail_read_as_arb":148,"first":{"tp":3362,"fn":0,"fp":77,"tn":3271},"callbacks":10353,"hits":3510,"silent_steps":3290,"max_silent_run":11,"max_callbacks_in_step":6,"min_rel_margin_arb":6.1582571263935e-07,"min_rel_margin_noarb":3.801587531469761e-07,"edge_submission":324.81715325483356,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.021170075811757973},{"seed":14000002,"arbs_total":3606,"arbs_read":3606,"retail_total":8203,"retail_read_as_arb":362,"first":{"tp":3606,"fn":0,"fp":157,"tn":3439},"callbacks":11809,"hits":3968,"silent_steps":2798,"max_silent_run":8,"max_callbacks_in_step":6,"min_rel_margin_arb":3.7403095604609844e-07,"min_rel_margin_noarb":2.68475185328819e-07,"edge_submission":369.02183339872124,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.044130196269657446},{"seed":14000003,"arbs_total":3754,"arbs_read":3754,"retail_total":9793,"retail_read_as_arb":47,"first":{"tp":3754,"fn":0,"fp":18,"tn":3895},"callbacks":13547,"hits":3801,"silent_steps":2333,"max_silent_run":7,"max_callbacks_in_step":7,"min_rel_margin_arb":2.4494587327886563e-07,"min_rel_margin_noarb":3.06789733659991e-07,"edge_submission":426.99728234959645,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.004799346471969774},{"seed":14000004,"arbs_total":3705,"arbs_read":3705,"retail_total":9793,"retail_read_as_arb":579,"first":{"tp":3705,"fn":0,"fp":245,"tn":3675},"callbacks":13498,"hits":4284,"silent_steps":2375,"max_silent_run":8,"max_callbacks_in_step":7,"min_rel_margin_arb":2.785747062307137e-07,"min_rel_margin_noarb":3.497119842347774e-08,"edge_submission":405.16000487218287,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.05912386398447871},{"seed":14000005,"arbs_total":3586,"arbs_read":3586,"retail_total":8909,"retail_read_as_arb":115,"first":{"tp":3586,"fn":0,"fp":51,"tn":3709},"callbacks":12495,"hits":3701,"silent_steps":2654,"max_silent_run":8,"max_callbacks_in_step":6,"min_rel_margin_arb":1.510331654498646e-07,"min_rel_margin_noarb":1.5628736993768489e-06,"edge_submission":390.0557052861131,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.012908294982601863},{"seed":14000006,"arbs_total":3686,"arbs_read":3686,"retail_total":9438,"retail_read_as_arb":235,"first":{"tp":3686,"fn":0,"fp":89,"tn":3728},"callbacks":13124,"hits":3921,"silent_steps":2497,"max_silent_run":8,"max_callbacks_in_step":7,"min_rel_margin_arb":1.0927398209881617e-06,"min_rel_margin_noarb":7.160949622501101e-07,"edge_submission":404.5318145529625,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.024899343081161263},{"seed":14000007,"arbs_total":3776,"arbs_read":3776,"retail_total":8688,"retail_read_as_arb":192,"first":{"tp":3776,"fn":0,"fp":74,"tn":3558},"callbacks":12464,"hits":3968,"silent_steps":2592,"max_silent_run":8,"max_callbacks_in_step":6,"min_rel_margin_arb":3.4930431456770437e-07,"min_rel_margin_noarb":2.6184647701592566e-07,"edge_submission":399.45713536012215,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.022099447513812154}],"gas_stats_submission":{"afterInitialize":{"role":"Submission","callback":"afterInitialize","calls":8,"ok":8,"max_ok_gas":112433,"sum_ok_gas":899464,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"role":"Submission","callback":"afterSwap","calls":99594,"ok":99594,"max_ok_gas":99374,"sum_ok_gas":7749619451,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"role":"Submission","callback":"getName","calls":8,"ok":8,"max_ok_gas":21537,"sum_ok_gas":172296,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}},"runtime_bytes":3699},"diagnostic_35bps_same_seeds":{"pooled":{"arbs_total":24807,"arbs_read":24806,"retail_total":60502,"retail_read_as_arb":75,"callbacks":85309,"hits":24881,"silent_steps":25924,"saturated":0,"stale_alias":0,"arb_without_callback":0,"first":{"tp":24806,"fn":1,"fp":42,"tn":29227},"arb_read_rate":0.9999596887975168,"retail_read_as_arb_rate":0.001239628442034974,"first_trades_misread_rate":0.000795177158073822,"ambiguous_boundary":0,"unreadable":0,"false_negatives":[{"seed":14000001,"t":7561,"p":104.8682118148684,"spot_prev":105.23654107491349,"bid_w_in_force":3500000000002826,"ask_w_in_force":3500000000000128,"side":"pool bought X","telemetry_bid_w":3500000000002836,"telemetry_ask_w":3500000000000064}]},"per_run":[{"seed":14000000,"arbs_total":3083,"arbs_read":3083,"retail_total":7406,"retail_read_as_arb":6,"first":{"tp":3083,"fn":0,"fp":4,"tn":3663},"callbacks":10489,"hits":3089,"silent_steps":3250,"max_silent_run":10,"max_callbacks_in_step":6,"min_rel_margin_arb":8.590999290869116e-07,"min_rel_margin_noarb":3.542236074324626e-07,"edge_submission":352.65377498697177,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0008101539292465569},{"seed":14000001,"arbs_total":2897,"arbs_read":2896,"retail_total":6081,"retail_read_as_arb":7,"first":{"tp":2896,"fn":1,"fp":3,"tn":3235},"callbacks":8978,"hits":2903,"silent_steps":3865,"max_silent_run":15,"max_callbacks_in_step":6,"min_rel_margin_arb":1.3028567624476593e-08,"min_rel_margin_noarb":3.7507022373851815e-08,"edge_submission":334.3853150417353,"ambiguous_boundary":0,"unreadable":0,"false_negatives":1,"arb_read_rate":0.9996548153261995,"retail_read_as_arb_rate":0.001151126459463904},{"seed":14000002,"arbs_total":3062,"arbs_read":3062,"retail_total":6995,"retail_read_as_arb":7,"first":{"tp":3062,"fn":0,"fp":4,"tn":3488},"callbacks":10057,"hits":3069,"silent_steps":3446,"max_silent_run":8,"max_callbacks_in_step":6,"min_rel_margin_arb":3.7403095604609844e-07,"min_rel_margin_noarb":7.678266914010238e-07,"edge_submission":377.98911423737644,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0010007147962830592},{"seed":14000003,"arbs_total":3238,"arbs_read":3238,"retail_total":8404,"retail_read_as_arb":12,"first":{"tp":3238,"fn":0,"fp":7,"tn":3873},"callbacks":11642,"hits":3250,"silent_steps":2882,"max_silent_run":10,"max_callbacks_in_step":6,"min_rel_margin_arb":4.2851006612962446e-07,"min_rel_margin_noarb":1.2669301038093075e-06,"edge_submission":437.95173802628494,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0014278914802475012},{"seed":14000004,"arbs_total":3137,"arbs_read":3137,"retail_total":8317,"retail_read_as_arb":15,"first":{"tp":3137,"fn":0,"fp":7,"tn":3861},"callbacks":11454,"hits":3152,"silent_steps":2995,"max_silent_run":9,"max_callbacks_in_step":7,"min_rel_margin_arb":9.365432252998246e-08,"min_rel_margin_noarb":9.050203671501221e-07,"edge_submission":413.38974189867156,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0018035349284597811},{"seed":14000005,"arbs_total":3034,"arbs_read":3034,"retail_total":7672,"retail_read_as_arb":11,"first":{"tp":3034,"fn":0,"fp":8,"tn":3721},"callbacks":10706,"hits":3045,"silent_steps":3237,"max_silent_run":9,"max_callbacks_in_step":6,"min_rel_margin_arb":1.510331654498646e-07,"min_rel_margin_noarb":2.254338267139936e-06,"edge_submission":399.92016482079765,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0014337851929092805},{"seed":14000006,"arbs_total":3134,"arbs_read":3134,"retail_total":8050,"retail_read_as_arb":10,"first":{"tp":3134,"fn":0,"fp":6,"tn":3781},"callbacks":11184,"hits":3144,"silent_steps":3079,"max_silent_run":9,"max_callbacks_in_step":7,"min_rel_margin_arb":1.404627652876651e-06,"min_rel_margin_noarb":8.671397021218976e-08,"edge_submission":413.8397933961918,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.0012422360248447205},{"seed":14000007,"arbs_total":3222,"arbs_read":3222,"retail_total":7577,"retail_read_as_arb":7,"first":{"tp":3222,"fn":0,"fp":3,"tn":3605},"callbacks":10799,"hits":3229,"silent_steps":3170,"max_silent_run":12,"max_callbacks_in_step":6,"min_rel_margin_arb":3.321325566705848e-07,"min_rel_margin_noarb":9.037691374754251e-07,"edge_submission":411.4759108070378,"ambiguous_boundary":0,"unreadable":0,"false_negatives":0,"arb_read_rate":1.0,"retail_read_as_arb_rate":0.000923848488847829}],"gas_stats_submission":{"afterInitialize":{"role":"Submission","callback":"afterInitialize","calls":8,"ok":8,"max_ok_gas":112433,"sum_ok_gas":899464,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"afterSwap":{"role":"Submission","callback":"afterSwap","calls":85309,"ok":85309,"max_ok_gas":100064,"sum_ok_gas":6650400915,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},"getName":{"role":"Submission","callback":"getName","calls":8,"ok":8,"max_ok_gas":21537,"sum_ok_gas":172296,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}},"runtime_bytes":3699},"gates":{"vectors_0_mismatch":true,"afterSwap_peak_le_245000":true,"zero_oog_revert":true,"validate":true,"runtime_le_24576":true,"all_arbs_read_30bps":true,"retail_read_as_arb_rate_vs_README_0.21pct":"missed at 30 bps (2.86%), diagnosed above (supported, not proven, by the 35 bps run: 0.124%)"},"false_negative_repro":"PROBE_BASE_BPS=35 python run_probe.py Probe.sol OUT 14000000 8 -> seed 14000001 t 7561; with PROBE_BASE_BPS unset (30 bps) the same seeds give 0 false negatives","commands":["sh fetch.sh $B test/scratch/amm","git clone amm-challenge; git checkout 6b6921f8...; sh scratch/setup.sh",". scratch/env.sh && python vec_check.py Probe.sol vectors.json.gz vec_out.json","python3 -I decode_proof.py",". scratch/env.sh && python run_probe.py Probe.sol out 14000000 8",". scratch/env.sh && PROBE_BASE_BPS=35 python run_probe.py Probe.sol out35 14000000 8",". scratch/env.sh && amm-match validate Probe.sol","python3 build_result.py OUTDIR"],"not_done":"No root cause established for the single 35-bps false negative (trade amounts are not visible to the harness); no submission.","code_zb64":"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","code_sha256":"ca7f9c47ccd35c71ac69a20705e3f5080890c93c46218dca5dd0cdec6e1352d8","code_name":"Probe.sol","bundle_zb64":"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","bundle_sha256":"f095b9ac372fb97e65a2c68f07b06ba555cdaedf99c4bef11a708d41d6d9d31d"}