{"credit":"Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved","ready":true,"parity":{"n":128,"max_abs_diff":1.8443984117766377e-08,"max_rel_diff":5.943033337599645e-11,"bit_identical":false,"bit_identical_n":16,"relative_definition":"abs(core-engine)/abs(engine); all observed engine edges nonzero","worst":{"seed":9700051,"policy":"25/45 bps","engine_edge":310.346300786793,"core_edge":310.346300768349},"seeds":[9700000,9700063],"policies":["30/30 bps bid/ask","25/45 bps bid/ask"],"steps_per_run":10000,"evidence":"All 128 unrounded pairs and peak gas values in bundled parity_evidence.json; live verifier uses unmodified pinned kit engine_eval.run_batch."},"step_logs":{"compared":false,"reason":"cargo and rustc unavailable on PATH; logging patch not built. Partial release API comparison only.","first_divergence":{"seed":9700000,"policy":"30/30","step":517,"field":"pnls","role":"normalizer","engine":173.95420707825178,"core":173.95420707824815},"partial":{"seeds":[9700000,9700001,9700002,9700003],"policies":["30/30","25/45"],"compared":{"prices":80000,"spots":160000,"pnls":160000},"bit_identical":{"prices":80000,"spots":145908,"pnls":141967},"max_abs_diff":{"prices":0.0,"spots":1.1368683772161603e-13,"pnls":1.0186340659856796e-10},"orders":false,"fills":false,"raw_reserves":false}},"ported":[{"what":"Recompute k from current rounded reserves at every quote and arbitrage sizing","engine_file_and_line":"amm_sim_rs/src/amm/cfmm.rs:131,152,180; amm_sim_rs/src/market/arbitrageur.rs:56,106","done":true,"detail":"No constant-K shortcut. Quote and arb sizing evaluate rx*ry independently."},{"what":"Incremental reserves and separate fee buckets","engine_file_and_line":"amm_sim_rs/src/amm/cfmm.rs:207-210,238-240,269-271","done":true,"detail":"Quotes use amount*gamma; updates use amount-amount*fee, or total_y-fee_amount for exact-X output. X/Y fee buckets stay out of reserves."},{"what":"Router arithmetic and thresholds","engine_file_and_line":"amm_sim_rs/src/market/router.rs:50-72,92-114,188-244","done":true,"detail":"Preserved operand order, sqrt(x*gamma*y) versus sqrt(y*gamma*x), both splits computed before callbacks, min amount strictly >0.0001, sell size/fair_price."},{"what":"Submission-first execution, price then arbitrage then retail","engine_file_and_line":"amm_sim_rs/src/simulation/engine.rs:120,136-164; amm_sim_rs/src/market/router.rs:198-244","done":true,"detail":"Independent price and retail RNG states; orders generated before routing; own callback sees only own post-trade reserves."},{"what":"Truncated WAD callback boundary","engine_file_and_line":"amm_sim_rs/src/amm/cfmm.rs:212-222,243-253,274-284; amm_sim_rs/src/types/wad.rs:33-40","done":true,"detail":"Exact nonnegative truncated integers as (high_uint64,low_uint64), not float proxies; timestamp uint64. Tested against Python bigint including values near word boundaries."},{"what":"Fee clamp","engine_file_and_line":"amm_sim_rs/src/types/wad.rs:69-73; amm_sim_rs/src/amm/cfmm.rs:84,294-297","done":true,"detail":"Signed int64 policy WAD output clamped to [0,10**17] then converted to f64/1e18. EVM execution errors/gas not emulated."},{"what":"Random streams and draws","engine_file_and_line":"amm_sim_rs/src/simulation/engine.rs:51-70; amm_sim_rs/src/market/price_process.rs:38-49,63-65; amm_sim_rs/src/market/retail.rs:50-60,77-96","done":true,"detail":"Pcg64 seed and seed+1. Ziggurat price normal; Knuth Poisson count; lognormal size then uniform side. Restricted to kit baseline configs (lambda 0.6..1.0)."},{"what":"Retail edge WAD roundtrip; arb profit remains binary64","engine_file_and_line":"amm_sim_rs/src/market/router.rs:203,214,230,241; amm_sim_rs/src/simulation/engine.rs:141-163","done":true,"detail":"Round-trip retail output amounts through WAD; retail input amounts remain original f64. Subtract arb profit, add retail edges in original per-pool order."}],"rng":{"generator":"Rust rand_pcg::Pcg64 / Lcg128Xsl64: XSL-RR output, 128-bit LCG, explicit 128-bit odd increment; uint64 limbs in Numba","distributions":"rand_distr ZIGNOR StandardNormal with literal 257-entry X/F tables; Poisson Knuth for lambda<12; exp(mu+sigma*z) LogNormal; rand Standard<f64> upper 53-bit [0,1); Open01 upper 52-bit tail draws","crate_versions":{"ported":{"rand":"0.8.5","rand_core":"0.6.4","rand_pcg":"0.3.1","rand_distr":"0.4.3"},"engine_manifest":{"rand":"0.8","rand_pcg":"0.3","rand_distr":"0.4"},"limitation":"Engine checkout has no Cargo.lock; exact versions linked into the release wheel were not independently recovered."},"how_seeded":"Config uses numpy.default_rng(seed), size then rate then sigma. Rust seed_from_u64 expands through eight PCG32 words, little-endian; price seeded seed, retail seeded seed+1. Increment forced odd; initial add then step; next_u64 steps before output.","tests":"Official Pcg64 seed=0/C-suite vectors, 10000 bigint-checked outputs on five seeds, 80000 release-engine prices bit-identical across four seeds/two policies."},"runs_per_core_s":227.65208402510262,"benchmark":{"n":64,"seconds":0.28113074507564306,"includes_config_draw":true,"threads":1,"warm":true},"code_zb64":"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","source_sha256":"dbda349fb8107612adc58e1b3d7f15e0ca5b084485dad7547328576a491e7ae2","source_hash_scope":"SHA256 of exact UTF-8 enginecore.py bytes in tar; tar has normalized metadata","bundle_tar_sha256":"e0b3a2ad677f5108cb5f569de9fa3774aac55948a2da1a160e14931d0606ca5b","files_sha256":{"enginecore.py":"dbda349fb8107612adc58e1b3d7f15e0ca5b084485dad7547328576a491e7ae2","test_enginecore.py":"9d4cc92e2294d50280a28ae2baab0af18b89e98bd7248dcdb4855b25e5ae398c","verify_engine.py":"f3780d8879634a0b2bef9edb7efccb855594a327b33afbf5948790a4dd6dd36b","constant_30_30.sol":"cc555d4d3cc5fa3c975a8072415516cc451ea957da6351efcb28728bd6ae1db7","constant_25_45.sol":"d0869ed0b21fc3d4782c2716ca1d0e614d3db7a02dfa3f5a21030cbb00ade513","parity_evidence.json":"4387a7c19abc83fb6f7689f3b3c9f040719223768908d70e22da73ef25e58a30","LICENSE-RNG.txt":"6210c1d1996bd7dd38fd6dcee0463de196e631236d68c702bb538915efcf057f"},"run":["bash test/scratch/r3/goal-3178-build-shared-evaluation-kit-45e7563d1a29ffca9d608fdf60c90bf2624d2d01/setup_fast.sh --platform linux-x86_64 --cache \"$PWD/test/scratch/r3/cache\" --scratch \"$PWD/test/scratch/r3/runtime\"",". test/scratch/r3/runtime/env.sh","PYTHONPATH=test/scratch/r3 python3 -B -m unittest -v test_enginecore","PYTHONPATH=test/scratch/r3:test/scratch/r3/goal-3178-build-shared-evaluation-kit-45e7563d1a29ffca9d608fdf60c90bf2624d2d01 python3 -B test/scratch/r3/verify_engine.py test/scratch/r3/verified.json"],"reproduction":"Extract code_zb64 as base64 -> zlib -> tar into test/scratch/r3. Requires the pinned kit environment already installed; no test fetches dependencies. Runtime dependencies are not embedded in this size-limited JSON.","checks":{"unit_tests":6,"unit_tests_passed":6,"oog":0,"engine_callback_errors":0,"after_swap_peak_gas":22587,"config":"Kit constants and config draw order transcribed; live comparisons use kit-generated Rust configs.","engine_native_sha256":"ff88b6353c2aad7342f0a26194f7347e78b9c3b38d683a7449006d423978cd14","engine_eval_sha256":"0a3ed61457cb66c85a292c82acbb9657b5e5544a98c7aa04c7a6a5dccdc1d3b2","environment":{"python":"3.12.16","numpy":"2.5.4","numba":"0.68.1","llvmlite":"0.50.0","amm_sim_rs":"0.1.0.post1","solc":"0.8.24"},"leaderboard_submissions":0,"fresh_engine_seeds_used":0},"not_done":["No Rust logging patch/build: cargo and rustc were not available on PATH. Orders, fills and raw reserves were not compared against engine logs. The partial release-API check reports its first divergence; it is not full step parity.","Not bit-identical: max edge difference 1.8443984117766377e-08. Source arithmetic is transcribed, but the remaining last-bit differences have not been localized. Ready means only the specified 128-edge 1e-9-relative gate passed.","Only kit baseline configs and two constant-fee policies certified. General high-rate Poisson branch, arbitrary market configurations, EVM revert/failure fallback, uint256 fee returns and gas accounting are not implemented. Callback returns are signed int64 WAD; positive trade/reserve inputs use uint128 limbs.","No QLX5 tuning, policy promotion, fresh-seed evaluation or leaderboard submission. No P/Q/T/F/G policy gates claimed.","Dependency wheels/toolchain not bundled: reproducible execution requires the pinned kit runtime. Exact Cargo.lock versions for the prebuilt engine unavailable."]}
