{"item":"c","batch":"e05-rs-search","blocked":null,"title":"Retail-state search on V10 (RS1 structure 2, separate rate/size mix, activity weight, searchable cap), copy c","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 PHAT_ALPHA_SAME = 120000000000000000;\n    uint256 constant REVERT_U = 0;\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[3] = WAD; \n        slots[5] = initialX > 0 ? wdiv(initialY, initialX) : 100 * WAD;\n        slots[6] = 950000000000000; slots[7] = 800000000000000000; slots[8] = 2000000000000000;\n        slots[15] = 400000000000000000 | (uint256(2000000000000000) << 160); slots[13] = 902500000000; slots[14] = slots[5]; \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 = uint64(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        uint256 sigmaForFast = sigmaHat;\n        uint256 fastHat = slots[14];\n        uint256 uncertainty = slots[13];\n        uint256 silent = trade.timestamp > lastTs ? trade.timestamp - lastTs : 0;\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            // Process variance is propagated inside the censored update.\n            if (uncertainty > 100000000000000) uncertainty = 100000000000000;\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        // S: infer a no-trade interval center from the last post-trade spot.\n        uint256 silenceScale = WAD;\n        if (firstInStep && silent > 1) {\n            uint256 g = silent - 1;\n            if (g > 1) g = 1;\n            uint256 w = WAD - _powWad(800000000000000000, g);\n            uint256 s = slots[2] >> 64;\n            if (s == 0) s = pHat;\n            uint256 c = (wmul(s, WAD - prevBidFee) + wdiv(s, WAD - prevAskFee)) / 2;\n            if (c >= pHat) pHat += wmul(w, c - pHat);\n            else pHat -= wmul(w, pHat - c);\n            silenceScale = WAD - wmul(300000000000000000, w);\n        }\n\n        {\n            uint256 ret = pHat > 0 ? wdiv(absDiff(pImplied, pHat), pHat) : 0;\n            uint256 alpha = firstInStep ? PHAT_ALPHA : PHAT_ALPHA_RETAIL;\n            uint256 prePhat = pHat;\n            bool secondPrint = !firstInStep && stepTradeCount == 1;\n            bool sameDir = false; bool oppDir = false;\n            if (secondPrint) {\n                bool up2 = pImplied >= pHat;\n                uint256 d1 = slots[12];\n                if (d1 != 0) { sameDir = (d1 == 1) == up2; oppDir = !sameDir; }\n                if (sameDir) alpha = PHAT_ALPHA_SAME;\n            }\n            if (firstInStep) { slots[12] = pImplied >= pHat ? 1 : 2; }\n            uint256 adaptiveGate = wmul(sigmaHat, GATE_SIGMA_MULT);\n            if (adaptiveGate < MIN_GATE) adaptiveGate = MIN_GATE;\n            alpha = wmul(alpha, silenceScale);\n            adaptiveGate = wmul(adaptiveGate, silenceScale);\n            if (ret <= adaptiveGate) { pHat = wmul(pHat, WAD - alpha) + wmul(pImplied, alpha); }\n            if (oppDir && REVERT_U > 0) {\n                uint256 pre = slots[11];\n                if (pre > pHat) pHat = pHat + wmul(pre - pHat, REVERT_U);\n                else pHat = pHat - wmul(pHat - pre, REVERT_U);\n            }\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        // Interior retail routing equalizes fee-adjusted marginal prices.\n        // Subsequent trades in a step cannot be the initial arbitrage trade.\n        if (!firstInStep && feeUsed > 30 * BPS && gamma > 0) {\n            uint256 normalSpot = trade.isBuy\n                ? wdiv(wmul(spot, gamma), WAD - 30 * BPS)\n                : wdiv(wmul(spot, WAD - 30 * BPS), gamma);\n            pHat = wmul(pHat, 90 * WAD / 100) + wmul(normalSpot, 10 * WAD / 100);\n        }\n\n        // Censored assumed-density posterior. No external or future inputs.\n        uint256 arbProbability;\n        (fastHat, uncertainty, arbProbability) = _posterior(PosteriorInput(\n            fastHat, uncertainty, pImplied, spot, slots[2] >> 64,\n            prevBidFee, prevAskFee, firstInStep, silent, trade.isBuy,\n            trade.reserveY > 0 ? wdiv(trade.amountY, trade.reserveY) : 0\n        ));\n        slots[13] = uncertainty;\n        slots[14] = fastHat;\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 originalLambda = lambdaHat; uint256 originalSize = sizeHat;\n\n        uint256 actUsed = actEma;\n        if (319793205933092864 > 0) {\n            uint256 packedFlow = slots[15];\n            uint256 rate = uint80(packedFlow);\n            uint256 count = uint80(packedFlow >> 80);\n            uint256 meanSize = uint80(packedFlow >> 160);\n            if (rate == 0) rate = 400000000000000000;\n            if (meanSize == 0) meanSize = 2000000000000000;\n            if (isNewStep) {\n                uint256 inst = count / silent;\n                if (inst > 3 * WAD) inst = 3 * WAD;\n                uint256 retention = _powWad(947601265794290176, silent > 64 ? 64 : silent);\n                rate = wmul(rate, retention) + wmul(inst, WAD-retention);\n                count = 0;\n            }\n            uint256 weight = firstInStep ? WAD-arbProbability : WAD;\n            uint256 missing = wmul(feeUsed, 60203054493683662848);\n            if (missing > 333333333333333376) missing = 333333333333333376;\n            uint256 correctedWeight = wdiv(weight, WAD-missing);\n            count += correctedWeight;\n            uint256 learning = wmul(WAD-947601265794290176, weight);\n            meanSize = _blend(meanSize, tradeRatio, learning);\n            slots[15]=rate | (count << 80) | (meanSize << 160);\n            uint256 retailRate = wmul(rate, 437386730820047488);\n            uint256 retailSize = wmul(meanSize,561625413891079424);\n            lambdaHat = _blend(lambdaHat,retailRate,6133151069842691);\n            sizeHat = _blend(sizeHat,retailSize,74476512649724240);\n            actUsed = _blend(actEma, wmul(wmul(retailRate, retailSize), 31914893617021276), 319793205933092864);\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, actUsed);\n        fMid = fMid + wmul(SIGMA_TOX_COEF, wmul(sigmaHat, toxSignal));\n\n        lambdaHat = originalLambda; sizeHat = originalSize;\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 staleHat = wmul(pHat, 700000000000000000) + wmul(fastHat, 300000000000000000);\n            uint256 staleTox = wdiv(absDiff(spot, staleHat), staleHat);\n            if (staleTox > TOX_CAP) staleTox = TOX_CAP;\n            uint256 staleShift = wmul(STALE_DIR_COEF, staleTox);\n            uint256 attractShift = wmul(staleShift, STALE_ATTRACT_FRAC);\n            if (spot >= staleHat) {\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 (!firstInStep && tradeBoost > 16 * BPS) tradeBoost = 16 * BPS;\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        if (firstInStep) {\n            if (askFee > bidFee && bidFee > 30 * BPS) bidFee = 30 * BPS;\n            else if (bidFee > askFee && askFee > 30 * BPS) askFee = 30 * BPS;\n        }\n\n        if (bidFee > askFee && askFee > 36 * BPS) askFee = 36 * BPS;\n        else if (askFee > bidFee && bidFee > 36 * BPS) bidFee = 36 * BPS;\n\n        slots[0] = bidFee; slots[1] = askFee; slots[2] = (spot << 64) | 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\n    struct PosteriorInput {\n        uint256 mu; uint256 v; uint256 obs; uint256 spot; uint256 preSpot;\n        uint256 bid; uint256 ask; bool first; uint256 silent; bool buy; uint256 size;\n    }\n    function _posterior(PosteriorInput memory x) internal pure returns (uint256, uint256, uint256) {\n        if (x.mu == 0) x.mu = x.spot;\n        if (x.v < 10000000000) x.v = 10000000000;\n        uint256 lo = wmul(x.preSpot, WAD-x.bid);\n        uint256 hi = wdiv(x.preSpot, WAD-x.ask);\n        if (x.first) {\n            if (x.silent>1 && x.preSpot>0) {\n                uint256 elapsed=x.silent>8?8:x.silent;\n                x.v += 902500000000*(elapsed-1);\n                (x.mu,x.v)=_band(x.mu,x.v,lo,hi);\n            }\n            x.v+=902500000000;\n        }\n        uint256 mRetail = x.mu;\n        uint256 vRetail = x.v;\n        // A missing own-pool trade is a censored price observation.\n        if (x.first && x.preSpot > 0) {\n            (mRetail, vRetail) = _band(x.mu, x.v, lo, hi);\n        }\n        if (!x.first) {\n            // A later print is retail. Only an interior route is an observation\n            // of the other pool, with explicit observation uncertainty.\n            uint256 fee = x.buy ? x.bid : x.ask;\n            if (fee > 30 * BPS) {\n                uint256 normal = x.buy ? wdiv(wmul(x.spot, WAD-fee), WAD-30*BPS)\n                    : wdiv(wmul(x.spot, WAD-30*BPS), WAD-fee);\n                uint256 residual = wdiv(absDiff(normal, x.mu),x.mu);\n                uint256 noise = 9000000000000 + wmul(residual,residual);\n                uint256 k = wdiv(x.v,x.v+noise);\n                return (_blend(x.mu,normal,k),wmul(x.v,WAD-k),0);\n            }\n            return (x.mu,x.v,0);\n        }\n        uint256 e = wdiv(absDiff(x.obs,x.mu),x.mu);\n        uint256 totalV = x.v + 22500000000;\n        uint256 z = wdiv(wmul(e,e),totalV);\n        uint256 density = _powWad(wdiv(WAD,WAD+z/8),4);\n        uint256 odds = wmul(density,wdiv(4000000000000000,_isqrt(totalV*WAD)));\n        if (x.size > 3000000000000000) odds = wmul(odds,4*WAD/10);\n        if (x.silent > 1) odds = wmul(odds,8*WAD/10);\n        uint256 sd = _isqrt(x.v*WAD);\n        uint256 width = wdiv(hi-lo,x.mu);\n        uint256 distance = x.mu<lo?lo-x.mu:(x.mu>hi?x.mu-hi:0);\n        uint256 zBand = wdiv(wdiv(distance,x.mu),sd);\n        uint256 mass = wmul(wdiv(width,width+2*sd),wdiv(WAD,WAD+wmul(zBand,zBand)));\n        if (mass < WAD/100) mass = WAD/100;\n        odds = wdiv(odds,mass);\n        uint256 prob = wdiv(odds,WAD+odds);\n        uint256 kArb = wdiv(x.v,totalV);\n        uint256 mArb = _blend(x.mu,x.obs,kArb);\n        uint256 mean = _blend(mRetail,mArb,prob);\n        uint256 between = wdiv(absDiff(mArb,mRetail),x.mu);\n        uint256 variance = wmul(prob,wmul(x.v,WAD-kArb)) + wmul(WAD-prob,vRetail)\n            + wmul(wmul(prob,WAD-prob),wmul(between,between));\n        if (variance > 100000000000000) variance = 100000000000000;\n        return (mean,variance,prob);\n    }\n    function _blend(uint256 a,uint256 b,uint256 w) internal pure returns(uint256) {\n        return b>=a ? a+wmul(b-a,w) : a-wmul(a-b,w);\n    }\n    function _band(uint256 mu,uint256 v,uint256 lo,uint256 hi) internal pure returns(uint256,uint256) {\n        // Soft interval likelihood avoids discontinuities at quadrature nodes.\n        uint256 sd=wmul(mu,_isqrt(v*WAD));\n        uint256[3] memory acc;\n        for(uint256 j=0;j<7;j++) {\n            uint256 p=j<3 ? (mu>(3-j)*sd?mu-(3-j)*sd:1) : mu+(j-3)*sd;\n            uint256 w=j==3?72:(j==2||j==4?45:(j==1||j==5?10:1));\n            uint256 distance=p<lo?lo-p:(p>hi?p-hi:0);\n            uint256 z=sd>0?wdiv(distance,sd):0;\n            uint256 likelihood=wdiv(WAD,WAD+4*wmul(z,z));\n            w=wmul(w*WAD,likelihood);\n            acc[0]+=w;acc[1]+=wmul(w,p);\n            uint256 d=wdiv(absDiff(p,mu),mu);\n            acc[2]+=wmul(w,wmul(d,d));\n        }\n        uint256 m=wdiv(acc[1],acc[0]);\n        uint256 d=wdiv(absDiff(m,mu),mu);\n        uint256 second=wdiv(acc[2],acc[0]);\n        return(m,second>wmul(d,d)?second-wmul(d,d):10000000000);\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    // Floor square root: bit-length seed and seven Newton steps (all uint256).\n    function _isqrt(uint256 x) internal pure returns (uint256 r) {\n        if (x == 0) return 0;\n        unchecked {\n            uint256 y = x;\n            r = 1;\n            if (y >> 128 != 0) { y >>= 128; r <<= 64; }\n            if (y >> 64 != 0) { y >>= 64; r <<= 32; }\n            if (y >> 32 != 0) { y >>= 32; r <<= 16; }\n            if (y >> 16 != 0) { y >>= 16; r <<= 8; }\n            if (y >> 8 != 0) { y >>= 8; r <<= 4; }\n            if (y >> 4 != 0) { y >>= 4; r <<= 2; }\n            if (y >> 2 != 0) { r <<= 1; }\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            r = (r + x / r) >> 1;\n            uint256 t = x / r;\n            return r < t ? r : t;\n        }\n    }\n\n    function getName() external pure override returns (string memory) { return \"censored_10\"; }\n}\n","sha256":"c25f2a922e76febb6bd73e223867c285076403285aca2ee96ae04597a67d0f44","params":[0.0061331510698426905,0.07447651264972424,0.31979320593309285,0.9476012657942902,0.4373867308200475,0.5616254138910795,60.20305449368366,1.5],"parameter_names":["rate_mix","size_mix","activity_weight (cleaned retail flow in slot-4 activity term)","retention_per_step","rate_scale","size_scale","quote_correction_slope","correction_cap_multiple"],"parameter_bounds":{"rate_mix":[0,0.8],"size_mix":[0,0.8],"activity_weight":[0,1],"retention_per_step":[0.9,0.999],"rate_scale":[0.3,3,"log"],"size_scale":[0.3,3,"log"],"quote_correction_slope":[10,400,"log"],"correction_cap_multiple":[1.5,6,"log"]},"warm_start_rs1_equivalent":[0.16509179839500446,0.16509179839500446,0.0,0.9909893448132306,0.6684959838546022,1.5946627692375024,80.0,2.0],"evaluations":70,"search":{"method":"CMA-ES (own numpy implementation of the standard Hansen update: rank-mu weights, cumulative step-size adaptation, rank-one + rank-mu covariance), numpy default_rng(13), population 10, mu 5, sigma0 0.2 in unit-cube coordinates, bounds by clipping (repaired coordinates fed back to the update), warm start at the RS1-equivalent point. One 64-seed CRN block per generation from 720000 upward; every candidate in a generation is paired against the same V10 run on that block. Fitness = paired mean edge difference vs V10; any OOG/halt or gas over the limits would score -1e9 (none occurred).","generations":7,"wall_seconds":1127.4649153490318,"wall_cap_seconds":1200,"blocks_used":[720000,720064,720128,720192,720256,720320,720384],"gen_summary":[{"gen":0,"start":720000,"best_mean_diff":-0.019736,"median_mean_diff":-0.723248,"sigma":0.171116,"seconds":180.730895},{"gen":1,"start":720064,"best_mean_diff":0.073536,"median_mean_diff":-0.078519,"sigma":0.156538,"seconds":160.577227},{"gen":2,"start":720128,"best_mean_diff":0.162516,"median_mean_diff":0.002854,"sigma":0.151881,"seconds":157.396947},{"gen":3,"start":720192,"best_mean_diff":0.127073,"median_mean_diff":0.108832,"sigma":0.148681,"seconds":157.246447},{"gen":4,"start":720256,"best_mean_diff":0.200273,"median_mean_diff":-0.004694,"sigma":0.159548,"seconds":153.792716},{"gen":5,"start":720320,"best_mean_diff":0.177815,"median_mean_diff":0.069097,"sigma":0.156817,"seconds":157.78454},{"gen":6,"start":720384,"best_mean_diff":0.322611,"median_mean_diff":0.216887,"sigma":0.159901,"seconds":159.936143}],"final_sigma":0.1599012176123268,"rs1_on_first_block_vs_v10":[{"start":720000,"n":64,"mean_diff":-0.07564321316436917,"se":0.07565350643698057,"max_ok":199107,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true}]},"log":[{"params":[0.4573728479881922,0.0,0.1916127950617694,0.9923681619209174,1.2267294947515428,1.904560201233617,308.01053791711485,2.017680167284846],"sha256":"d89664648605130120336e8aed0d437fdf133cd7c08128e2fcef78d5ddb7275e","block_start":720000,"n":64,"mean_diff":-0.7576534218872997,"se":0.12679914628819067,"max_ok":199532,"oog":0,"retail_edge_delta":-2.478842,"arb_edge_delta":1.721188},{"params":[0.08249508727620752,0.25796938580935935,0.08642137226754777,0.9839239255366443,0.5965378959533542,2.221043121581201,134.5120780268301,1.7440317540737393],"sha256":"31f74fab30358e02fb21898f2a3f5a1508355ad5bfac93e6a7a1138d4b9ac931","block_start":720000,"n":64,"mean_diff":-0.8486010040755803,"se":0.11917113031522332,"max_ok":199594,"oog":0,"retail_edge_delta":-2.930678,"arb_edge_delta":2.082077},{"params":[0.10625760255180504,0.0,0.3358414934976941,0.9865483854210517,1.2375258760433356,1.9326889943786214,335.70590785605606,3.0627847741504204],"sha256":"9ca120b09299df30ee830cd44b14f3f4f25968c1bf81be453ffbebe22810aec7","block_start":720000,"n":64,"mean_diff":-1.623465386271465,"se":0.170056823593051,"max_ok":199324,"oog":0,"retail_edge_delta":-4.340481,"arb_edge_delta":2.717016},{"params":[0.21601954869146908,0.40201394557235404,0.0,0.999,0.33807579421538064,1.8677387463422437,175.50487501119528,2.1279331913547805],"sha256":"c51308ae871b9421a15affbfe4e569390ebbdf7f3cc7648612057fb9a746712f","block_start":720000,"n":64,"mean_diff":-0.5411911792177753,"se":0.10580541789993816,"max_ok":199365,"oog":0,"retail_edge_delta":-1.528161,"arb_edge_delta":0.98697},{"params":[0.10634979883676637,0.036202191246294604,0.0,0.999,1.0075501957482529,1.4133266957079784,31.90474252914881,2.410945262550611],"sha256":"f32a367787f6b6e9fc9b6890e6801635794318f20e11f886f866c1d248a49f4a","block_start":720000,"n":64,"mean_diff":-0.019736409327079762,"se":0.06535115798966416,"max_ok":199499,"oog":0,"retail_edge_delta":0.380089,"arb_edge_delta":-0.399825},{"params":[0.0,0.08015501365554493,0.0,0.999,0.7452272908708195,1.9726035087277547,97.80763324003894,1.657292159237338],"sha256":"819f32b383ab3f5aeea1abb3e7142595d1f5b7fe34213d7aab123e8a9760efc5","block_start":720000,"n":64,"mean_diff":-0.15808335653162064,"se":0.08882921477173951,"max_ok":199311,"oog":0,"retail_edge_delta":-0.976943,"arb_edge_delta":0.81886},{"params":[0.2507679556826649,0.39108545733971484,0.0,0.999,0.6308384614789614,2.5608252320260214,130.8242846916261,2.5497004949293656],"sha256":"4f7a230e8a57b3ac8db82c63486f776a56a3c913929bb3586213301f4eb892e2","block_start":720000,"n":64,"mean_diff":-2.0359713501222343,"se":0.16663296095479485,"max_ok":199406,"oog":0,"retail_edge_delta":-5.148844,"arb_edge_delta":3.112872},{"params":[0.2208394776844539,0.42749241953272094,0.0,0.9843728564843133,0.5090105757190965,2.1128146289130796,50.5435186437386,1.6727095366193696],"sha256":"f729e38bf20cc2ffe7e9e928719383ab7d4d66688e8ddff59fa7a4aa3a4541f0","block_start":720000,"n":64,"mean_diff":-0.6888431531544228,"se":0.11556504877466903,"max_ok":199338,"oog":0,"retail_edge_delta":-2.460665,"arb_edge_delta":1.771822},{"params":[0.28148777113426054,0.35102712192311425,0.1148702977124339,0.937863894414987,0.4308958511610681,0.9726821782822319,32.82380447564776,1.7861991497915626],"sha256":"4aeb419b255affd2db56d0083149fdaf2eeed0fea11b5f89c1b95ef5be136d96","block_start":720000,"n":64,"mean_diff":-0.2083968447626825,"se":0.10839735107009345,"max_ok":199537,"oog":0,"retail_edge_delta":2.008285,"arb_edge_delta":-2.216682},{"params":[0.45589871578742536,0.11590802979245847,0.0,0.999,0.6901335623205461,1.6857962388628989,48.202699703293916,1.9991659203021444],"sha256":"9d4913f630ece5c3c7963433368fe55f7853ae90dd25c334bd627d0519eab7ba","block_start":720000,"n":64,"mean_diff":-0.8326751445367551,"se":0.1306142869875698,"max_ok":199407,"oog":0,"retail_edge_delta":2.483803,"arb_edge_delta":-3.316478},{"params":[0.3842491822563253,0.1142886257070584,0.2533119547522688,0.9955590364546186,0.8547297819100564,1.0433340174370391,27.40407061936609,1.5385673116360732],"sha256":"41fffdd38a87dd5d3d0b84bd87132684fa65c32c7b5400def1745fe6ba65e77e","block_start":720064,"n":64,"mean_diff":-0.24860817987419725,"se":0.08367763906723835,"max_ok":200658,"oog":0,"retail_edge_delta":2.647179,"arb_edge_delta":-2.895787},{"params":[0.11341765967898748,0.0,0.0,0.9952406988568268,0.9514669401954968,1.278179660766321,50.06090424140152,2.0351956786518643],"sha256":"d4ed2c74d9357d7d300d19396ed01d0a564a4ede2c5b49e81c14200140f53c54","block_start":720064,"n":64,"mean_diff":-0.007533476795234861,"se":0.03805425900580801,"max_ok":200565,"oog":0,"retail_edge_delta":0.513231,"arb_edge_delta":-0.520765},{"params":[0.23592864977484382,0.0,0.0,0.9618713593451206,0.6670484354418613,1.2751795357791615,29.463136620665427,1.618366795916729],"sha256":"3f7aa8963db36613308ba0e59e28d99b2de96d06cad0402116bf3109fe7f4a24","block_start":720064,"n":64,"mean_diff":-0.39738677630889985,"se":0.06944557721223031,"max_ok":200574,"oog":0,"retail_edge_delta":1.72779,"arb_edge_delta":-2.125177},{"params":[0.07414556412722932,0.07093889367360962,0.0,0.999,0.5738245526580548,0.9203090439276589,78.58410509787007,2.26644822545713],"sha256":"ee17bfa891d636f3175583311b158dbe04e2dee660e39da6f0489de4221fd2cd","block_start":720064,"n":64,"mean_diff":0.06332753668500857,"se":0.029777689834740266,"max_ok":200616,"oog":0,"retail_edge_delta":0.400307,"arb_edge_delta":-0.33698},{"params":[0.07623882895323146,0.23934530477331004,0.0,0.999,0.5626234313397591,1.2799416934072292,105.3322568551094,2.6255076805385995],"sha256":"6b076db2373f232bec8c7234e100bcf3ae2c7ede4f7a67b12315b3c0ea8f34f3","block_start":720064,"n":64,"mean_diff":-0.1229632154629865,"se":0.06862123100798372,"max_ok":200616,"oog":0,"retail_edge_delta":-0.970174,"arb_edge_delta":0.847211},{"params":[0.09334437352165303,0.13357219023156588,0.0,0.973583931723935,0.6242423220054353,1.0436736640151167,68.81687564297143,1.7241181669984678],"sha256":"9cbf1e5111e81b613dce9198f55ee46b43831aa9aaa1ac58161e0e371d9ce31c","block_start":720064,"n":64,"mean_diff":0.07353555998966144,"se":0.04028881740653162,"max_ok":200616,"oog":0,"retail_edge_delta":0.207023,"arb_edge_delta":-0.133488},{"params":[0.4477346034118065,0.13500655734242617,0.216543034846004,0.9847889818487509,0.8768835317587816,2.661050340892408,35.48636399215091,1.5],"sha256":"c98079cb5440b3b93bfdb6472871603d434731ba66b17d06b47bb2509baa46f8","block_start":720064,"n":64,"mean_diff":-0.034073816845169524,"se":0.07006476058336648,"max_ok":200649,"oog":0,"retail_edge_delta":0.638431,"arb_edge_delta":-0.672504},{"params":[0.0,0.03917800731318399,0.10774127819542906,0.9794379155780034,0.8782360851688948,1.0122302947208395,63.26077325400608,1.7253091556235989],"sha256":"1cac7f658a181574a36022cde4d610b4356e572f6eda12e904e993987f8a795e","block_start":720064,"n":64,"mean_diff":0.03881449171267359,"se":0.044893662125267075,"max_ok":200616,"oog":0,"retail_edge_delta":-0.028525,"arb_edge_delta":0.067339},{"params":[0.026187619684759047,0.2681600802435076,0.0,0.9755073019259031,0.6900332297374846,1.842876536253067,60.32767305380867,2.2022576863270964],"sha256":"6bd501001ab3a0dd9078e45f44aed987591471b14f66a282c79c7313e08a29f5","block_start":720064,"n":64,"mean_diff":-0.7454954261507725,"se":0.1069072259384729,"max_ok":200607,"oog":0,"retail_edge_delta":-2.996712,"arb_edge_delta":2.251217},{"params":[0.09438344472728585,0.0,0.13802260253518725,0.9845124990244044,1.9396842544503492,1.4838123473550162,69.51955314697827,1.9070792667602812],"sha256":"15bc380125dc96223b542b8e28301e580a063d45e190cb159cbce5afbdbd554c","block_start":720064,"n":64,"mean_diff":-0.45490219558493816,"se":0.0874098806637432,"max_ok":200607,"oog":0,"retail_edge_delta":-1.904945,"arb_edge_delta":1.450042},{"params":[0.36902342550811157,0.1294887432338405,0.0,0.9551819842857382,0.5153308594110119,0.7326881526370091,52.617959491302386,1.5],"sha256":"78495785c7680c97f95ee7b26c95686c93581bfe89400db6f0c0c45c47ac1441","block_start":720128,"n":64,"mean_diff":-0.8828704803566323,"se":0.10717547341302719,"max_ok":197580,"oog":0,"retail_edge_delta":2.848882,"arb_edge_delta":-3.731753},{"params":[0.09738313144884009,0.27729620050145687,0.08635427835985945,0.982262638596495,0.6218388436381398,0.8605461806300367,68.92325205914048,1.6322345047935294],"sha256":"008887b45a39b873c5093086aad5c73dcd6f04a46362ab33f3a5f6402d4d2840","block_start":720128,"n":64,"mean_diff":0.07716151598602394,"se":0.05909645686749132,"max_ok":197622,"oog":0,"retail_edge_delta":0.258695,"arb_edge_delta":-0.181533},{"params":[0.07759779994797421,0.14544954600678747,0.4213784169381569,0.9924155835944151,0.4881082515004165,1.6012547505798371,25.362466648274033,2.495956102415908],"sha256":"8a30f0f42e1b3500a41beb63bbb9130a752ef896e28278d24da1ba119a96d787","block_start":720128,"n":64,"mean_diff":-0.1510099326801857,"se":0.08875281063346015,"max_ok":197610,"oog":0,"retail_edge_delta":0.597443,"arb_edge_delta":-0.748453},{"params":[0.0,0.18471085917811805,0.15825739796941335,0.999,1.3703295018577442,0.7283240291947207,41.34654556625716,1.8236152088989317],"sha256":"ffe5539dcaefffea2b9e6698cd9a573ede030506bbf07b64f8067b08223ef7d1","block_start":720128,"n":64,"mean_diff":0.005707054798568478,"se":0.07074472559605667,"max_ok":197579,"oog":0,"retail_edge_delta":-0.236532,"arb_edge_delta":0.242239},{"params":[0.11541912969499775,0.08220257289864903,0.16220825393748353,0.9901640517925546,0.6616535817531422,0.994022731038393,246.39707894083838,1.5],"sha256":"69b685a319479b03e6fe9e23b913276babeb2d4220e4f07732848dd14d57ad57","block_start":720128,"n":64,"mean_diff":0.12040592425555108,"se":0.049456740093157515,"max_ok":197621,"oog":0,"retail_edge_delta":1.007554,"arb_edge_delta":-0.887148},{"params":[0.11872225379622028,0.09078082956938224,0.0,0.985638302103091,0.6746704236211092,1.350993376429496,89.36732464053574,1.85072542881357],"sha256":"5443526ab2f547ca157484c8758d1774d9305b9575a8f2e410990869b0e2e83c","block_start":720128,"n":64,"mean_diff":0.049824708227793835,"se":0.033132716507234844,"max_ok":197568,"oog":0,"retail_edge_delta":0.313934,"arb_edge_delta":-0.26411},{"params":[0.21221933773981327,0.0,0.0,0.9838251359319302,0.3865395567316208,0.9677611963463137,51.186628987210334,1.828315103777762],"sha256":"c713d36bf7789fca141ff6079021947709aa3880a155b5f5fca33786fb1a3210","block_start":720128,"n":64,"mean_diff":-0.43107732260040255,"se":0.08432263202851042,"max_ok":197538,"oog":0,"retail_edge_delta":2.163355,"arb_edge_delta":-2.594433},{"params":[0.0,0.023339377097354053,0.0,0.9705004195157706,1.0211401777907647,0.8401318398197756,54.22775969600129,2.2229112452059168],"sha256":"092cdf0909a170a77461da0e2e25c099ae1f3b92f91c164a8c1619495832fa3e","block_start":720128,"n":64,"mean_diff":-0.016496309280859656,"se":0.018054231882728387,"max_ok":197538,"oog":0,"retail_edge_delta":-0.088259,"arb_edge_delta":0.071763},{"params":[0.0,0.0,0.0,0.9774814625593675,0.5079202306364979,1.3116904016045714,38.35883152528925,1.6137329411471166],"sha256":"f2c76445120c24d7f678ec48255edfae33987bbf6d154f67d4c46a1f90db5d53","block_start":720128,"n":64,"mean_diff":0.0,"se":0.0,"max_ok":190539,"oog":0,"retail_edge_delta":0.0,"arb_edge_delta":0.0},{"params":[0.14470464222879506,0.2742033277169014,0.13291180171698347,0.9792918523657542,0.6063371355425408,0.9374079501526188,81.48092367508657,1.629973119224785],"sha256":"915c4cf5b7aa52c7a98d828339a09547c093206b19f378da911001eed4206d12","block_start":720128,"n":64,"mean_diff":0.16251629994362382,"se":0.07021429188346846,"max_ok":197622,"oog":0,"retail_edge_delta":0.719768,"arb_edge_delta":-0.557252},{"params":[0.03381114369734086,0.1940245080801813,0.1783222937295083,0.9741183528700338,0.814409787187181,1.3599457632221719,81.14626236825691,1.7150243056648427],"sha256":"ae2ea1f236a129824ee9832308e5691387546b392bc2996effaf92efce4441d9","block_start":720192,"n":64,"mean_diff":-0.15930170159041346,"se":0.08245999994023889,"max_ok":199314,"oog":0,"retail_edge_delta":-1.146306,"arb_edge_delta":0.987005},{"params":[0.038826968559689125,0.1969600068501588,0.27405987646339025,0.996993347739305,0.8526722191357414,0.6980335210186691,395.49250408289026,1.5],"sha256":"0abfb9fc1c375ebfed0357ed2165e42f4271b21564a4817602ae372aad513783","block_start":720192,"n":64,"mean_diff":0.09905948013201904,"se":0.08099124855446369,"max_ok":199319,"oog":0,"retail_edge_delta":0.526683,"arb_edge_delta":-0.427624},{"params":[0.0,0.0,0.09514734826996729,0.999,0.8895122621059667,0.8974467244359543,161.6867001134038,2.0958310096870147],"sha256":"403fa20de2692d8a73726b5615f05e59edfdca113b0a34a56d7f33625d3922be","block_start":720192,"n":64,"mean_diff":0.11983631152051899,"se":0.046967284693758354,"max_ok":197631,"oog":0,"retail_edge_delta":0.185891,"arb_edge_delta":-0.066055},{"params":[0.34963046150363253,0.13753567890322094,0.0,0.9959589490887463,0.3421893779605475,0.5632866500991343,93.32081551806328,2.099201823725867],"sha256":"43ad9feb0d9e9268b4578ca25f09bb3905e2b761d7ae3ad6ff0fb50eaa7c5166","block_start":720192,"n":64,"mean_diff":-1.2725812214307188,"se":0.11683665589122527,"max_ok":197673,"oog":0,"retail_edge_delta":2.973037,"arb_edge_delta":-4.245618},{"params":[0.016730544085767265,0.2330433974584689,0.0,0.966354390130268,0.5596573621544826,1.077586650002359,187.29302273900024,1.7588489860534426],"sha256":"8a48ab797bee06f79c33417a0eeaaedd81b9873a9ac71617d2cbb4d15d2d860d","block_start":720192,"n":64,"mean_diff":-0.09407303631065389,"se":0.06819826769824566,"max_ok":199279,"oog":0,"retail_edge_delta":-1.077497,"arb_edge_delta":0.983424},{"params":[0.11285839346591053,0.2343005234155623,0.2980087638850003,0.9637710350292553,0.643074457521402,0.9502464907887396,225.03897888784556,1.5],"sha256":"6bd0ed2418228284d441f7b48382c61b717a2f67dfb97b93aa86cec6d2e7935a","block_start":720192,"n":64,"mean_diff":0.12707302861497727,"se":0.0782740568242856,"max_ok":199319,"oog":0,"retail_edge_delta":0.696499,"arb_edge_delta":-0.569426},{"params":[0.055210306932112,0.2758322196414065,0.07309796289888226,0.9863478881743335,0.6708365765615162,1.6355079568315811,62.01854397373499,2.1654084326879772],"sha256":"46ae31c25334540e479032f29c38cba90da9c81bbdbe78e5be65397c171df021","block_start":720192,"n":64,"mean_diff":-0.48628009526748617,"se":0.09008448692665298,"max_ok":199248,"oog":0,"retail_edge_delta":-2.113745,"arb_edge_delta":1.627465},{"params":[0.09266977082921686,0.09783194423381346,0.004544240712658493,0.9766638939722423,0.7756871772790824,1.4276150551445048,109.3285224316386,1.5],"sha256":"e7644dbbcd38d9d0f1ed60ae8c58253f312f68e1772d2216ef1200ea326f7093","block_start":720192,"n":64,"mean_diff":0.12007007589716157,"se":0.04997558534960485,"max_ok":197694,"oog":0,"retail_edge_delta":0.023423,"arb_edge_delta":0.096647},{"params":[0.14319000912564248,0.1173584416975201,0.0,0.9729451534833252,0.9591022055945945,0.8746482806889824,76.18138484231277,1.548927188252041],"sha256":"e096c698cd549619c069568979b862cf34a759dec932c67c098e5adc09a542ac","block_start":720192,"n":64,"mean_diff":0.1186035781482957,"se":0.04777552686678183,"max_ok":197673,"oog":0,"retail_edge_delta":0.32316,"arb_edge_delta":-0.204556},{"params":[0.055644890436047534,0.09915794282491892,0.016709006413625258,0.962952192008562,0.5232850972820389,0.734583730455813,60.013007135909966,1.5],"sha256":"b00703208b55b1d2af1e0d6a629fba228fdf89d4f97fc134b59ad9169ef25802","block_start":720192,"n":64,"mean_diff":0.11980156265783481,"se":0.04409232109223767,"max_ok":197715,"oog":0,"retail_edge_delta":0.422397,"arb_edge_delta":-0.302595},{"params":[0.0,0.10495697330784515,0.2406201964395513,0.9507836278838183,0.4620870283387763,0.6029676872778627,78.35222400284668,1.8594454349934189],"sha256":"4c27aad3291684ace90d3c8c1692bfe5f545825fb8fe516adbcbdf9598405c44","block_start":720256,"n":64,"mean_diff":0.20027298137292604,"se":0.06829899698257305,"max_ok":201869,"oog":0,"retail_edge_delta":0.669807,"arb_edge_delta":-0.469534},{"params":[0.3258513668295603,0.07685860698184638,0.07745107959716359,0.9335030992514719,1.0441120360749816,1.0862393122070535,187.01888903124387,1.5],"sha256":"e4122eeea9f07ca0fc077f94b5b23f640599ffd324c4108225b0c2849b311ed5","block_start":720256,"n":64,"mean_diff":-0.10453515863965013,"se":0.0637127678076379,"max_ok":201930,"oog":0,"retail_edge_delta":0.315288,"arb_edge_delta":-0.419823},{"params":[0.12920792491781036,0.11666295865570267,0.15464291628355326,0.9568450027675274,0.7384432911468066,0.8896273859791416,119.6050298095021,1.636418202615461],"sha256":"c5cb11679467514bac224cbc620f41cfd37a1b3eedefa9232dae8163530102b4","block_start":720256,"n":64,"mean_diff":0.18169026088671725,"se":0.06376610333832072,"max_ok":201898,"oog":0,"retail_edge_delta":0.75858,"arb_edge_delta":-0.57689},{"params":[0.19351045444509885,0.31156469411032356,0.10791140080896296,0.9735634118733869,0.9119298748092112,0.6429217956859129,124.75021126326466,2.2034530584163887],"sha256":"d1fa8c8ea26b8f5d87599ef74e2affe67b3967aeac5cc1204849e476ca38d1f0","block_start":720256,"n":64,"mean_diff":0.08837817355020317,"se":0.08487882417139567,"max_ok":201922,"oog":0,"retail_edge_delta":0.097799,"arb_edge_delta":-0.009421},{"params":[0.1060258323110779,0.27720460920868817,0.18961879123165506,0.9785703233688748,0.7775526623252741,0.7920218291779478,214.74462937141462,1.7674882539833257],"sha256":"569670fe91e2c5fc25cb5b53c8769a9de94cba7caef7bae7e5bdd4ef8eec2eaa","block_start":720256,"n":64,"mean_diff":0.08587045387972037,"se":0.08879723417885466,"max_ok":201922,"oog":0,"retail_edge_delta":0.207548,"arb_edge_delta":-0.121677},{"params":[0.0,0.15043502590781754,0.19053898443981976,0.9734184625902266,0.7465756643864291,1.2487615432824142,308.60949171143255,1.5361714583725243],"sha256":"1a56c543ed3e65c5b05019aee900e4eddc8cf15089cd859a0f70aa4c9f02afa5","block_start":720256,"n":64,"mean_diff":-0.12054171059642904,"se":0.10200608748507553,"max_ok":198099,"oog":0,"retail_edge_delta":-0.884044,"arb_edge_delta":0.763503},{"params":[0.21675214909319807,0.054220201219102794,0.21142924649259345,0.9902885011449887,0.6526526205571169,0.7035844940808696,35.2180092194337,1.7867346214375015],"sha256":"62e29cb2f3a8b2a425b4e9be216bff27a31693f7003162684881f0368126a5b1","block_start":720256,"n":64,"mean_diff":-0.10114070403820286,"se":0.08478818891676111,"max_ok":201911,"oog":0,"retail_edge_delta":2.364204,"arb_edge_delta":-2.465345},{"params":[0.04946761018685706,0.033257701707455435,0.3804671530630424,0.9464392799342414,0.5604496626041476,0.7209999625308262,364.5547385315608,1.5],"sha256":"79fb9de3426549d8846bf2824d54306e928ad688eb55acbdb8b406393a2146d8","block_start":720256,"n":64,"mean_diff":0.14212104786455892,"se":0.07507592994226585,"max_ok":201910,"oog":0,"retail_edge_delta":1.416343,"arb_edge_delta":-1.274222},{"params":[0.15292866090761484,0.1752703936120974,0.3615741785155985,0.9958214175849006,0.6625560494283117,1.5374922956573982,166.910772870674,1.5],"sha256":"564637bcf1072425f6e1f921b2829f122023bc3e4462eca0fb79d2b5c2b6d369","block_start":720256,"n":64,"mean_diff":-0.09525935987276757,"se":0.10068475596659325,"max_ok":198141,"oog":0,"retail_edge_delta":0.348531,"arb_edge_delta":-0.443791},{"params":[0.2482676148958548,0.16664136700305457,0.06013661287007263,0.999,0.45215807340002306,0.8112187287173862,150.48269179025897,1.6712153705500936],"sha256":"6efe4810c533d408b91cf331feaa69f7f6b57ca086661c101501a2a09bc147e5","block_start":720256,"n":64,"mean_diff":-0.11630130570528241,"se":0.08353078614987183,"max_ok":201918,"oog":0,"retail_edge_delta":2.256616,"arb_edge_delta":-2.372917},{"params":[0.0,0.2745348502160858,0.08564715191656735,0.9669893434386052,0.45351445627639103,0.6726591438303844,114.27723686694843,2.0768579967242964],"sha256":"754e5f3114932cd56e61971017bbad31c520fb6a3f53f90b6baac83dde37bd3d","block_start":720320,"n":64,"mean_diff":0.03532190155676762,"se":0.07832846689109105,"max_ok":182925,"oog":0,"retail_edge_delta":-0.302548,"arb_edge_delta":0.33787},{"params":[0.18036170699251663,0.0,0.32536996043835004,0.9750877530887355,0.6827923030283256,0.9843701067189843,272.56106496339083,1.5],"sha256":"39bfff561e8efc15a5d001c0846f0e603682e3775d9bf7818a7eef0457ca4943","block_start":720320,"n":64,"mean_diff":0.07558461071049027,"se":0.08093802500723601,"max_ok":182639,"oog":0,"retail_edge_delta":2.007108,"arb_edge_delta":-1.931523},{"params":[0.1710717557958403,0.0474158528530113,0.3366079464713325,0.9346119802458213,0.48694476551116955,1.3270196373885093,76.16388060685208,1.9816395546497954],"sha256":"7e1ec3fd8377df102a35e6250b98ea6f484fcaa343842285eef589aa76d042ff","block_start":720320,"n":64,"mean_diff":0.11178503352440661,"se":0.08323789267146063,"max_ok":182930,"oog":0,"retail_edge_delta":1.926522,"arb_edge_delta":-1.814737},{"params":[0.1021451818179479,0.37939083225690173,0.1804644340018728,0.9682574310104096,0.6718022220829055,0.4384857993964143,158.33329384567958,1.777118389931218],"sha256":"83e06cd15e4b64389a3acd1ed13fa10235729414ed699f87de525f4be6bf37b1","block_start":720320,"n":64,"mean_diff":0.17781478886267355,"se":0.07250367162981565,"max_ok":182816,"oog":0,"retail_edge_delta":1.235385,"arb_edge_delta":-1.057571},{"params":[0.054223842673558335,0.279170369724347,0.1551239056955555,0.9649782781023714,0.8640146420294501,0.7125845839123074,154.53129855168316,1.5],"sha256":"8dbf7aac113792614fabb777ed7c84e57a6a533713c486d437b4b525fe25d9b8","block_start":720320,"n":64,"mean_diff":0.08418921020978054,"se":0.07493666476189932,"max_ok":182975,"oog":0,"retail_edge_delta":0.001185,"arb_edge_delta":0.083004},{"params":[0.0,0.07055506072582651,0.06725883463960397,0.9509709856937058,0.4772511839756164,0.9411032966863077,170.0815126445318,1.8969022050190185],"sha256":"f066bb4868af2037c9a38b6afd37124c540c293a01e174c3b3a2036356e94183","block_start":720320,"n":64,"mean_diff":0.05166472904114272,"se":0.04019206198974153,"max_ok":182925,"oog":0,"retail_edge_delta":-0.132466,"arb_edge_delta":0.184131},{"params":[0.014522792107444516,0.36994189336914296,0.31749393129656034,0.9695608495909256,0.6597729420650384,0.4605530868510512,61.656217788376736,2.1867445106250445],"sha256":"4e8f220ddc44b1a9597f2d2c1bf82e9c793b3dd62de571e0d2cf04e50ea6ffb6","block_start":720320,"n":64,"mean_diff":0.06260903576077048,"se":0.0801756823557861,"max_ok":182513,"oog":0,"retail_edge_delta":0.975077,"arb_edge_delta":-0.912467},{"params":[0.0,0.05279649684879909,0.2807293336881578,0.9413852276475443,0.6520715052926335,0.8654528296243497,102.0788390464778,1.7774311538742977],"sha256":"c01c6c541705d1064ac686028cf69f2fda7c6689ada73c49cd7ac18a73fe4f4a","block_start":720320,"n":64,"mean_diff":0.14977791529705087,"se":0.06901475599688521,"max_ok":182921,"oog":0,"retail_edge_delta":0.445237,"arb_edge_delta":-0.295459},{"params":[0.37447531665651546,0.4829173994238593,0.49794344297422005,0.928116074526032,0.4842042927614225,0.6929099929547623,85.95835838916943,1.5],"sha256":"3031296fd21dfa9b840a6f7c1def9b12eb94a761565f833d928f23fc3b263d85","block_start":720320,"n":64,"mean_diff":-0.7336984745123312,"se":0.12158608090203897,"max_ok":184880,"oog":0,"retail_edge_delta":4.089934,"arb_edge_delta":-4.823632},{"params":[0.10554530167333082,0.29041239276483816,0.021689004677425877,0.9975713310149003,0.70521497251341,1.5103659951010358,127.08674056140988,1.8736088317111808],"sha256":"0128a5b14661d04fb358a7459b3e85148612d33a5a11d468e886b18dee05e236","block_start":720320,"n":64,"mean_diff":-0.4338063736731472,"se":0.08464720930304356,"max_ok":182790,"oog":0,"retail_edge_delta":-1.664974,"arb_edge_delta":1.231168},{"params":[0.021473020437634285,0.3258844005687921,0.11260066487081284,0.9733180350911922,0.7015348270203166,0.49673252549077584,278.5983751016448,1.5503412892026898],"sha256":"54d898eb56d60135929ae946c64951eac9eb9350d9c383ea82bb89989b7599a4","block_start":720384,"n":64,"mean_diff":0.24373312159445337,"se":0.06572793470910555,"max_ok":197726,"oog":0,"retail_edge_delta":0.358606,"arb_edge_delta":-0.114873},{"params":[0.0061331510698426905,0.07447651264972424,0.31979320593309285,0.9476012657942902,0.4373867308200475,0.5616254138910795,60.20305449368366,1.5],"sha256":"c25f2a922e76febb6bd73e223867c285076403285aca2ee96ae04597a67d0f44","block_start":720384,"n":64,"mean_diff":0.3226113182985877,"se":0.06899663816677581,"max_ok":197726,"oog":0,"retail_edge_delta":1.216945,"arb_edge_delta":-0.894334},{"params":[0.0,0.20981391310763706,0.18993561604255207,0.957303623002589,1.0359353352417575,0.43410597111692434,93.2053302268473,1.5199876917689303],"sha256":"15b7ccbb5b6e9eeb64aa96b37c28ec562a337a141d6c75ae47549815034fb7fa","block_start":720384,"n":64,"mean_diff":0.3132824112375294,"se":0.06481828182698526,"max_ok":197684,"oog":0,"retail_edge_delta":0.577646,"arb_edge_delta":-0.264364},{"params":[0.3941766202780091,0.36438363716955874,0.0,0.9184619910437934,0.46875767346884495,0.4252521104079614,61.67775868299822,2.166068276261594],"sha256":"454667baaebe6603ab4cb82c141925a6ac203a554b351eadbbc57f15349e745d","block_start":720384,"n":64,"mean_diff":-1.145063032328273,"se":0.11036903130037885,"max_ok":197684,"oog":0,"retail_edge_delta":2.88747,"arb_edge_delta":-4.032533},{"params":[0.219996596568148,0.25748169725548226,0.0,0.982860610826573,0.46574566081350927,0.8282786509701662,160.5233694635645,1.652506977301888],"sha256":"1507c56440126f3174ca8c463b03e9d4afca810fc9fbffb75c641c08f743a669","block_start":720384,"n":64,"mean_diff":0.054901871386923595,"se":0.06582897462338365,"max_ok":197684,"oog":0,"retail_edge_delta":1.553789,"arb_edge_delta":-1.498887},{"params":[0.0,0.10314279572411958,0.19566019651649036,0.9503974324053259,0.5191609916110396,0.5234904944377518,67.81576033254385,1.6287081137261494],"sha256":"ad886dbe73cd576df803aabad2f72abb91ad1553eef2024a960b142aa5373ef2","block_start":720384,"n":64,"mean_diff":0.2828389831531686,"se":0.061405625213049715,"max_ok":197684,"oog":0,"retail_edge_delta":0.662553,"arb_edge_delta":-0.379714},{"params":[0.1908338774845446,0.16580589247040373,0.17168555343677763,0.9612624089663405,0.4575795054692736,0.513240414024098,142.09282014103326,2.28248740315417],"sha256":"15d804550bc6b6872df18d40f9b1ad46d2bb766b226512b500bb3a4b57a2627b","block_start":720384,"n":64,"mean_diff":0.01611769085781667,"se":0.07904072226835915,"max_ok":197726,"oog":0,"retail_edge_delta":2.080102,"arb_edge_delta":-2.063984},{"params":[0.06807321552110723,0.27597240152674524,0.004937941293849807,0.9665735436344751,0.522833726610362,0.7995704646208408,182.10863634739036,1.8069994924679809],"sha256":"ef2a32116f36d76a54c7a658f4c3cbbe89e18669515cbf6ac9bbdf20df11055b","block_start":720384,"n":64,"mean_diff":0.19004094153220397,"se":0.053493094783384695,"max_ok":197726,"oog":0,"retail_edge_delta":-0.106471,"arb_edge_delta":0.296511},{"params":[0.13759718509898344,0.2548327678561741,0.15316187546077603,0.958796244423706,0.8811541666160556,1.5119634030014215,88.61602556744266,2.8797368838661397],"sha256":"515e1d52700863275423854ee2dd6afffd09022dadc0abff1cd00b6ca0c8de69","block_start":720384,"n":64,"mean_diff":-0.31194836593306796,"se":0.10692488167434483,"max_ok":197714,"oog":0,"retail_edge_delta":-2.215714,"arb_edge_delta":1.903765},{"params":[0.0,0.2703280259620035,0.27782424757582624,0.9579508362683162,0.9543721633843306,0.49064767079285,83.95946342306131,1.985922738722967],"sha256":"68799c2fe13a66240b0bc07ae4ed4ce557fea0b7234d69d67bc169a9cb24a29d","block_start":720384,"n":64,"mean_diff":0.2717319880137543,"se":0.08083411658632357,"max_ok":197684,"oog":0,"retail_edge_delta":0.570861,"arb_edge_delta":-0.299129}],"recheck":{"seeds":{"start":724000,"end":724255,"n":256},"baseline":"V10","candidates":[{"params":[0.0061331510698426905,0.07447651264972424,0.31979320593309285,0.9476012657942902,0.4373867308200475,0.5616254138910795,60.20305449368366,1.5],"sha256":"c25f2a922e76febb6bd73e223867c285076403285aca2ee96ae04597a67d0f44","search_mean_diff":0.3226113182985877,"search_block":720384,"start":724000,"n":256,"mean_diff":0.16001170361927142,"se":0.031625150204255374,"worst":[{"seed":724178,"d":-1.2419833714417337},{"seed":724030,"d":-1.0316978663557848},{"seed":724126,"d":-1.0103043531978528}],"retail_edge_delta":{"mean":1.138399056949527,"se":0.03183552805425034},"arb_edge_delta":{"mean":-0.9783873533302576,"se":0.017996252232112257},"gas":{"max_ok":198962,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true}},{"params":[0.0,0.20981391310763706,0.18993561604255207,0.957303623002589,1.0359353352417575,0.43410597111692434,93.2053302268473,1.5199876917689303],"sha256":"15b7ccbb5b6e9eeb64aa96b37c28ec562a337a141d6c75ae47549815034fb7fa","search_mean_diff":0.3132824112375294,"search_block":720384,"start":724000,"n":256,"mean_diff":0.10326235980513032,"se":0.027013278622952202,"worst":[{"seed":724178,"d":-0.9790912840313695},{"seed":724069,"d":-0.850555213042071},{"seed":724126,"d":-0.8223443233666785}],"retail_edge_delta":{"mean":0.44795638606883403,"se":0.026579161116633495},"arb_edge_delta":{"mean":-0.3446940262637056,"se":0.014680114749757174},"gas":{"max_ok":198932,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true}},{"params":[0.0,0.10314279572411958,0.19566019651649036,0.9503974324053259,0.5191609916110396,0.5234904944377518,67.81576033254385,1.6287081137261494],"sha256":"ad886dbe73cd576df803aabad2f72abb91ad1553eef2024a960b142aa5373ef2","search_mean_diff":0.2828389831531686,"search_block":720384,"start":724000,"n":256,"mean_diff":0.1266890345105618,"se":0.025946127577647516,"worst":[{"seed":724178,"d":-1.2223654580216134},{"seed":724126,"d":-0.9934498964055365},{"seed":724030,"d":-0.8351118862002522}],"retail_edge_delta":{"mean":0.5718893609131581,"se":0.02586219536341348},"arb_edge_delta":{"mean":-0.44520032640259866,"se":0.014488680686210658},"gas":{"max_ok":198932,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true}}],"frozen_index":0},"held_out":{"seeds":{"start":725000,"end":725511,"n":512},"baseline_arms":["RS1","V10"],"vs_v10":{"n":512,"mean_diff":0.1334077650864739,"se":0.022577637940322682,"worst":[{"seed":725402,"d":-1.7158856740821875},{"seed":725139,"d":-1.4721386340766003},{"seed":725468,"d":-1.3003524626536773},{"seed":725511,"d":-1.2889980389732614},{"seed":725245,"d":-1.1924294660708483}]},"vs_rs1":{"n":512,"mean_diff":0.06554100421904574,"se":0.018824555313678614,"worst":[{"seed":725401,"d":-1.5934614378106744},{"seed":725139,"d":-1.3241608292826186},{"seed":725511,"d":-1.0803440170128056}]},"rs1_vs_v10":{"mean_diff":0.06786676086742816,"se":0.01650379056210995},"retail_edge_delta":{"mean":1.0968126284911683,"se":0.024228220300266796},"arb_edge_delta":{"mean":-0.9634048634046943,"se":0.01175103889527604},"retail_edge_delta_vs_rs1":{"mean":1.0711268340830786,"se":0.022513972636927556},"arb_edge_delta_vs_rs1":{"mean":-1.0055858298640326,"se":0.013205973200391314},"reconciliation_max_abs":1.1368683772161603e-13,"arm_means":{"frozen":523.2672932990954,"rs1":523.2017522948763,"v10":523.133885534009},"gas_by_arm":{"frozen":{"max_ok":200601,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true},"rs1":{"max_ok":200163,"init_max_ok":243099,"oog":0,"other_errors":0,"valid":true},"v10":{"max_ok":192727,"init_max_ok":220981,"oog":0,"other_errors":0,"valid":true}}},"gas":{"max_ok":200601,"init_max_ok":243099,"oog":0,"limits":{"afterSwap_max_ok_lt":235000,"afterInitialize_max_ok_lt":245000},"search_max_over_all_candidates":{"max_ok":201930,"init_max_ok":243099,"oog":0},"held_out_raw_counters_frozen":[{"role":"Baseline","callback":"afterInitialize","calls":512,"ok":512,"max_ok_gas":21796,"sum_ok_gas":11159552,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},{"role":"Baseline","callback":"afterSwap","calls":5488080,"ok":5488080,"max_ok_gas":22592,"sum_ok_gas":123827322888,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},{"role":"Baseline","callback":"getName","calls":512,"ok":512,"max_ok_gas":21526,"sum_ok_gas":11021312,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},{"role":"Submission","callback":"afterInitialize","calls":512,"ok":512,"max_ok_gas":243099,"sum_ok_gas":124466688,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},{"role":"Submission","callback":"afterSwap","calls":5252557,"ok":5252557,"max_ok_gas":200601,"sum_ok_gas":621619210315,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0},{"role":"Submission","callback":"getName","calls":512,"ok":512,"max_ok_gas":21607,"sum_ok_gas":11062784,"oog":0,"revert":0,"other_halt":0,"tx_error":0,"bad_return":0}]},"rebuild_checks":{"rs1_rebuilt_from_its_generator_sha256_matches":true,"rs1_sha256":"df2817ba4ec233a456eb45909faa4a706efe0fabd1734a908fe52545f4d07577","rs1_mix0_vs_v10_parity":{"seeds":{"start":726000,"end":726031,"n":32},"paired":{"n":32,"mean_diff":0.0,"se":0.0,"worst":[{"seed":726000,"d":0.0},{"seed":726001,"d":0.0},{"seed":726002,"d":0.0},{"seed":726003,"d":0.0},{"seed":726004,"d":0.0}]},"retail_edge_delta":{"mean":0.0,"se":0.0},"arb_edge_delta":{"mean":0.0,"se":0.0},"equal":true},"warm_start_equals_rs1":"generator.generate(V10, warm_start) paired against RS1 on seeds 726000..726007: mean_diff 0.0 (identical edges)","v10_sha256":"cd9bdb45ab0537ad25c4fd90ca8618898cef6386de3df65f192eaef65fbca245","stack_sha256_verified_not_run":"2eaafc7960e520b8a7fd322ec8afaff8fa677c730228a961efb509cc30b25719"},"seeds":{"parity":[726000,726031],"search":[720000,723999],"search_used":[720000,720447],"recheck":[724000,724255],"held_out":[725000,725511],"any_ge_5000000":false},"method":"Each strategy alone against VanillaStrategy via amm_sim_rs.run_batch(strategy, VanillaStrategy, configs, 8) in chunks of 20 seeds; configs per MatchRunner._build_configs (default_rng(seed): size U(19,21), rate U(0.6,1.0), sigma U(0.000882,0.001008); n_steps 10000; price seed=seed, retail seed+1 inside the simulator); paired per seed, se = sd(ddof=1)/sqrt(n); gas_stats_reset/gas_stats per chunk and per arm; no seed dropped; arb/retail split by the RS1 harness_source closed-form reconstruction (reconciliation_max_abs reported). Setup: pinned checkout 6b6921f8, pinned wheel (sha256 verified), solc 0.8.24, StarterStrategy validation passed.","generator_source":"\"\"\"RS1 structure 2 (bounded own-flow correction) with separate rate/size mix weights,\nan activity-term weight of the cleaned retail flow, and a searchable correction cap.\ngenerate(v10_text, params) with params =\n [rate_mix, size_mix, activity_weight, retention_per_step, rate_scale, size_scale,\n  quote_correction_slope, correction_cap_multiple]\nWith rate_mix == size_mix, activity_weight == 0 and cap == 2 this is RS1's text up to\nthe extra activity hook (RS1 itself is rebuilt by its own generator in rs1_generator.py).\n\"\"\"\nPARAMETER_NAMES=[\"rate_mix\",\"size_mix\",\"activity_weight (cleaned retail flow in slot-4 activity term)\",\n \"retention_per_step\",\"rate_scale\",\"size_scale\",\"quote_correction_slope\",\"correction_cap_multiple\"]\n# actEma steady state ~ (1-ACT_BLEND_DECAY)/(1-ACT_DECAY) * (flow per step) = 0.015/0.47\nACT_SCALE=int(round(0.015/0.47*1e18))\n\ndef wad(x):return int(round(x*1e18))\n\ndef generate(base,p):\n rmix,smix,actw,decay,scale,sscale,correction,cap=p\n rmix=wad(rmix);smix=wad(smix);actw=wad(actw);decay=wad(decay)\n missing_cap=wad(1-1/cap)\n s=base.replace('(fastHat, uncertainty) = _posterior','uint256 arbProbability;\\n        (fastHat, uncertainty, arbProbability) = _posterior')\n s=s.replace('internal pure returns (uint256, uint256) {\\n        if (x.mu', 'internal pure returns (uint256, uint256, uint256) {\\n        if (x.mu')\n s=s.replace('wmul(x.v,WAD-k));','wmul(x.v,WAD-k),0);').replace('return (x.mu,x.v);','return (x.mu,x.v,0);').replace('return (mean,variance);','return (mean,variance,prob);')\n insert=f'''\n        uint256 actUsed = actEma;\n        if ({max(rmix,smix,actw)} > 0) {{\n            uint256 packedFlow = slots[15];\n            uint256 rate = uint80(packedFlow);\n            uint256 count = uint80(packedFlow >> 80);\n            uint256 meanSize = uint80(packedFlow >> 160);\n            if (rate == 0) rate = 400000000000000000;\n            if (meanSize == 0) meanSize = 2000000000000000;\n            if (isNewStep) {{\n                uint256 inst = count / silent;\n                if (inst > 3 * WAD) inst = 3 * WAD;\n                uint256 retention = _powWad({decay}, silent > 64 ? 64 : silent);\n                rate = wmul(rate, retention) + wmul(inst, WAD-retention);\n                count = 0;\n            }}\n            uint256 weight = firstInStep ? WAD-arbProbability : WAD;\n            uint256 missing = wmul(feeUsed, {wad(correction)});\n            if (missing > {missing_cap}) missing = {missing_cap};\n            uint256 correctedWeight = wdiv(weight, WAD-missing);\n            count += correctedWeight;\n            uint256 learning = wmul(WAD-{decay}, weight);\n            meanSize = _blend(meanSize, tradeRatio, learning);\n            slots[15]=rate | (count << 80) | (meanSize << 160);\n            uint256 retailRate = wmul(rate, {wad(scale)});\n            uint256 retailSize = wmul(meanSize,{wad(sscale)});\n            lambdaHat = _blend(lambdaHat,retailRate,{rmix});\n            sizeHat = _blend(sizeHat,retailSize,{smix});\n            actUsed = _blend(actEma, wmul(wmul(retailRate, retailSize), {ACT_SCALE}), {actw});\n        }}\n'''\n s=s.replace('        uint256 flowSize =', '        uint256 originalLambda = lambdaHat; uint256 originalSize = sizeHat;\\n'+insert+'        uint256 flowSize =')\n s=s.replace('wmul(ACT_COEF, actEma);','wmul(ACT_COEF, actUsed);')\n s=s.replace('        uint256 dirDev;', '        lambdaHat = originalLambda; sizeHat = originalSize;\\n        uint256 dirDev;')\n s=s.replace(\"slots[13] = 902500000000;\", \"slots[15] = 400000000000000000 | (uint256(2000000000000000) << 160); slots[13] = 902500000000;\")\n return s\n","notes":["Held-out result (512 fresh seeds 725000..725511, never used for selection): frozen vs V10 mean_diff 0.1334 (se 0.0226); frozen vs RS1 mean_diff 0.0655 (se 0.0188); RS1 vs V10 on the same seeds 0.0679 (se 0.0165).","Decomposition on held-out vs V10: retail edge delta 1.0968 (se 0.0242), arb edge delta -0.9634 (se 0.0118): the gain comes from retail, paid for partly by more arbitrage, as in RS1.","Frozen parameters: rate_mix ~0.006 (lambda input essentially untouched), size_mix 0.074, activity_weight 0.32, retention 0.948, rate_scale 0.437, size_scale 0.562, slope 60.2, cap 1.5x (at the lower bound). The search moved away from RS1 mainly by (a) adding the cleaned retail flow into the activity term and (b) shrinking the fee-size input via a small size mix with a 0.56 size scale; the own-flow correction cap went to its minimum.","activity_weight interpretation: V10 fee term wmul(ACT_COEF, actEma) becomes wmul(ACT_COEF, actUsed) with actUsed = blend(actEma, rate_scale*rate * size_scale*meanSize * 0.015/0.47, activity_weight). The constant 0.015/0.47 = (1-ACT_BLEND_DECAY)/(1-ACT_DECAY) is the steady-state ratio between V10 actEma and per-step flow, so the cleaned retail flow is expressed in actEma units; slot 4 (actEma) itself is stored unchanged. correction_cap_multiple c bounds the inverse-survival correction: missing <= 1-1/c WAD so correctedWeight <= c*weight (RS1 fixed c=2).","All 70 search candidates were valid: afterSwap max_ok <= 201930, afterInitialize max_ok 243099 (the slot[15] initialisation keeps init at RS1 level, 1.9k under the 245k limit), 0 OOG, 0 reverts. Frozen on held-out: afterSwap max_ok 200601, init 243099, 0 OOG.","Search wall: 7 generations, 1127 s of the 1200 s cap; an eighth generation (about 160 s) would have exceeded the cap and was not started. The run was executed as three resumable foreground phases with the full CMA-ES state (including the numpy Generator state) pickled between phases, which is equivalent to one uninterrupted run.","Block effect: all three recheck candidates came from the last search block (720384..720447), whose generation median (+0.217) was far above earlier blocks; the 256-seed recheck roughly halved their search-block estimates (0.323->0.160, 0.313->0.103, 0.283->0.127). Candidate ranking within a block is CRN-paired, but block-to-block means differ by more than the within-block se, so search-block numbers overstate.","RS1 itself measured -0.0756 (se 0.0757) vs V10 on the first search block and 0.0689 (se 0.0645) on the 32 parity seeds, consistent with its reported tuning-only +0.094.","Scale of the effect: the goal needs about +5 paired over STACK; this family moves hundredths-to-tenths over V10, in line with note 1 (in-family tuning is capped near +1.2). STACK was fetched and its sha256 verified but not run here: this item compares against V10 and RS1 as briefed.","Tuning-only: all seeds are below 5000000; no confirmation claim and no board claim.","Dependencies: pinned wheel amm_sim_rs-0.1.0.post1 (sha256 aedb6828...), numpy 2.5.4, py-solc-x 2.1.0, pyrevm 0.3.7, solc 0.8.24; CMA-ES is implemented in the search script (no cma package). The search/recheck/held-out driver is not bundled; generator_source plus params rebuilds the code (sha256 above)."]}