{"approach":"The delivered strategy is the verified base unchanged. Late native graft comparisons did not finish 600 runs before the scoring cutoff, so they were discarded and no improvement over the base is claimed. The independent opposite strategy placed selective one-sided asks at competitor prices, never bought YES, used no fair-value center, accepted directional NO inventory, and retained orders through competitor replenishments; its best full-training mean was 6.829995035887166. Paired experiments isolated a retail queue-priority benefit, but late inspection found that the base already retains orders. Native experiments therefore targeted earlier uncovered low-price selling and joining the competitor ask. The final base code was frozen before its final training and untouched holdout evaluation.","blocked":null,"python_version":"3.12.3","base_mean_edge":102.33197908899267,"score":{"mean_edge":107.2442092237515,"retail_edge":135.80165652288784,"arb_edge":-28.557447299150834,"simulations":600,"seed_start":1000,"failures":0},"holdout":{"mean_edge":96.0405203261775,"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\nP = 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 Strategy(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 P['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) <= P['p1t']):\n                hi = min(hi, max(min(eb), lo))\n        if P['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 * P['bins']))))\n        cs = [lo + (i + 0.5) * wid / nb for i in range(nb)]\n        if self.bc is None or P['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 = P['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 = P['sig'] ** 2 + P['lam_j'] * P['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 P['zd'] > 0:\n            # below the last tick there is no probe: the score keeps walking away from it\n            phat = min(phat, max(P['pfl'], cdf(inv(0.01) - P['zd'] * 0.02 * math.sqrt(self.tb) / sd)))\n        z = inv(phat)\n        Z = z * sd\n        sp = pdf(z) / sd * P['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 * P['sig_j']) / sd1), w) for n, w in NODES]\n        lj = P['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 = P['lam_r'] * 0.5\n        mu = math.log(P['m']) - 0.5 * P['sig_n'] ** 2\n        kA = P['kL'] if phat < P['pL'] else P['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(P['qmax'], math.exp(mu + P['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 < P['dmin']:\n                return 0.0\n            if P['nb1'] > 0 and self.s == 1 and t == 1 and ptk < 1.0:\n                return 0.0\n            if phat < P['pL']:\n                ytg = P['ydem'] * min(H, P['W']) / max(ca - 1, ptk + 1) * 100.0\n                a *= (P['kLb'] if state.yes_inventory < ytg else P['kLf']) / P['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 < P['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 = P['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) >= P['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 > P['H1'] and P['pre'] > 0:\n            qa = qa if Y >= P['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 P['ammo'] > 0 and ask_t >= 2 and phat < max(P['ammo_pmax'], P['pmaxf']):\n            wealth = state.cash + Y * phat\n            x = max(ask_t, ptick + 1) / 100.0\n            capw = P['fy'] * wealth / max(phat, 0.005)\n            target = min(P['ydem'] * min(H, P['W']) / x, capw)\n            full = min(P['ydf'] * min(H, P['Wf']) / x, capw) if phat < P['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 <= P['g_hi'] and bid_t <= t < ask_t:\n                amt, qam = t, min(P['qf'], full - Y)     # a tick p has just crossed: nearly free\n            elif Y < target and phat < P['ammo_pmax'] and bid_t <= t < ask_t and t / 100.0 - phat < P['ammo_maxpay']:\n                amt, qam = t, min(P['ammo_q'], target - Y)\n            elif Y < full and t >= 2 and 1.0 - g <= P['g_lo']:\n                amt, qam = t - 1, min(P['qf'], full - Y)  # rest just under p: filled only on the crossing, or by retail\n\n        if P['pre'] > 0 and ca == 2 and phat < 0.01 and H > P['H1'] and Y < P['pre'] and not qam and 1.0 - ptick < P['pre_gap']:\n            amt, qam = 1, min(P['ammo_q'], P['pre'] - Y)\n        q1 = 0.0\n        if P['ydf1'] > 0 and P['m1'] < ptick < P['g1'] + 1.0 and amt != 1:\n            q1 = max(0.0, P['ydf1'] * min(H, P['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 * P['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 * P['keep_lo'] and bid_t != cb) else 0.0\n        add_a = (qa - ka) if (ka < qa * P['keep_lo'] and ask_t != ca) else 0.0\n\n        budget = P['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, P['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 - P['fu']) * max(state.cash, 0.0)) if x >= P['xu'] else 0.0\n                if H < P['Hu'] and phat < 0.05:\n                    ub = max(0.0, free * (1 - H / P['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(P['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        return actions + out\n","code_sha256":"d68e658732b99a47eb8004f684319f0bc3dc286fe52a066ab019442f8c91aac2","tried":["Scorer calibration: base mean edge 102.33197908899267 on seeds 0-599, 600 simulations, zero failures; exactly matches the supplied 102.33197908899267. Simulator revision b244530ee2a6247b5f930830eeca9dd950da0e7e.","Five obvious choices rejected: two-sided quoting; improving the competitor price; a continuously estimated fair-value center; inventory neutrality; continuous participation. Fresh orders were one-sided, placed at or behind competitor prices, state-gated, and intentionally accumulated directional inventory.","Fresh isolation: base code extracted and scored without inspection; earlier artifacts were not read. All independent search and oracle work used only seeds 1000-1599. Holdout 30000-30599 remained unopened during search.","Oracle method: next probability, exact retail orders and hidden depth exposed in scratch; optimize each order on a fixed competitor-only tape with unlimited collateral. These are conditional optimistic screens, not proved global policy upper bounds. 600 seeds 1000-1599.","Oracle join_ask: 22.062575962886555 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle behind_ask_1: 7.921491205121976 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle behind_ask_3: 2.195667089876861 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle high_ask_90: 0.18607899891979357 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle ask_absent: 0.056746911165492575 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle late_ask: 7.489453675687361 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle large_buy_tail: 7.504315124476334 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle after_down_move: 0.5858456903904241 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle wide_gap_ask: 3.288241413844076 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle join_bid_nonextreme: 2.8822674013787815 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle behind_bid_nonextreme: 1.1904685076532735 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Oracle ask_queue_priority: 162.4863530083795 mean optimistic edge; fixed competitor-only tape, 600 training simulations.","Cash-constrained clairvoyant ask_same_or_worse: 12.984001924682813 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Cash-constrained clairvoyant ask_low: 9.548382288792189 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Cash-constrained clairvoyant ask_high: 0.1072766932109375 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Cash-constrained clairvoyant ask_late: 5.119362799860937 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Cash-constrained clairvoyant ask_behind: 5.82178858739375 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Cash-constrained clairvoyant ask_large_only: 10.089305273484374 mean edge on 64 training simulations starting 1000; feasible greedy benchmark, not a proof of optimality.","Fixed small sell ladder: best screen -4.046442805984375 on 32 seeds starting 1000, 0 failures; selected parameters {\"DEPTH\": 1, \"PERIOD\": 4, \"QUANTITY\": 3}. Screening scores are not full-training or holdout results.","Long-lived sell ladder without entry gating: best screen -1.98945409796875 on 64 seeds starting 1032, 0 failures; selected parameters {\"AGE\": 2000, \"CANCEL_BELOW\": 100, \"DEPTH\": 4, \"MAX_ASK\": 98, \"MIN_ASK\": 75, \"PERIOD\": 8, \"QUANTITY\": 10}. Screening scores are not full-training or holdout results.","Observable quote-age and direction gating: best screen 0.1507154566275 on 40 seeds starting 1100, 0 failures; selected parameters {\"MIN_GAP\": 1, \"MODE\": 1, \"QUANTITY\": 5.0, \"WAIT\": 50}. Screening scores are not full-training or holdout results.","Late-only and extreme-price gating: best screen 0.31256592397578126 on 128 seeds starting 1400, 0 failures; selected parameters {\"MAX_ASK\": 15, \"MIN_ASK\": 1, \"MIN_GAP\": 3, \"MODE\": 1, \"QUANTITY\": 10.0, \"WAIT\": 50}. Screening scores are not full-training or holdout results.","Entry-only gating with persistent orders: best screen 0.21096167274921876 on 128 seeds starting 1000, 0 failures; selected parameters {\"MIN_GAP\": 1, \"MODE\": 1, \"PERIOD\": 4, \"QUANTITY\": 5, \"TTL\": 2000, \"WAIT\": 50}. Screening scores are not full-training or holdout results.","Low-price YES shorts without YES purchases: best screen 6.423087504136 on 100 seeds starting 1000, 0 failures; selected parameters {\"MAX_ASK\": 5, \"MIN_GAP\": 1, \"MODE\": 1, \"PERIOD\": 4, \"QUANTITY\": 400.0, \"START\": 0, \"WAIT\": 25}. Screening scores are not full-training or holdout results.","Missing-bid cash-fraction allocation: best screen 7.114776872257813 on 128 seeds starting 1200, 0 failures; selected parameters {\"MAX_ASK\": 5, \"MAX_QUANTITY_CASH\": 1.0, \"MIN_GAP\": 1, \"MODE\": 1, \"PERIOD\": 4, \"QUANTITY\": 10000.0, \"START\": 0, \"WAIT\": 0}. Screening scores are not full-training or holdout results.","Reserve collateral for higher low-price asks: best screen 4.347674627547001 on 200 seeds starting 1400, 0 failures; selected parameters {\"CASH_FLOOR\": 0.0, \"MAX_ASK\": 8, \"MAX_QUANTITY_CASH\": 0.5, \"MIN_ASK\": 2, \"MIN_GAP\": 1, \"MODE\": 1, \"PERIOD\": 4, \"PRICE_FRACTION\": false, \"QUANTITY\": 10000.0, \"START\": 0, \"WAIT\": 0}. Screening scores are not full-training or holdout results.","Shallow tree learned from counterfactual execution edge: best screen 5.237776018395312 on 128 seeds starting 1200, 0 failures; selected parameters {\"ENTRY_ONLY\": true, \"QUANTITY\": 100.0, \"THRESHOLD\": 0.0, \"TTL\": 100}. Screening scores are not full-training or holdout results.","Deeper execution-edge tree: best screen 5.41801288405625 on 128 seeds starting 1200, 0 failures; selected parameters {\"ENTRY_ONLY\": true, \"QUANTITY\": 100.0, \"THRESHOLD\": 0.0005, \"TTL\": 100}. Screening scores are not full-training or holdout results.","Simple missing-bid survival and temporary size cap: best screen 5.479545571504 on 200 seeds starting 1400, 0 failures; selected parameters {\"FINAL_CAP\": 25, \"HIGH_BID\": 0, \"LOW_BID\": 0, \"QUANTITY\": 300, \"TTL\": 100}. Screening scores are not full-training or holdout results.","Late-window exposure caps: best screen 3.8870797092115 on 200 seeds starting 1400, 0 failures; selected parameters {\"FINAL_CAP\": 25, \"FINAL_SCALE\": false, \"FINAL_STEPS\": 50, \"MAX_ASK\": 5, \"MAX_QUANTITY_CASH\": 1.0, \"MIN_GAP\": 1, \"MODE\": 1, \"PERIOD\": 4, \"QUANTITY\": 500, \"START\": 0, \"WAIT\": 0}. Screening scores are not full-training or holdout results.","Expanded quote-age validation: best screen 1.778865039424375 on 160 seeds starting 1200, 0 failures; selected parameters {\"MIN_GAP\": 1, \"MODE\": 1, \"QUANTITY\": 50.0, \"WAIT\": 50}. Screening scores are not full-training or holdout results.","Opposite-boundary expensive YES buys: best screen 1.06961445881125 on 160 seeds starting 1200, 0 failures; selected parameters {\"KEEP\": true, \"MIN_BID\": 90, \"QUANTITY\": 100.0, \"WAIT\": 0}. Screening scores are not full-training or holdout results.","FIFO causal control, same price/remaining quantity/expiry: retaining gives 0.7832660243086668 paired mean improvement, paired standard error 0.08323598415534711 over reposting, 600 training runs; retail change 0.7890179602143335, arb change -0.005751935905666661.","Exact-price retention and partial top-ups had no effect when the standalone strategy immediately followed changed competitor quotes: replacement, exact retention and partial retention each scored 1.7230715215616665 on 600 training runs, zero failures. Persistent quote prices are needed for the observed queue mechanism.","Simple survival ablation survival-repost-control: 4.486479741695667 mean; original minus ablation 1.5323436222048334 with paired SE 0.1784171904706497, 600 training runs, 0 failures.","Simple survival ablation survival-no-final-cap: 6.328267044958666 mean; original minus ablation -0.3094436810581667 with paired SE 0.5347211959808387, 600 training runs, 0 failures.","Starter sandbox check: 20/20 simulations failed before strategy loading on Python 3.12.3 with ImportError: Import of 'ntpath' is not allowed in sandbox mode. Ordinary scoring and --workers 4 work.","Initial intermittent behind-ask opposite strategy: -2.647103446803125 on 32 training simulations starting 1000, zero failures.","Independent full-training treepolicy-5000-5: mean 4.489737888935666, retail 5.198383546690667, arb -0.708645657755, 600 seeds 1000-1599, failures 0.","Independent full-training absent1: mean 2.2551832343440004, retail 6.548700401275, arb -4.293517166930999, 600 seeds 1000-1599, failures 0.","Independent full-training short1: mean 4.395001368152333, retail 5.7136383791680005, arb -1.3186370110156667, 600 seeds 1000-1599, failures 0.","Independent full-training pricebudget1: mean 3.770509033528833, retail 5.923421793486167, arb -2.152912759957333, 600 seeds 1000-1599, failures 0.","Independent full-training survival1: mean 6.018823363900499, retail 6.5554958380215, arb -0.536672474121, 600 seeds 1000-1599, failures 0.","Independent full-training capped1: mean 4.5872662472555, retail 5.4548773040234995, arb -0.867611056768, 600 seeds 1000-1599, failures 0.","Independent full-training gate2: mean 1.4799122075391666, retail 1.7883861036578332, arb -0.30847389611866666, 600 seeds 1000-1599, failures 0.","Independent full-training survival-no-final-cap: mean 6.328267044958666, retail 7.584670859136333, arb -1.2564038141776666, 600 seeds 1000-1599, failures 0.","Independent full-training survival2: mean 6.680087204516334, retail 7.6019652197130005, arb -0.9218780151966667, 600 seeds 1000-1599, failures 0.","Independent full-training survival3: mean 6.829995035887166, retail 7.7498307111501665, arb -0.919835675263, 600 seeds 1000-1599, failures 0.","Independent full-training topup1: mean 6.699666458746833, retail 7.6453803032605006, arb -0.9457138445136667, 600 seeds 1000-1599, failures 0.","Full-training survival2 best: 6.680087204516334, parameters {\"FINAL_CAP\": 25, \"HIGH_BID\": 0, \"LOW_BID\": 0, \"PERIOD\": 4, \"QUANTITY\": 600, \"TTL\": 250}, 600 seeds 1000-1599, zero failures.","Full-training survival3 best: 6.829995035887166, parameters {\"FINAL_CAP\": 25, \"HIGH_BID\": 0, \"LOW_BID\": 0, \"PERIOD\": 4, \"QUANTITY\": 600, \"TTL\": 2000}, 600 seeds 1000-1599, zero failures.","Full-training topup1 best: 6.699666458746833, parameters {\"FINAL_CAP\": 25, \"HIGH_BID\": 0, \"LOW_BID\": 0, \"PERIOD\": 4, \"QUANTITY\": 600, \"REFILL_AT\": 1.0, \"TTL\": 250}, 600 seeds 1000-1599, zero failures.","Retention/collateral adapters passed 30000 randomized mixed-portfolio/order-ID cases after repairing an explicitly reused order-ID collision; sidecar/cap checks passed another 20000 cases. These are safety checks, not simulation score samples.","Frozen selection used 0 fully completed eligible training comparisons; 11 unfinished comparisons were discarded at the scoring cutoff and are not performance claims.","Interrupted native diagnostic adapt-join-all-train: 463 completed matched training runs, seeds 1000-1462, paired edge delta versus base -51.976953848500656 (paired SE 4.748442665875093). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-join-covered-train: 468 completed matched training runs, seeds 1000-1467, paired edge delta versus base -52.23974815233312 (paired SE 4.753071573155226). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-join100-train: 467 completed matched training runs, seeds 1000-1466, paired edge delta versus base -0.07921061074197003 (paired SE 0.04085748046490638). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-join300-train: 466 completed matched training runs, seeds 1000-1465, paired edge delta versus base -0.4213893788787553 (paired SE 0.10633363031543093). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-join600-train: 466 completed matched training runs, seeds 1000-1465, paired edge delta versus base -0.05332124370493569 (paired SE 0.03703781703526747). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-mint100-train: 468 completed matched training runs, seeds 1000-1467, paired edge delta versus base 0.0 (paired SE 0.0). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-mint300-train: 466 completed matched training runs, seeds 1000-1465, paired edge delta versus base 0.0 (paired SE 0.0). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-mint600-train: 464 completed matched training runs, seeds 1000-1463, paired edge delta versus base 0.0 (paired SE 0.0). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-native-cap100-train: 410 completed matched training runs, seeds 1000-1409, paired edge delta versus base -3.78892381685244 (paired SE 2.217406278751608). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Interrupted native diagnostic adapt-native-cap250-train: 406 completed matched training runs, seeds 1000-1405, paired edge delta versus base -4.769177399822413 (paired SE 1.9339144947541784). Not a 600-run candidate; omitted from selection and never evaluated on holdout.","Base inspection in the last half hour found existing native order retention and per-order collateral accounting. Generic retention/sidecar wrappers requiring CancelAll were no-ops; generic post-placement cap wrappers were excluded from selection for accounting incompatibility. Native grafts instead change sizing before base order management or extend its uncovered-ask budget.","Final --sandbox check: 20/20 fail before loading the strategy with ImportError: Import of 'ntpath' is not allowed in sandbox mode; starter also fails 20/20 identically on Python 3.12.3. Ordinary final training and holdout runs each have zero failures.","Selected frozen base: training 107.2442092237515, retail 135.80165652288784, arb -28.557447299150834; untouched holdout 96.0405203261775; 600 simulations each, zero failures. Code was selected on training results and not changed after observing holdout."],"next":"Test a small, separately accounted ask rung at the competitor price alongside the base's inside ask, rather than replacing that inside ask. Preserve the second rung through competitor replenishments and first verify spare covered YES inventory. The completed prefixes showed extra-collateral gates had no effect and broad join-at-ask replacement was harmful; the second-rung idea remains untested. Keep native reserve bookkeeping correct and evaluate a frozen version on a new holdout."}