{
  "approach": "Retune NP fair-price filter jointly: first-in-step PHAT_ALPHA, later-trade PHAT_ALPHA_RETAIL, and the conditional 30 bps normalizer-implied-price weight. All other fee and state-estimation equations retain CH/NP behavior. Three small factorial grids, then a single frozen-candidate fresh paired test.",
  "tried": [
    {
      "variant": "a200_r30_w70",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.3359630076070208,
      "se": 0.022186660269705654,
      "worst": [
        {
          "seed": 30872,
          "diff": -10.85447664640185
        },
        {
          "seed": 31872,
          "diff": -10.531159813812792
        },
        {
          "seed": 31377,
          "diff": -6.746381369439746
        },
        {
          "seed": 30053,
          "diff": -6.163469510093364
        },
        {
          "seed": 30673,
          "diff": -5.498167969510064
        }
      ],
      "sha256": "c66908d0f226205eccf0fa66bd7ada91fb875672d0e2834dca998bc936a3a32a",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 522.5448064115849,
      "tuning_rank": 14
    },
    {
      "variant": "a200_r30_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.2349740187985376,
      "se": 0.020712518214253,
      "worst": [
        {
          "seed": 31872,
          "diff": -9.925331703895722
        },
        {
          "seed": 30053,
          "diff": -5.560758254101188
        },
        {
          "seed": 30216,
          "diff": -4.542540869767379
        },
        {
          "seed": 30673,
          "diff": -4.5006903629350745
        },
        {
          "seed": 30319,
          "diff": -4.1550737858809725
        }
      ],
      "sha256": "7247256ce0f190d6c4aac2e6c3c41dc04ff3a47368f5df406b69c7976b061d2b",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 522.6457954003934,
      "tuning_rank": 13
    },
    {
      "variant": "a200_r100_w70",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.9882823365875648,
      "se": 0.021149532418424127,
      "worst": [
        {
          "seed": 30746,
          "diff": -11.963473275946285
        },
        {
          "seed": 31758,
          "diff": -9.80265260251565
        },
        {
          "seed": 31377,
          "diff": -7.059200024333222
        },
        {
          "seed": 31872,
          "diff": -6.917088437140933
        },
        {
          "seed": 31176,
          "diff": -6.231038224964266
        }
      ],
      "sha256": "963b5674276e768392e5f7710a6a71425231134ea1d554e67d477824c26ee9b6",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 521.8924870826044,
      "tuning_rank": 19
    },
    {
      "variant": "a200_r100_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -2.1156500008319226,
      "se": 0.0212842415423577,
      "worst": [
        {
          "seed": 31872,
          "diff": -10.061235343044928
        },
        {
          "seed": 31758,
          "diff": -9.726194142621353
        },
        {
          "seed": 31490,
          "diff": -6.708479108461461
        },
        {
          "seed": 31176,
          "diff": -6.16172391351904
        },
        {
          "seed": 30338,
          "diff": -6.0313446113081
        }
      ],
      "sha256": "d8bca3c69a4b5031019a04e205cd75beb38a655eb7860cc9cff61f75d68f19a5",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 521.76511941836,
      "tuning_rank": 20
    },
    {
      "variant": "a350_r30_w70",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.5377429292388038,
      "se": 0.022564827376123735,
      "worst": [
        {
          "seed": 31525,
          "diff": -10.11632148658964
        },
        {
          "seed": 31672,
          "diff": -5.948559504676837
        },
        {
          "seed": 31490,
          "diff": -5.886921501761208
        },
        {
          "seed": 30242,
          "diff": -5.782195289091419
        },
        {
          "seed": 31764,
          "diff": -5.273691381459912
        }
      ],
      "sha256": "ed19ab77dd365b1eca2d42b05c7d88b9a9dda1ff0beb4b0607b6ab0d82af915a",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 522.3430264899531,
      "tuning_rank": 16
    },
    {
      "variant": "a350_r30_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.389267977600629,
      "se": 0.020981510885277842,
      "worst": [
        {
          "seed": 31525,
          "diff": -9.834222699290763
        },
        {
          "seed": 31490,
          "diff": -6.472907664298646
        },
        {
          "seed": 31764,
          "diff": -6.427096960703011
        },
        {
          "seed": 31672,
          "diff": -6.035003452393653
        },
        {
          "seed": 31269,
          "diff": -5.11373878029076
        }
      ],
      "sha256": "fd032c39b25e0418e9841a72ece8e6eab6e3fc2135fdabffac4299eecc659c76",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 522.4915014415913,
      "tuning_rank": 15
    },
    {
      "variant": "a350_r100_w70",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.8380752446712452,
      "se": 0.0200808776650191,
      "worst": [
        {
          "seed": 31525,
          "diff": -10.83240748856474
        },
        {
          "seed": 31672,
          "diff": -6.326172208685193
        },
        {
          "seed": 31440,
          "diff": -6.110506723829985
        },
        {
          "seed": 31490,
          "diff": -5.714551468260311
        },
        {
          "seed": 31764,
          "diff": -5.50955005399328
        }
      ],
      "sha256": "3e23f8217fe5634cfdb7856c1011be26ff16a516186032f96148e7b4c341a32e",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 522.0426941745206,
      "tuning_rank": 17
    },
    {
      "variant": "a350_r100_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -1.8972147759116522,
      "se": 0.020268649556498583,
      "worst": [
        {
          "seed": 31525,
          "diff": -10.556812796676695
        },
        {
          "seed": 31764,
          "diff": -7.431347980750388
        },
        {
          "seed": 31672,
          "diff": -6.614680448424679
        },
        {
          "seed": 31440,
          "diff": -5.792736185774288
        },
        {
          "seed": 31490,
          "diff": -5.496282018860029
        }
      ],
      "sha256": "45997d5e3907d48eb8f6f2b6aefefa6fd23e0a5bcd8e1efc0cbe43ef31e0deaf",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 521.9835546432803,
      "tuning_rank": 18
    },
    {
      "variant": "a250_r50_w85",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.07988767158889257,
      "se": 0.010794825642760996,
      "worst": [
        {
          "seed": 30216,
          "diff": -2.792695432672758
        },
        {
          "seed": 30175,
          "diff": -1.9068185509554496
        },
        {
          "seed": 30868,
          "diff": -1.90214150261761
        },
        {
          "seed": 31872,
          "diff": -1.862454984976182
        },
        {
          "seed": 31715,
          "diff": -1.8318068222855572
        }
      ],
      "sha256": "172f07015c07071c672a1ea3cfec6ec4fd79907289353d7a585fa76416feb234",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.800881747603,
      "tuning_rank": 6
    },
    {
      "variant": "a250_r50_w115",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.038811661945655315,
      "se": 0.009642733637476048,
      "worst": [
        {
          "seed": 30216,
          "diff": -2.6600324526949635
        },
        {
          "seed": 31715,
          "diff": -1.8442073850119414
        },
        {
          "seed": 31016,
          "diff": -1.818033364674534
        },
        {
          "seed": 31076,
          "diff": -1.7839098427868407
        },
        {
          "seed": 30175,
          "diff": -1.7069258739046518
        }
      ],
      "sha256": "a1d0720dbc946626ebe431df165f5feba67770c9df5da6a122ee48c17e2e9abf",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.8419577572463,
      "tuning_rank": 3
    },
    {
      "variant": "a250_r70_w85",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.16697821900603638,
      "se": 0.009236191270490296,
      "worst": [
        {
          "seed": 31872,
          "diff": -2.419783344858331
        },
        {
          "seed": 30415,
          "diff": -2.1741907822668054
        },
        {
          "seed": 30868,
          "diff": -1.8692413661594856
        },
        {
          "seed": 31072,
          "diff": -1.8255358389149592
        },
        {
          "seed": 31185,
          "diff": -1.759331303417298
        }
      ],
      "sha256": "e6dff85c5966d65f1c5921c270afb5641896e593020600bd4c2fe50188919ed5",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.7137912001858,
      "tuning_rank": 8
    },
    {
      "variant": "a250_r70_w115",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.14964046162397718,
      "se": 0.009833993002837754,
      "worst": [
        {
          "seed": 30865,
          "diff": -3.029945161741921
        },
        {
          "seed": 30731,
          "diff": -1.9345517555511833
        },
        {
          "seed": 31526,
          "diff": -1.6878984704576396
        },
        {
          "seed": 31072,
          "diff": -1.6359296622261468
        },
        {
          "seed": 31076,
          "diff": -1.6115829180084233
        }
      ],
      "sha256": "154773def5693c019bb6b85c9b64169535440139da4d5acb353dc189356e62e5",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.7311289575679,
      "tuning_rank": 7
    },
    {
      "variant": "a300_r50_w85",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.2181411710454878,
      "se": 0.012081022340615278,
      "worst": [
        {
          "seed": 31490,
          "diff": -4.013923079405231
        },
        {
          "seed": 31016,
          "diff": -2.56954918581971
        },
        {
          "seed": 30454,
          "diff": -2.5358136845985655
        },
        {
          "seed": 30216,
          "diff": -2.439131869824166
        },
        {
          "seed": 31881,
          "diff": -2.1161413711570844
        }
      ],
      "sha256": "cfd7aed5eefb24e4cec1add05b90b58bd0bb396ab24dc3fba020b184917bc28f",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.6626282481465,
      "tuning_rank": 10
    },
    {
      "variant": "a300_r50_w115",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.16812669415734924,
      "se": 0.01154571787057502,
      "worst": [
        {
          "seed": 31490,
          "diff": -4.022121323812939
        },
        {
          "seed": 30216,
          "diff": -2.6385396769256317
        },
        {
          "seed": 31667,
          "diff": -2.0382870853090935
        },
        {
          "seed": 30925,
          "diff": -1.9285788900888292
        },
        {
          "seed": 31693,
          "diff": -1.8402563319868932
        }
      ],
      "sha256": "2f0efd408992feda11915e1de0f1b260fee99d55f949c52d566ecb97a092f9c8",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.7126427250346,
      "tuning_rank": 9
    },
    {
      "variant": "a300_r70_w85",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.27636507664100407,
      "se": 0.011383111258289846,
      "worst": [
        {
          "seed": 31490,
          "diff": -4.269619216019805
        },
        {
          "seed": 31440,
          "diff": -3.3013229923038807
        },
        {
          "seed": 31764,
          "diff": -3.1750238564625306
        },
        {
          "seed": 30837,
          "diff": -2.182471463797242
        },
        {
          "seed": 30175,
          "diff": -2.040966498396301
        }
      ],
      "sha256": "876c2decf09761d85f11518f44f9083e67b1fff19d5b6ffc55c7a76fccdb3913",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.6044043425509,
      "tuning_rank": 12
    },
    {
      "variant": "a300_r70_w115",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.2499340193546178,
      "se": 0.011498986315329907,
      "worst": [
        {
          "seed": 31764,
          "diff": -5.298326954877325
        },
        {
          "seed": 31440,
          "diff": -3.0220817708699315
        },
        {
          "seed": 31129,
          "diff": -2.520492626508485
        },
        {
          "seed": 30865,
          "diff": -2.239937309356719
        },
        {
          "seed": 31159,
          "diff": -2.073843234241963
        }
      ],
      "sha256": "c29c341cae0c2125a9454815c7d70e37eeb3e3425e8eefa1d4f69e658533f327",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.6308353998372,
      "tuning_rank": 11
    },
    {
      "variant": "a260_r55_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": 0.012412686031698456,
      "se": 0.008290983693351938,
      "worst": [
        {
          "seed": 30865,
          "diff": -2.4734948959165877
        },
        {
          "seed": 30175,
          "diff": -1.6703202214997646
        },
        {
          "seed": 31277,
          "diff": -1.4720049883983393
        },
        {
          "seed": 31076,
          "diff": -1.449467865160159
        },
        {
          "seed": 31871,
          "diff": -1.4321432860997447
        }
      ],
      "sha256": "0dae5bb9096c647983a4200dc879407042f5e889ee70033f4d479136904d2205",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.8931821052236,
      "tuning_rank": 1
    },
    {
      "variant": "a260_r65_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.04682877841904093,
      "se": 0.008757663857724802,
      "worst": [
        {
          "seed": 30865,
          "diff": -2.5904137924502493
        },
        {
          "seed": 31396,
          "diff": -2.10481842156571
        },
        {
          "seed": 30175,
          "diff": -1.7738730327433814
        },
        {
          "seed": 31280,
          "diff": -1.6501365707553077
        },
        {
          "seed": 31185,
          "diff": -1.477747383975725
        }
      ],
      "sha256": "6f57e6e4a36ee5277e71b79c69763631bd6c2923534305bb1feb19a2547544ed",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.8339406407729,
      "tuning_rank": 5
    },
    {
      "variant": "a280_r55_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": 0.0068817948887485445,
      "se": 0.00792336509711462,
      "worst": [
        {
          "seed": 30865,
          "diff": -2.432559855424529
        },
        {
          "seed": 30216,
          "diff": -2.3688842681399933
        },
        {
          "seed": 31028,
          "diff": -1.746620708534806
        },
        {
          "seed": 31715,
          "diff": -1.6465482321150375
        },
        {
          "seed": 31966,
          "diff": -1.3588316254853794
        }
      ],
      "sha256": "cbd2ee446f406184165a6c9d205b9243e105012657f814a825fbcc0979da0654",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.8876512140806,
      "tuning_rank": 2
    },
    {
      "variant": "a280_r65_w130",
      "seeds": [
        30000,
        31999
      ],
      "n": 2000,
      "mean_diff": -0.04542152439028962,
      "se": 0.00855140578842152,
      "worst": [
        {
          "seed": 31017,
          "diff": -2.3236916886967265
        },
        {
          "seed": 30865,
          "diff": -2.30127944500839
        },
        {
          "seed": 31725,
          "diff": -1.7845768609613515
        },
        {
          "seed": 31715,
          "diff": -1.6102018713290818
        },
        {
          "seed": 31028,
          "diff": -1.4911051370734185
        }
      ],
      "sha256": "cac4969489d192dd108712b4d4934f1a9ecaaa9d2caa2e5025cb44d53f17e628",
      "reference": "NP",
      "seed_start": 30000,
      "seed_end": 31999,
      "mean_edge": 523.8353478948017,
      "tuning_rank": 4
    }
  ],
  "next": "Do not promote this candidate. Retain NP. The frozen candidate did not establish a fresh gain above two standard errors; a future experiment could probe smaller changes around the best tuning cell on unused tuning seeds, with a new holdout.",
  "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 = 260000000000000000;\n    uint256 constant PHAT_ALPHA_RETAIL = 55000000000000000;\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,870000000000000000)+wmul(nS,130000000000000000);}\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        if (exp & 1 == 1) result = wmul(result, factor);\n        factor = wmul(factor, factor);\n        if (exp & 2 == 2) result = wmul(result, factor);\n        factor = wmul(factor, factor);\n        if (exp & 4 == 4) result = wmul(result, factor);\n        factor = wmul(factor, factor);\n        if (exp & 8 == 8) result = wmul(result, factor);\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": "0dae5bb9096c647983a4200dc879407042f5e889ee70033f4d479136904d2205",
  "delta": {
    "reference": "NP",
    "reference_sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38",
    "PHAT_ALPHA": {
      "before": "0.27",
      "after": "0.26"
    },
    "PHAT_ALPHA_RETAIL": {
      "before": "0.06",
      "after": "0.055"
    },
    "normalizer_weight": {
      "before": "0.10",
      "after": "0.13"
    },
    "structural": "Unroll _powWad into four binary exponent tests. All call sites use elapsed <= 8; this preserves WAD truncation and removes the inherited loop. No new slots or fee mechanisms."
  },
  "score": {
    "seed_start": 0,
    "n": 1000,
    "mean_edge": 526.0096790592407,
    "se": 2.7911923417947935
  },
  "paired": {
    "n": 2000,
    "mean_diff": -0.012058842207524123,
    "se": 0.007788621128756689,
    "worst": [
      {
        "seed": 801130,
        "diff": -2.962100069567441
      },
      {
        "seed": 800111,
        "diff": -1.9347142770884602
      },
      {
        "seed": 800840,
        "diff": -1.7131245546487435
      },
      {
        "seed": 801528,
        "diff": -1.458747047745078
      },
      {
        "seed": 801014,
        "diff": -1.3827213283504989
      }
    ],
    "reference": "NP",
    "seed_start": 800000,
    "n_covered": 2000,
    "reference_sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38",
    "chunks": [
      {
        "seed_start": 800000,
        "n": 500
      },
      {
        "seed_start": 800500,
        "n": 500
      },
      {
        "seed_start": 801000,
        "n": 500
      },
      {
        "seed_start": 801500,
        "n": 500
      }
    ],
    "candidate_sha256": "0dae5bb9096c647983a4200dc879407042f5e889ee70033f4d479136904d2205"
  },
  "seconds_per_simulation": 0.11459878683206626,
  "validate_ok": true,
  "blocked": null,
  "promotion": {
    "accepted": false,
    "criterion": "Fresh paired mean_diff > 2 * standard error",
    "threshold": 0.015577242257513379,
    "recommended_best_sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38"
  },
  "promotions": [],
  "scoreboard": {
    "incumbent": {
      "name": "NP",
      "sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38",
      "seed_start": 0,
      "n": 1000,
      "mean_edge": 526.0337302497852,
      "se": 2.7912248204542776
    },
    "calibration_reference": {
      "name": "CH",
      "sha256": "6dd68f77a70900319460215374143dbd5d924198450a46d9f5f91f6b1e3d35c3",
      "seed_start": 0,
      "n": 1000,
      "mean_edge": 525.5258821780834,
      "se": 2.7894264590251843
    },
    "ranked_tuning": [
      {
        "rank": 1,
        "variant": "a260_r55_w130",
        "code_sha256": "0dae5bb9096c647983a4200dc879407042f5e889ee70033f4d479136904d2205",
        "n": 2000,
        "mean_edge": 523.8931821052236,
        "mean_diff": 0.012412686031698456,
        "se": 0.008290983693351938
      },
      {
        "rank": 2,
        "variant": "a280_r55_w130",
        "code_sha256": "cbd2ee446f406184165a6c9d205b9243e105012657f814a825fbcc0979da0654",
        "n": 2000,
        "mean_edge": 523.8876512140806,
        "mean_diff": 0.0068817948887485445,
        "se": 0.00792336509711462
      },
      {
        "rank": 3,
        "variant": "a250_r50_w115",
        "code_sha256": "a1d0720dbc946626ebe431df165f5feba67770c9df5da6a122ee48c17e2e9abf",
        "n": 2000,
        "mean_edge": 523.8419577572463,
        "mean_diff": -0.038811661945655315,
        "se": 0.009642733637476048
      },
      {
        "rank": 4,
        "variant": "a280_r65_w130",
        "code_sha256": "cac4969489d192dd108712b4d4934f1a9ecaaa9d2caa2e5025cb44d53f17e628",
        "n": 2000,
        "mean_edge": 523.8353478948017,
        "mean_diff": -0.04542152439028962,
        "se": 0.00855140578842152
      },
      {
        "rank": 5,
        "variant": "a260_r65_w130",
        "code_sha256": "6f57e6e4a36ee5277e71b79c69763631bd6c2923534305bb1feb19a2547544ed",
        "n": 2000,
        "mean_edge": 523.8339406407729,
        "mean_diff": -0.04682877841904093,
        "se": 0.008757663857724802
      },
      {
        "rank": 6,
        "variant": "a250_r50_w85",
        "code_sha256": "172f07015c07071c672a1ea3cfec6ec4fd79907289353d7a585fa76416feb234",
        "n": 2000,
        "mean_edge": 523.800881747603,
        "mean_diff": -0.07988767158889257,
        "se": 0.010794825642760996
      },
      {
        "rank": 7,
        "variant": "a250_r70_w115",
        "code_sha256": "154773def5693c019bb6b85c9b64169535440139da4d5acb353dc189356e62e5",
        "n": 2000,
        "mean_edge": 523.7311289575679,
        "mean_diff": -0.14964046162397718,
        "se": 0.009833993002837754
      },
      {
        "rank": 8,
        "variant": "a250_r70_w85",
        "code_sha256": "e6dff85c5966d65f1c5921c270afb5641896e593020600bd4c2fe50188919ed5",
        "n": 2000,
        "mean_edge": 523.7137912001858,
        "mean_diff": -0.16697821900603638,
        "se": 0.009236191270490296
      },
      {
        "rank": 9,
        "variant": "a300_r50_w115",
        "code_sha256": "2f0efd408992feda11915e1de0f1b260fee99d55f949c52d566ecb97a092f9c8",
        "n": 2000,
        "mean_edge": 523.7126427250346,
        "mean_diff": -0.16812669415734924,
        "se": 0.01154571787057502
      },
      {
        "rank": 10,
        "variant": "a300_r50_w85",
        "code_sha256": "cfd7aed5eefb24e4cec1add05b90b58bd0bb396ab24dc3fba020b184917bc28f",
        "n": 2000,
        "mean_edge": 523.6626282481465,
        "mean_diff": -0.2181411710454878,
        "se": 0.012081022340615278
      },
      {
        "rank": 11,
        "variant": "a300_r70_w115",
        "code_sha256": "c29c341cae0c2125a9454815c7d70e37eeb3e3425e8eefa1d4f69e658533f327",
        "n": 2000,
        "mean_edge": 523.6308353998372,
        "mean_diff": -0.2499340193546178,
        "se": 0.011498986315329907
      },
      {
        "rank": 12,
        "variant": "a300_r70_w85",
        "code_sha256": "876c2decf09761d85f11518f44f9083e67b1fff19d5b6ffc55c7a76fccdb3913",
        "n": 2000,
        "mean_edge": 523.6044043425509,
        "mean_diff": -0.27636507664100407,
        "se": 0.011383111258289846
      },
      {
        "rank": 13,
        "variant": "a200_r30_w130",
        "code_sha256": "7247256ce0f190d6c4aac2e6c3c41dc04ff3a47368f5df406b69c7976b061d2b",
        "n": 2000,
        "mean_edge": 522.6457954003934,
        "mean_diff": -1.2349740187985376,
        "se": 0.020712518214253
      },
      {
        "rank": 14,
        "variant": "a200_r30_w70",
        "code_sha256": "c66908d0f226205eccf0fa66bd7ada91fb875672d0e2834dca998bc936a3a32a",
        "n": 2000,
        "mean_edge": 522.5448064115849,
        "mean_diff": -1.3359630076070208,
        "se": 0.022186660269705654
      },
      {
        "rank": 15,
        "variant": "a350_r30_w130",
        "code_sha256": "fd032c39b25e0418e9841a72ece8e6eab6e3fc2135fdabffac4299eecc659c76",
        "n": 2000,
        "mean_edge": 522.4915014415913,
        "mean_diff": -1.389267977600629,
        "se": 0.020981510885277842
      },
      {
        "rank": 16,
        "variant": "a350_r30_w70",
        "code_sha256": "ed19ab77dd365b1eca2d42b05c7d88b9a9dda1ff0beb4b0607b6ab0d82af915a",
        "n": 2000,
        "mean_edge": 522.3430264899531,
        "mean_diff": -1.5377429292388038,
        "se": 0.022564827376123735
      },
      {
        "rank": 17,
        "variant": "a350_r100_w70",
        "code_sha256": "3e23f8217fe5634cfdb7856c1011be26ff16a516186032f96148e7b4c341a32e",
        "n": 2000,
        "mean_edge": 522.0426941745206,
        "mean_diff": -1.8380752446712452,
        "se": 0.0200808776650191
      },
      {
        "rank": 18,
        "variant": "a350_r100_w130",
        "code_sha256": "45997d5e3907d48eb8f6f2b6aefefa6fd23e0a5bcd8e1efc0cbe43ef31e0deaf",
        "n": 2000,
        "mean_edge": 521.9835546432803,
        "mean_diff": -1.8972147759116522,
        "se": 0.020268649556498583
      },
      {
        "rank": 19,
        "variant": "a200_r100_w70",
        "code_sha256": "963b5674276e768392e5f7710a6a71425231134ea1d554e67d477824c26ee9b6",
        "n": 2000,
        "mean_edge": 521.8924870826044,
        "mean_diff": -1.9882823365875648,
        "se": 0.021149532418424127
      },
      {
        "rank": 20,
        "variant": "a200_r100_w130",
        "code_sha256": "d8bca3c69a4b5031019a04e205cd75beb38a655eb7860cc9cff61f75d68f19a5",
        "n": 2000,
        "mean_edge": 521.76511941836,
        "mean_diff": -2.1156500008319226,
        "se": 0.0212842415423577
      }
    ]
  },
  "reproduction": {
    "results": [
      {
        "name": "CH",
        "sha256": "6dd68f77a70900319460215374143dbd5d924198450a46d9f5f91f6b1e3d35c3",
        "seed_start": 0,
        "n": 1000,
        "mean_edge": 525.5258821780834,
        "se": 2.7894264590251843
      },
      {
        "name": "NP",
        "sha256": "95d21646a5b6d293c86c36a184769477be7b1ff39ab2adde7668ed79fb22dd38",
        "seed_start": 0,
        "n": 1000,
        "mean_edge": 526.0337302497852,
        "se": 2.7912248204542776
      }
    ],
    "np_minus_ch": {
      "n": 1000,
      "mean_diff": 0.5078480717017371,
      "se": 0.02478168812598005
    },
    "interpretation": "Calibration only: these supplied reproduction seeds are not independent promotion evidence. No fresh StarterStrategy comparison was requested for this item or performed."
  },
  "methodology": {
    "engine_commit": "6b6921f8d463314aa7c96234e1be25a25245f704",
    "normalizer": "Each candidate and NP is simulated separately against the same fixed 30 bps VanillaStrategy. Paired diff is candidate submission edge minus NP submission edge for the same seed; it is not a candidate-versus-NP liquidity-pool matchup.",
    "parameter_draws": "numpy.random.default_rng(seed): uniform(19,21) size, uniform(0.6,1.0) arrival rate, uniform(0.000882,0.001008) sigma, in that order. 10000 steps; initial price 100; reserves 100 X, 10000 Y; zero drift; dt 1; retail size sigma 1.2; buy probability 0.5. Price seed=seed; retail seed=seed+1.",
    "se": "Sample standard deviation (ddof=1) of paired seed differences divided by sqrt(n). Score SE uses raw submission edges.",
    "tuning": "Initial 2x2x2 endpoint grid: alpha {0.20,0.35}, retail {0.03,0.10}, weight {0.07,0.13}. Following early endpoint losses, fixed a second 2x2x2 grid: alpha {0.25,0.30}, retail {0.05,0.07}, weight {0.085,0.115}. Final 2x2 grid: alpha {0.26,0.28}, retail {0.055,0.065}, weight fixed at 0.13. Every cell uses 30000..31999 only, n=2000. Select highest tuning mean difference across all 20 cells. No holdout data used for selection.",
    "frozen_variant": "a260_r55_w130",
    "tuning_seeds_covered": [
      30000,
      31999
    ],
    "holdout_seeds_covered": [
      800000,
      801999
    ],
    "holdout_evaluations_per_strategy": 1,
    "excluded_seed_block": "900000..909999 was never simulated.",
    "runtime": "Wall-clock seconds per simulation for the frozen candidate fresh run, excluding compilation, with eight Rust workers. Includes config generation and result extraction. This is batch wall time / n, not CPU time.",
    "limits": "Only slots 0..10 referenced; two allowed imports; no loops in candidate. Rust EVM callback limits are 250000 gas. CLI validation passed for StarterStrategy, NP, and frozen candidate."
  },
  "checks": {
    "setup": "Supplied scratch/setup.sh run once from pinned checkout root; exit 0; starter validation passed.",
    "candidate_validation": "Validating strategy...\nCompiling strategy...\nStrategy 'no_cubic' validated successfully!",
    "arithmetic": "Original and unrolled exponentiation compared for every exponent 0..8 over 106 factors, including the strategy decay factors; all 954 comparisons matched.",
    "completed_tuning_cells": 20,
    "tuning_simulations": 40000,
    "reference_tuning_simulations": 2000,
    "fresh_candidate_simulations": 2000,
    "fresh_reference_simulations": 2000,
    "calibration_simulations": 3000
  },
  "citations": [
    {
      "url": "https://raw.githubusercontent.com/ChengHua926/amm-challenge/d34a5199c59a4c44d5336a25f1436b4ae1f21104/contracts/src/Strategy.sol",
      "usage": "Pinned CH source and its two initial smoothing constants. NP insertion is supplied by the task, not claimed as content of this URL."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/match.py",
      "usage": "Canonical seed-indexed parameter draws and run_batch invocation."
    },
    {
      "url": "https://raw.githubusercontent.com/jiayaoqijia/amm-challenge-yq/main/README.md",
      "usage": "Public background: adaptive shock-gated fair-price tracking and first-trade alpha. This write-up did not supply measured results here."
    },
    {
      "url": "https://raw.githubusercontent.com/dipankar/amm-challenge/main/ANALYSIS.md",
      "usage": "Public background: state estimation and implied-price reconstruction. Its reported scores were not treated as our measurements."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/config.py",
      "usage": "Canonical randomized simulation parameter ranges."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/evm/strategy.rs",
      "usage": "250000-gas initialization and trade callback limits."
    }
  ]
}
