{
  "approach": "Measurement-only replication of NP: pinned CH source plus exactly the requested normalizer-implied-spot update before uint256 tradeRatio. No new strategy, parameter changes, tuning, or promotion.",
  "complete": true,
  "promotions": [],
  "simulator_commit": "6b6921f8d463314aa7c96234e1be25a25245f704",
  "method": {
    "runner": "Unmodified pinned amm_sim_rs.run_batch. Each submission is run against contracts/src/VanillaStrategy.sol, then its submission edge is paired by seed with NP. NP is not used as the opposing pool.",
    "configs": "numpy.random.default_rng(seed): uniform(19,21) mean size, then uniform(0.6,1.0) arrival rate, then uniform(0.000882,0.001008) sigma. Canonical build_config supplies 10000 steps and all other baseline settings; price seed=seed, retail seed=seed+1.",
    "pair_sign": "candidate minus NP; negative favors NP. Worst means the five most negative differences under this required sign convention.",
    "se": "Sample standard deviation (ddof=1) divided by sqrt(n).",
    "chunks": "Fresh seeds split into 800000..800499, 800500..800999, 801000..801499, 801500..801999. Within each logical 500-seed chunk, run_batch receives up to 8 configs at a time with 8 workers to bound retained history memory.",
    "first_5": "First five seed-ordered submission edges or paired differences rounded to six decimal places. JSON numeric values may omit trailing zeros.",
    "fresh_seeds": "The fixed strategies were not changed after reading replication or holdout results."
  },
  "replication": {
    "CH_expected": 525.525882178,
    "CH_observed": 525.5258821780834,
    "NP_expected": 526.0337302497852,
    "NP_observed": 526.0337302497852,
    "NP_error": 0.0,
    "confirmed": true
  },
  "results": [
    {
      "label": "CH mean edge",
      "seed_start": 0,
      "n": 1000,
      "mean": 525.5258821780834,
      "se": 2.7894264590251843,
      "first_5": [
        {
          "seed": 0,
          "edge": 478.31372
        },
        {
          "seed": 1,
          "edge": 598.726153
        },
        {
          "seed": 2,
          "edge": 412.970257
        },
        {
          "seed": 3,
          "edge": 475.602299
        },
        {
          "seed": 4,
          "edge": 521.908357
        }
      ],
      "seconds": 617.2234655481298,
      "seconds_per_simulation": 0.6172234655481298
    },
    {
      "label": "NP mean edge",
      "seed_start": 0,
      "n": 1000,
      "mean": 526.0337302497852,
      "se": 2.7912248204542776,
      "first_5": [
        {
          "seed": 0,
          "edge": 478.995547
        },
        {
          "seed": 1,
          "edge": 600.674423
        },
        {
          "seed": 2,
          "edge": 414.199217
        },
        {
          "seed": 3,
          "edge": 475.272938
        },
        {
          "seed": 4,
          "edge": 522.864936
        }
      ],
      "seconds": 633.8528355879243,
      "seconds_per_simulation": 0.6338528355879244
    },
    {
      "label": "CH - NP",
      "seed_start": 0,
      "n": 1000,
      "mean_diff": -0.5078480717017371,
      "se": 0.02478168812598005,
      "worst": [
        {
          "seed": 501,
          "diff": -7.2946729365067995
        },
        {
          "seed": 927,
          "diff": -6.670492267057966
        },
        {
          "seed": 914,
          "diff": -5.799380185343921
        },
        {
          "seed": 231,
          "diff": -5.3581583356698275
        },
        {
          "seed": 59,
          "diff": -4.708903930914971
        }
      ],
      "first_5": [
        {
          "seed": 0,
          "diff": -0.681827
        },
        {
          "seed": 1,
          "diff": -1.94827
        },
        {
          "seed": 2,
          "diff": -1.22896
        },
        {
          "seed": 3,
          "diff": 0.329361
        },
        {
          "seed": 4,
          "diff": -0.956579
        }
      ]
    },
    {
      "label": "NP mean edge",
      "seed_start": 800000,
      "n": 2000,
      "mean": 522.0848388904918,
      "se": 2.010056916780179,
      "first_5": [
        {
          "seed": 800000,
          "edge": 513.243419
        },
        {
          "seed": 800001,
          "edge": 611.452184
        },
        {
          "seed": 800002,
          "edge": 573.90449
        },
        {
          "seed": 800003,
          "edge": 475.366623
        },
        {
          "seed": 800004,
          "edge": 505.692262
        }
      ],
      "seconds": 692.5637504160404,
      "seconds_per_simulation": 0.34628187520802023
    },
    {
      "label": "CH mean edge",
      "seed_start": 800000,
      "n": 2000,
      "mean": 521.6231325934107,
      "se": 2.0082964419755465,
      "first_5": [
        {
          "seed": 800000,
          "edge": 512.458523
        },
        {
          "seed": 800001,
          "edge": 611.960888
        },
        {
          "seed": 800002,
          "edge": 572.96874
        },
        {
          "seed": 800003,
          "edge": 474.948961
        },
        {
          "seed": 800004,
          "edge": 506.649732
        }
      ],
      "seconds": 662.2190779699013,
      "seconds_per_simulation": 0.33110953898495066
    },
    {
      "label": "YQ mean edge",
      "seed_start": 800000,
      "n": 2000,
      "mean": 520.6893134303539,
      "se": 2.0050073072825256,
      "first_5": [
        {
          "seed": 800000,
          "edge": 510.878709
        },
        {
          "seed": 800001,
          "edge": 613.017176
        },
        {
          "seed": 800002,
          "edge": 572.329808
        },
        {
          "seed": 800003,
          "edge": 474.695978
        },
        {
          "seed": 800004,
          "edge": 505.049282
        }
      ],
      "seconds": 536.7513016148005,
      "seconds_per_simulation": 0.2683756508074002
    },
    {
      "label": "Starter mean edge",
      "seed_start": 800000,
      "n": 2000,
      "mean": 366.7691936940682,
      "se": 1.2974265487383596,
      "first_5": [
        {
          "seed": 800000,
          "edge": 373.363615
        },
        {
          "seed": 800001,
          "edge": 397.880479
        },
        {
          "seed": 800002,
          "edge": 408.230561
        },
        {
          "seed": 800003,
          "edge": 352.903497
        },
        {
          "seed": 800004,
          "edge": 310.947033
        }
      ],
      "seconds": 197.8222669432871,
      "seconds_per_simulation": 0.09891113347164356
    },
    {
      "label": "CH - NP",
      "seed_start": 800000,
      "n": 2000,
      "mean_diff": -0.4617062970811892,
      "se": 0.015933384561941683,
      "worst": [
        {
          "seed": 801205,
          "diff": -5.22609575962656
        },
        {
          "seed": 800197,
          "diff": -4.339315470122983
        },
        {
          "seed": 801332,
          "diff": -4.037784091232879
        },
        {
          "seed": 801843,
          "diff": -3.6552123682744195
        },
        {
          "seed": 800070,
          "diff": -3.59263040598114
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -0.784895
        },
        {
          "seed": 800001,
          "diff": 0.508703
        },
        {
          "seed": 800002,
          "diff": -0.93575
        },
        {
          "seed": 800003,
          "diff": -0.417662
        },
        {
          "seed": 800004,
          "diff": 0.95747
        }
      ]
    },
    {
      "label": "YQ - NP",
      "seed_start": 800000,
      "n": 2000,
      "mean_diff": -1.3955254601379763,
      "se": 0.025400538792670506,
      "worst": [
        {
          "seed": 800125,
          "diff": -10.503145317469318
        },
        {
          "seed": 800044,
          "diff": -7.500947690383555
        },
        {
          "seed": 800343,
          "diff": -6.0613337250478025
        },
        {
          "seed": 800241,
          "diff": -5.990380350565033
        },
        {
          "seed": 801205,
          "diff": -5.9050133198525145
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -2.36471
        },
        {
          "seed": 800001,
          "diff": 1.564992
        },
        {
          "seed": 800002,
          "diff": -1.574682
        },
        {
          "seed": 800003,
          "diff": -0.670645
        },
        {
          "seed": 800004,
          "diff": -0.64298
        }
      ]
    },
    {
      "label": "Starter - NP",
      "seed_start": 800000,
      "n": 2000,
      "mean_diff": -155.31564519642365,
      "se": 0.8957554477429513,
      "worst": [
        {
          "seed": 801417,
          "diff": -348.1559713360922
        },
        {
          "seed": 801708,
          "diff": -342.822978903565
        },
        {
          "seed": 801443,
          "diff": -335.66994003655856
        },
        {
          "seed": 800103,
          "diff": -332.8008803974552
        },
        {
          "seed": 801583,
          "diff": -327.43119966929726
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -139.879804
        },
        {
          "seed": 800001,
          "diff": -213.571706
        },
        {
          "seed": 800002,
          "diff": -165.67393
        },
        {
          "seed": 800003,
          "diff": -122.463126
        },
        {
          "seed": 800004,
          "diff": -194.745229
        }
      ]
    },
    {
      "label": "NP mean edge",
      "seed_start": 800000,
      "n": 500,
      "mean": 525.291260256267,
      "se": 4.002974223320312,
      "first_5": [
        {
          "seed": 800000,
          "edge": 513.243419
        },
        {
          "seed": 800001,
          "edge": 611.452184
        },
        {
          "seed": 800002,
          "edge": 573.90449
        },
        {
          "seed": 800003,
          "edge": 475.366623
        },
        {
          "seed": 800004,
          "edge": 505.692262
        }
      ],
      "seconds": 317.48591256001964,
      "seconds_per_simulation": 0.6349718251200392
    },
    {
      "label": "CH mean edge",
      "seed_start": 800000,
      "n": 500,
      "mean": 524.8279432450869,
      "se": 3.997660082902394,
      "first_5": [
        {
          "seed": 800000,
          "edge": 512.458523
        },
        {
          "seed": 800001,
          "edge": 611.960888
        },
        {
          "seed": 800002,
          "edge": 572.96874
        },
        {
          "seed": 800003,
          "edge": 474.948961
        },
        {
          "seed": 800004,
          "edge": 506.649732
        }
      ],
      "seconds": 306.89155026199296,
      "seconds_per_simulation": 0.6137831005239859
    },
    {
      "label": "YQ mean edge",
      "seed_start": 800000,
      "n": 500,
      "mean": 523.8490256839873,
      "se": 3.987393194946387,
      "first_5": [
        {
          "seed": 800000,
          "edge": 510.878709
        },
        {
          "seed": 800001,
          "edge": 613.017176
        },
        {
          "seed": 800002,
          "edge": 572.329808
        },
        {
          "seed": 800003,
          "edge": 474.695978
        },
        {
          "seed": 800004,
          "edge": 505.049282
        }
      ],
      "seconds": 264.2476565919351,
      "seconds_per_simulation": 0.5284953131838702
    },
    {
      "label": "Starter mean edge",
      "seed_start": 800000,
      "n": 500,
      "mean": 369.05048227342047,
      "se": 2.63122684020481,
      "first_5": [
        {
          "seed": 800000,
          "edge": 373.363615
        },
        {
          "seed": 800001,
          "edge": 397.880479
        },
        {
          "seed": 800002,
          "edge": 408.230561
        },
        {
          "seed": 800003,
          "edge": 352.903497
        },
        {
          "seed": 800004,
          "edge": 310.947033
        }
      ],
      "seconds": 72.24789120908827,
      "seconds_per_simulation": 0.14449578241817654
    },
    {
      "label": "CH - NP",
      "seed_start": 800000,
      "n": 500,
      "mean_diff": -0.46331701118020535,
      "se": 0.032799705300049616,
      "worst": [
        {
          "seed": 800197,
          "diff": -4.339315470122983
        },
        {
          "seed": 800070,
          "diff": -3.59263040598114
        },
        {
          "seed": 800438,
          "diff": -2.922350375503129
        },
        {
          "seed": 800205,
          "diff": -2.921344038267307
        },
        {
          "seed": 800494,
          "diff": -2.6738827735260884
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -0.784895
        },
        {
          "seed": 800001,
          "diff": 0.508703
        },
        {
          "seed": 800002,
          "diff": -0.93575
        },
        {
          "seed": 800003,
          "diff": -0.417662
        },
        {
          "seed": 800004,
          "diff": 0.95747
        }
      ]
    },
    {
      "label": "YQ - NP",
      "seed_start": 800000,
      "n": 500,
      "mean_diff": -1.4422345722798446,
      "se": 0.05769221308527662,
      "worst": [
        {
          "seed": 800125,
          "diff": -10.503145317469318
        },
        {
          "seed": 800044,
          "diff": -7.500947690383555
        },
        {
          "seed": 800343,
          "diff": -6.0613337250478025
        },
        {
          "seed": 800241,
          "diff": -5.990380350565033
        },
        {
          "seed": 800043,
          "diff": -5.200847677885122
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -2.36471
        },
        {
          "seed": 800001,
          "diff": 1.564992
        },
        {
          "seed": 800002,
          "diff": -1.574682
        },
        {
          "seed": 800003,
          "diff": -0.670645
        },
        {
          "seed": 800004,
          "diff": -0.64298
        }
      ]
    },
    {
      "label": "Starter - NP",
      "seed_start": 800000,
      "n": 500,
      "mean_diff": -156.24077798284662,
      "se": 1.7556636981638414,
      "worst": [
        {
          "seed": 800103,
          "diff": -332.8008803974552
        },
        {
          "seed": 800435,
          "diff": -300.24767852339164
        },
        {
          "seed": 800241,
          "diff": -298.64554497867357
        },
        {
          "seed": 800343,
          "diff": -295.93517575836336
        },
        {
          "seed": 800062,
          "diff": -293.85461179323715
        }
      ],
      "first_5": [
        {
          "seed": 800000,
          "diff": -139.879804
        },
        {
          "seed": 800001,
          "diff": -213.571706
        },
        {
          "seed": 800002,
          "diff": -165.67393
        },
        {
          "seed": 800003,
          "diff": -122.463126
        },
        {
          "seed": 800004,
          "diff": -194.745229
        }
      ]
    },
    {
      "label": "NP mean edge",
      "seed_start": 800500,
      "n": 500,
      "mean": 523.7461910174003,
      "se": 4.143992895283588,
      "first_5": [
        {
          "seed": 800500,
          "edge": 557.497289
        },
        {
          "seed": 800501,
          "edge": 721.642578
        },
        {
          "seed": 800502,
          "edge": 601.27204
        },
        {
          "seed": 800503,
          "edge": 655.110799
        },
        {
          "seed": 800504,
          "edge": 362.431973
        }
      ],
      "seconds": 187.5176084130071,
      "seconds_per_simulation": 0.3750352168260142
    },
    {
      "label": "CH mean edge",
      "seed_start": 800500,
      "n": 500,
      "mean": 523.2966977956291,
      "se": 4.141291082785361,
      "first_5": [
        {
          "seed": 800500,
          "edge": 556.684879
        },
        {
          "seed": 800501,
          "edge": 721.527269
        },
        {
          "seed": 800502,
          "edge": 599.910793
        },
        {
          "seed": 800503,
          "edge": 654.84955
        },
        {
          "seed": 800504,
          "edge": 361.834436
        }
      ],
      "seconds": 178.42252156999893,
      "seconds_per_simulation": 0.3568450431399979
    },
    {
      "label": "YQ mean edge",
      "seed_start": 800500,
      "n": 500,
      "mean": 522.3576734433316,
      "se": 4.136764058227661,
      "first_5": [
        {
          "seed": 800500,
          "edge": 555.281842
        },
        {
          "seed": 800501,
          "edge": 718.552685
        },
        {
          "seed": 800502,
          "edge": 600.503385
        },
        {
          "seed": 800503,
          "edge": 654.680954
        },
        {
          "seed": 800504,
          "edge": 360.964308
        }
      ],
      "seconds": 93.0076182379853,
      "seconds_per_simulation": 0.1860152364759706
    },
    {
      "label": "Starter mean edge",
      "seed_start": 800500,
      "n": 500,
      "mean": 367.7620003312567,
      "se": 2.6468309675016695,
      "first_5": [
        {
          "seed": 800500,
          "edge": 385.420932
        },
        {
          "seed": 800501,
          "edge": 476.974371
        },
        {
          "seed": 800502,
          "edge": 413.498098
        },
        {
          "seed": 800503,
          "edge": 450.322717
        },
        {
          "seed": 800504,
          "edge": 268.215797
        }
      ],
      "seconds": 42.00336698908359,
      "seconds_per_simulation": 0.08400673397816717
    },
    {
      "label": "CH - NP",
      "seed_start": 800500,
      "n": 500,
      "mean_diff": -0.44949322177117346,
      "se": 0.030592528972382148,
      "worst": [
        {
          "seed": 800965,
          "diff": -3.1125568565428807
        },
        {
          "seed": 800778,
          "diff": -3.032148612330843
        },
        {
          "seed": 800627,
          "diff": -2.9366567126418204
        },
        {
          "seed": 800836,
          "diff": -2.7172608149176085
        },
        {
          "seed": 800979,
          "diff": -2.6359590082583964
        }
      ],
      "first_5": [
        {
          "seed": 800500,
          "diff": -0.812411
        },
        {
          "seed": 800501,
          "diff": -0.115308
        },
        {
          "seed": 800502,
          "diff": -1.361248
        },
        {
          "seed": 800503,
          "diff": -0.261249
        },
        {
          "seed": 800504,
          "diff": -0.597537
        }
      ]
    },
    {
      "label": "YQ - NP",
      "seed_start": 800500,
      "n": 500,
      "mean_diff": -1.3885175740687308,
      "se": 0.04729433166670927,
      "worst": [
        {
          "seed": 800856,
          "diff": -5.610929402856755
        },
        {
          "seed": 800915,
          "diff": -4.8840135601291195
        },
        {
          "seed": 800979,
          "diff": -4.774382262384279
        },
        {
          "seed": 800624,
          "diff": -4.591240503916538
        },
        {
          "seed": 800629,
          "diff": -4.439842867551533
        }
      ],
      "first_5": [
        {
          "seed": 800500,
          "diff": -2.215448
        },
        {
          "seed": 800501,
          "diff": -3.089893
        },
        {
          "seed": 800502,
          "diff": -0.768655
        },
        {
          "seed": 800503,
          "diff": -0.429845
        },
        {
          "seed": 800504,
          "diff": -1.467665
        }
      ]
    },
    {
      "label": "Starter - NP",
      "seed_start": 800500,
      "n": 500,
      "mean_diff": -155.98419068614362,
      "se": 1.777477278183018,
      "worst": [
        {
          "seed": 800840,
          "diff": -304.0386777465536
        },
        {
          "seed": 800876,
          "diff": -297.5699119077765
        },
        {
          "seed": 800823,
          "diff": -294.45034701316916
        },
        {
          "seed": 800821,
          "diff": -275.41524697253294
        },
        {
          "seed": 800506,
          "diff": -265.5503029888738
        }
      ],
      "first_5": [
        {
          "seed": 800500,
          "diff": -172.076358
        },
        {
          "seed": 800501,
          "diff": -244.668207
        },
        {
          "seed": 800502,
          "diff": -187.773942
        },
        {
          "seed": 800503,
          "diff": -204.788082
        },
        {
          "seed": 800504,
          "diff": -94.216176
        }
      ]
    },
    {
      "label": "NP mean edge",
      "seed_start": 801000,
      "n": 500,
      "mean": 523.0986995742976,
      "se": 4.005645414751149,
      "first_5": [
        {
          "seed": 801000,
          "edge": 569.621295
        },
        {
          "seed": 801001,
          "edge": 451.710716
        },
        {
          "seed": 801002,
          "edge": 470.829607
        },
        {
          "seed": 801003,
          "edge": 564.1408
        },
        {
          "seed": 801004,
          "edge": 563.301423
        }
      ],
      "seconds": 92.81118896696717,
      "seconds_per_simulation": 0.18562237793393432
    },
    {
      "label": "CH mean edge",
      "seed_start": 801000,
      "n": 500,
      "mean": 522.6376413646333,
      "se": 4.003134007265408,
      "first_5": [
        {
          "seed": 801000,
          "edge": 569.051318
        },
        {
          "seed": 801001,
          "edge": 451.388529
        },
        {
          "seed": 801002,
          "edge": 470.424962
        },
        {
          "seed": 801003,
          "edge": 563.102006
        },
        {
          "seed": 801004,
          "edge": 563.951153
        }
      ],
      "seconds": 90.1152164938394,
      "seconds_per_simulation": 0.1802304329876788
    },
    {
      "label": "YQ mean edge",
      "seed_start": 801000,
      "n": 500,
      "mean": 521.7121527892122,
      "se": 3.9979221318893505,
      "first_5": [
        {
          "seed": 801000,
          "edge": 569.173087
        },
        {
          "seed": 801001,
          "edge": 449.904343
        },
        {
          "seed": 801002,
          "edge": 469.375457
        },
        {
          "seed": 801003,
          "edge": 560.834675
        },
        {
          "seed": 801004,
          "edge": 562.954269
        }
      ],
      "seconds": 94.24223356484435,
      "seconds_per_simulation": 0.18848446712968872
    },
    {
      "label": "Starter mean edge",
      "seed_start": 801000,
      "n": 500,
      "mean": 366.3739296068718,
      "se": 2.5604028804020658,
      "first_5": [
        {
          "seed": 801000,
          "edge": 366.893912
        },
        {
          "seed": 801001,
          "edge": 324.534386
        },
        {
          "seed": 801002,
          "edge": 343.494887
        },
        {
          "seed": 801003,
          "edge": 409.416526
        },
        {
          "seed": 801004,
          "edge": 382.23909
        }
      ],
      "seconds": 44.31935618002899,
      "seconds_per_simulation": 0.08863871236005798
    },
    {
      "label": "CH - NP",
      "seed_start": 801000,
      "n": 500,
      "mean_diff": -0.4610582096643441,
      "se": 0.03310476821954963,
      "worst": [
        {
          "seed": 801205,
          "diff": -5.22609575962656
        },
        {
          "seed": 801332,
          "diff": -4.037784091232879
        },
        {
          "seed": 801387,
          "diff": -3.359909389771701
        },
        {
          "seed": 801426,
          "diff": -3.138767814016319
        },
        {
          "seed": 801154,
          "diff": -3.137769018307381
        }
      ],
      "first_5": [
        {
          "seed": 801000,
          "diff": -0.569976
        },
        {
          "seed": 801001,
          "diff": -0.322187
        },
        {
          "seed": 801002,
          "diff": -0.404645
        },
        {
          "seed": 801003,
          "diff": -1.038794
        },
        {
          "seed": 801004,
          "diff": 0.64973
        }
      ]
    },
    {
      "label": "YQ - NP",
      "seed_start": 801000,
      "n": 500,
      "mean_diff": -1.3865467850854574,
      "se": 0.05167588313458041,
      "worst": [
        {
          "seed": 801205,
          "diff": -5.9050133198525145
        },
        {
          "seed": 801133,
          "diff": -5.364684013453257
        },
        {
          "seed": 801204,
          "diff": -5.329084163920697
        },
        {
          "seed": 801417,
          "diff": -5.277208604866928
        },
        {
          "seed": 801014,
          "diff": -5.149831007051034
        }
      ],
      "first_5": [
        {
          "seed": 801000,
          "diff": -0.448207
        },
        {
          "seed": 801001,
          "diff": -1.806374
        },
        {
          "seed": 801002,
          "diff": -1.454149
        },
        {
          "seed": 801003,
          "diff": -3.306125
        },
        {
          "seed": 801004,
          "diff": -0.347154
        }
      ]
    },
    {
      "label": "Starter - NP",
      "seed_start": 801000,
      "n": 500,
      "mean_diff": -156.7247699674258,
      "se": 1.8621272773180146,
      "worst": [
        {
          "seed": 801417,
          "diff": -348.1559713360922
        },
        {
          "seed": 801443,
          "diff": -335.66994003655856
        },
        {
          "seed": 801014,
          "diff": -314.8903136585792
        },
        {
          "seed": 801425,
          "diff": -306.4091431268883
        },
        {
          "seed": 801405,
          "diff": -296.6695739160641
        }
      ],
      "first_5": [
        {
          "seed": 801000,
          "diff": -202.727383
        },
        {
          "seed": 801001,
          "diff": -127.176331
        },
        {
          "seed": 801002,
          "diff": -127.334719
        },
        {
          "seed": 801003,
          "diff": -154.724274
        },
        {
          "seed": 801004,
          "diff": -181.062333
        }
      ]
    },
    {
      "label": "NP mean edge",
      "seed_start": 801500,
      "n": 500,
      "mean": 516.2032047140024,
      "se": 3.924694593280065,
      "first_5": [
        {
          "seed": 801500,
          "edge": 437.746847
        },
        {
          "seed": 801501,
          "edge": 625.517015
        },
        {
          "seed": 801502,
          "edge": 595.397272
        },
        {
          "seed": 801503,
          "edge": 611.44294
        },
        {
          "seed": 801504,
          "edge": 535.165008
        }
      ],
      "seconds": 94.7490404760465,
      "seconds_per_simulation": 0.189498080952093
    },
    {
      "label": "CH mean edge",
      "seed_start": 801500,
      "n": 500,
      "mean": 515.7302479682934,
      "se": 3.9210401971897273,
      "first_5": [
        {
          "seed": 801500,
          "edge": 436.224476
        },
        {
          "seed": 801501,
          "edge": 624.641402
        },
        {
          "seed": 801502,
          "edge": 594.907373
        },
        {
          "seed": 801503,
          "edge": 610.703364
        },
        {
          "seed": 801504,
          "edge": 534.242423
        }
      ],
      "seconds": 86.78978964406997,
      "seconds_per_simulation": 0.17357957928813994
    },
    {
      "label": "YQ mean edge",
      "seed_start": 801500,
      "n": 500,
      "mean": 514.8384018048845,
      "se": 3.914812260159995,
      "first_5": [
        {
          "seed": 801500,
          "edge": 436.495104
        },
        {
          "seed": 801501,
          "edge": 623.689256
        },
        {
          "seed": 801502,
          "edge": 593.143829
        },
        {
          "seed": 801503,
          "edge": 607.745886
        },
        {
          "seed": 801504,
          "edge": 533.361183
        }
      ],
      "seconds": 85.25379322003573,
      "seconds_per_simulation": 0.17050758644007147
    },
    {
      "label": "Starter mean edge",
      "seed_start": 801500,
      "n": 500,
      "mean": 363.89036256472383,
      "se": 2.5415492949887453,
      "first_5": [
        {
          "seed": 801500,
          "edge": 317.868694
        },
        {
          "seed": 801501,
          "edge": 456.551425
        },
        {
          "seed": 801502,
          "edge": 416.182377
        },
        {
          "seed": 801503,
          "edge": 447.537067
        },
        {
          "seed": 801504,
          "edge": 394.941644
        }
      ],
      "seconds": 39.25165256508626,
      "seconds_per_simulation": 0.07850330513017252
    },
    {
      "label": "CH - NP",
      "seed_start": 801500,
      "n": 500,
      "mean_diff": -0.47295674570903407,
      "se": 0.030981627919018973,
      "worst": [
        {
          "seed": 801843,
          "diff": -3.6552123682744195
        },
        {
          "seed": 801529,
          "diff": -3.145388784085071
        },
        {
          "seed": 801839,
          "diff": -2.7522846815202797
        },
        {
          "seed": 801637,
          "diff": -2.643567348636566
        },
        {
          "seed": 801738,
          "diff": -2.5604985629261137
        }
      ],
      "first_5": [
        {
          "seed": 801500,
          "diff": -1.522372
        },
        {
          "seed": 801501,
          "diff": -0.875612
        },
        {
          "seed": 801502,
          "diff": -0.489899
        },
        {
          "seed": 801503,
          "diff": -0.739576
        },
        {
          "seed": 801504,
          "diff": -0.922585
        }
      ]
    },
    {
      "label": "YQ - NP",
      "seed_start": 801500,
      "n": 500,
      "mean_diff": -1.3648029091178722,
      "se": 0.04578698038590357,
      "worst": [
        {
          "seed": 801529,
          "diff": -5.551524612063304
        },
        {
          "seed": 801610,
          "diff": -5.299891463354754
        },
        {
          "seed": 801898,
          "diff": -5.052331360563244
        },
        {
          "seed": 801576,
          "diff": -5.0204146320951395
        },
        {
          "seed": 801699,
          "diff": -4.780193173838711
        }
      ],
      "first_5": [
        {
          "seed": 801500,
          "diff": -1.251743
        },
        {
          "seed": 801501,
          "diff": -1.827758
        },
        {
          "seed": 801502,
          "diff": -2.253443
        },
        {
          "seed": 801503,
          "diff": -3.697053
        },
        {
          "seed": 801504,
          "diff": -1.803825
        }
      ]
    },
    {
      "label": "Starter - NP",
      "seed_start": 801500,
      "n": 500,
      "mean_diff": -152.31284214927857,
      "se": 1.7673093776730475,
      "worst": [
        {
          "seed": 801708,
          "diff": -342.822978903565
        },
        {
          "seed": 801583,
          "diff": -327.43119966929726
        },
        {
          "seed": 801908,
          "diff": -305.3045244545072
        },
        {
          "seed": 801770,
          "diff": -302.8602790541969
        },
        {
          "seed": 801663,
          "diff": -301.55941624672874
        }
      ],
      "first_5": [
        {
          "seed": 801500,
          "diff": -119.878153
        },
        {
          "seed": 801501,
          "diff": -168.96559
        },
        {
          "seed": 801502,
          "diff": -179.214895
        },
        {
          "seed": 801503,
          "diff": -163.905872
        },
        {
          "seed": 801504,
          "diff": -140.223364
        }
      ]
    }
  ],
  "code": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.24;\n\nimport {AMMStrategyBase} from \"./AMMStrategyBase.sol\";\nimport {TradeInfo} from \"./IAMMStrategy.sol\";\n\ncontract Strategy is AMMStrategyBase {\n    uint256 constant ELAPSED_CAP = 8;\n    uint256 constant SIGNAL_THRESHOLD = WAD / 650;\n    uint256 constant DIR_DECAY = 750000000000000000;\n    uint256 constant ACT_DECAY = 530000000000000000;\n    uint256 constant SIZE_DECAY = 530000000000000000;\n    uint256 constant TOX_DECAY = 910000000000000000;\n    uint256 constant SIGMA_DECAY = 690000000000000000;\n    uint256 constant LAMBDA_DECAY = 990000000000000000;\n    uint256 constant SIZE_BLEND_DECAY = 828000000000000000;\n    uint256 constant TOX_BLEND_DECAY = 51000000000000000;\n    uint256 constant ACT_BLEND_DECAY = 985000000000000000;\n    uint256 constant PHAT_ALPHA = 270000000000000000;\n    uint256 constant PHAT_ALPHA_RETAIL = 60000000000000000;\n    uint256 constant DIR_IMPACT_MULT = 4;\n    uint256 constant GATE_SIGMA_MULT = 7200000000000000000;\n    uint256 constant MIN_GATE = 30000000000000000;\n    uint256 constant TRADE_TOX_BOOST = 3500 * BPS;\n    uint256 constant STALE_ATTRACT_FRAC = 1050000000000000000;\n    uint256 constant RET_CAP = WAD / 35;\n    uint256 constant TOX_CAP = WAD / 5;\n    uint256 constant TRADE_RATIO_CAP = WAD / 5;\n    uint256 constant LAMBDA_CAP = 1820000000000000000;\n    uint256 constant STEP_COUNT_CAP = 64;\n    uint256 constant BASE_FEE = 4 * BPS;\n    uint256 constant SIGMA_COEF = 200000000000000000;\n    uint256 constant LAMBDA_COEF = 12 * BPS;\n    uint256 constant FLOW_SIZE_COEF = 4842 * BPS;\n    uint256 constant TOX_COEF = 300 * BPS;\n    uint256 constant TOX_QUAD_COEF = 15000 * BPS;\n    uint256 constant ACT_COEF = 91843 * BPS;\n    uint256 constant DIR_COEF = 20 * BPS;\n    uint256 constant DIR_TOX_COEF = 100 * BPS;\n    uint256 constant STALE_DIR_COEF = 6850 * BPS;\n    uint256 constant SIGMA_TOX_COEF = 500 * BPS;\n    uint256 constant TAIL_KNEE = 600 * BPS;\n    uint256 constant TAIL_SLOPE_PROTECT = 930000000000000000;\n    uint256 constant TAIL_SLOPE_ATTRACT = 850000000000000000;\n\n    function afterInitialize(uint256 initialX, uint256 initialY) external override returns (uint256, uint256) {\n        slots[0] = BASE_FEE; slots[1] = BASE_FEE; slots[2] = 0; slots[3] = WAD; slots[4] = 0;\n        slots[5] = initialX > 0 ? wdiv(initialY, initialX) : 100 * WAD;\n        slots[6] = 950000000000000; slots[7] = 800000000000000000; slots[8] = 2000000000000000;\n        slots[9] = 0; slots[10] = 0;\n        return (BASE_FEE, BASE_FEE);\n    }\n\n    function afterSwap(TradeInfo calldata trade) external override returns (uint256, uint256) {\n        uint256 prevBidFee = slots[0]; uint256 prevAskFee = slots[1]; uint256 lastTs = slots[2];\n        uint256 dirState = slots[3]; uint256 actEma = slots[4]; uint256 pHat = slots[5];\n        uint256 sigmaHat = slots[6]; uint256 lambdaHat = slots[7]; uint256 sizeHat = slots[8];\n        uint256 toxEma = slots[9]; uint256 stepTradeCount = slots[10];\n\n        bool isNewStep = trade.timestamp > lastTs;\n        if (isNewStep) {\n            uint256 elapsedRaw = trade.timestamp - lastTs;\n            uint256 elapsed = elapsedRaw > ELAPSED_CAP ? ELAPSED_CAP : elapsedRaw;\n            dirState = _decayCentered(dirState, DIR_DECAY, elapsed);\n            actEma = wmul(actEma, _powWad(ACT_DECAY, elapsed));\n            sizeHat = wmul(sizeHat, _powWad(SIZE_DECAY, elapsed));\n            toxEma = wmul(toxEma, _powWad(TOX_DECAY, elapsed));\n            if (stepTradeCount > 0 && elapsedRaw > 0) {\n                uint256 lambdaInst = (stepTradeCount * WAD) / elapsedRaw;\n                if (lambdaInst > LAMBDA_CAP) lambdaInst = LAMBDA_CAP;\n                lambdaHat = wmul(lambdaHat, LAMBDA_DECAY) + wmul(lambdaInst, WAD - LAMBDA_DECAY);\n            }\n            stepTradeCount = 0;\n        }\n\n        bool firstInStep = stepTradeCount == 0;\n        uint256 spot = trade.reserveX > 0 ? wdiv(trade.reserveY, trade.reserveX) : pHat;\n        if (pHat == 0) pHat = spot;\n\n        uint256 feeUsed = trade.isBuy ? prevBidFee : prevAskFee;\n        uint256 gamma = feeUsed < WAD ? WAD - feeUsed : 0;\n        uint256 pImplied;\n        if (gamma == 0) { pImplied = spot; }\n        else { pImplied = trade.isBuy ? wmul(spot, gamma) : wdiv(spot, gamma); }\n\n        {\n            uint256 ret = pHat > 0 ? wdiv(absDiff(pImplied, pHat), pHat) : 0;\n            uint256 alpha = firstInStep ? PHAT_ALPHA : PHAT_ALPHA_RETAIL;\n            uint256 adaptiveGate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (adaptiveGate < MIN_GATE) adaptiveGate = MIN_GATE;\n            if (ret <= adaptiveGate) { pHat = wmul(pHat, WAD - alpha) + wmul(pImplied, alpha); }\n            if (firstInStep) {\n                if (ret > RET_CAP) ret = RET_CAP;\n                sigmaHat = wmul(sigmaHat, SIGMA_DECAY) + wmul(ret, WAD - SIGMA_DECAY);\n            }\n        }\n\n        if(!firstInStep&&feeUsed>30*BPS&&gamma>0){uint256 nS=trade.isBuy?wdiv(wmul(spot,gamma),WAD-30*BPS):wdiv(wmul(spot,WAD-30*BPS),gamma);pHat=wmul(pHat,9*WAD/10)+wmul(nS,WAD/10);}\n        uint256 tradeRatio = trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0;\n        if (tradeRatio > TRADE_RATIO_CAP) tradeRatio = TRADE_RATIO_CAP;\n\n        if (tradeRatio > SIGNAL_THRESHOLD) {\n            uint256 push = tradeRatio * DIR_IMPACT_MULT;\n            if (push > WAD / 4) push = WAD / 4;\n            if (trade.isBuy) {\n                dirState = dirState + push;\n                if (dirState > 2 * WAD) dirState = 2 * WAD;\n            } else {\n                dirState = dirState > push ? dirState - push : 0;\n            }\n            actEma = wmul(actEma, ACT_BLEND_DECAY) + wmul(tradeRatio, WAD - ACT_BLEND_DECAY);\n            sizeHat = wmul(sizeHat, SIZE_BLEND_DECAY) + wmul(tradeRatio, WAD - SIZE_BLEND_DECAY);\n            if (sizeHat > WAD) sizeHat = WAD;\n        }\n\n        uint256 tox = pHat > 0 ? wdiv(absDiff(spot, pHat), pHat) : 0;\n        if (tox > TOX_CAP) tox = TOX_CAP;\n        toxEma = wmul(toxEma, TOX_BLEND_DECAY) + wmul(tox, WAD - TOX_BLEND_DECAY);\n        uint256 toxSignal = toxEma;\n\n        stepTradeCount = stepTradeCount + 1;\n        if (stepTradeCount > STEP_COUNT_CAP) stepTradeCount = STEP_COUNT_CAP;\n\n        uint256 flowSize = wmul(lambdaHat, sizeHat);\n        uint256 fBase = BASE_FEE + wmul(SIGMA_COEF, sigmaHat) + wmul(LAMBDA_COEF, lambdaHat) + wmul(FLOW_SIZE_COEF, flowSize);\n        uint256 fMid = fBase + wmul(TOX_COEF, toxSignal) + wmul(TOX_QUAD_COEF, wmul(toxSignal, toxSignal)) + wmul(ACT_COEF, actEma);\n        fMid = fMid + wmul(SIGMA_TOX_COEF, wmul(sigmaHat, toxSignal));\n\n        uint256 dirDev; bool sellPressure;\n        if (dirState >= WAD) { dirDev = dirState - WAD; sellPressure = true; }\n        else { dirDev = WAD - dirState; sellPressure = false; }\n\n        uint256 skew = wmul(DIR_COEF, dirDev) + wmul(DIR_TOX_COEF, wmul(dirDev, toxSignal));\n        uint256 bidFee; uint256 askFee;\n        if (sellPressure) {\n            bidFee = fMid + skew;\n            askFee = fMid > skew ? fMid - skew : 0;\n        } else {\n            askFee = fMid + skew;\n            bidFee = fMid > skew ? fMid - skew : 0;\n        }\n\n        {\n            uint256 staleShift = wmul(STALE_DIR_COEF, toxSignal);\n            uint256 attractShift = wmul(staleShift, STALE_ATTRACT_FRAC);\n            if (spot >= pHat) {\n                bidFee = bidFee + staleShift;\n                askFee = askFee > attractShift ? askFee - attractShift : 0;\n            } else {\n                askFee = askFee + staleShift;\n                bidFee = bidFee > attractShift ? bidFee - attractShift : 0;\n            }\n        }\n\n        {\n            bool tradeAligned = (trade.isBuy && spot >= pHat) || (!trade.isBuy && spot < pHat);\n            if (tradeAligned) {\n                uint256 tradeBoost = wmul(TRADE_TOX_BOOST, tradeRatio);\n                if (trade.isBuy) { bidFee = bidFee + tradeBoost; }\n                else { askFee = askFee + tradeBoost; }\n            }\n        }\n\n        if (sellPressure) {\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_PROTECT));\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_ATTRACT));\n        } else {\n            askFee = clampFee(_compressTailWithSlope(askFee, TAIL_SLOPE_PROTECT));\n            bidFee = clampFee(_compressTailWithSlope(bidFee, TAIL_SLOPE_ATTRACT));\n        }\n\n        slots[0] = bidFee; slots[1] = askFee; slots[2] = trade.timestamp;\n        slots[3] = dirState; slots[4] = actEma; slots[5] = pHat;\n        slots[6] = sigmaHat; slots[7] = lambdaHat; slots[8] = sizeHat;\n        slots[9] = toxEma; slots[10] = stepTradeCount;\n\n        return (bidFee, askFee);\n    }\n\n    function _compressTailWithSlope(uint256 fee, uint256 slope) internal pure returns (uint256) {\n        if (fee <= TAIL_KNEE) return fee;\n        return TAIL_KNEE + wmul(fee - TAIL_KNEE, slope);\n    }\n\n    function _powWad(uint256 factor, uint256 exp) internal pure returns (uint256 result) {\n        result = WAD;\n        while (exp > 0) {\n            if (exp & 1 == 1) result = wmul(result, factor);\n            factor = wmul(factor, factor);\n            exp >>= 1;\n        }\n    }\n\n    function _decayCentered(uint256 centered, uint256 decayFactor, uint256 elapsed) internal pure returns (uint256) {\n        uint256 mul = _powWad(decayFactor, elapsed);\n        if (centered >= WAD) { return WAD + wmul(centered - WAD, mul); }\n        uint256 below = wmul(WAD - centered, mul);\n        return below < WAD ? WAD - below : 0;\n    }\n\n    function getName() external pure override returns (string memory) { return \"no_cubic\"; }\n}\n",
  "code_sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38",
  "input_sha256": {
    "CH": "6dd68f77a70900319460215374143dbd5d924198450a46d9f5f91f6b1e3d35c3",
    "YQ": "00fae418c49cd681ad0879c6f96ebed0163fab5a660b38030f11e6947a39afd4"
  },
  "seconds_per_simulation": 0.33404326980800836,
  "runtime_note": "End-to-end wall time of measured run_batch calls plus config creation, extracting edges and releasing histories, divided by 10000 strategy simulations; excludes setup, compilation, validation, pilot and gas probes. Reused NP runs count once.",
  "validate_ok": true,
  "validation": "Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!",
  "gas": {
    "max_afterSwap_gas": 115040,
    "method": "Binary search minimum successful pyrevm message_call gas on a fresh deployment with identical pre-call storage for each probe; upper bound 250000. This is the maximum over branch probes, not a proven bound over all reachable states. Reported values are successful message_call gas-limit thresholds, rather than refund-adjusted consumption.",
    "probe_cases": 576,
    "seconds": 6.386600030120462,
    "worst": {
      "state_kind": "initial",
      "pre_slots": [
        400000000000000,
        400000000000000,
        0,
        1000000000000000000,
        0,
        100000000000000000000,
        950000000000000,
        800000000000000000,
        2000000000000000,
        0,
        0
      ],
      "trade": [
        0,
        20000000000000000000,
        2000000000000000000000,
        7,
        100000000000000000000,
        10000000000000000000000
      ],
      "min_successful_gas": 115040,
      "fails_at": 115039
    },
    "slots_used": [
      0,
      1,
      2,
      3,
      4,
      5,
      6,
      7,
      8,
      9,
      10
    ],
    "realistic_first_trade_probes": {
      "cases": 96,
      "max_min_successful_gas": 114547,
      "worst": {
        "state_kind": "constant_product_first_trade",
        "pre_slots": [
          400000000000000,
          400000000000000,
          0,
          1000000000000000000,
          0,
          100000000000000000000,
          950000000000000,
          800000000000000000,
          2000000000000000,
          0,
          0
        ],
        "trade": [
          0,
          1000000000000000000,
          101050521218588445479,
          7,
          99000000000000000000,
          10101010101010101010101
        ],
        "min_successful_gas": 114547,
        "fails_at": 114546
      },
      "method": "Initial reserves 100/10000, initial 4 bps fee. Derived post-trade reserves from fee-on-input constant-product equations. AmountX in [0.001,0.01,0.1,1,10,50], both sides, timestamps [0,1,2,3,7,8,9,100]. Each gas probe uses a fresh EVM and identical state."
    }
  },
  "blocked": null,
  "citations": [
    "https://raw.githubusercontent.com/ChengHua926/amm-challenge/d34a5199c59a4c44d5336a25f1436b4ae1f21104/contracts/src/Strategy.sol",
    "https://raw.githubusercontent.com/jiayaoqijia/amm-challenge-yq/3e9dc7d5a6192c88b562a0f8d9c172ca566ec94d/contracts/src/Strategy.sol",
    "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/match.py",
    "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/config.py",
    "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/simulation/engine.rs",
    "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/StarterStrategy.sol",
    "https://raw.githubusercontent.com/jiayaoqijia/amm-challenge-yq/3e9dc7d5a6192c88b562a0f8d9c172ca566ec94d/README.md"
  ],
  "public_writeups": [
    {
      "url": "https://raw.githubusercontent.com/jiayaoqijia/amm-challenge-yq/3e9dc7d5a6192c88b562a0f8d9c172ca566ec94d/README.md",
      "note": "YQ README describes an adaptive pHat shock gate, cubic toxicity and directional skew; its published 495-run benchmark is not treated as a paired result for this experiment."
    }
  ],
  "NP_gain": [
    {
      "over": "CH",
      "n": 2000,
      "mean_diff": 0.4617062970811892,
      "se": 0.015933384561941683
    },
    {
      "over": "YQ",
      "n": 2000,
      "mean_diff": 1.3955254601379763,
      "se": 0.025400538792670506
    },
    {
      "over": "Starter",
      "n": 2000,
      "mean_diff": 155.31564519642365,
      "se": 0.8957554477429513
    }
  ]
}
