{"item":"routing (batch e02-classifier): learned arb/retail call for a step's first own trade, replacing COMBO's filter pi","credit":"Taylor (gtmcknight): replica2.py, Gaussian filter, fee rule, qm tables (github.com/gtmcknight/amm-sim @4812a6382311624e1506aca131ca35c378f930d9, research/solved). qt1, TC, COMBO, QMS1 are IdentityMD items built on Taylor's work; this item modifies COMBO only at the pi call.","hashes":{"amm-sim_commit":"4812a6382311624e1506aca131ca35c378f930d9","artifacts_sha256_equal_url_suffix":true,"qt1_artifact":"8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40","TC_artifact":"d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9","COMBO_artifact":"d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4","QMS1_artifact":"17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc","extracted":{"qmref.py":"1dfc9b7a3c2237ff7a93dd9f0af54b9bdab16f2ce0a7eb00784cb4432598db92 (7739 B; COMBO artifact publishes 7,739 bytes, 1d..)","twocomp.py":"9d3c1833321493fb51bbde4e1b4dabc2f8978bd6d774ee2af8dc8aed13f0f0af (11202 B, matches COMBO artifact)","combo.py":"c5b711a0b4fb4783e8879a484bf87a427171f4a11aa5eb5ec3513c24ead1a796 (5929 B, matches COMBO artifact)","blob.bin":"3ac7cb8811ecfb6a17f499aa4e9b70dd55f7fb6432b3aec3b904e11a3dece38e (10167 B, matches QMS1/qt1/TC/COMBO)","qt1_Strategy.sol":"c68887cff61180e12ba2b1ceb333edf76a830f91f63b5d775a8806fb9ec08aca (42990 B, matches qt1 artifact)"},"frozen_before_report":{"state/models.json":"cca7367d31f5da8b2b74e35281f539adc7c4c4f503528ebb90a432435df1c38b","routed.py":"e1ebc150be529fa9caa80cd1d8ad5a7abe38789ac28204d36237fcfce99dad7c","infer.py":"8df2d8b1f95259490957278aaeeb1a21ff4208757e6c18600250ec03023833b4","combo.py":"c5b711a0b4fb4783e8879a484bf87a427171f4a11aa5eb5ec3513c24ead1a796","twocomp.py":"9d3c1833321493fb51bbde4e1b4dabc2f8978bd6d774ee2af8dc8aed13f0f0af","qmref.py":"1dfc9b7a3c2237ff7a93dd9f0af54b9bdab16f2ce0a7eb00784cb4432598db92","blob.bin":"3ac7cb8811ecfb6a17f499aa4e9b70dd55f7fb6432b3aec3b904e11a3dece38e"},"result_source_bundle_sha256":"c23f38762b823baa4e8a532de857065f1f1133669db7a4ecf1e0f478ad7adcff"},"gates_output":{"P_gates.py_unmodified_checkout":["seed   perfect-info      gaussian+plain    gaussian+qm       lattice+qm","10000  448.261189  443.455598  443.522608  443.663520","10001  576.779199  571.463409  571.623551  571.977293","10002  531.886497  525.168028  525.865859  526.411631"],"P_all_12_values_match_README_6dp":true,"qt1_QMRef_edges_10000..10002":[443.101741,571.454483,525.908441],"qt1_check_matches_brief":true,"COMBO_minus_qt1_report_reproduces_published_+0.597391_se_0.013388":true,"Routed_with_identity_pi_equals_COMBO_bitwise":"seeds 10000, 10001: edges 444.195330 / 572.172682 identical","invariance_to_hidden_inputs":"INVARIANT [(10000, 9080, 444.473345), (64000, 9639, 437.760776), (73512, 10490, 470.618696)] (seed, callbacks compared, edge): hidden arb flag/p/s2/j randomised on every callback, fees identical on every callback","F_contract_gate":"not run: replica-only item, no contract"},"findings":{"summary":"The achievable classifier gain is small, as the README warns: on COMBO open-loop trajectories the filter's pi has held-out error 16.11%; a 400-tree GBT on 23 live features reaches 15.65% (log loss 0.355 -> 0.339, ECE 0.0070 -> 0.0012). Almost all signal is already in the filter's pi (permutation importance 0.486 of log loss) with small adds from ln L_arb, rival advantage adv, crossed-quote offset q, displacement d, trade size lsz. Replacing pi inside COMBO with the guarded quantized 16-unit net gives +0.078 (se 0.009) over COMBO and +0.675 (se 0.014) over qt1 on the report seeds; the GBT teacher gives +0.119 (se 0.010) over COMBO. This item adds about 0.08 on top of COMBO; most of the 2.7 oracle-flag gap remains.","unguarded_students_blow_up":"The plain net lost -0.285 (se 0.069) over COMBO on choose seeds with single-seed losses to -30.8 (seeds 64145, 64375, 64120): confident wrong pi (>=0.995 or <=0.005) outside the training distribution collapses the two-component filter for many steps. Bounding the classifier logit to the filter logit +-3 (guard) removed every blow-up (worst seed -1.67). Guard 3 beat guard 2 for both net and GBT on choose.","calibration":{"filter_pi_heldout_73384..73511":{"err":0.1611,"logloss":0.35515,"brier":0.11202,"ece":0.00698},"gbt_heldout":{"err":0.15651,"logloss":0.33922,"brier":0.10846,"ece":0.00117},"gbt_platt_fitted_on_heldout(a,b)":[0.9953087075078006,0.0036139272722754954],"net_float_heldout":{"err":0.15863,"logloss":0.34411,"brier":0.10983,"ece":0.0016},"table_heldout":{"err":0.16119,"logloss":0.35177,"brier":0.11207,"ece":0.00808},"gbt_reliability_bins[p_lo, mean_p, arb_rate, n]":[[0.0,0.0216,0.0225,192974],[0.1,0.148,0.1493,55465],[0.2,0.2498,0.2506,47293],[0.3,0.3503,0.3551,45622],[0.4,0.45,0.4495,47148],[0.5,0.5511,0.5471,48588],[0.6,0.6516,0.6489,53943],[0.7,0.7518,0.751,65822],[0.8,0.8529,0.8538,86927],[0.9,0.9659,0.9661,254115]],"net_reliability_bins":[[0.0,0.0234,0.0241,192022],[0.1,0.1484,0.1482,54579],[0.2,0.2497,0.2532,48624],[0.3,0.3498,0.3556,45785],[0.4,0.4509,0.4514,45719],[0.5,0.5503,0.5425,48887],[0.6,0.6519,0.6471,56448],[0.7,0.7519,0.7531,68301],[0.8,0.8527,0.8538,85744],[0.9,0.9651,0.9651,251788]],"net_vs_teacher_mean_abs_dp":0.01903,"note":"Platt scaling (fitted on held-out 73384..73511) changed nothing on held-out metrics and scored worse on choose (+0.072 se 0.028, one -25 seed), so no calibration layer is deployed; the guard is the only post-hoc transform."},"permutation_importance_logloss_increase":[["logit_pi",0.486],["lnla",0.02626],["adv",0.0088],["q",0.00779],["d",0.00299],["lsz",0.00295],["lnZ",0.0021],["cnt_prev",0.0018],["res_ret",0.00137],["arb_prev",0.00137],["sd0",0.00136],["res_s2",0.00127],["z",0.00118],["fb",0.00098],["qo",0.00079],["synced_prev",0.00076],["dt",0.00072],["fa",0.00069],["lnlr",0.00032],["sdt",0.00032],["R",0.00024],["is_buy",5e-05],["lx",-0.0]],"closed_loop_shift_seeds_73512..73639":{"seeds":"73512..73639","open_loop_rows":902710,"closed_loop_rows":902558,"filter_pi_open":{"n":902710,"err":0.16116,"logloss":0.35389,"ece":0.00866},"filter_pi_closed":{"n":902558,"err":0.15933,"logloss":0.34859,"ece":0.00632},"net_q_g3_open_loop(150k subsample)":{"n":150000,"err":0.15773,"logloss":0.34422,"ece":0.00335},"net_q_g3_closed_loop(live pi)":{"n":902558,"err":0.15685,"logloss":0.34099,"ece":0.00279},"arb_share":{"open":0.54721,"closed":0.54704},"feature_mean_shift_in_open_sd":{"logit_pi":0.0072,"q":0.0028,"qo":-0.0023,"sd0":0.0339,"d":0.0005,"z":0.0009,"dt":0.0002,"R":0.0006,"adv":-0.001,"res_ret":0.0015,"res_s2":0.0004,"fb":-0.0001,"fa":-0.0017,"lsz":0.0002,"lx":-0.0002,"cnt_prev":0.0055,"arb_prev":-0.0093,"synced_prev":0.0158,"is_buy":-0.0001,"lnla":0.0087,"lnlr":0.0093,"lnZ":0.015,"sdt":0.0289}},"teacher_vs_students_choose_64000..65023_vs_COMBO[mean_diff,se,worst]":{"gbt":[0.091912,0.014963,[64684,-6.858425]],"gbt_platt":[0.072034,0.028277,[64684,-25.445822]],"gbt_g3":[0.09014,0.013343,[64075,-1.677282]],"gbt_g2":[0.084663,0.013298,[64075,-1.617298]],"net":[-0.285202,0.068667,[64145,-30.760542]],"net_q":[-0.287433,0.068838,[64145,-30.648591]],"net_q_g3":[0.056345,0.012335,[64075,-1.859326]],"net_q_g2":[0.053195,0.012359,[64075,-1.719532]],"table":[0.029888,0.011485,[64697,-1.407961]],"table_g3":[0.021253,0.011584,[64697,-1.481046]]},"nomination":"net_q_g3 (12-input, 16-unit tanh net, int16 weights, logit guard +-3) chosen on 64000..65023 as the best deployable compact model (+0.0563 se 0.0123 over COMBO); the 400-tree GBT (gbt_g3, +0.0901 se 0.0133) is reported as the teacher reference only."},"feature_formulas":{"where":"computed on a step's first own trade (dt>=1) from the TwoComp filter prior (after propagate), active fees, own reserves and the rival estimate, before pi is replaced; all bps unless stated","prior":"m0,v0 = mixture mean/var of prior comps; lo=ln(sp(1-fb)), hi=ln(sp/(1-fa)); lp=ln(s(1-fb)) if buy else ln(s/(1-fa)); cand = s(1-fb)/G if buy else sG/(1-fa), G=0.997; (la, lr, Z, mt, vt, pi) as TwoComp","features":{"logit_pi":"ln(pi/(1-pi)) clipped +-20","q":"(m0-lo) if buy else (hi-m0)","qo":"(hi-m0) if buy else (m0-lo)","sd0":"sqrt(v0)","d":"|ln(s/sp)|","z":"(lp-m0)/sqrt(v0) clipped +-30 (unitless)","dt":"min(dt,30)","R":"ln(s2h)-m0 clipped +-200","adv":"buy: ln(sp(1-fb))-ln(s2h G); sell: ln(s2h/G)-ln(sp/(1-fa)); clipped +-200","res_ret":"ln(cand)-mt clipped +-300 (implied rival spot under retail hypothesis vs retail posterior mean)","res_s2":"ln(cand)-ln(s2h) clipped +-300 (routing residual vs carried rival estimate)","fb":"active bid fee","fa":"active ask fee","lsz":"ln(amountY/reserveY)","lx":"ln(reserveX/100)","cnt_prev":"retail count of previous step (cap 10)","arb_prev":"previous first trade classified arb (0/1)","synced_prev":"rival synced in previous step (0/1)","is_buy":"0/1","lnla":"ln L_arb clipped +-60","lnlr":"ln L_ret clipped +-60","lnZ":"ln Z clipped +-60","sdt":"sqrt(v0)/sqrt(dt)"},"net_inputs(12, by permutation importance)":["logit_pi","q","sd0","d","adv","res_ret","res_s2","lsz","cnt_prev","arb_prev","lnla","lnZ"],"table_inputs":["logit_pi","adv","lnla"]},"frozen_spec_net_q_g3":{"inference":"x_k=(f[idx_k]-mu_k)/sc_k; h=tanh((W1 x + b1)/1024); z=(W2 h + b2)/4096; z=clip(z, f[0]-3, f[0]+3); pi=sigmoid(z). W1,b1,W2,b2 are int16; mu, sc float (6 dp). f[0] is the filter logit.","idx":[0,1,3,4,8,9,10,13,15,16,19,21],"mu":[-0.540144,12.759015,15.336676,16.789526,-1.839808,-0.033696,-0.050925,-7.648317,0.980084,0.571167,2.026022,-0.914127],"sc":[5.307403,23.042958,4.484674,26.294777,26.067256,28.304787,41.388327,1.163352,0.875681,0.494909,8.471977,1.111667],"W1_int16_scale1024":[[356,244,47,-615,279,121,-263,409,174,-119,267,16],[-599,254,-14,312,-162,101,-107,-165,-160,112,287,363],[-1028,-115,-40,1268,3603,16,155,-1457,-111,6,-35,-399],[-429,-472,240,266,-2861,-146,1,-211,51,91,-234,71],[396,457,-110,-443,257,-261,1015,-544,-199,-61,-537,-299],[509,-2,22,293,-44,-15,33,219,-203,521,1796,153],[-256,226,336,365,-283,-882,-167,-299,550,-62,-677,-742],[325,360,-26,-96,-119,283,834,561,288,-19,406,-1316],[137,-103,-418,-3,104,487,18,144,-67,-59,-160,-589],[1247,-241,63,260,-76,172,-76,-311,60,-91,-203,170],[545,-690,-448,189,1516,-240,-350,695,-383,-203,-392,565],[-38,-170,317,-757,275,-569,-105,-713,31,235,152,103],[96,-42,-276,286,-173,-574,158,-59,-205,-30,-467,672],[-1451,157,-310,518,260,195,-32,448,268,-13,169,168],[-514,75,-104,-77,359,372,-406,534,-100,-11,96,296],[328,-50,-309,1134,521,-513,-628,57,-268,-75,10,309]],"b1_int16_scale1024":[229,-44,801,-43,-243,-380,38,486,279,-126,-247,46,171,-825,47,177],"W2_int16_scale4096":[2247,-6671,-3265,-3148,2630,4120,-42,-2105,1448,6272,-2202,-1959,-2181,-2755,-2854,3092],"b2_int16_scale4096":-708,"guard":3,"quantization_error_vs_float_net":{"scales":[1024,4096],"max_abs_dp":0.001539,"mean_abs_dp":0.0001901,"flips_at_0_5":8,"n":20000,"params":225,"weight_bytes_int16":450},"model_bytes":{"weights_int16":450,"mu_sc_as_int32_fixed_point":96,"total_est":546},"operations_per_first_trade":{"standardize":"12 sub + 12 div","layer1":"192 mul + 208 add","tanh":16,"layer2":"16 mul + 17 add","guard+sigmoid":"2 cmp, 1 exp, 1 div","feature_prep":"about 8 ln, 4 exp beyond what COMBO already computes"},"state":"adds 3 small ints to COMBO's carried state (cnt_prev, last_arb, synced_prev), packable in the existing 3-slot layout; no new storage slots required","gas_estimate_only":"about 15k-30k gas per first-own-trade callback for the net (16 tanh via exp dominate), plus about 5k for the extra ln/exp in features; NOT measured, no contract was built; qt1 reports an engine peak of 208,775, so the 245,000 budget is plausible but unverified.","calibration_layer":"none (cal=[1,0])","table_alternative":"16x12x8 int8 table on (logit_pi,adv,lnla), step 0.125 logit: +0.030 se 0.012 over COMBO on choose, 1536 bytes; not nominated"},"policy":{"base":"COMBO (combo.py, two-component filter + pi-weighted branch quoting); only pi is replaced, before posterior, phase, is_arb and branch quoting; every other statement retained","choose_64000..65023":{"COMBO-qt1":{"n":1024,"mean_diff":0.609605,"se":0.019401,"worst5":[[64101,-2.776983],[64845,-1.163868],[64374,-1.023434],[64795,-0.983171],[64555,-0.946189]],"wins":875,"sum_d":624.235158,"sum_d2":774.814573},"net_q_g3-COMBO":{"n":1024,"mean_diff":0.056345,"se":0.012335,"worst5":[[64075,-1.859326],[64326,-1.570508],[64715,-1.275975],[64173,-1.037195],[65018,-0.987126]],"wins":574,"sum_d":57.696935,"sum_d2":162.641531},"net_q_g3-qt1":{"n":1024,"mean_diff":0.665949,"se":0.01972,"worst5":[[64101,-2.152384],[64955,-1.070184],[64458,-1.048443],[64190,-1.037782],[64651,-0.979459]],"wins":883,"sum_d":681.932093,"sum_d2":861.515567},"gbt_g3-COMBO":{"n":1024,"mean_diff":0.09014,"se":0.013343,"worst5":[[64075,-1.677282],[64338,-1.456133],[64697,-1.216037],[65018,-1.17981],[64093,-1.060116]],"wins":612,"sum_d":92.302899,"sum_d2":194.82004},"gbt_g3-qt1":{"n":1024,"mean_diff":0.699744,"se":0.020067,"worst5":[[64101,-2.193541],[64651,-1.368412],[64509,-1.12551],[64093,-1.084828],[64138,-1.025943]],"wins":897,"sum_d":716.538057,"sum_d2":923.218665},"mean_edge":{"combo":536.3301,"qt1":535.720495,"routed:net":536.044898,"routed:net_q":536.042667,"routed:table":536.359988,"routed:gbt":536.422012,"routed:gbt_platt":536.402134,"routed:gbt_g3":536.42024,"routed:gbt_g2":536.414763,"routed:net_q_g3":536.386445,"routed:net_q_g2":536.383295,"routed:table_g3":536.351353}},"report_10000..12047":{"COMBO-qt1":{"n":2048,"mean_diff":0.597391,"se":0.013388,"worst5":[[10146,-3.552497],[11062,-2.334849],[11808,-1.822738],[10519,-1.782691],[11376,-1.750296]],"wins":1753,"sum_d":1223.456693,"sum_d2":1482.295158},"net_q_g3-COMBO":{"n":2048,"mean_diff":0.078039,"se":0.009144,"worst5":[[10335,-1.674976],[11696,-1.672931],[11530,-1.526035],[11191,-1.121414],[10436,-1.099873]],"wins":1175,"sum_d":159.823793,"sum_d2":362.975902},"net_q_g3-qt1":{"n":2048,"mean_diff":0.67543,"se":0.01425,"worst5":[[10146,-2.570815],[10519,-1.805964],[11062,-1.659168],[11376,-1.560564],[11808,-1.43939]],"wins":1788,"sum_d":1383.280486,"sum_d2":1785.555965},"gbt_g3-COMBO":{"n":2048,"mean_diff":0.119282,"se":0.009579,"worst5":[[10325,-1.735205],[11701,-1.435955],[11696,-1.391673],[11530,-1.347562],[10375,-1.317061]],"wins":1264,"sum_d":244.289799,"sum_d2":413.781349},"gbt_g3-qt1":{"n":2048,"mean_diff":0.716673,"se":0.013902,"worst5":[[10146,-2.49719],[10519,-2.038792],[11062,-1.663473],[10401,-1.626419],[10930,-1.365018]],"wins":1818,"sum_d":1467.746492,"sum_d2":1862.11393},"mean_edge":{"combo":533.860222,"qt1":533.262831,"routed:net_q_g3":533.938261,"routed:gbt_g3":533.979504}},"se_definition":"sample_sd(diff)/sqrt(n); diff = policy edge - base edge on the same replica seed, fresh policy per seed, unmodified replica2.run(seed, policy) with 10000 steps and default configs"},"seed_coverage":{"fit_labels":"73000..73383 (384 seeds, 2,680,512 first trades) from COMBO open-loop trajectories","heldout_calibration_error":"73384..73511 (128 seeds, 897,897 rows)","closed_loop_shift":"73512..73639 open-loop and closed-loop under net_q_g3","choose":"64000..65023 complete (1024) for qt1, COMBO and all 10 candidates","report":"10000..12047 complete (2048) for qt1, COMBO, net_q_g3, gbt_g3; no training, selection or retuning on report seeds; weights/source hashed (frozen_before_report) before the report runs","engine_seeds":"none consumed","gate_P_seeds":"10000..10002 via gates.py"},"runtime":{"machine":"Linux x86_64, 4 cores, CPython 3.12.3; teacher training in a scratch venv with numpy 2.5.4 / scikit-learn 1.9.1 (training only; all deliverable inference is stdlib)","wall":{"collect_512_seeds":"28 s","train.py":"122 s","choose per 1024 seeds":"qt1 20 s, COMBO 37 s, net_q 70 s, gbt 191 s","report net_q_g3 2048":"240 s","report gbt_g3 2048":"294+375 s (two chunks)"},"longest_command":"under 8 min (one combined command hit the 8-min limit and was resumed; screen.py skips done seeds so no seed was run twice)","sec_per_seed":{"sec_per_seed_routed:net_q_g3":0.466,"sec_per_seed_routed:gbt_g3":1.302}},"limitations":["Replica units only; nothing ran on the Rust engine and no contract was built (gain over qt1 via this item alone is +0.08 on top of COMBO, below the +0.5-over-base bar for a contract).","The teacher is near the feature ceiling (15.65% vs 16.11% error); the README reports 16.2% for the lattice and 18.8% for its table classifier, so most of the 2.7 oracle gap remains.","Training trajectories are open-loop COMBO; the closed-loop check shows negligible shift (<0.04 sd on every feature) but the net was not retrained closed-loop.","Gas figures are estimates, not measurements. Model bytes exclude the ln/exp helpers already in qt1's contract.","The GBT teacher (400 trees, 24400 nodes, 1132245 B JSON) is not embedded; regenerate with train.py (random_state=0) from the data recipe.","HistGradientBoosting early stopping never triggered (400 iterations used); more iterations were not explored for time."],"recipe":{"setup":["git clone https://github.com/gtmcknight/amm-sim && git checkout 4812a6382311624e1506aca131ca35c378f930d9","fetch the 4 artifacts, check sha256 = URL suffix, extract qmref.py/Strategy.sol (qt1 ## Python reference / ## Strategy.sol), twocomp.py (TC ## Code), combo.py (COMBO ## Code), blob.bin (QMS1 ## Data base64); each fence plus one trailing newline","cd research/solved && python3 -I gates.py"],"layout":"w/: routed.py infer.py collect.py train.py screen.py agg.py shift.py invariance.py + combo.py twocomp.py qmref.py blob.bin; replica2.py imported from ../src/amm-sim/research/solved; state under w/state/","data":"python3 -I collect.py 73000 73512 train.bin  -> state/train.bin (3,578,409 rows x 25 float32: label, 23 features, pi); closed loop: collect.py 73512 73640 closed.bin state/models.json:net_q_g3","train":".venv/bin/python -I train.py  (HistGradientBoostingClassifier max_iter=400 lr=0.08 max_leaf_nodes=31 min_samples_leaf=200 random_state=0; net: 12 inputs standardized, 16 tanh, Adam lr 3e-3 batch 65536 4000 steps soft-BCE on teacher probabilities, numpy seed 1; int16 quantization scales 1024/4096; table 16x12x8 quantile bins)","guard":"models.json: copy of a model with 'guard': 3 (see infer.make)","screen":"python3 -I screen.py {qt1|combo|routed:<model>} START STOP ; python3 -I agg.py {choose 64000 65024 | report 10000 12048} routed:net_q_g3 routed:gbt_g3","invariance":"python3 -I invariance.py","shift":".venv/bin/python -I shift.py","dependencies_of_deliverable":"stdlib only at inference; combo.py, twocomp.py (TC/COMBO artifacts), blob.bin (QMS1), replica2.py (Taylor)"},"source_bundle":{"format":"base64(zlib(json{filename: text})) of routed.py, infer.py, collect.py, train.py, screen.py, agg.py, shift.py, invariance.py, build_result.py","models_json_sha256":"cca7367d31f5da8b2b74e35281f539adc7c4c4f503528ebb90a432435df1c38b","data":"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"}}