{
  "approach": "Spread 3 only: split each auxiliary cover bid (qam) at tick >=2 into two share-quantized halves; leave the first at its original tick and place the remainder one tick lower. This cuts size immediately in the path of a downward move while retaining the inventory acquisition opportunity. Original cash budget remains conservative. Main-quote sizing rules, the tick-1 inventory target and the existing spread-specific blocks are unchanged; other spreads have identical complete run results. Selected on 959 choosing runs, validated on 979 unused choosing runs, then frozen before 2020 confirming spread-3 runs. Prefer the simple split's consistent quarter gains and low dispersion over the noisier combination; constants were not swept or fitted.",
  "blocked": null,
  "spread": 3,
  "base_mean_edge": 108.63974289615767,
  "found": [
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:01 cents; per-run shares resting on actual jump steps=1610.2942208462352, shares crossed by jump and taken=233.78332817337406, jump arb edge=-1.2145653674785541, nonjump arb edge=-2.1791924094900064, retail edge on same band/side orders=1.1899103535086792, retail shares=165.85847781217768",
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:02-05 cents; per-run shares resting on actual jump steps=72.48384932920547, shares crossed by jump and taken=30.588673890608902, jump arb edge=-0.4509037503518503, nonjump arb edge=-4.909599944495336, retail edge on same band/side orders=4.848761308956952, retail shares=477.0704592363254",
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:06-10 cents; per-run shares resting on actual jump steps=20.873952528379775, shares crossed by jump and taken=7.899969040247677, jump arb edge=-0.27130193797723695, nonjump arb edge=-0.7291248287133786, retail edge on same band/side orders=3.437582323543048, retail shares=210.32063467492318",
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:11-25 cents; per-run shares resting on actual jump steps=22.77020639834881, shares crossed by jump and taken=9.28549535603715, jump arb edge=-0.5762813608302537, nonjump arb edge=-0.7244334245924674, retail edge on same band/side orders=5.568241554511049, retail shares=272.1470330237355",
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:26-75 cents; per-run shares resting on actual jump steps=30.15529927760578, shares crossed by jump and taken=13.08987616099071, jump arb edge=-1.41076937055021, nonjump arb edge=-1.5183312301475365, retail edge on same band/side orders=10.10451207057179, retail shares=438.43848813209377",
    "Unchanged start, all 1938 choosing spread-3 runs, BUY:76-99 cents; per-run shares resting on actual jump steps=22.471775025799783, shares crossed by jump and taken=4.86123323013416, jump arb edge=-0.47421256733748984, nonjump arb edge=-0.19491929720429005, retail edge on same band/side orders=5.052315773802699, retail shares=210.01277089783287",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:01 cents; per-run shares resting on actual jump steps=0.0031785345717234284, shares crossed by jump and taken=0.0006140350877192985, jump arb edge=-3.6431878911327375e-05, nonjump arb edge=-0.0007333913857037669, retail edge on same band/side orders=0.0012725794546309102, retail shares=0.16568111455109216",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:02-05 cents; per-run shares resting on actual jump steps=749.2458101135195, shares crossed by jump and taken=60.514262125903, jump arb edge=-5.326092807700772, nonjump arb edge=-0.5025559172685229, retail edge on same band/side orders=90.20918221871015, retail shares=3378.305330237371",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:06-10 cents; per-run shares resting on actual jump steps=54.23796181630551, shares crossed by jump and taken=19.960552115583088, jump arb edge=-1.6402861955508663, nonjump arb edge=-0.28514487896667595, retail edge on same band/side orders=11.893277910949804, retail shares=518.9350619194998",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:11-25 cents; per-run shares resting on actual jump steps=34.80234262125904, shares crossed by jump and taken=13.388782249741999, jump arb edge=-1.535266488694137, nonjump arb edge=-0.6511953412463594, retail edge on same band/side orders=9.407878057971704, retail shares=413.068013415893",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:26-75 cents; per-run shares resting on actual jump steps=33.780340557275565, shares crossed by jump and taken=14.277987616099074, jump arb edge=-1.6223339612303327, nonjump arb edge=-1.5554921530326238, retail edge on same band/side orders=11.10785158814992, retail shares=474.8022961816302",
    "Unchanged start, all 1938 choosing spread-3 runs, SELL:76-99 cents; per-run shares resting on actual jump steps=10.518710010319918, shares crossed by jump and taken=4.549840041279668, jump arb edge=-0.18369428146944883, nonjump arb edge=-0.3460439910713562, retail edge on same band/side orders=1.8811012775266183, retail shares=106.10989680082562",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:01:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=238238.08078437328, actual jump arb edge/run=-1.4012350885374407, nonjump arb edge/run=-0.58868674207942, retail edge/run=0.00996985055077988. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:02-05:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=6167.77352941409, actual jump arb edge/run=-0.07502577668673888, nonjump arb edge/run=-1.8048554000641996, retail edge/run=0.5115657363424786. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:06-10:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=823.5555882351273, actual jump arb edge/run=-0.013416509152663314, nonjump arb edge/run=-0.26245926615490145, retail edge/run=0.09667303960046601. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:11-25:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=5.647058823525698, actual jump arb edge/run=-0.00040727705091210336, nonjump arb edge/run=-0.04318275159235297, retail edge/run=0.0019690983234877317. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:26-75:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=19.860294117630417, actual jump arb edge/run=-0.0024490685395213525, nonjump arb edge/run=-0.1549547242135687, retail edge/run=0.008723869405543136. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "Diagnostic 102 spread-3 seeds among 30000:30400, BUY:76-99:stock/probe cents; potential one-sigma downward-jump crossed share-steps/run=8.347254901954615, actual jump arb edge/run=-0.001097439059882177, nonjump arb edge/run=-0.037942741513020704, retail edge/run=0.004312511571264542. Exposure counterfactual holds pre-step score fixed except subtracting each run's jump_sigma, at horizon one step shorter; no prediction of jump timing.",
    "First 102 choosing spread-3 runs, virtual rear half of each order at placement, BUY:01:main:tail cents; retail edge/run=0.1370033326517314, jump arb edge/run=-0.018218363734473456, nonjump arb edge/run=-0.308264441806493",
    "First 102 choosing spread-3 runs, virtual rear half of each order at placement, BUY:02-05:main:tail cents; retail edge/run=1.3481637815777359, jump arb edge/run=-0.10172764755034222, nonjump arb edge/run=-1.391142842009156",
    "First 102 choosing spread-3 runs, virtual rear half of each order at placement, SELL:02-05:main:tail cents; retail edge/run=29.612684094144598, jump arb edge/run=-3.418890013995759, nonjump arb edge/run=-0.20174262800645895",
    "First 102 choosing spread-3 runs, virtual rear half of each order at placement, SELL:06-10:main:tail cents; retail edge/run=3.9621784690111257, jump arb edge/run=-1.7295846677298967, nonjump arb edge/run=-0.1645969827841211",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:01:main cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.03643672746894691, jump taken shares/run=9.256960784313724",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:01:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-1.4012350885374407, jump taken shares/run=184.19362745098036",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:02-05:main cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.20345529510068444, jump taken shares/run=11.724509803921569",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:02-05:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.07502577668673888, jump taken shares/run=7.846666666666663",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:06-10:main cents; earlier retail edge on those same order IDs/run=0.0013826807065829767, earlier retail shares/run=0.06049019607843137, jump arb edge/run=-0.2686864580759594, jump taken shares/run=8.120392156862744",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:06-10:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.013416509152663314, jump taken shares/run=0.6966666666666671",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:11-25:main cents; earlier retail edge on those same order IDs/run=0.021769431074469495, earlier retail shares/run=0.9853921568627451, jump arb edge/run=-0.5809360081864706, jump taken shares/run=11.737745098039213",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:11-25:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.00040727705091210336, jump taken shares/run=0.006176470588235297",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:26-75:main cents; earlier retail edge on those same order IDs/run=0.03023471828735133, earlier retail shares/run=1.193137254901961, jump arb edge/run=-1.2655239020313875, jump taken shares/run=14.461274509803923",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:26-75:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.0024490685395213525, jump taken shares/run=0.02137254901960782",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:76-99:main cents; earlier retail edge on those same order IDs/run=0.03137797303992815, earlier retail shares/run=1.651078431372549, jump arb edge/run=-0.6449545781086926, jump taken shares/run=6.097450980392159",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, BUY:76-99:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.001097439059882177, jump taken shares/run=0.010000000000000007",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:01:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-1.6152004508400293e-05, jump taken shares/run=0.0002941176470588235",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:02-05:main cents; earlier retail edge on those same order IDs/run=0.34337929238489534, earlier retail shares/run=14.927352941176473, jump arb edge/run=-6.523219783264808, jump taken shares/run=56.33833333333334",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:02-05:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.00019511274770702593, jump taken shares/run=0.001372549019607843",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:06-10:main cents; earlier retail edge on those same order IDs/run=0.04925262309268255, earlier retail shares/run=2.1073529411764707, jump arb edge/run=-3.3479890383848234, jump taken shares/run=23.181078431372548",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:06-10:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.0001272412802768052, jump taken shares/run=0.000980392156862745",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:11-25:main cents; earlier retail edge on those same order IDs/run=0.012902631639827739, earlier retail shares/run=0.45254901960784316, jump arb edge/run=-1.5758221464379467, jump taken shares/run=11.116176470588236",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:11-25:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.000760945546933044, jump taken shares/run=0.0060784313725490225",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:26-75:main cents; earlier retail edge on those same order IDs/run=0.021689909898781973, earlier retail shares/run=1.0807843137254902, jump arb edge/run=-2.3600266613827934, jump taken shares/run=19.41254901960784",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:26-75:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.0031106469190988807, jump taken shares/run=0.022450980392156816",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:76-99:main cents; earlier retail edge on those same order IDs/run=0.02002897295340854, earlier retail shares/run=1.2561764705882352, jump arb edge/run=-0.25198321718321026, jump taken shares/run=7.043333333333333",
    "Diagnostic 102 choosing spread-3 runs, exact order IDs later crossed by an actual jump, SELL:76-99:stock/probe cents; earlier retail edge on those same order IDs/run=0.0, earlier retail shares/run=0.0, jump arb edge/run=-0.0007250379206495993, jump taken shares/run=0.016372549019607857"
  ],
  "holdout": {
    "mean_edge": 127.36808521855372,
    "retail_edge": 155.4201965293034,
    "arb_edge": -28.052111310717823,
    "failures": 0
  },
  "diff": {
    "mean": 0.23123788640257426,
    "standard_error": 0.0744814269151905,
    "retail": -0.08772179000945554,
    "arb": 0.31895967640950484,
    "trimmed": 0.2868723420039001,
    "runs_up": 685,
    "runs_down": 340
  },
  "others_identical": {
    "runs": 900,
    "identical": true
  },
  "seconds": {
    "start": 96.15012053390092,
    "yours": 94.83895465993555
  },
  "code": "\"\"\"Crossing-cover base with isolated, untuned per-spread overrides stacked: each acts only in runs of its own competitor spread.\"\"\"\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        self.flow_notional = 0.0\n        self.flow_exposure = 0\n        self.last_ask_tick = None\n        self.last_quote_exposed = False\n        self.last_flow_ca = None\n        self.last_flow_cap = 0.0\n        self.last_flow_correction = 1.0\n        self.params = P.copy()\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            if self.s == 4:\n                # Censored compound-Poisson flow likelihood, using only our fills.\n                self.f4_exposure = [0, 0]\n                self.f4_events = [0, 0]\n                self.f4_weights = [[0.0] * 9, [0.0] * 9]\n                self.f4_means = [2.64 + i * (6.336 - 2.64) / 8 for i in range(9)]\n                # Positive aggregate flow is approximately lognormal; +0.065\n                # accounts for the occasional second arrival in a timestep.\n                self.f4_mu = [math.log(m) - 0.72 + 0.065 for m in self.f4_means]\n                self.f4_last = [None, None]\n                self.f4_rate = 0.1265\n                self.f4_mean = 4.488\n                self.f4_flow = self.f4_rate * self.f4_mean\n                self.f4_extreme = inv(1 - 1e-6)\n            if self.s == 2:\n                self.params.update(dict(W=150, ammo_pmax=0.02, fy=0.7, fu=0.25, Hu=500))\n            if self.s == 1:\n                self.params.update({'dmin': 0.3, 'pfl': 1e-06})\n            if self.s == 3:\n                self.params.update({'flow_prior': 200, 'flow_level': 0.6, 'flow_strength': 1.0, 'flow_safety': 2.0, 'flow_exposure_min': 5.0})\n        P = self.params\n        if self.s == 4:\n            for side, filled, bound in ((0, state.sell_filled_quantity, ca), (1, state.buy_filled_quantity, cb)):\n                last = self.f4_last[side]\n                if last is None:\n                    continue\n                tick, conv, cap, old_bound, ids = last\n                if (side == 0 and bound > old_bound + 1) or (side == 1 and bound < old_bound - 1):\n                    continue\n                # Track only the main quote, excluding probes and stock orders.\n                remaining = sum(o.remaining_quantity for o in state.own_orders if o.order_id in ids)\n                value = max(0.0, cap - remaining * conv)\n                self.f4_exposure[side] += 1\n                if value > 0.01:\n                    self.f4_events[side] += 1\n                    censored = remaining < 0.011\n                    logv = math.log(max(value, 0.01))\n                    weights = self.f4_weights[side]\n                    for i, mu4 in enumerate(self.f4_mu):\n                        z4 = (logv - mu4) / 1.2\n                        weights[i] += math.log(max(1e-12, 1.0 - cdf(z4))) if censored else -0.5 * z4 * z4\n            if state.step % 25 == 0:\n                exposure = sum(self.f4_exposure)\n                events = sum(self.f4_events)\n                event_probability = (events + 80.0 * (1.0 - math.exp(-0.1265))) / (exposure + 80.0)\n                self.f4_rate = max(0.077, min(0.176, -math.log(max(1e-6, 1.0 - event_probability))))\n                weights = [a + b for a, b in zip(*self.f4_weights)]\n                peak = max(weights)\n                weights = [math.exp(w - peak) for w in weights]\n                self.f4_mean = sum(m * w for m, w in zip(self.f4_means, weights)) / sum(weights)\n                self.f4_flow = self.f4_rate * self.f4_mean\n        if self.s == 3 and self.last_quote_exposed and ca <= self.last_flow_ca + 1:\n            self.flow_exposure += 1\n            self.flow_notional += min(self.last_flow_cap, state.sell_filled_quantity * self.last_ask_tick / 100.0) * self.last_flow_correction\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            if self.s == 4:\n                exp = math.exp\n                if self.bc == cs and 1.0 <= wid <= 6.0 and nb == 8 * wid:\n                    # On this stationary grid, spacing is exactly 1/8 tick.\n                    # Equal index distances therefore have bit-identical d*d*k.\n                    # Reuse exp values while retaining the original sum order.\n                    kernel = []\n                    c0 = cs[0]\n                    for ci in self.bc:\n                        d = c0 - ci\n                        d2 = d * d * k\n                        kernel.append(exp(d2) if d2 > -12.5 else 0.0)\n                    kernel = kernel[:0:-1] + kernel\n                    for i in range(nb):\n                        t = uni\n                        start = nb - 1 - i\n                        for wi, e in zip(self.bw, kernel[start:start + nb]):\n                            if e:\n                                t += wi * e\n                        ws.append(t)\n                else:\n                    previous = tuple(zip(self.bc, self.bw))\n                    for c in cs:\n                        t = uni\n                        for ci, wi in previous:\n                            d = c - ci\n                            d2 = d * d * k\n                            if d2 > -12.5:\n                                t += wi * exp(d2)\n                        ws.append(t)\n            else:\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            if self.s == 4:\n                ja = jb = 0.0\n                for p, w in jp:\n                    if x > p:\n                        ja += w * (x - p)\n                    else:\n                        jb += w * (p - x)\n            else:\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            if self.s == 4 and tail <= 1e-6:\n                return min(P['qmax'], math.exp(mu + P['sig_n'] * self.f4_extreme) / px)\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            if self.s == 4 and phat * 100 - t < P['dmin']:\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            if self.s == 4 and t - phat * 100 < P['dmin']:\n                return 0.0\n            a, b = AB(t / 100.0)\n            if t - phat * 100 < P['dmin']:\n                return 0.0\n            if self.s == 4:\n                tail = b * kA / max(self.f4_rate * a, 1e-30)\n                if a <= 0 or tail >= 1.0:\n                    return 0.0\n                return min(P['qmax'], math.exp(math.log(self.f4_mean) - 0.72 + 1.2 * (self.f4_extreme if tail <= 1e-6 else inv(1 - tail))) / (t / 100.0))\n            if self.s == 2 and phat < 0.1:\n                a = max(0.0, a - 0.0015 * (1 - min(1.0, state.yes_inventory / 3000.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            threshold = max(P['min_ahead'], 20 * 100.0 / comp) if self.s == 3 and step == -1 and 1 <= comp <= 5 else P['min_ahead']\n            if sticky and sum(o.remaining_quantity for o in orders if o.price_ticks == comp and o.order_id in self.ahead) >= threshold:\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        if self.s == 1 and ask_t == 2 and ask_t < ca and phat < 0.01:\n            qa *= 5\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            flow_scale = self.f4_flow / 0.6 if self.s == 4 else 1.0\n            target = min(flow_scale * P['ydem'] * min(H, P['W']) / x, capw)\n            full = min(flow_scale * 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            stock_rate = P['ydf1']\n            if self.s == 4:\n                stock_rate *= self.f4_flow / 0.6\n            if self.s == 3:\n                flow = (self.flow_notional + P['flow_prior'] * P['flow_level']) / (P['flow_prior'] + self.flow_exposure)\n                scale = max(0.5, min(2.0, flow / P['flow_level']))\n                stock_rate *= 1.0 + P['flow_strength'] * (scale - 1.0)\n            q1 = max(0.0, stock_rate * min(H, P['Wf']) / (self.s / 100.0) - Y)\n\n        # Bridge expected retail demand until another tick crossing is available.\n        if 0.02 < phat < 0.1:\n            ct = max(2, min(99, int(math.floor(ptick))))\n            wealth = state.cash + Y * phat\n            goal = min(1 * qa, 0.3 * max(wealth, 0.0) / phat)\n            if Y < goal and ct < ask_t:\n                amt, qam = ct, min(3000.0, goal - 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) or (self.s == 1 and (o.side is Side.SELL) and o.price_ticks <= 2 and o.order_id in self.ahead)):\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            front = fl(q * 0.5) if self.s == 3 and amt >= 2 else q\n            if front >= 0.01:\n                out.append(PlaceOrder(side=Side.BUY, price_ticks=amt, quantity=front))\n                free -= front * amt / 100.0 + 1e-6\n            rear = fl(q - front)\n            if rear >= 0.01:\n                out.append(PlaceOrder(side=Side.BUY, price_ticks=amt - 1, quantity=rear))\n                free -= rear * (amt - 1) / 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                if self.s == 2:\n                    ub = min(ub, max(0.0, free - 200 * min(1.0, H / 50.0)))\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        if self.s == 3:\n            self.last_ask_tick = ask_t\n            self.last_flow_ca = ca\n            exposed_qty = ka + sum(o.quantity for o in out if o.side is Side.SELL and o.price_ticks == ask_t and o.quantity > PROBE)\n            self.last_flow_cap = exposed_qty * ask_t / 100.0\n            self.last_quote_exposed = ask_t / 100.0 > phat + max(0.005, P['flow_safety'] * self.st / 100.0) and self.last_flow_cap >= P['flow_exposure_min']\n            if self.last_quote_exposed:\n                logcap = math.log(self.last_flow_cap)\n                mu_flow = math.log(P['m']) - 0.5 * P['sig_n'] ** 2\n                clipped = P['m'] * cdf((logcap - mu_flow - P['sig_n'] ** 2) / P['sig_n']) + self.last_flow_cap * (1.0 - cdf((logcap - mu_flow) / P['sig_n']))\n                self.last_flow_correction = min(3.0, P['m'] / max(clipped, 0.01))\n        if self.s == 4:\n            self.f4_last = [None, None]\n            # Eligibility is decided before observing fills, so depleted quotes\n            # remain in the sample as right-censored observations.\n            for side, tick, bound, conv, distance in (\n                (0, ask_t, ca, ask_t / 100.0, ask_t / 100.0 - phat),\n                (1, bid_t, cb, max(phat, 0.05), phat - bid_t / 100.0)):\n                if distance < max(0.01, 3.0 * self.st / 100.0):\n                    continue\n                if side == 0:\n                    if not (ask_t < ca or any(o.price_ticks == ask_t and o.order_id in self.ahead for o in asks)):\n                        continue\n                    orders = asks\n                    order_side = Side.SELL\n                else:\n                    if not (bid_t > cb or any(o.price_ticks == bid_t and o.order_id in self.ahead for o in bids)):\n                        continue\n                    if (qam > 0 and amt >= bid_t) or (q1 > 0 and bid_t <= 1):\n                        continue\n                    orders = bids\n                    order_side = Side.BUY\n                tracked = {o.order_id: o.remaining_quantity for o in orders if o.order_id in kept_ids and o.price_ticks == tick}\n                tracked.update({o.client_order_id: o.quantity for o in out if o.side is order_side and o.price_ticks == tick and o.client_order_id is not None})\n                cap = sum(tracked.values()) * conv\n                if cap >= 0.5:\n                    self.f4_last[side] = (tick, conv, cap, bound, tracked)\n        return actions + out\n",
  "code_sha256": "7357e4039b2f130895dd7afda173731249bb055dcad94c53404a4f31fcb15286",
  "tried": [
    "Python 3.14.4; simulator commit b244530ee2a6247b5f930830eeca9dd950da0e7e; earlier artifact CLI --simulations 600 --seed-start 1000 --workers 4 refused with PermissionError: [Errno 1] Operation not permitted creating AF_UNIX multiprocessing listener. Serial CLI retry, no sandbox, 179.1949194570043 seconds, 600 successes, mean 108.63974289615767, exact author match. Under five minutes; no run counts halved. Independent interpreter subprocesses used for subsequent batches.",
    "Halve q1 and qam replenishment quantities before cash caps; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -0.09427846603785221, \"standard_error\": 0.1822479942875687, \"retail\": -0.44608040753795586, \"arb\": 0.35180194150510924, \"trimmed\": 0.2573576613779551, \"runs_up\": 346, \"runs_down\": 168}; failures=0",
    "Halve main bid desired size below estimated 5 cents; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": 0.20400137174129243, \"standard_error\": 0.10796139914614361, \"retail\": -0.35713040848133487, \"arb\": 0.5611317802235662, \"trimmed\": 0.24448045634494062, \"runs_up\": 322, \"runs_down\": 171}; failures=0",
    "Halve main ask desired size below estimated 5 cents; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -1.99483907928853, \"standard_error\": 0.7240458948724852, \"retail\": -4.858206402205526, \"arb\": 2.863367322915224, \"trimmed\": -3.564048418135783, \"runs_up\": 116, \"runs_down\": 383}; failures=0",
    "Use unit rather than 0.7 loss multiplier for ordinary main quote sizing above estimated 5 cents; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -0.056304446463295896, \"standard_error\": 0.1780074305155822, \"retail\": -3.396549325310114, \"arb\": 3.3402448788777894, \"trimmed\": -0.36400259665644363, \"runs_up\": 410, \"runs_down\": 549}; failures=0",
    "Add a second copy of expected one-step jump loss to each main-side sizing calculation; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -0.8992949040445258, \"standard_error\": 0.5629107669650708, \"retail\": -5.512566816874557, \"arb\": 4.613271912845047, \"trimmed\": -1.8319446522170395, \"runs_up\": 334, \"runs_down\": 625}; failures=0",
    "Split main ask size equally between original tick and one tick higher, retaining both levels; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -5.810776571603234, \"standard_error\": 0.6977546580264451, \"retail\": -7.25441354319854, \"arb\": 1.4436369715913449, \"trimmed\": -4.746555383685197, \"runs_up\": 173, \"runs_down\": 786}; failures=0",
    "Split qam cover bid at tick >=2 equally between original tick and one tick lower; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": 0.3810780388719491, \"standard_error\": 0.06280802728195613, \"retail\": -0.07043635123858162, \"arb\": 0.45151439011292993, \"trimmed\": 0.31421506359850815, \"runs_up\": 364, \"runs_down\": 145}; failures=0",
    "Split main bids below estimated 5 cents between original tick and one tick lower where valid; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": 0.06414132980750681, \"standard_error\": 0.09237737139385435, \"retail\": -0.26142955197215884, \"arb\": 0.3255708817805006, \"trimmed\": 0.1437799975208721, \"runs_up\": 301, \"runs_down\": 163}; failures=0",
    "Halve only main desired bids at tick 1; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": 0.09181642712877947, \"standard_error\": 0.041545864553705576, \"retail\": -0.10445647087101104, \"arb\": 0.19627289799989578, \"trimmed\": 0.1557642101256651, \"runs_up\": 396, \"runs_down\": 67}; failures=0",
    "Halve the demand-based tick-1 inventory target before subtracting inventory; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": -1.8056257394582909, \"standard_error\": 0.3905657198357489, \"retail\": -0.2938018203656931, \"arb\": -1.5118239190948908, \"trimmed\": -0.7926328373373808, \"runs_up\": 154, \"runs_down\": 156}; failures=0",
    "Combine cover-bid split and main bid size halving below estimated 5 cents; choosing seeds 30000:34000, spread 3, n=959; {\"mean\": 0.5614638061028155, \"standard_error\": 0.1407416757033382, \"retail\": -0.5014373268596454, \"arb\": 1.062901132965902, \"trimmed\": 0.6612813472959531, \"runs_up\": 382, \"runs_down\": 138}; failures=0",
    "Selected cover split for gains in all four choosing-seed quarters and lower paired dispersion than the combination, before opening reserved results. Reserved choosing seeds 34000:38000, spread 3, n=979; {\"mean\": 0.046169129938815404, \"standard_error\": 0.17835564560344946, \"retail\": -0.12673304944484187, \"arb\": 0.17290217938375882, \"trimmed\": 0.350078378158499, \"runs_up\": 359, \"runs_down\": 143}",
    "Selected cover split choosing quarter 30000:31000, n=241; {\"mean\": 0.29835455399875477, \"standard_error\": 0.12249392468321509, \"retail\": -0.06845686345767656, \"arb\": 0.3668114174551872, \"trimmed\": 0.194099178106334, \"runs_up\": 91, \"runs_down\": 31}",
    "Selected cover split choosing quarter 31000:32000, n=245; {\"mean\": 0.5966473045595895, \"standard_error\": 0.15057096549472038, \"retail\": -0.008286471474694128, \"arb\": 0.6049337760444894, \"trimmed\": 0.18303550704799748, \"runs_up\": 96, \"runs_down\": 38}",
    "Selected cover split choosing quarter 32000:33000, n=241; {\"mean\": 0.37607397675684606, \"standard_error\": 0.09861176126762676, \"retail\": -0.10849706104979182, \"arb\": 0.4845710377962652, \"trimmed\": 0.2611572465167412, \"runs_up\": 100, \"runs_down\": 33}",
    "Selected cover split choosing quarter 33000:34000, n=232; {\"mean\": 0.2445602316767238, \"standard_error\": 0.12378818239414749, \"retail\": -0.0985878427594821, \"arb\": 0.3431480744474131, \"trimmed\": 0.15860443219905612, \"runs_up\": 77, \"runs_down\": 43}",
    "Frozen cover split and start scored separately in unmodified engine on all 2020 spread-3 seeds among 90000:98000; start mean_edge=127.13684733215113, retail_edge=155.5079183193129, arb_edge=-28.37107098712733. No confirming runs used to tune or select code.",
    "Logging-only wrappers preserve process draws, market actions, fill scoring and rounding; 23 uninstrumented run results identical to logging copy, and 102 depth/exposure-logging results identical to ordinary logging copy. Main versus stock/probe classified by original client IDs; all band totals include probes.",
    "Other-spread equality compares complete SimulationResult dictionaries, including wealth, inventory, fills and regime, for first 300 seeds of each of spreads 1, 2, 4 starting at 90000. Timing alternates start and submitted strategy order in one process on seeds 1000:1200, 200 runs each; {\"start\": 96.15012053390092, \"yours\": 94.83895465993555, \"failures\": [0, 0], \"runs_each\": 200}"
  ],
  "next": "Test whether inventory already exceeds remaining retail demand before posting tick-1 stock orders; distinguish necessary ask cover from excess stock. Keep a reserved choosing partition and check broad paired gains before confirming. Do not cut profitable low asks wholesale."
}