{"credit":"Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved","item":"engine-behaviours","research_only":true,"requires":{"platform":["linux-x64"],"minCpus":8},"source":{"engine_repository":"https://github.com/benedictbrady/amm-challenge","engine_commit":"6b6921f8d463314aa7c96234e1be25a25245f704","engine_raw_root":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/","base_artifact":"https://api.imd.fun/artifacts/1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15","replica_artifact":"https://api.imd.fun/artifacts/a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b","harness_artifact":"https://api.imd.fun/artifacts/9ad960e6c7e11509b81f2852f7f34d395425adc226141b0bc828ed6f5f344663","citation_convention":"All engine file:line citations refer to engine_commit and engine_raw_root. QLX5:N refers to decoded base.code_zb64.QLX5, verified against base_source_sha256. Supporting exact URL quotes are in sources.json."},"gain_vs_base":0.003893548969726268,"se":0.0011052872066763739,"n":128,"seeds":{"start":10000,"end_inclusive":10127,"step":1},"advance":false,"source_sha256":"498b799e13b2543f9117420ccc2a37f94c418bdc6657257d2ef7280b0c8742ce","base_source_sha256":"e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40","primary":"terminal_first_callback_fee_oracle","conclusion":"No advance. The isolated terminal oracle fails the +0.08 bar on the first report checkpoint. Terminal direct valuation and direct rounding do not explain the stated ~0.12 gap. Fixed-path dust value is small, but its dynamic ceiling remains unmeasured. This audit does not rule out full-horizon full-information policies.","behaviours":[{"id":"terminal_first_callback_fee_oracle","citations":["amm_sim_rs/src/simulation/engine.rs:136-180","amm_sim_rs/src/market/router.rs:181-249","amm_competition/competition/config.py:26-47","QLX5:188-215"],"QLX5_comparison":"QLX5 fees depend on belief, phase and rival estimate; timestamp controls gaps but there is no horizon/9999 branch. New audit opportunity: no further price move or arbitrage after the final step own callback.","ceiling_kind":"isolated legal fee oracle search, plus broader analytic relaxation","numerical_ceiling":0.003893548969726268,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Only the first own callback at t=9999 can initiate intervention; earlier state and current fill are QLX5. Search 43x43 pairs: original fee plus 0..200 bps at 5-bps intervals plus 1000 bps on each side. Subsequent callbacks use unmodified QLX5, with the selected fee stored as its prior fee.","Oracle sees exact current fair price, rival reserves and the remaining final-step orders. It evaluates exact copied-state suffixes and selects the best, including original QLX5. It does not consume live RNG or change routing, scoring, event order or rival strategy.","This finite menu is a searched oracle gain, not a globally solved fee optimum. The separate relaxed cap covers arbitrary later fee choices beginning at the same first terminal callback, in ideal CFMM arithmetic with a 1e-8 numerical allowance."],"overlap":"Overlaps fair-price, next-trade and full-information oracles. Not additive to them. Does not bound anticipatory actions at t<9999 or interventions before the first own terminal callback.","gain_vs_base":0.003893548969726268,"se":0.0011052872066763739,"n":128,"seeds":{"start":10000,"end_inclusive":10127,"step":1},"advance":false,"oracle":"each side: original fee, 0..0.02 inclusive at 0.0005 steps, 0.1; one intervention at first own callback of step 9999","analytic_bound":{"mean":0.026439950457033925,"se":0.006966149108057662,"n":128,"upper_2se":0.04037224867314925,"seeds":{"start":10000,"end_inclusive":10127,"step":1},"advance":false,"derivation":"After completing the fixed pending rival leg (or rival arb), let rival reserves be rx,ry, k=rx*ry and gamma=.997. For each remaining buy order Y, upper-bound edge by max_{0<=z<=Y} z*[1-P*gamma*k/(ry+gamma*(Y-z))^2]. For sell X=Y/P, use max_{0<=z<=X} z*[P-gamma*k/(rx+gamma*(X-z))^2]. These follow because own average execution is bounded by the rival final marginal quote. Solve each concave objective by derivative bisection (64 iterations). For later orders, increase rival reserve bounds by ALL preceding same-token gross inputs times gamma, ignoring outputs, retaining k. This relaxes inventory feasibility and thus permits more edge than any actual fee sequence. Subtract unchanged QLX5 suffix edge and floor at zero; add 1e-8 before subtraction. Floating-point k drift is not interval-certified."}},{"id":"terminal_pnl_is_not_score","citations":["amm_sim_rs/src/simulation/engine.rs:141-164,183-216","amm_competition/competition/match.py:168-188"],"QLX5_comparison":"QLX5 has no terminal inventory liquidation. That is not an omitted scored payoff: match sums edges; reserves and fee-bucket mark-to-market are stored separately as pnl.","ceiling_kind":"exact analytic direct-accounting exclusion","numerical_ceiling":0,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Hold executed fills fixed. Changing only terminal valuation or fee-bucket bookkeeping adds zero to edges; no liquidation or last-price bonus is scored."],"overlap":"Fee choices can change future trade edge; the terminal oracle above addresses one such scope. This zero is not a bound on all horizon-dependent policies.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false},{"id":"retail_output_WAD_roundtrip","citations":["amm_sim_rs/src/types/wad.rs:30-40","amm_sim_rs/src/market/router.rs:198-244","amm_sim_rs/src/simulation/engine.rs:141-163","amm_sim_rs/src/market/arbitrageur.rs:75-96,124-145"],"QLX5_comparison":"QLX5 uses exact integer preimages for labels and router splits, but does not separately maximize retail scoring roundtrip error. Retail input stays raw binary64; output goes through Wad; arb profit stays binary64.","ceiling_kind":"conditional analytic fixed-trajectory direct-score cap","numerical_ceiling":7.03789336238333e-11,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Finite positive nonsaturating amounts and normal floating operations. Per scored output a, use |roundtrip(a)-a| <= 4*2^-52*|a|+2e-18, multiplied by fair price for X outputs; sum over own retail fills. Conservative arithmetic envelope, not a policy-uniform path bound.","Changing routing or tell classifications via rounding is not bounded by this direct-score calculation."],"overlap":"Exact-arithmetic labels and split truth are settled; not rerun.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false,"diagnostics":{"seeds":{"start":64000,"end_inclusive":64127,"step":1},"cap":{"mean":7.03789336238333e-11,"se":8.757230069646189e-13,"max":8.857361319469449e-11,"n":128},"actual_absolute_roundtrip_sum":{"mean":1.225887275462362e-12,"se":1.6757954118448694e-14,"max":1.6646479142734564e-12,"n":128},"unchanged_QLX5_edges":true}},{"id":"router_dust_is_side_asymmetric","citations":["amm_sim_rs/src/market/router.rs:188-244","QLX5:188-215"],"QLX5_comparison":"Router executes a leg only if input >0.0001; QLX5 has no explicit dust threshold in its fee rule. This is 0.0001 Y for a retail buy and 0.0001 X for a sell, i.e. 0.01 Y at P=100. Dropped amounts are not reassigned.","ceiling_kind":"conditional analytic fixed-trajectory gross-input cap","numerical_ceiling":0.004508218487429125,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["For each baseline own allocation 0<a<=0.0001, hypothetical positive direct edge cannot exceed a for Y input or a*P for X input, even granting free output. Sum these values. Exactly zero allocations are excluded.","This is the direct value of currently skipped legs, not a bound on new allocations induced by changing fees, negative trades avoided, extra callbacks, inventory drift or estimator information. No deployable rule is built."],"overlap":"Dust-induced label/split changes overlap settled classification and split probes; no gains are added.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false,"diagnostics":{"seeds":{"start":64000,"end_inclusive":64127,"step":1},"cap":{"mean":0.004508218487429125,"se":0.0004440842175567628,"max":0.021575605692909647,"n":128},"skipped_own_legs_per_run":{"mean":0.921875,"se":0.08196751249925155,"max":4.0,"n":128},"unchanged_QLX5_edges":true},"global_dynamic_ceiling":null},{"id":"continuous_split_and_fee_alias_ties","citations":["amm_sim_rs/src/market/router.rs:40-76,82-118","amm_sim_rs/src/amm/cfmm.rs:119-196","QLX5:203,218-223"],"QLX5_comparison":"There is continuous clamped optimal splitting, not winner-take-all price ranking. Equal reserves/fees split about half, not all to the first pool. QLX5 already guards the complete vanilla-gamma preimage [2999999999999948,3000000000000057] WAD and uses exact split arithmetic.","ceiling_kind":"exact analytic fee-alias exclusion; existing mechanism","numerical_ceiling":0,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Same binary64 fee and gamma produce the same quotes and split for fixed reserves; aliases create no extra pricing action. Legal fees keep gamma>=.9 and positive reserves keep denominator positive, so zero-denominator fallback is not reachable in normal runs.","No claim that all floating point path effects have zero value; those are already used by QLX5 tells."],"overlap":"Settled router truth and scalar guard tuning; deliberately not repeated.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false},{"id":"callback_order_and_frozen_current_split","citations":["amm_sim_rs/src/simulation/engine.rs:120,136-163","amm_sim_rs/src/market/router.rs:196-244,267-280","amm_sim_rs/src/amm/cfmm.rs:200-297","QLX5:194-206"],"QLX5_comparison":"Own pool executes before rival. Both allocations are computed first; callback receives post-trade reserves and changes only later fees. Only one arb attempt per pool per step, followed by all retail orders. QLX5 already distinguishes first/later phases and tracks marginal rival bounds.","ceiling_kind":"exact analytic current-order retroactivity exclusion","numerical_ceiling":0,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Returned fees cannot change the current own execution or the already-fixed rival allocation. No extra arb is run after retail in the same timestamp.","Later-order policy gains are not zero; broad same-step full-information benefits belong to the separate full-information item."],"overlap":"Terminal scope measured above; labels, rival trackers and split truth excluded as settled.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false},{"id":"fee_buckets_constant_product_and_arb_cap","citations":["amm_sim_rs/src/amm/cfmm.rs:119-196,200-284","amm_sim_rs/src/market/arbitrageur.rs:54-89,104-138","QLX5:169-186"],"QLX5_comparison":"Fees go to separate buckets; updates use amount-fee, quotes use amount*(1-fee); k is recomputed from rounded reserves. QLX5 exact tells already rely on these operations. Arb gross-X math and 99% output cap match replica.","ceiling_kind":"analytic direct-accounting exclusion; existing arithmetic","numerical_ceiling":0,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["For fixed fills, manually compounding fee buckets or counting them again cannot increase the actual edge score. A 99% X-output arb cap binds only if gamma*P > 10000*spot, outside ordinary near-price states; it is not a new typical routing action.","No unconditional probability claim for unbounded GBM tails, and no global dynamic ceiling claimed for extreme inventory states."],"overlap":"Exact-arithmetic tells and fair-price source overlap.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false},{"id":"revert_fee_fallback_and_gas","citations":["amm_sim_rs/src/amm/cfmm.rs:293-298","amm_sim_rs/src/types/trade_info.rs:116-134","amm_sim_rs/src/evm/strategy.rs:31-34,179-188","amm_sim_rs/src/simulation/engine.rs:141-164"],"QLX5_comparison":"On callback error previous fees remain; malformed or >10% returns are rejected by decoder before clamp. QLX5 returns legal fees. Gas does not enter the edge formula.","ceiling_kind":"analytic extra-action / direct-gas-score exclusion","numerical_ceiling":0,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["A deliberate failure adds no fee action unavailable by returning the previous legal fees. Holding fills fixed, gas savings contribute zero edge.","Replica omits EVM failure, gas and state rollback, so no engine-level exploit or runtime parity claim is made."],"overlap":"No out-of-range-fee probe, Solidity build or engine run.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false},{"id":"configuration_and_stream_provenance","citations":["amm_competition/competition/config.py:26-47","amm_competition/competition/match.py:99-138","amm_sim_rs/src/types/config.rs:137-185","amm_sim_rs/src/simulation/engine.rs:51-70","amm_sim_rs/src/market/retail.rs:50-60,77-96","amm_sim_rs/src/market/price_process.rs:38-65"],"QLX5_comparison":"The active Python caller uses NumPy default_rng(seed), draws mean/rate/sigma in that order; Rust HyperparameterVariance.apply uses a different generator but is not called by that path. Replica config matches the Python caller. Price and retail have independent PCG streams seed and seed+1. QLX5 uses fixed priors and observations.","ceiling_kind":"coverage / delegated hidden-source ceiling","numerical_ceiling":null,"units":"Y-denominated own edge per complete 10000-step run unless specified","assumptions":["Mean 19..21, rate .6..1, sigma .000882.. .001008; 10000 steps, dt1, drift0, retail log-sd1.2, buy probability .5, initial reserves 100/10000 and initial price100.","Static source does not disclose the deployed leaderboard binary. Core provenance and supplied parity are evidence for this pinned challenge only."],"overlap":"True sigma, retail distributions, fair price and next-trade information are separate Round-1 items. No repeated estimates or rules.","gain_vs_base":null,"se":null,"n":0,"seeds":[],"advance":false}],"choose":{"seeds":{"start":64000,"end_inclusive":65023,"step":1},"n":1024,"primary_gain":{"mean":0.0033693908594035205,"se":0.0008032219763685895,"n":1024},"terminal_relaxed_cap":{"mean":0.024106891866218987,"se":0.003723416705498644,"n":1024},"selection":"One primary mechanism; no competing report candidates. Initial loose cap tightened analytically on choose only; fee oracle unchanged. Final 1024 choose deltas identical to initial search.","freeze":{"credit":"Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved","primary":"terminal_first_callback_fee_oracle","source_sha256":"498b799e13b2543f9117420ccc2a37f94c418bdc6657257d2ef7280b0c8742ce","scope":"sha256 of exact offline-source.json bytes: sorted-key compact JSON relative-path to UTF-8 source map","choose_seeds":[64000,65023],"report_seeds_planned":[10000,12047],"gate":[128,256,512,1024,2048],"bar":0.08,"fee_grid":"each side: original fee, 0..0.02 inclusive at 0.0005 steps, 0.1; one intervention at first own callback of step 9999","report_tuning":false,"choose_analysis_sha256":"069adb2fe3095b7fd290a9ef601ce2da815bea6e9b5e590e9dfc584a0d337464"}},"stop":{"history":[{"n":128,"mean":0.003893548969726268,"se":0.0011052872066763739,"upper_2se":0.006104123383079016,"bar":0.08,"early_stop":true,"command":"python3 harness/score.py --base report/base.csv --candidate report/probe.csv --bar 0.08"}],"planned_checkpoints":[128,256,512,1024,2048],"actual_last_seed":10127,"unrun_report_seeds":{"start":10128,"end_inclusive":12047,"step":1},"no_report_tuning":true,"advance_rule":"Requires all 2048 report seeds, mean-2*SE>=0.08, and passing controls; not satisfied."},"controls":{"all_7_supplied_artifact_raw_hashes_verified":true,"fast_build_link_raw_hash_verified":true,"QLX5_decoded_hash_verified":true,"replica_original_member_hash_verified":"802962e861d3a922087e897dae86d43b5d36a7e9253b69547086c943da8f7007","upstream_raw_files_equal_pinned_archive":12,"choose_oracle_off_n":16,"report_oracle_off_n":16,"oracle_off_edge_and_callback_count_exact":true,"oracle_off_probe_exogenous_hash_equal_n":32,"diagnostic_unchanged_base_and_probe_exogenous_equal_n":128,"predicted_suffix_gain_vs_complete_run_max_error":1.8318679906315083e-13,"candidate_below_relaxed_cap_all_choose_and_report":true,"legal_fee_range_WAD":[0,100000000000000000],"rival":"unchanged 30-bps policy; reserve trajectory may respond to changed allocations","engine_builds_or_runs":0,"solidity_builds":0,"submissions":0,"maximum_simultaneous_workers":5,"report_fired_runs":83,"report_max_delta":0.0849716768465214},"provenance":{"replica_core_alignment":"Statically compared formulas and operation order for quote/update, k recomputation, arb sizing/profit, router split and strict dust, own-first callback, scoring WAD boundaries, event order, config and RNG streams. core enginecore.py pins this engine commit. Replica documents its libm-vs-host-exp repair; retained unchanged.","engine_parity":"512-seed printed-precision parity is supplied artifact evidence, not rerun here. This task ran only replicas and local controls.","fast_build":"Fetched and hash-verified fast.build_result_url. Used self-contained C++ replica rather than installing Cython dependencies.","known_replica_differences":"No EVM gas/revert/state behavior or terminal pnl output; neither is modified or used by this legal-fee probe."},"limitations":["Terminal oracle is a one-decision finite-menu search, not the full-information bound for the entire run.","Terminal analytic bound assumes ideal constant-product rival evolution with a conservative numerical allowance, not formal interval arithmetic. It cannot alone set advance.","Only 128 report seeds were run because prescribed score.py early stopping fired. Do not interpret two-SE intervals as a sequential-testing confidence guarantee.","Diagnostic rounding and dust caps use 128 unchanged choose paths; gain_vs_base/se remain null for unmeasured policies. No dynamic dust policy ceiling is claimed.","Do not sum the oracle, terminal cap, dust or rounding numbers. They have different relaxations and overlap other information items.","Pinned public source and supplied parity do not independently establish live leaderboard configuration.","No realisable estimator, new contract or Round-2 work was built."],"hashes":{"artifacts_and_pinned_files":{"base":"1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15","replica":"a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b","core":"2ad2abf45223c729557e83e77d22de54c5db7da2be0599658144906b91dbf0f7","fast":"72b58a1407966f0223f06ab7c6ddd979a24fb4593f1a9b3dc43508a7f133d00b","harness":"9ad960e6c7e11509b81f2852f7f34d395425adc226141b0bc828ed6f5f344663","probes":"6c23d23d4a21a37a502bf47a69d9f87b4c7ac84f614f2097e2488c6d5e6dd164","probe2":"9d06411b9d249e074a426b33b08474edac375f300111ace5bb34928f853531e6","fast-build":"8d5400696659b56bc12eeffc34dec5e58c5c119ddddaca681792db59586dd760","amm_sim_rs/src/simulation/engine.rs":"b505e05c1ab072855c708747421e382c31223fd65b7ae0402282bb07f6db2e56","amm_sim_rs/src/amm/cfmm.rs":"bfaab0d22531d2d920d4fe108ae78ebde759e2b75e96ca4c8503f7979a92a80f","amm_sim_rs/src/market/router.rs":"3d726a0fff1f69e639a8345d722226888089fd33b4a825fd85ece6bbc565994d","amm_sim_rs/src/types/wad.rs":"23643ea8c3fb78b52ec194d821d9780412d863dd9b275d6e867e4f7fe1423c14","amm_sim_rs/src/market/arbitrageur.rs":"f81bceb19ce315dfb457253f35e5dfc6cd78c587c54f06e873f0ef2e978f5503","amm_sim_rs/src/market/retail.rs":"45e723d23462c1a00fc2db4da6aea0db73e49e871b21cdf060e9a470053ecbe1","amm_sim_rs/src/market/price_process.rs":"d5d2a56a22ed95dfbbe4c7d15c17bb42a26c86bc7180644fcb4337ae3512b4e2","amm_sim_rs/src/evm/strategy.rs":"c87a48231191436fa1bd8d009173980b74e6af0335d3d35fb4ec505e17263e4d","amm_sim_rs/src/types/trade_info.rs":"96d3db718b665b86c99a9a879280e02947a7ddc9c27e2101158cba8387184627","amm_sim_rs/src/types/config.rs":"75bc6439d0f86a6d33aecf1182c590760d1c770bb61319769480b873d5be0c5d","amm_competition/competition/match.py":"78915a1aa36341e61c29f333fb18b31a319f70ce3e8bc2f737ba8b003aea5c17","amm_competition/competition/config.py":"e4b13d9f271fe27e184157904e6e9f5079db7c49ec5c0e1a31b52daeea2c1f9c"},"engine_archive_sha256":"fa91b175c4b0db13fa44657903f55f664c80fb34796172c94d57ebebba71ec9e","choose_base_csv":"461b1fc7c9c066ab99b6eac5dfbc7f696ff4c0f61aa0390bd76f9f8f63aa261a","choose_probe_csv":"612a4df672b10bbbd524f709cc8ac29c7d7b8b697d699ee70e7d219ca4a7fc6f","report_base_csv":"3dc705313ba34ce3c5c445418fb1d0cb1bd632c4993d5cdef64ed847f7ba09f7","report_probe_csv":"8da6617964b83528e888f7e862a02e802a3f3d687f0dd23b72d0addd3491f1cc","score_py":"38856d193fa9f8e8a7ca0e43b62778f5d9f7b8a6bc7bf67168843ca1e03c6958"},"hash_scope":"Artifact keys hash exact HTTP response bytes. Pinned file hashes are exact raw URL bytes, checked equal to extracted pinned archive. CSV hashes include header/newlines. source_sha256 hashes exact decoded offline-source JSON bytes (sorted-key compact relative-path/text map); base_source_sha256 hashes decoded QLX5 source bytes. Per-seed hashes cover unpacked binary64 deltas.","per_seed_deltas":{"choose_final":{"seeds":{"start":64000,"end_inclusive":65023,"step":1},"n":1024,"encoding":"base64(zlib(little-endian binary64 candidate.edge - base.edge in ascending seed order))","sha256_uncompressed":"d9dac98aa81e2401eb6490f2964c116a3bb01733f2f5ba9c6b36f75602a9f1c3","data":"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"},"report":{"seeds":{"start":10000,"end_inclusive":10127,"step":1},"n":128,"encoding":"base64(zlib(little-endian binary64 candidate.edge - base.edge in ascending seed order))","sha256_uncompressed":"87301cc94ef89ddfc94d68a82dec5e4487a947a40e4fea3e5f1a71f6b8af2f36","data":"eNpjYKAaeFf0R9iegYGDY0+BI5B2uHE3J9SeCH21/DZcSOp2bUhb1gXk79q5TL4ai/6KYjPzMCzijCv+KMwgbN8B40qJoLn2DAUv7xambASqzzAIfxOPRR9LbZRYNRHud7DqWZGNpC56pUBgDxZ9ZQL5f8uxiE9Y4HXUnrA9CSq6Ww5stWegPnAr0f1ih+BOOSDYHIlkzwG1ljMqQL5MYc7aQiz2X1nR4TIbJB7nFI4vvvMW/vLDEp4H/vzi51xFgb8qxH+pJoDS3b1Ln5OwmKOg5jjJEIv4gW3bZnhRLzwbUppuFM7CY55/hphgAZL8hP+VT/txq2/IjNFUWgaUn7HnSpkTkF7rYPCmEo/5L+ZNCknFLX/gbHGJ1jIMeQCiJWIm"}},"reproduction":{"offline":true,"encoding":"base64(xz/lzma(UTF-8 JSON mapping safe relative path to source text))","source_xz64":"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","instructions":["Decode source_xz64 into test/scratch/reproduce/offline-source.json, assert SHA256==source_sha256, and materialize the relative paths under test/scratch/reproduce. All required source dependencies and licenses are embedded; use system Python3, g++ C++20 and glibc. No network, pip, engine or Solidity needed.","Within test/scratch/reproduce run the commands below. make_probe.py is the compact reproducible patch; original replica headers remain unchanged. make_diag.py adds observation-only diagnostic counters."],"commands":["g++ -O3 -std=c++20 -ffp-contract=off -o replica/sim replica/main.cpp","python3 make_probe.py","g++ -O3 -std=c++20 -ffp-contract=off -o terminal/sim terminal/runner.cpp","python3 run_batch.py choose_final 64000 1024","python3 analyze.py choose_final","python3 run_batch.py report 10000 128","python3 analyze.py report","python3 harness/score.py --base report/base.csv --candidate report/probe.csv --bar 0.08","python3 make_diag.py","g++ -O3 -std=c++20 -ffp-contract=off -o diagnostic/sim diagnostic/runner.cpp","diagnostic/sim 64000 128 > diagnostic.csv"],"diagnostic_aggregation":"For dust_cap, dust_count, rounding_cap, rounding_abs use mean, sample stdev/sqrt(n), max over diagnostic.csv; verify its edges equal choose_final/base.csv. All rows are complete 10000-step runs."},"checks":{"json_parses":true,"source_quotes_refetched_and_exact":20,"embedded_offline_source_hash_verified":true,"embedded_source_files_credit_checked":17,"offline_bundle_rebuilt_with_system_gxx":true,"offline_rebuild_controls_seeds":[64000,64001],"compressed_report_deltas_recompute_exact_mean_and_se":true,"note":"Local checks support this deliverable; no independent engine certification."}}
