{
  "approach": "Runs the supplied base and late-game advisers side by side on the same public state, synchronizing the actual order, uncovered-reservation and probe ledgers while retaining separate belief filters. Elects the late-game proposal when the base probability estimate is at least four cents, or between two and four cents with at least 500 steps remaining, but only if its effective post-action bid commitment is no larger than the base proposal's; otherwise elects the base. This preserves the base's near-zero belief and selling behavior while selectively taking the late-game stock plan and smaller uncovered-ask cash allowance. The rule was chosen using common-state quote replays, selected-event continuation tests and full tuning simulations on seeds 1000-1599. A bounded in-memory audit retains the last 64 effective quote disagreements. The final code is frozen before the untouched holdout is evaluated.",
  "blocked": null,
  "python_version": "3.14.4",
  "base_mean_edge": 102.331987422326,
  "score": {
    "mean_edge": 108.21374422633767,
    "retail_edge": 136.147655910821,
    "arb_edge": -27.933911684499666,
    "simulations": 600,
    "seed_start": 1000,
    "failures": 0
  },
  "holdout": {
    "mean_edge": 96.09686103077634,
    "simulations": 600,
    "seed_start": 30000,
    "failures": 0
  },
  "code": "\"\"\"Stale-quote defence with tick probes, a sub-tick belief and cheap YES stock.\n\nEvery step the arbitrageur removes any order on the wrong side of p, so tiny\ntwo-sided probes around the estimate locate p to a tick; a grid filter narrows\nthat further.  Quotes sit one tick inside the competitor and are sized by the\nmarginal rule: one more share is worth quoting while the chance a retail order\nreaches it, times its edge, exceeds the expected arbitrage loss.  Near p=0 a\nretail buy pays almost its whole notional as edge, so YES is held to cover low\nasks.  That YES is bought when it is cheap: a large bid rests at tick 1 while p\nis above it, so the arbitrageur fills it on the crossing for about 0.1 tick a\nshare instead of nearly a full tick once p is near zero, and smaller bids sit on\nwhichever tick p is within 0.15 of.  Below tick 1 the estimate of p decays with\nthe time spent there, since no probe can see it.\n\"\"\"\nimport math\nfrom orderbook_pm_challenge.strategy import BaseStrategy\nfrom orderbook_pm_challenge.types import CancelOrder, PlaceOrder, Side\n\nBP = dict(lam_r=0.25, m=5.0, sig_n=1.2, lam_j=0.0019, sig_j=0.35, sig=0.02,\n         qmax=3000.0, rmin=2, kA=0.7, kL=0.15, pL=0.05,\n         ammo=1.0, ydem=0.4, W=200.0, fy=0.6, ammo_q=60.0, ammo_pmax=0.05, ammo_maxpay=0.02,\n         fb=0.9, fu=0.7, xu=0.1, sticky=1.0, min_ahead=2.0, keep_hi=1.5, keep_lo=0.7, Hu=300.0, bins=8.0, filt=1.0, uni=0.01, jumpinfo=1.0, dmin=0.0, kLb=0.08, kLf=0.08, pinf=1.0, pre=0.0, H1=100.0,\n         ydf=0.6, Wf=2000.0, g_hi=0.15, g_lo=0.15, qf=400.0, pmaxf=0.05, pre_gap=1.0,\n         ydf1=0.6, g1=5.0, f1=0.6, a1=100.0, nb1=0.0, gs=1.0, p1t=1.0, m1=1.0, zd=1.0, pfl=0.0005)\nSQ2 = math.sqrt(2.0)\nSQ2PI = math.sqrt(2.0 * math.pi)\ndef cdf(x): return 0.5 * (1.0 + math.erf(x / SQ2))\ndef pdf(x): return math.exp(-0.5 * x * x) / SQ2PI\ndef inv(p):\n    p = min(max(p, 1e-9), 1 - 1e-9)\n    t = math.sqrt(-2.0 * math.log(min(p, 1 - p)))\n    x = t - (2.515517 + 0.802853 * t + 0.010328 * t * t) / (1 + 1.432788 * t + 0.189269 * t * t + 0.001308 * t ** 3)\n    x = -x if p < 0.5 else x\n    for _ in range(2):\n        d = pdf(x)\n        if d < 1e-12:\n            break\n        x -= (cdf(x) - p) / d\n    return x\ndef lpm(k):\n    return pdf(k) + k * cdf(k)\ndef fl(q):\n    return math.floor(q * 100 + 1e-9) / 100\n\nNODES = [(-2.2, .06), (-1.3, .17), (-0.6, .27), (0.6, .27), (1.3, .17), (2.2, .06)]\nPROBE = 0.01\n\n\nclass BaseModel(BaseStrategy):\n    def __init__(self):\n        self.n = 0\n        self.ahead = set()     # main orders placed strictly ahead of any competitor order at their tick\n        self.res = {}          # order id -> uncovered quantity at placement\n        self.bc = None         # belief: sub-tick grid centres (ticks)\n        self.bw = None         # belief: weights\n        self.st = 0.5          # last one-step sd in ticks\n        self.pcb = self.pca = None\n        self.pb = set()\n        self.pa = set()\n        self.tb = 0\n        self.s = None          # competitor spread parameter\n\n    def _oid(self, tag):\n        self.n += 1\n        return tag + str(self.n)\n\n    def on_step(self, state):\n        H = max(1, state.steps_remaining)\n        cb = state.competitor_best_bid_ticks or 0\n        ca = state.competitor_best_ask_ticks or 100\n        if self.s is None:\n            self.s = max(1, (ca - cb + 1) // 2)\n        lo, hi = cb, ca\n        for o in state.own_orders:\n            if o.side is Side.BUY:\n                lo = max(lo, o.price_ticks)\n            else:\n                hi = min(hi, o.price_ticks)\n        if BP['pinf'] > 0:\n            sb = {o.price_ticks for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity <= PROBE + 1e-9}\n            sa = {o.price_ticks for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity <= PROBE + 1e-9}\n            ea = self.pa - sa\n            eb = self.pb - sb\n            if sa and ea:\n                lo = max(lo, min(max(ea), hi))\n            if eb and (sb or min(eb) <= BP['p1t']):\n                hi = min(hi, max(min(eb), lo))\n        if BP['jumpinfo'] > 0 and self.pcb is not None:\n            if ca > self.pca + 1:\n                lo = max(lo, ca - 1)\n            if cb < self.pcb - 1:\n                hi = min(hi, cb + 1)\n        self.pcb, self.pca = cb, ca\n        if lo > hi:\n            lo, hi = hi, lo\n        # sub-tick belief over p_(t-1): predict with one-step noise, truncate to [lo, hi]\n        wid = max(hi - lo, 1e-6)\n        nb = max(2, min(48, int(round(wid * BP['bins']))))\n        cs = [lo + (i + 0.5) * wid / nb for i in range(nb)]\n        if self.bc is None or BP['filt'] <= 0:\n            ws = [1.0 / nb] * nb\n        else:\n            sg = max(self.st, 0.6 * wid / nb)\n            k = -0.5 / (sg * sg)\n            ws = []\n            uni = BP['uni'] * sg\n            for c in cs:\n                t = uni\n                for ci, wi in zip(self.bc, self.bw):\n                    d = c - ci\n                    d2 = d * d * k\n                    if d2 > -12.5:\n                        t += wi * math.exp(d2)\n                ws.append(t)\n            tot = sum(ws)\n            ws = [w / tot for w in ws]\n        self.bc, self.bw = cs, ws\n        mean_t = sum(c * w for c, w in zip(cs, ws))\n        var_t = max(sum(c * c * w for c, w in zip(cs, ws)) - mean_t * mean_t, 0.0)\n        phat = min(max(mean_t / 100.0, 0.002), 0.998)\n        var = BP['sig'] ** 2 + BP['lam_j'] * BP['sig_j'] ** 2\n        sd = math.sqrt(H * var)\n        self.tb = self.tb + 1 if hi <= 1 else 0\n        if self.tb > 0 and BP['zd'] > 0:\n            # below the last tick there is no probe: the score keeps walking away from it\n            phat = min(phat, max(BP['pfl'], cdf(inv(0.01) - BP['zd'] * 0.02 * math.sqrt(self.tb) / sd)))\n        z = inv(phat)\n        Z = z * sd\n        sp = pdf(z) / sd * BP['sig']\n        self.st = sp * 100.0\n        s = math.sqrt(sp * sp + var_t / 1e4 + 1e-8)\n        sd1 = math.sqrt(max(1.0, H - 1.0) * var)\n        jp = [(cdf((Z + n * BP['sig_j']) / sd1), w) for n, w in NODES]\n        lj = BP['lam_j']\n\n        def AB(x):\n            k = (x - phat) / s\n            a = s * lpm(k)\n            b = a - (x - phat)\n            ja = sum(w * max(0.0, x - p) for p, w in jp)\n            jb = sum(w * max(0.0, p - x) for p, w in jp)\n            return (1 - lj) * a + lj * ja, (1 - lj) * b + lj * jb\n\n        if H == 1:\n            def AB(x):\n                return (1 - phat) * x, phat * (1 - x)\n        rho = BP['lam_r'] * 0.5\n        mu = math.log(BP['m']) - 0.5 * BP['sig_n'] ** 2\n        kA = BP['kL'] if phat < BP['pL'] else BP['kA']\n\n        def qsize(loss, gain, px):\n            loss *= kA\n            if gain <= 0:\n                return 0.0\n            tail = loss / (rho * gain)\n            if tail >= 1.0:\n                return 0.0\n            return min(BP['qmax'], math.exp(mu + BP['sig_n'] * inv(1 - max(tail, 1e-6))) / px)\n\n        ptk = phat * 100\n        def qbid(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if phat * 100 - t < BP['dmin']:\n                return 0.0\n            if BP['nb1'] > 0 and self.s == 1 and t == 1 and ptk < 1.0:\n                return 0.0\n            if phat < BP['pL']:\n                ytg = BP['ydem'] * min(H, BP['W']) / max(ca - 1, ptk + 1) * 100.0\n                a *= (BP['kLb'] if state.yes_inventory < ytg else BP['kLf']) / BP['kL']\n            return qsize(a, b, max(phat, 0.05))\n\n        def qask(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if t - phat * 100 < BP['dmin']:\n                return 0.0\n            return qsize(b, a, t / 100.0)\n\n        bids = [o for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity > PROBE + 1e-9]\n        asks = [o for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity > PROBE + 1e-9]\n        sticky = BP['sticky'] > 0\n        def top(orders, comp, step):\n            if sticky and sum(o.remaining_quantity for o in orders if o.price_ticks == comp and o.order_id in self.ahead) >= BP['min_ahead']:\n                return comp\n            return comp + step\n        bid_t = top(bids, cb, 1)\n        ask_t = top(asks, ca, -1)\n        qb = qbid(bid_t)\n        qa = qask(ask_t)\n\n        Y = state.yes_inventory\n        if ask_t == 1 and H > BP['H1'] and BP['pre'] > 0:\n            qa = qa if Y >= BP['a1'] > 0 else 0.0          # let the competitor's 2-tick ask erode instead of fronting it for nothing\n        # ammunition: hold YES so that low asks are covered\n        ptick = phat * 100\n        amt = 0\n        qam = 0.0\n        if BP['ammo'] > 0 and ask_t >= 2 and phat < max(BP['ammo_pmax'], BP['pmaxf']):\n            wealth = state.cash + Y * phat\n            x = max(ask_t, ptick + 1) / 100.0\n            capw = BP['fy'] * wealth / max(phat, 0.005)\n            target = min(BP['ydem'] * min(H, BP['W']) / x, capw)\n            full = min(BP['ydf'] * min(H, BP['Wf']) / x, capw) if phat < BP['pmaxf'] else 0.0\n            t = max(1, min(99, int(math.ceil(ptick + 1e-9))))\n            g = t - ptick\n            if Y < full and g <= BP['g_hi'] and bid_t <= t < ask_t:\n                amt, qam = t, min(BP['qf'], full - Y)     # a tick p has just crossed: nearly free\n            elif Y < target and phat < BP['ammo_pmax'] and bid_t <= t < ask_t and t / 100.0 - phat < BP['ammo_maxpay']:\n                amt, qam = t, min(BP['ammo_q'], target - Y)\n            elif Y < full and t >= 2 and 1.0 - g <= BP['g_lo']:\n                amt, qam = t - 1, min(BP['qf'], full - Y)  # rest just under p: filled only on the crossing, or by retail\n\n        if BP['pre'] > 0 and ca == 2 and phat < 0.01 and H > BP['H1'] and Y < BP['pre'] and not qam and 1.0 - ptick < BP['pre_gap']:\n            amt, qam = 1, min(BP['ammo_q'], BP['pre'] - Y)\n        q1 = 0.0\n        if BP['ydf1'] > 0 and BP['m1'] < ptick < BP['g1'] + 1.0 and amt != 1:\n            q1 = max(0.0, BP['ydf1'] * min(H, BP['Wf']) / (self.s / 100.0) - Y)\n        # order management\n        actions = []\n        free = state.free_cash - 2.0\n        keep_ask = 0.0\n        new_b = []\n        new_a = []\n        def cancel(o):\n            nonlocal free\n            actions.append(CancelOrder(o.order_id))\n            x = o.price_ticks / 100.0\n            if o.side is Side.BUY:\n                free += x * o.remaining_quantity\n            else:\n                free += (1 - x) * min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n            self.ahead.discard(o.order_id)\n            self.res.pop(o.order_id, None)\n        for o in state.own_orders:\n            if o.remaining_quantity <= PROBE + 1e-9:\n                cancel(o)\n        kept_ids = set()\n        def manage(orders, t, q, comp):\n            kept = 0.0\n            for o in orders:\n                if o.price_ticks == t and q > 0 and kept + o.remaining_quantity <= max(q * BP['keep_hi'], 1.0):\n                    kept += o.remaining_quantity\n                    kept_ids.add(o.order_id)\n                else:\n                    cancel(o)\n            return kept\n        kb = manage(bids, bid_t, qb, cb)\n        ka = manage(asks, ask_t, qa, ca)\n        add_b = (qb - kb) if (kb < qb * BP['keep_lo'] and bid_t != cb) else 0.0\n        add_a = (qa - ka) if (ka < qa * BP['keep_lo'] and ask_t != ca) else 0.0\n\n        budget = BP['fb'] * max(free, 0.0)\n        cost = add_b * bid_t / 100.0 + qam * amt / 100.0\n        if cost > budget:\n            f = budget / cost\n            add_b *= f\n            qam *= f\n            cost = budget\n        out = []\n        q1 = min(q1, BP['f1'] * max(budget - cost, 0.0) * 100.0)\n        if q1 >= 0.01:\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=1, quantity=fl(q1)))\n            free -= fl(q1) / 100.0 + 1e-6\n        if amt and qam >= 0.01:\n            q = fl(qam)\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=amt, quantity=q))\n            free -= q * amt / 100.0 + 1e-6\n        if bid_t >= 1 and add_b >= 0.01:\n            q = fl(add_b)\n            oid = self._oid('b')\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=bid_t, quantity=q, client_order_id=oid))\n            free -= q * bid_t / 100.0 + 1e-6\n            if bid_t > cb:\n                self.ahead.add(oid)\n        if ask_t <= 99 and add_a >= 0.01:\n            x = ask_t / 100.0\n            covk = sum(o.remaining_quantity - min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n                       for o in asks if o.order_id in kept_ids)\n            cov = max(0.0, Y - covk - 0.1)\n            unc = max(0.0, add_a - cov)\n            if unc > 0:\n                ub = max(0.0, free - (1 - BP['fu']) * max(state.cash, 0.0)) if x >= BP['xu'] else 0.0\n                if H < BP['Hu'] and phat < 0.05:\n                    ub = max(0.0, free * (1 - H / BP['Hu']))\n                unc = min(unc, ub / (1 - x))\n            q = fl(min(add_a, cov + unc))\n            if q >= 0.01:\n                oid = self._oid('a')\n                out.append(PlaceOrder(side=Side.SELL, price_ticks=ask_t, quantity=q, client_order_id=oid))\n                r = max(0.0, q - cov)\n                self.res[oid] = r\n                free -= r * (1 - x) + 1e-6\n                if ask_t < ca:\n                    self.ahead.add(oid)\n\n        # probes: tiny orders that the arbitrageur removes when p crosses them\n        f = int(math.floor(ptick + 1e-9))\n        r = max(int(BP['rmin']), int(math.ceil(2.0 * s * 100)))\n        self.pb = set()\n        self.pa = set()\n        if free > 1.0:\n            for t in range(f, f + r + 1):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.BUY, price_ticks=t, quantity=PROBE))\n                    self.pb.add(t)\n            for t in range(f + 1 - r, f + 2):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.SELL, price_ticks=t, quantity=PROBE))\n                    self.pa.add(t)\n        self.info = dict(phat=phat, H=H, bid_t=bid_t, ask_t=ask_t, qb=qb, qa=qa, Y=Y, amt=amt, qam=qam)\n        return actions + out\n\n\"\"\"Stale-quote defence with tick probes, a sub-tick belief and YES ammunition.\n\nEvery step the arbitrageur removes any order on the wrong side of p, so tiny\ntwo-sided probes around the estimate locate p to a tick; a grid filter narrows\nthat further.  Quotes sit one tick inside the competitor and are sized by the\nmarginal rule: one more share is worth quoting while the chance a retail order\nreaches it, times its edge, exceeds the expected arbitrage loss.  That rule pulls\nquotes by itself when a move would hurt most.  Near p=0 a retail buy pays almost\nits whole notional as edge, so YES is held to cover low asks.\n\nAdded for the late game: below 4c a large \"trap\" bid rests just under p.  When p\nfalls through that tick the arbitrageur fills it almost at p, so the YES cover\nfor the pinned-near-zero stretch costs about a tenth of a tick a share rather\nthan up to a tick.  Its size follows the remaining retail demand in shares at\nthe larger of the spread and the tick.  Once YES is held, tick 1 is quoted\nrather than left to the competitor.\n\"\"\"\nimport math\nfrom orderbook_pm_challenge.strategy import BaseStrategy\nfrom orderbook_pm_challenge.types import CancelOrder, PlaceOrder, Side\n\nLP = dict(lam_r=0.25, m=5.0, sig_n=1.2, lam_j=0.0019, sig_j=0.35, sig=0.02,\n         qmax=3000.0, rmin=2, kA=0.7, kL=0.15, pL=0.05,\n         ammo=1.0, ydem=0.4, W=200.0, fy=0.6, ammo_q=60.0, ammo_pmax=0.05, ammo_maxpay=0.02,\n         fb=0.9, fu=0.5, xu=0.1, sticky=1.0, min_ahead=2.0, keep_hi=1.5, keep_lo=0.7, Hu=300.0, bins=8.0, filt=1.0, uni=0.01, jumpinfo=1.0, dmin=0.0, kLb=0.08, kLf=0.08, pinf=1.0, pre=1500.0, H1=100.0,\n         trap=1.0, trap_pmax=0.04, trap_c=0.5, trap_W=500.0, trap_m=0.1, trap_q=20000.0, h1y=500.0)\nSQ2 = math.sqrt(2.0)\nSQ2PI = math.sqrt(2.0 * math.pi)\ndef cdf(x): return 0.5 * (1.0 + math.erf(x / SQ2))\ndef pdf(x): return math.exp(-0.5 * x * x) / SQ2PI\ndef inv(p):\n    p = min(max(p, 1e-9), 1 - 1e-9)\n    t = math.sqrt(-2.0 * math.log(min(p, 1 - p)))\n    x = t - (2.515517 + 0.802853 * t + 0.010328 * t * t) / (1 + 1.432788 * t + 0.189269 * t * t + 0.001308 * t ** 3)\n    x = -x if p < 0.5 else x\n    for _ in range(2):\n        d = pdf(x)\n        if d < 1e-12:\n            break\n        x -= (cdf(x) - p) / d\n    return x\ndef lpm(k):\n    return pdf(k) + k * cdf(k)\ndef fl(q):\n    return math.floor(q * 100 + 1e-9) / 100\n\nNODES = [(-2.2, .06), (-1.3, .17), (-0.6, .27), (0.6, .27), (1.3, .17), (2.2, .06)]\nPROBE = 0.01\n\n\nclass LateModel(BaseStrategy):\n    def __init__(self):\n        self.n = 0\n        self.ahead = set()     # main orders placed strictly ahead of any competitor order at their tick\n        self.res = {}          # order id -> uncovered quantity at placement\n        self.bc = None         # belief: sub-tick grid centres (ticks)\n        self.bw = None         # belief: weights\n        self.st = 0.5          # last one-step sd in ticks\n        self.pcb = self.pca = None\n        self.sp0 = 2\n        self.pb = set()\n        self.pa = set()\n\n    def _oid(self, tag):\n        self.n += 1\n        return tag + str(self.n)\n\n    def on_step(self, state):\n        H = max(1, state.steps_remaining)\n        cb = state.competitor_best_bid_ticks or 0\n        ca = state.competitor_best_ask_ticks or 100\n        lo, hi = cb, ca\n        for o in state.own_orders:\n            if o.side is Side.BUY:\n                lo = max(lo, o.price_ticks)\n            else:\n                hi = min(hi, o.price_ticks)\n        if LP['pinf'] > 0:\n            sb = {o.price_ticks for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity <= PROBE + 1e-9}\n            sa = {o.price_ticks for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity <= PROBE + 1e-9}\n            ea = self.pa - sa\n            eb = self.pb - sb\n            if sa and ea:\n                lo = max(lo, min(max(ea), hi))\n            if sb and eb:\n                hi = min(hi, max(min(eb), lo))\n        if LP['jumpinfo'] > 0 and self.pcb is not None:\n            if ca > self.pca + 1:\n                lo = max(lo, ca - 1)\n            if cb < self.pcb - 1:\n                hi = min(hi, cb + 1)\n        if self.pcb is None:\n            self.sp0 = max(1, (ca - cb + 1) // 2) if ca - cb < 20 else 2\n        self.pcb, self.pca = cb, ca\n        if lo > hi:\n            lo, hi = hi, lo\n        # sub-tick belief over p_(t-1): predict with one-step noise, truncate to [lo, hi]\n        wid = max(hi - lo, 1e-6)\n        nb = max(2, min(48, int(round(wid * LP['bins']))))\n        cs = [lo + (i + 0.5) * wid / nb for i in range(nb)]\n        if self.bc is None or LP['filt'] <= 0:\n            ws = [1.0 / nb] * nb\n        else:\n            sg = max(self.st, 0.6 * wid / nb)\n            k = -0.5 / (sg * sg)\n            ws = []\n            uni = LP['uni'] * sg\n            for c in cs:\n                t = uni\n                for ci, wi in zip(self.bc, self.bw):\n                    d = c - ci\n                    d2 = d * d * k\n                    if d2 > -12.5:\n                        t += wi * math.exp(d2)\n                ws.append(t)\n            tot = sum(ws)\n            ws = [w / tot for w in ws]\n        self.bc, self.bw = cs, ws\n        mean_t = sum(c * w for c, w in zip(cs, ws))\n        var_t = max(sum(c * c * w for c, w in zip(cs, ws)) - mean_t * mean_t, 0.0)\n        phat = min(max(mean_t / 100.0, 0.002), 0.998)\n        var = LP['sig'] ** 2 + LP['lam_j'] * LP['sig_j'] ** 2\n        sd = math.sqrt(H * var)\n        z = inv(phat)\n        Z = z * sd\n        sp = pdf(z) / sd * LP['sig']\n        self.st = sp * 100.0\n        s = math.sqrt(sp * sp + var_t / 1e4 + 1e-8)\n        sd1 = math.sqrt(max(1.0, H - 1.0) * var)\n        jp = [(cdf((Z + n * LP['sig_j']) / sd1), w) for n, w in NODES]\n        lj = LP['lam_j']\n\n        def AB(x):\n            k = (x - phat) / s\n            a = s * lpm(k)\n            b = a - (x - phat)\n            ja = sum(w * max(0.0, x - p) for p, w in jp)\n            jb = sum(w * max(0.0, p - x) for p, w in jp)\n            return (1 - lj) * a + lj * ja, (1 - lj) * b + lj * jb\n\n        if H == 1:\n            def AB(x):\n                return (1 - phat) * x, phat * (1 - x)\n        rho = LP['lam_r'] * 0.5\n        mu = math.log(LP['m']) - 0.5 * LP['sig_n'] ** 2\n        kA = LP['kL'] if phat < LP['pL'] else LP['kA']\n\n        def qsize(loss, gain, px):\n            loss *= kA\n            if gain <= 0:\n                return 0.0\n            tail = loss / (rho * gain)\n            if tail >= 1.0:\n                return 0.0\n            return min(LP['qmax'], math.exp(mu + LP['sig_n'] * inv(1 - max(tail, 1e-6))) / px)\n\n        ptk = phat * 100\n        def qbid(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if phat * 100 - t < LP['dmin']:\n                return 0.0\n            if phat < LP['pL']:\n                ytg = LP['ydem'] * min(H, LP['W']) / max(ca - 1, ptk + 1) * 100.0\n                a *= (LP['kLb'] if state.yes_inventory < ytg else LP['kLf']) / LP['kL']\n            return qsize(a, b, max(phat, 0.05))\n\n        def qask(t):\n            if not 1 <= t <= 99:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if t - phat * 100 < LP['dmin']:\n                return 0.0\n            return qsize(b, a, t / 100.0)\n\n        bids = [o for o in state.own_orders if o.side is Side.BUY and o.remaining_quantity > PROBE + 1e-9]\n        asks = [o for o in state.own_orders if o.side is Side.SELL and o.remaining_quantity > PROBE + 1e-9]\n        sticky = LP['sticky'] > 0\n        def top(orders, comp, step):\n            if sticky and sum(o.remaining_quantity for o in orders if o.price_ticks == comp and o.order_id in self.ahead) >= LP['min_ahead']:\n                return comp\n            return comp + step\n        bid_t = top(bids, cb, 1)\n        ask_t = top(asks, ca, -1)\n        qb = qbid(bid_t)\n        qa = qask(ask_t)\n\n        Y = state.yes_inventory\n        if ask_t == 1 and H > LP['H1'] and LP['pre'] > 0 and not (LP['h1y'] > 0 and Y >= LP['h1y']):\n            qa = 0.0          # let the competitor's 2-tick ask erode instead of fronting it for nothing\n        # ammunition: hold YES so that low asks are covered\n        ptick = phat * 100\n        amt = 0\n        qam = 0.0\n        if LP['ammo'] > 0 and ask_t >= 2 and phat < LP['ammo_pmax']:\n            wealth = state.cash + Y * phat\n            x = max(ask_t, ptick + 1) / 100.0\n            target = min(LP['ydem'] * min(H, LP['W']) / x, LP['fy'] * wealth / max(phat, 0.005))\n            if Y < target:\n                t = max(1, min(99, int(math.ceil(ptick + 1e-9))))\n                if bid_t <= t < ask_t and t / 100.0 - phat < LP['ammo_maxpay']:\n                    amt = t\n                    qam = min(LP['ammo_q'], target - Y)\n\n        if LP['pre'] > 0 and ca == 2 and phat < 0.01 and H > LP['H1'] and Y < LP['pre'] and not qam:\n            amt, qam = 1, min(LP['ammo_q'], LP['pre'] - Y)\n        # trap: a bid just under p costs almost nothing when p falls through it\n        trt = 0\n        trq = 0.0\n        if LP['trap'] > 0 and phat < LP['trap_pmax'] and H > 1:\n            trt = int(math.floor(ptick - LP['trap_m']))\n            if trt >= 1 and trt != amt:\n                x = max(self.sp0, trt) / 100.0\n                target = LP['trap_c'] * min(H, LP['trap_W']) / x\n                trq = min(LP['trap_q'], target - Y)\n            if trq < 1.0:\n                trt = 0\n        # order management\n        actions = []\n        free = state.free_cash - 2.0\n        keep_ask = 0.0\n        new_b = []\n        new_a = []\n        def cancel(o):\n            nonlocal free\n            actions.append(CancelOrder(o.order_id))\n            x = o.price_ticks / 100.0\n            if o.side is Side.BUY:\n                free += x * o.remaining_quantity\n            else:\n                free += (1 - x) * min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n            self.ahead.discard(o.order_id)\n            self.res.pop(o.order_id, None)\n        for o in state.own_orders:\n            if o.remaining_quantity <= PROBE + 1e-9:\n                cancel(o)\n        kept_ids = set()\n        def manage(orders, t, q, comp):\n            kept = 0.0\n            for o in orders:\n                if o.price_ticks == t and q > 0 and kept + o.remaining_quantity <= max(q * LP['keep_hi'], 1.0):\n                    kept += o.remaining_quantity\n                    kept_ids.add(o.order_id)\n                else:\n                    cancel(o)\n            return kept\n        kb = manage(bids, bid_t, qb, cb)\n        ka = manage(asks, ask_t, qa, ca)\n        add_b = (qb - kb) if (kb < qb * LP['keep_lo'] and bid_t != cb) else 0.0\n        add_a = (qa - ka) if (ka < qa * LP['keep_lo'] and ask_t != ca) else 0.0\n\n        budget = LP['fb'] * max(free, 0.0)\n        cost = add_b * bid_t / 100.0 + qam * amt / 100.0 + trq * trt / 100.0\n        if cost > budget:\n            f = budget / cost\n            add_b *= f\n            qam *= f\n            trq *= f\n            cost = budget\n        out = []\n        if trt and trq >= 0.01:\n            q = fl(trq)\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=trt, quantity=q))\n            free -= q * trt / 100.0 + 1e-6\n        if amt and qam >= 0.01:\n            q = fl(qam)\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=amt, quantity=q))\n            free -= q * amt / 100.0 + 1e-6\n        if bid_t >= 1 and add_b >= 0.01:\n            q = fl(add_b)\n            oid = self._oid('b')\n            out.append(PlaceOrder(side=Side.BUY, price_ticks=bid_t, quantity=q, client_order_id=oid))\n            free -= q * bid_t / 100.0 + 1e-6\n            if bid_t > cb:\n                self.ahead.add(oid)\n        if ask_t <= 99 and add_a >= 0.01:\n            x = ask_t / 100.0\n            covk = sum(o.remaining_quantity - min(self.res.get(o.order_id, 0.0), o.remaining_quantity)\n                       for o in asks if o.order_id in kept_ids)\n            cov = max(0.0, Y - covk - 0.1)\n            unc = max(0.0, add_a - cov)\n            if unc > 0:\n                ub = max(0.0, free - (1 - LP['fu']) * max(state.cash, 0.0)) if x >= LP['xu'] else 0.0\n                if H < LP['Hu'] and phat < 0.05:\n                    ub = max(0.0, free * (1 - H / LP['Hu']))\n                unc = min(unc, ub / (1 - x))\n            q = fl(min(add_a, cov + unc))\n            if q >= 0.01:\n                oid = self._oid('a')\n                out.append(PlaceOrder(side=Side.SELL, price_ticks=ask_t, quantity=q, client_order_id=oid))\n                r = max(0.0, q - cov)\n                self.res[oid] = r\n                free -= r * (1 - x) + 1e-6\n                if ask_t < ca:\n                    self.ahead.add(oid)\n\n        # probes: tiny orders that the arbitrageur removes when p crosses them\n        f = int(math.floor(ptick + 1e-9))\n        r = max(int(LP['rmin']), int(math.ceil(2.0 * s * 100)))\n        self.pb = set()\n        self.pa = set()\n        if free > 1.0:\n            for t in range(f, f + r + 1):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.BUY, price_ticks=t, quantity=PROBE))\n                    self.pb.add(t)\n            for t in range(f + 1 - r, f + 2):\n                if cb < t < ca and 1 <= t <= 99:\n                    out.append(PlaceOrder(side=Side.SELL, price_ticks=t, quantity=PROBE))\n                    self.pa.add(t)\n        self.info = dict(phat=phat, H=H, bid_t=bid_t, ask_t=ask_t, qb=qb, qa=qa, Y=Y, amt=amt, qam=qam)\n        return actions + out\n\n\nclass Strategy(BaseStrategy):\n    # Two advisors see identical public observations and actual order ledger.\n    def __init__(self):\n        self.base = BaseModel()\n        self.late = LateModel()\n        self.chosen = self.base\n        self.quote_log = []\n    def on_step(self, state):\n        active = {o.order_id for o in state.own_orders}\n        ahead = self.chosen.ahead & active\n        res = {k:v for k,v in self.chosen.res.items() if k in active}\n        pb, pa = self.chosen.pb.copy(), self.chosen.pa.copy()\n        n = max(self.base.n, self.late.n)\n        for model in (self.base, self.late):\n            model.ahead = ahead.copy()\n            model.res = res.copy()\n            model.pb, model.pa = pb.copy(), pa.copy()\n            model.n = n\n        self.ba = self.base.on_step(state)\n        self.la = self.late.on_step(state)\n        p = self.base.info['phat']\n        region = p >= .04 or (.02 <= p < .04 and state.steps_remaining >= 500)\n        use_late = region and self._buy_commitment(state, self.la) <= self._buy_commitment(state, self.ba) + 0.000001\n        self.chosen = self.late if use_late else self.base\n        base_quotes = self._quote_view(state, self.ba)\n        late_quotes = self._quote_view(state, self.la)\n        if base_quotes != late_quotes:\n            self.quote_log.append((state.step, state.steps_remaining,\n                                   self.base.info['phat'], self.base.s,\n                                   base_quotes, late_quotes,\n                                   'late' if use_late else 'base'))\n            if len(self.quote_log) > 64:\n                self.quote_log.pop(0)\n        return self.la if use_late else self.ba\n\n    def _buy_commitment(self, state, actions):\n        live = {o.order_id:o for o in state.own_orders if o.side is Side.BUY}\n        value = sum(o.price_ticks * o.remaining_quantity for o in live.values())\n        for action in actions:\n            if isinstance(action, CancelOrder) and action.order_id in live:\n                o = live.pop(action.order_id)\n                value -= o.price_ticks * o.remaining_quantity\n            elif isinstance(action, PlaceOrder) and action.side is Side.BUY:\n                value += action.price_ticks * action.quantity\n        return max(0.0, value)\n\n    def _quote_view(self, state, actions):\n        # Bounded in-memory audit; no filesystem or simulator-private access.\n        canceled = {a.order_id for a in actions if isinstance(a, CancelOrder)}\n        quotes = {}\n        for o in state.own_orders:\n            if o.order_id not in canceled:\n                key = (o.side.value, o.price_ticks)\n                quotes[key] = quotes.get(key, 0.0) + o.remaining_quantity\n        for a in actions:\n            if isinstance(a, PlaceOrder):\n                key = (a.side.value, a.price_ticks)\n                quotes[key] = quotes.get(key, 0.0) + a.quantity\n        return tuple(sorted((side, tick, round(q, 2))\n                            for (side, tick), q in quotes.items()))\n",
  "code_sha256": "8b326f962def8a0bcf708accf125e026a88691ff61598b76020a16bff1991bd6",
  "tried": [
    "All strategy search used tuning seeds 1000-1599 only; initial screens used 1000-1199. Base verification alone used required seeds 0-599. Mean and paired deltas below are local simulations, not public-leaderboard claims.",
    "Original base verification: 102.331987422326 versus supplied 102.33197908899267 (difference 8.333333326504544e-06); retail matched 127.3199510028995 exactly; Python 3.14.4; 600/600 succeeded.",
    "Parallel --workers 4 was refused with PermissionError creating the multiprocessing Unix socket. Used serial scorer processes for independent experiments; no simulator rules or configuration were changed.",
    "Side-by-side single-file advisers used identical actual public state and actual order/reservation/probe ledgers, with separate belief filters. Effective post-action books differed in 14872 of 200000 callbacks on seeds 1000-1099; all alternative proposals were valid. Each differing proposal was replayed against the same next true probability and retail orders, for diagnostics only.",
    "Immediate edge is insufficient for stock decisions. In a separate continuation experiment on seeds 1000-1199, at most the first three economically different fill events per run were branched and continued with the base to settlement: 234 branches across 98 runs. At p=2-4c, late-minus-base continuation edge per selected event was +3.190703158018601 for H>=500 (n=43), and -1.4809371613940006 for H<500 (n=50). These conditional event deltas are not strategy mean gains.",
    "Same-next-step diagnostic, ask_quantity: 55 disagreements; late-minus-base immediate edge per simulation 0.006419376298000321; paired SE 0.0052481072747740335. Does not include delayed stock value.",
    "Same-next-step diagnostic, boundary_belief: 2409 disagreements; late-minus-base immediate edge per simulation -1.5282283935170025; paired SE 0.6185421160796273. Does not include delayed stock value.",
    "Same-next-step diagnostic, higher_trap_price: 3093 disagreements; late-minus-base immediate edge per simulation -5.43601922426; paired SE 1.1261661957887288. Does not include delayed stock value.",
    "Same-next-step diagnostic, one_cent_ask_gate: 5 disagreements; late-minus-base immediate edge per simulation 0.04824616905499998; paired SE 0.05398486073708827. Does not include delayed stock value.",
    "Same-next-step diagnostic, other_quote_or_probe: 61 disagreements; late-minus-base immediate edge per simulation 0.0045672893280004345; paired SE 0.00456732706887916. Does not include delayed stock value.",
    "Same-next-step diagnostic, tick_one_stock_size: 9249 disagreements; late-minus-base immediate edge per simulation -18.816880264221; paired SE 3.62054030467336. Does not include delayed stock value.",
    "Tick-one stock bid lower probability bound 3.0c: mean 101.2999934731875, paired delta -10.1319136677425, n=200 from seed 1000; failures 0.",
    "Tick-one stock bid lower probability bound 2.0c: mean 102.08195337034351, paired delta -9.3499537705865, n=200 from seed 1000; failures 0.",
    "Unchanged original late-game strategy: mean 101.18698260460917, paired delta -6.057226619142333, n=600 from seed 1000; failures 0. Remaining-400 paired delta -7.607371318704249.",
    "Tick-one stock target coefficient 0.3: mean 106.70337364038551, paired delta -4.7285335005445, n=200 from seed 1000; failures 0.",
    "At H>100 suppress tick-one asks unless YES>=1000000000: mean 107.6682022998885, paired delta -3.7637048410415, n=200 from seed 1000; failures 0.",
    "Use 500-step ammunition horizon and 0.5 tick-one stock coefficient: mean 108.59625482705451, paired delta -2.8356523138755008, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02; base otherwise: mean 108.697669903834, paired delta -2.734237237096001, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and H >= 300; base otherwise: mean 108.96426062704501, paired delta -2.467646513885001, n=200 from seed 1000; failures 0.",
    "Tick-one stock target coefficient 0.4: mean 109.040889987011, paired delta -2.3910171539190004, n=200 from seed 1000; failures 0.",
    "Disable base below-tick decay and lone tick-one eaten-probe update: mean 109.2453464218295, paired delta -2.186560719100502, n=200 from seed 1000; failures 0.",
    "Replace tick-one stocking with the smaller 500-step near-probability trap: mean 109.3299120216145, paired delta -2.1019951193155, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and H >= 500; base otherwise: mean 109.41566856389099, paired delta -2.0162385770390014, n=200 from seed 1000; failures 0.",
    "Disable only below-tick probability decay: mean 109.839530181643, paired delta -1.5923769592870005, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and spread >= 2; base otherwise: mean 110.02790838720449, paired delta -1.4039987537255008, n=200 from seed 1000; failures 0.",
    "Disable only lone tick-one eaten-probe update: mean 110.0420344613545, paired delta -1.389872679575501, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and spread == 1; base otherwise: mean 110.1016686575595, paired delta -1.3302384833705003, n=200 from seed 1000; failures 0.",
    "Use smaller trap only on spread 1: mean 110.1445839871795, paired delta -1.2873231537505, n=200 from seed 1000; failures 0.",
    "Elect late proposal when (.01 <= p < .02 and H >= 500) or p >= .04; base otherwise: mean 110.145791059685, paired delta -1.286116081245, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and H >= 1000; base otherwise: mean 110.31543380797301, paired delta -1.1164733329570007, n=200 from seed 1000; failures 0.",
    "Use smaller trap only at H>=500: mean 110.3333285740635, paired delta -1.0985785668665002, n=200 from seed 1000; failures 0.",
    "Use 1000-step ammunition horizon and 0.5 tick-one stock coefficient: mean 110.3632764169575, paired delta -1.0686307239725004, n=200 from seed 1000; failures 0.",
    "Use smaller trap only at H<500: mean 110.486123336725, paired delta -0.9457838042049995, n=200 from seed 1000; failures 0.",
    "Use smaller trap only on spreads >=2: mean 110.61723517536501, paired delta -0.8146719655650003, n=200 from seed 1000; failures 0.",
    "Scale stock target by min(1, abs(probit(p))/abs(probit(.01)))^2.0: mean 110.64407667749299, paired delta -0.7878304634369995, n=200 from seed 1000; failures 0.",
    "Tick-one stock bid lower probability bound 0.0c: mean 110.68329698027951, paired delta -0.7486101606505003, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and H < 500; base otherwise: mean 110.88911942018599, paired delta -0.5427877207439995, n=200 from seed 1000; failures 0.",
    "Scale stock target by min(1, abs(probit(p))/abs(probit(.01)))^1.0: mean 111.031636504294, paired delta -0.40027063663600027, n=200 from seed 1000; failures 0.",
    "At H>100 suppress tick-one asks unless YES>=10000: mean 111.062749863638, paired delta -0.369157277292, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .04 and YES >= .5 * min(H,500) * 100 / spread; base otherwise: mean 111.10669209966751, paired delta -0.3252150412624993, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and YES >= .5 * min(H,500) * 100 / spread; base otherwise: mean 111.149058150252, paired delta -0.28284899067799957, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .01 <= p < .02 and free_cash < 400; base otherwise: mean 111.18380078262, paired delta -0.24810635830999922, n=200 from seed 1000; failures 0.",
    "Scale stock target by min(1, abs(probit(p))/abs(probit(.01)))^0.5: mean 111.235077679246, paired delta -0.19682946168399912, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .04 and spread == 4; base otherwise: mean 107.06447926949033, paired delta -0.179729954261167, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.37661640739950003.",
    "Tick-one stock bid lower probability bound 0.5c: mean 111.2827152760195, paired delta -0.14919186491050013, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .04 and H >= 500 and spread == 4; base otherwise: mean 107.19940857956884, paired delta -0.04480064418266702, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.2220859080835001.",
    "At H>100 suppress tick-one asks unless YES>=2000: mean 111.43190714093, paired delta 0.0, n=200 from seed 1000; failures 0.",
    "At H>100 suppress tick-one asks unless YES>=0.25*H*100: mean 111.43190714093, paired delta 0.0, n=200 from seed 1000; failures 0.",
    "At H>100 suppress tick-one asks unless YES>=5000: mean 111.43190714093, paired delta 0.0, n=200 from seed 1000; failures 0.",
    "Suppress tick-one asks with YES<5000 when H>500: mean 111.43190714093, paired delta 0.0, n=200 from seed 1000; failures 0.",
    "Suppress tick-one ask at H>100 unless YES>=500: mean 111.43190714093, paired delta 0.0, n=200 from seed 1000; failures 0.",
    "Unchanged original base: mean 107.2442092237515, paired delta 0.0, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.0.",
    "Elect late proposal when .02 <= p < .04; base otherwise: mean 107.24441474102866, paired delta 0.00020551727716632237, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.13398409274125042.",
    "Elect late proposal when .02 <= p < .04 and spread >= 3 and YES >= .5 * min(H,500) * 100 / spread; base otherwise: mean 111.438016075167, paired delta 0.0061089342369994885, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .04 and YES < .5 * min(H,500) * 100 / spread; base otherwise: mean 107.284573425546, paired delta 0.04036420179449972, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.08590616510324994.",
    "Tick-one stock bid only below 4.0c: mean 107.29440705590551, paired delta 0.05019783215399995, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.02821230777449992.",
    "Elect late proposal when .02 <= p < .04 and H >= 500 and spread >= 3; base otherwise: mean 107.30991568951016, paired delta 0.06570646575866623, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.14232213858075035.",
    "Elect late proposal when .02 <= p < .04 and spread >= 3 and YES < 2000; base otherwise: mean 111.499916463478, paired delta 0.06800932254799912, n=200 from seed 1000; failures 0.",
    "Elect late proposal when p >= .04 or (.02 <= p < .04 and spread >= 3); base otherwise: mean 107.32398655379016, paired delta 0.07977733003866665, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.3061494991149995.",
    "On spread 1 only, tick-one stock bid restricted below 3c: mean 107.32460490147733, paired delta 0.08039567772583335, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.015154964278499999.",
    "On spread 1 only, tick-one stock bid restricted below 4c: mean 107.33138883779434, paired delta 0.08717961404283335, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.025330868754000004.",
    "Tick-one stock bid only below 3.0c: mean 107.34370490383749, paired delta 0.09949568008599996, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.04552051418650007.",
    "Elect late proposal when .02 <= p < .04 and spread >= 3 and YES < .5 * min(H,500) * 100 / spread; base otherwise: mean 111.589997056214, paired delta 0.15808991528399832, n=200 from seed 1000; failures 0.",
    "Elect late proposal when p >= .04 or (.02 <= p < .04 and spread == 4); base otherwise: mean 107.40616503458067, paired delta 0.16195581082916663, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.23706351040849952.",
    "Elect late proposal when .02 <= p < .04 and H >= 1000; base otherwise: mean 111.598725324586, paired delta 0.16681818365600015, n=200 from seed 1000; failures 0.",
    "On spread 1 only, tick-one stock bid restricted below 2c: mean 111.61506555577151, paired delta 0.18315841484150003, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .03 and H >= 500; base otherwise: mean 107.43116161877383, paired delta 0.1869523950223331, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.05902845721700003.",
    "Elect late proposal when .02 <= p < .04 and spread >= 3; base otherwise: mean 111.62900304034099, paired delta 0.1970958994109992, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .04 and H >= 800; base otherwise: mean 111.6305687271975, paired delta 0.19866158626749986, n=200 from seed 1000; failures 0.",
    "Elect late proposal when .02 <= p < .04 and H >= 300; base otherwise: mean 107.46074080030367, paired delta 0.21653157655216626, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.1541403913129994.",
    "Use late-game uncovered-ask cash allowance fu=0.5 in base: mean 107.46519737537834, paired delta 0.2209881516268332, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.07791752973324989.",
    "merged: mean 107.53492136380983, paired delta 0.29071214005833285, n=600 from seed 1000; failures 0. Remaining-400 paired delta -0.0489697021840005.",
    "Elect late proposal when p >= .04; base otherwise: mean 107.55262014259817, paired delta 0.3084109188466667, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.08063359889925024.",
    "Elect late proposal when .02 <= p < .04 and H >= 500; base otherwise: mean 107.65467697586017, paired delta 0.4104677521086662, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.2629032577419994.",
    "Tick-one stock bid only below 2.0c: mean 107.74234256393616, paired delta 0.4981333401846667, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.6621133569967502.",
    "Elect late proposal when .02 <= p < .04; late total bid commitment <= base; base otherwise: mean 107.78989760291417, paired delta 0.5456883791626668, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.7389442910672499.",
    "Elect late proposal when .02 <= p < .04 and H >= 500; late total bid commitment <= base; base otherwise: mean 107.81846483116483, paired delta 0.5742556074133331, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.7361374408912497.",
    "Elect late proposal when .02 <= p < .04 and H >= 500; base otherwise; base adviser also uses fu=0.5: mean 107.87968264750783, paired delta 0.6354734237563329, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.3562556941387493.",
    "Combine below-2c tick-one stock restriction with fu=0.5: mean 107.956207145997, paired delta 0.7119979222455, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.7379271776049999.",
    "Elect late proposal when p >= .04 or (.02 <= p < .04 and H >= 500); base otherwise: mean 107.98723160619667, paired delta 0.7430223824451658, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.45923060519299896.",
    "Elect late proposal when p >= .04 or (.02 <= p < .04); late total bid commitment <= base; base otherwise: mean 108.19209096149616, paired delta 0.9478817377446663, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.9853161989559994.",
    "Elect late proposal when p >= .04 or (.02 <= p < .04 and H >= 500); late total bid commitment <= base; base otherwise: mean 108.21374422633767, paired delta 0.969535002586166, n=600 from seed 1000; failures 0. Remaining-400 paired delta 0.9859277998684989.",
    "Audit regression on tuning seeds 1000-1004: identical returned actions across 10000 callbacks against the unlogged voter; 100 cancellation-only quote checks passed. A real tuning run retained exactly 64 differing quote records, confirming the bounded log.",
    "Final sandbox check on tuning seeds 1000-1019: 20/20 passed; starter also passed 20/20. Python 3.14.4.",
    "Frozen holdout decomposition: retail mean 124.43444071615583, arbitrage mean -28.33757968537167; candidate and base both evaluated once on seeds 30000-30599 after code freeze.",
    "After freezing, comparison only: base holdout mean 96.04052032617767; frozen voter paired holdout gain 0.056340704598667295 with paired standard error 0.23682551783950723. No code selection or tuning used holdout results.",
    "Best final frozen file: tuning mean 108.21374422633767, paired gain 0.969535002586166 (paired standard error 0.3909064991946845); holdout mean 96.09686103077634; zero failures in both 600-simulation batches. Code SHA256 8b326f962def8a0bcf708accf125e026a88691ff61598b76020a16bff1991bd6."
  ],
  "next": "First decompose the near-neutral holdout delta across low-price stock purchases and mid-price ask collateral. Test a guard limited to extra stock orders and a per-run estimate of retail demand on fresh tuning and holdout seeds; use the observed holdout result as evidence that the tuning lift alone is insufficient."
}