{
  "approach": "Measurement only; no candidate or oracle. Run the verified incumbent with the pinned simulator and default ChallengeConfig()/ParameterVariance(), 2000 steps. Observe the original process Poisson sampler return (without extra RNG draws), pre-arbitrage participant resting orders, and changes in the original rounded fill statistics. Split steps by sampled jump_count > 0 and abs(p_after - p_before)/0.01. All counts and loss decompositions are computed from these observed runs.",
  "tried": [
    {
      "name": "incumbent_hash_verification",
      "expected": "baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273",
      "actual": "baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273",
      "match": true
    },
    {
      "name": "instrumentation_invariance",
      "n": 20,
      "seeds": {
        "start": 231000,
        "end_inclusive": 231019
      },
      "comparison": "Exact equality of dataclasses.asdict(SimulationResult), all fields, unmodified run_batch versus observation hooks; same process, same factory, hooks restored before baseline runs. Simulator files unchanged.",
      "passed": true,
      "observations": [
        {
          "seed": 231000,
          "total_edge": 150.8693414603,
          "retail_edge": 174.3969730394,
          "arb_edge": -23.5276315779,
          "identical_all_result_fields": true
        },
        {
          "seed": 231001,
          "total_edge": 114.1172514238,
          "retail_edge": 131.9403427709,
          "arb_edge": -17.8230913475,
          "identical_all_result_fields": true
        },
        {
          "seed": 231002,
          "total_edge": 75.6712463647,
          "retail_edge": 82.6967285501,
          "arb_edge": -7.0254821847,
          "identical_all_result_fields": true
        },
        {
          "seed": 231003,
          "total_edge": 140.1517082996,
          "retail_edge": 276.3221288433,
          "arb_edge": -136.1704205441,
          "identical_all_result_fields": true
        },
        {
          "seed": 231004,
          "total_edge": 91.351072703,
          "retail_edge": 109.0351703694,
          "arb_edge": -17.6840976653,
          "identical_all_result_fields": true
        },
        {
          "seed": 231005,
          "total_edge": 43.5574206712,
          "retail_edge": 141.7822886859,
          "arb_edge": -98.2248680137,
          "identical_all_result_fields": true
        },
        {
          "seed": 231006,
          "total_edge": 275.8890829157,
          "retail_edge": 339.0317808795,
          "arb_edge": -63.1426979644,
          "identical_all_result_fields": true
        },
        {
          "seed": 231007,
          "total_edge": 0.3032329447,
          "retail_edge": 4.5307372364,
          "arb_edge": -4.2275042916,
          "identical_all_result_fields": true
        },
        {
          "seed": 231008,
          "total_edge": 68.2531518782,
          "retail_edge": 76.2059827101,
          "arb_edge": -7.9528308321,
          "identical_all_result_fields": true
        },
        {
          "seed": 231009,
          "total_edge": 56.2042231811,
          "retail_edge": 608.8440765786,
          "arb_edge": -552.6398533984,
          "identical_all_result_fields": true
        },
        {
          "seed": 231010,
          "total_edge": 13.458404278,
          "retail_edge": 16.3553412174,
          "arb_edge": -2.8969369394,
          "identical_all_result_fields": true
        },
        {
          "seed": 231011,
          "total_edge": 1.8880532423,
          "retail_edge": 2.3030374112,
          "arb_edge": -0.4149841691,
          "identical_all_result_fields": true
        },
        {
          "seed": 231012,
          "total_edge": 387.0211257417,
          "retail_edge": 403.8586923743,
          "arb_edge": -16.8375666331,
          "identical_all_result_fields": true
        },
        {
          "seed": 231013,
          "total_edge": 45.6886551151,
          "retail_edge": 50.4771552686,
          "arb_edge": -4.7885001539,
          "identical_all_result_fields": true
        },
        {
          "seed": 231014,
          "total_edge": 256.5798435511,
          "retail_edge": 320.3310489272,
          "arb_edge": -63.7512053764,
          "identical_all_result_fields": true
        },
        {
          "seed": 231015,
          "total_edge": 28.9443292104,
          "retail_edge": 51.3773017171,
          "arb_edge": -22.4329725064,
          "identical_all_result_fields": true
        },
        {
          "seed": 231016,
          "total_edge": 44.1583050996,
          "retail_edge": 56.7811131315,
          "arb_edge": -12.6228080302,
          "identical_all_result_fields": true
        },
        {
          "seed": 231017,
          "total_edge": 0.4304068572,
          "retail_edge": 0.7169673797,
          "arb_edge": -0.286560522,
          "identical_all_result_fields": true
        },
        {
          "seed": 231018,
          "total_edge": 3.0388691861,
          "retail_edge": 3.7112432733,
          "arb_edge": -0.6723740879,
          "identical_all_result_fields": true
        },
        {
          "seed": 231019,
          "total_edge": -42.7631142563,
          "retail_edge": 38.0849796627,
          "arb_edge": -80.8480939189,
          "identical_all_result_fields": true
        }
      ]
    },
    {
      "name": "pilot_timing",
      "n": 20,
      "seconds_per_simulation": 0.21889333780200104,
      "baseline_seconds_per_simulation": 0.21142817759900936,
      "projected_seconds_for_1000": 218.89333780200104,
      "decision": "Use the full 1000-seed block: projected simulation time is below 1800 seconds."
    },
    {
      "name": "aggregation_checks",
      "passed": true,
      "checks": [
        "Each completed simulation has 2000 classified steps.",
        "Six partition bucket edges sum to each simulation edge within absolute tolerance 1e-7 for total, retail, and arbitrage.",
        "Seed IDs are consecutive, unique, within the authorized block.",
        "No failed simulations."
      ]
    }
  ],
  "next": [
    {
      "change": "Tune the Gaussian/sub-tick-estimation loss penalty in AB/qsize separately from the jump-tail penalty, reducing resting size when belief uncertainty puts the quote near the true-price crossing. Test that any saved arbitrage loss exceeds retail edge surrendered.",
      "supported_by": "diffusion_only/under_1_tick",
      "edge_at_stake_per_simulation": 10.2727445517218,
      "edge_at_stake_se": 0.5619592052739708,
      "interpretation": "Observed arbitrage-loss pool, an upper bound on gross savings; no net strategy gain measured. Hidden move class is unavailable to a submitted strategy."
    },
    {
      "change": "Calibrate the jump component in AB to a horizon-dependent tail-loss estimate and use it to cap exposed size, then measure the retail tradeoff on disjoint tuning seeds.",
      "supported_by": "jump/over_3_ticks",
      "edge_at_stake_per_simulation": 10.7123685288176,
      "edge_at_stake_se": 1.3229250183845678,
      "interpretation": "Observed loss on large-move jump steps; not a causal estimate of jump damage and not guaranteed recoverable edge."
    }
  ],
  "code": "\"\"\"Diagnostic only. Python stdlib; use the pinned simulator unchanged on disk.\nUsage: python3 harness.py SIMULATOR_ROOT INCUMBENT_PY OUT_JSON [--start 231000] [--n 20] [--validate]\nHooks only observe existing RNG returns, resting orders and recorded statistics.\n\"\"\"\nimport argparse, dataclasses, hashlib, json, math, pathlib, statistics, sys, time\n\nEXPECTED = 'baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273'\n\ndef main():\n    p = argparse.ArgumentParser()\n    p.add_argument('simulator'); p.add_argument('incumbent'); p.add_argument('out')\n    p.add_argument('--start', type=int, default=231000); p.add_argument('--n', type=int, default=20)\n    p.add_argument('--validate', action='store_true')\n    a = p.parse_args()\n    assert 231000 <= a.start < a.start+a.n <= 232000\n    assert hashlib.sha256(pathlib.Path(a.incumbent).read_bytes()).hexdigest() == EXPECTED\n    sys.path.insert(0, a.simulator)\n    from orderbook_pm_challenge import process as proc, market as mkt\n    from orderbook_pm_challenge.runner import run_batch\n    from orderbook_pm_challenge.loader import load_strategy_factory\n    from orderbook_pm_challenge.config import ChallengeConfig, ParameterVariance\n    from orderbook_pm_challenge.types import Side\n    factory = load_strategy_factory(a.incumbent)\n    def run(seed):\n        return run_batch(factory, base_config=ChallengeConfig(), variance=ParameterVariance(), n_simulations=1, seed_start=seed, workers=1).simulation_results[0]\n    originals = (proc._sample_poisson, proc.JumpDiffusionScoreProcess.__post_init__, mkt.PredictionMarket.execute_arbitrage, mkt.PredictionMarket.record_participant_fills)\n    obs = {}\n    def poisson(rng, mean):\n        result = originals[0](rng, mean)\n        obs['jumps'] = result\n        return result\n    def initialize(self):\n        originals[1](self)\n        obs['previous_probability'] = self.current_true_probability()\n    def arbitrage(self, *, probability, step):\n        move = abs(probability - obs['previous_probability']) * 100.0\n        kind = 'jump' if obs['jumps'] > 0 else 'diffusion_only'\n        band = 'under_1_tick' if move < 1.0 else ('1_to_3_ticks' if move <= 3.0 else 'over_3_ticks')\n        obs['key'] = kind + '/' + band\n        obs['previous_probability'] = probability\n        row = obs['buckets'][obs['key']]\n        row['steps'] += 1\n        row['move_ticks_sum'] += move\n        # Read-only iteration; original order sets and order objects are untouched.\n        for order in self._participant_orders():\n            q = order.remaining_quantity\n            row['exposed_shares'] += q\n            row['bid_exposed_shares' if order.side is Side.BUY else 'ask_exposed_shares'] += q\n            row['exposed_reserved_cash'] += order.reserved_cash\n        fills = originals[2](self, probability=probability, step=step)\n        row['arb_fill_steps'] += bool(fills)\n        row['arb_fill_count'] += len(fills)\n        row['arb_filled_shares'] += sum(f.quantity for f in fills)\n        return fills\n    def record(self, fills, *, probability):\n        old = self.stats\n        result = originals[3](self, fills, probability=probability)\n        row = obs['buckets'][obs['key']]\n        for field in ('total_edge', 'retail_edge', 'arb_edge'):\n            row[field] += getattr(self.stats, field) - getattr(old, field)\n        return result\n    def hooks(on):\n        proc._sample_poisson = poisson if on else originals[0]\n        proc.JumpDiffusionScoreProcess.__post_init__ = initialize if on else originals[1]\n        mkt.PredictionMarket.execute_arbitrage = arbitrage if on else originals[2]\n        mkt.PredictionMarket.record_participant_fills = record if on else originals[3]\n    rows = []\n    start = time.perf_counter()\n    for seed in range(a.start, a.start+a.n):\n        baseline = None\n        if a.validate:\n            hooks(False); t = time.perf_counter(); baseline = run(seed); baseline_seconds = time.perf_counter()-t\n        obs.clear()\n        obs['buckets'] = {kind+'/'+band: dict.fromkeys(('steps','move_ticks_sum','exposed_shares','bid_exposed_shares','ask_exposed_shares','exposed_reserved_cash','arb_fill_steps','arb_fill_count','arb_filled_shares','total_edge','retail_edge','arb_edge'), 0) for kind in ('jump','diffusion_only') for band in ('under_1_tick','1_to_3_ticks','over_3_ticks')}\n        hooks(True); t = time.perf_counter(); result = run(seed); seconds = time.perf_counter()-t\n        hooks(False)\n        data = dataclasses.asdict(result)\n        if baseline is not None:\n            assert data == dataclasses.asdict(baseline), (seed, data, dataclasses.asdict(baseline))\n        assert not result.failed, (seed, result.error)\n        assert sum(b['steps'] for b in obs['buckets'].values()) == 2000\n        for field in ('total_edge','retail_edge','arb_edge'):\n            assert math.isclose(sum(b[field] for b in obs['buckets'].values()),getattr(result,field),abs_tol=1e-7)\n        rows.append({'seed':seed,'result':data,'buckets':obs['buckets'],'seconds':seconds,'validation':{'identical_all_result_fields':True,'baseline_seconds':baseline_seconds,'baseline_total_edge':baseline.total_edge,'baseline_retail_edge':baseline.retail_edge,'baseline_arb_edge':baseline.arb_edge} if baseline is not None else None})\n        pathlib.Path(a.out).write_text(json.dumps({'rows':rows,'elapsed_seconds':time.perf_counter()-start},allow_nan=False))\n        print(seed, round(seconds,4), result.total_edge, flush=True)\n\ndef summarize(pilot_path, rest_path, output_path):\n    pilot = json.loads(pathlib.Path(pilot_path).read_text())\n    rest = json.loads(pathlib.Path(rest_path).read_text())\n    rows = sorted(pilot['rows'] + rest['rows'], key=lambda r:r['seed'])\n    n = len(rows)\n    assert [r['seed'] for r in rows] == list(range(231000, 231000+n))\n    assert n in (500,1000)\n    assert len(pilot['rows']) == 20\n    assert all(r['validation']['identical_all_result_fields'] for r in pilot['rows'])\n    assert all(not r['result']['failed'] for r in rows)\n    def stats(values):\n        return {'mean':statistics.mean(values),'se':statistics.stdev(values)/math.sqrt(len(values))}\n    keys = list(rows[0]['buckets'])\n    groups = [(key,[key],'partition') for key in keys]\n    groups += [(kind,[k for k in keys if k.startswith(kind+'/')],'jump_marginal') for kind in ('jump','diffusion_only')]\n    groups += [(band,[k for k in keys if k.endswith('/'+band)],'move_marginal') for band in ('under_1_tick','1_to_3_ticks','over_3_ticks')]\n    groups += [('all_steps',keys,'total')]\n    findings=[]\n    for name, selected, role in groups:\n        def series(field):\n            return [sum(r['buckets'][k][field] for k in selected) for r in rows]\n        def total(field):\n            return sum(series(field))\n        edge = stats(series('total_edge')); retail = stats(series('retail_edge')); arb = stats(series('arb_edge'))\n        count=total('steps')\n        exposure=stats(series('exposed_shares'))\n        findings.append(dict(name=name,group=role,count=count,mean=edge['mean'],retail_mean=retail['mean'],arb_mean=arb['mean'],se=edge['se'],retail_se=retail['se'],arb_se=arb['se'],loss_per_simulation=-arb['mean'],loss_se=arb['se'],loss_total=-total('arb_edge'),arb_fill_steps=total('arb_fill_steps'),arb_fill_count=total('arb_fill_count'),arb_filled_shares_total=total('arb_filled_shares'),exposed_shares_total=total('exposed_shares'),exposed_shares_per_simulation=exposure['mean'],exposed_shares_per_simulation_se=exposure['se'],exposed_shares_per_bucket_step=total('exposed_shares')/count if count else None,bid_exposed_shares_total=total('bid_exposed_shares'),ask_exposed_shares_total=total('ask_exposed_shares'),exposed_reserved_cash_total=total('exposed_reserved_cash'),exposed_reserved_cash_per_bucket_step=total('exposed_reserved_cash')/count if count else None,mean_abs_move_ticks=total('move_ticks_sum')/count if count else None))\n    by_name={f['name']:f for f in findings}\n    all_steps=by_name['all_steps']\n    for f in findings:\n        f['fraction_of_arb_loss']=f['loss_total']/all_steps['loss_total']\n        f['fraction_of_steps']=f['count']/all_steps['count']\n    edge=stats([r['result']['total_edge'] for r in rows]);retail=stats([r['result']['retail_edge'] for r in rows]);arb=stats([r['result']['arb_edge'] for r in rows])\n    code=pathlib.Path(__file__).read_text()\n    validation=[{'seed':r['seed'],'total_edge':r['result']['total_edge'],'retail_edge':r['result']['retail_edge'],'arb_edge':r['result']['arb_edge'],'identical_all_result_fields':r['validation']['identical_all_result_fields']} for r in pilot['rows']]\n    diffusion=by_name['diffusion_only/under_1_tick'];jump=by_name['jump/over_3_ticks']\n    result={\n        'approach':'Measurement only; no candidate or oracle. Run the verified incumbent with the pinned simulator and default ChallengeConfig()/ParameterVariance(), 2000 steps. Observe the original process Poisson sampler return (without extra RNG draws), pre-arbitrage participant resting orders, and changes in the original rounded fill statistics. Split steps by sampled jump_count > 0 and abs(p_after - p_before)/0.01. All counts and loss decompositions are computed from these observed runs.',\n        'tried':[\n            {'name':'incumbent_hash_verification','expected':EXPECTED,'actual':EXPECTED,'match':True},\n            {'name':'instrumentation_invariance','n':20,'seeds':{'start':231000,'end_inclusive':231019},'comparison':'Exact equality of dataclasses.asdict(SimulationResult), all fields, unmodified run_batch versus observation hooks; same process, same factory, hooks restored before baseline runs. Simulator files unchanged.','passed':True,'observations':validation},\n            {'name':'pilot_timing','n':20,'seconds_per_simulation':statistics.mean(r['seconds'] for r in pilot['rows']),'baseline_seconds_per_simulation':statistics.mean(r['validation']['baseline_seconds'] for r in pilot['rows']),'projected_seconds_for_1000':1000*statistics.mean(r['seconds'] for r in pilot['rows']),'decision':'Use the full 1000-seed block: projected simulation time is below 1800 seconds.'},\n            {'name':'aggregation_checks','passed':True,'checks':['Each completed simulation has 2000 classified steps.','Six partition bucket edges sum to each simulation edge within absolute tolerance 1e-7 for total, retail, and arbitrage.','Seed IDs are consecutive, unique, within the authorized block.','No failed simulations.']}\n        ],\n        'next':[\n            {'change':'Tune the Gaussian/sub-tick-estimation loss penalty in AB/qsize separately from the jump-tail penalty, reducing resting size when belief uncertainty puts the quote near the true-price crossing. Test that any saved arbitrage loss exceeds retail edge surrendered.','supported_by':'diffusion_only/under_1_tick','edge_at_stake_per_simulation':diffusion['loss_per_simulation'],'edge_at_stake_se':diffusion['arb_se'],'interpretation':'Observed arbitrage-loss pool, an upper bound on gross savings; no net strategy gain measured. Hidden move class is unavailable to a submitted strategy.'},\n            {'change':'Calibrate the jump component in AB to a horizon-dependent tail-loss estimate and use it to cap exposed size, then measure the retail tradeoff on disjoint tuning seeds.','supported_by':'jump/over_3_ticks','edge_at_stake_per_simulation':jump['loss_per_simulation'],'edge_at_stake_se':jump['arb_se'],'interpretation':'Observed loss on large-move jump steps; not a causal estimate of jump damage and not guaranteed recoverable edge.'}\n        ],\n        'code':code,'code_sha256':hashlib.sha256(code.encode('utf-8')).hexdigest(),'incumbent_code_sha256':EXPECTED,'tuning':None,\n        'seeds':{'start':231000,'end_inclusive':231000+n-1,'selection':'Only 231000..231999; first 20 also used for timing and invariance, included once in the measurement. No finalist or tuning seeds used.'},\n        'n':n,'complete':n==1000,\n        'incumbent':{'mean':edge['mean'],'retail_mean':retail['mean'],'arb_mean':arb['mean'],'se':edge['se'],'retail_se':retail['se'],'arb_se':arb['se']},\n        'findings':findings,'paired':None,'failures':[],\n        'seconds_per_simulation':statistics.mean(r['seconds'] for r in rows),\n        'simulation_seconds':sum(r['seconds'] for r in rows),\n        'definitions':{\n            'jump':'At least one Poisson jump sampled in that process step, including any simultaneous Gaussian diffusion. diffusion_only means jump_count == 0.',\n            'move_ticks':'Absolute change in true probability between consecutive process states, divided by 0.01; the initial state is used for the first step. Includes horizon contraction and the terminal step. under_1: <1; 1_to_3: >=1 and <=3; over_3: >3. No rounding before classification.',\n            'count':'Number of all market steps in the bucket, including steps without arbitrage fills or resting participant orders.',\n            'edge':'Mean sum of original recorded edge in a bucket per simulation (zero contributions included), with retail and arbitrage parts. Uses simulator statistic deltas, preserving its per-step rounding. Loss is negative arbitrage edge, reported positive. Economic edge is simulator score, not settlement wealth.',\n            'se':'Sample standard deviation of per-simulation bucket totals divided by sqrt(n), so within-simulation dependence is retained. arb_se is the standard error for loss_per_simulation as well.',\n            'exposure':'Sum of participant resting remaining_quantity on both sides after actions and immediately before arbitrage. Includes retained and new orders, probes, inventory-acquisition bids, and quotes behind competitor liquidity. Total is share-step exposure, not unique shares, collateral, trade notional, or exclusively fillable stale size. Bid/ask quantities and reserved-cash exposure are also reported. Per-bucket-step exposure divides by all steps in that bucket.',\n            'groups':'The six rows with group=partition are mutually exclusive and exhaustive. jump_marginal, move_marginal, and total are overlapping summaries; do not add them to partition rows.',\n            'causality':'Jump and move classes use hidden state for diagnosis only. This is not an oracle and estimates no candidate gain. Some arbitrage fills intentionally acquire inventory for later retail sales. A jump-class step also has diffusion; its loss is not the counterfactual loss caused solely by a jump.'\n        },\n        'reproduce':[\n            'Obtain the simulator at b244530ee2a6247b5f930830eeca9dd950da0e7e and extract the incumbent code field from the artifact URL in sources.json as UTF-8 b.py.',\n            'Save result.code verbatim as harness.py.',\n            'python3 harness.py SIMULATOR_ROOT b.py pilot.json --start 231000 --n 20 --validate',\n            'python3 harness.py SIMULATOR_ROOT b.py rest.json --start 231020 --n 980',\n            'python3 harness.py --summarize pilot.json rest.json result.json'\n        ],\n        'source_attribution':{'incumbent':'https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741','simulator_commit':'b244530ee2a6247b5f930830eeca9dd950da0e7e','measurement':'Findings and timing are locally measured by the included harness; sources.json gives exact passages supporting simulator mechanics, run configuration, and incumbent identity.'}\n    }\n    assert all_steps['count']==2000*n\n    for key,field in [('mean','total_edge'),('retail_mean','retail_edge'),('arb_mean','arb_edge')]:\n        assert math.isclose(all_steps[key],statistics.mean(r['result'][field] for r in rows),abs_tol=1e-7)\n    data=json.dumps(result,indent=2,allow_nan=False)+'\\n'\n    assert len(data.encode())<=64000\n    pathlib.Path(output_path).write_text(data)\n    print(json.dumps({'bytes':len(data.encode()),'incumbent':result['incumbent'],'n':n,'findings':[{k:f[k] for k in ('name','count','arb_mean','arb_se','exposed_shares_per_bucket_step')} for f in findings]},indent=2))\n\nif __name__ == '__main__':\n    if len(sys.argv)>1 and sys.argv[1]=='--summarize':\n        summarize(*sys.argv[2:])\n    else:\n        main()\n",
  "code_sha256": "f74584556d48d2c7926abe2bda8ac8253e5ac01b957da6df53dec066545e807d",
  "incumbent_code_sha256": "baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273",
  "tuning": null,
  "seeds": {
    "start": 231000,
    "end_inclusive": 231999,
    "selection": "Only 231000..231999; first 20 also used for timing and invariance, included once in the measurement. No finalist or tuning seeds used."
  },
  "n": 1000,
  "complete": true,
  "incumbent": {
    "mean": 104.8837684753613,
    "retail_mean": 131.8803069620652,
    "arb_mean": -26.9965384866824,
    "se": 5.407865958515319,
    "retail_se": 5.70484283158216,
    "arb_se": 1.6782203403036362
  },
  "findings": [
    {
      "name": "jump/under_1_tick",
      "group": "partition",
      "count": 783,
      "mean": 0.11921374386430028,
      "retail_mean": 0.19349065066209997,
      "arb_mean": -0.07427690679790001,
      "se": 0.07772616626287002,
      "retail_se": 0.06820735257100603,
      "arb_se": 0.03906530781974436,
      "loss_per_simulation": 0.07427690679790001,
      "loss_se": 0.03906530781974436,
      "loss_total": 74.27690679790001,
      "arb_fill_steps": 783,
      "arb_fill_count": 1589,
      "arb_filled_shares_total": 38558.61,
      "exposed_shares_total": 1667456.05,
      "exposed_shares_per_simulation": 1667.45605,
      "exposed_shares_per_simulation_se": 229.90046822437813,
      "exposed_shares_per_bucket_step": 2129.5734993614305,
      "bid_exposed_shares_total": 1128086.56,
      "ask_exposed_shares_total": 539369.49,
      "exposed_reserved_cash_total": 25951.607,
      "exposed_reserved_cash_per_bucket_step": 33.14381481481482,
      "mean_abs_move_ticks": 0.29948880249015847,
      "fraction_of_arb_loss": 0.00275134928259567,
      "fraction_of_steps": 0.0003915
    },
    {
      "name": "jump/1_to_3_ticks",
      "group": "partition",
      "count": 587,
      "mean": -2.8402300387161,
      "retail_mean": 0.016602402015099944,
      "arb_mean": -2.8568324407311,
      "se": 0.6152018420920318,
      "retail_se": 0.0060686346907739205,
      "arb_se": 0.6152721009525788,
      "loss_per_simulation": 2.8568324407311,
      "loss_se": 0.6152721009525788,
      "loss_total": 2856.8324407311,
      "arb_fill_steps": 587,
      "arb_fill_count": 1502,
      "arb_filled_shares_total": 415666.4,
      "exposed_shares_total": 1641120.09,
      "exposed_shares_per_simulation": 1641.12009,
      "exposed_shares_per_simulation_se": 261.7061694030458,
      "exposed_shares_per_bucket_step": 2795.77528109029,
      "bid_exposed_shares_total": 1522748.91,
      "ask_exposed_shares_total": 118371.18000000001,
      "exposed_reserved_cash_total": 24353.671,
      "exposed_reserved_cash_per_bucket_step": 41.48836626916525,
      "mean_abs_move_ticks": 1.9225741390871467,
      "fraction_of_arb_loss": 0.10582217576302969,
      "fraction_of_steps": 0.0002935
    },
    {
      "name": "jump/over_3_ticks",
      "group": "partition",
      "count": 2429,
      "mean": -10.583925657796,
      "retail_mean": 0.128442871021,
      "arb_mean": -10.7123685288176,
      "se": 1.3219879934759777,
      "retail_se": 0.024421927773468466,
      "arb_se": 1.3229250183845678,
      "loss_per_simulation": 10.7123685288176,
      "loss_se": 1.3229250183845678,
      "loss_total": 10712.3685288176,
      "arb_fill_steps": 2427,
      "arb_fill_count": 6282,
      "arb_filled_shares_total": 233957.51,
      "exposed_shares_total": 1071415.43,
      "exposed_shares_per_simulation": 1071.41543,
      "exposed_shares_per_simulation_se": 172.50302127356994,
      "exposed_shares_per_bucket_step": 441.09321943186495,
      "bid_exposed_shares_total": 966433.78,
      "ask_exposed_shares_total": 104981.65,
      "exposed_reserved_cash_total": 33161.0708,
      "exposed_reserved_cash_per_bucket_step": 13.652149361877317,
      "mean_abs_move_ticks": 13.786545475027834,
      "fraction_of_arb_loss": 0.39680526205617417,
      "fraction_of_steps": 0.0012145
    },
    {
      "name": "diffusion_only/under_1_tick",
      "group": "partition",
      "count": 1696953,
      "mean": 115.6263539296799,
      "retail_mean": 125.8990984814123,
      "arb_mean": -10.2727445517218,
      "se": 5.367810255104521,
      "retail_se": 5.665158629381075,
      "arb_se": 0.5619592052739708,
      "loss_per_simulation": 10.2727445517218,
      "loss_se": 0.5619592052739708,
      "loss_total": 10272.7445517218,
      "arb_fill_steps": 1696123,
      "arb_fill_count": 3679306,
      "arb_filled_shares_total": 7939691.879999912,
      "exposed_shares_total": 2192913440.0199203,
      "exposed_shares_per_simulation": 2192913.4400199205,
      "exposed_shares_per_simulation_se": 145582.89966257673,
      "exposed_shares_per_bucket_step": 1292.265277836169,
      "bid_exposed_shares_total": 1781787306.3699563,
      "ask_exposed_shares_total": 411126133.64999855,
      "exposed_reserved_cash_total": 41499737.62970011,
      "exposed_reserved_cash_per_bucket_step": 24.455443155880044,
      "mean_abs_move_ticks": 0.3086847012697273,
      "fraction_of_arb_loss": 0.380520804798342,
      "fraction_of_steps": 0.8484765
    },
    {
      "name": "diffusion_only/1_to_3_ticks",
      "group": "partition",
      "count": 282163,
      "mean": 3.007378558073999,
      "retail_mean": 5.447752184472999,
      "arb_mean": -2.4403736263893,
      "se": 0.18678987637650601,
      "retail_se": 0.23168195289528692,
      "arb_se": 0.08806768024762221,
      "loss_per_simulation": 2.4403736263893,
      "loss_se": 0.08806768024762221,
      "loss_total": 2440.3736263893,
      "arb_fill_steps": 282028,
      "arb_fill_count": 636848,
      "arb_filled_shares_total": 541810.2599999978,
      "exposed_shares_total": 11266047.250000004,
      "exposed_shares_per_simulation": 11266.047250000003,
      "exposed_shares_per_simulation_se": 464.45359741920544,
      "exposed_shares_per_bucket_step": 39.927443534410976,
      "bid_exposed_shares_total": 7391468.770000047,
      "ask_exposed_shares_total": 3874578.4800000535,
      "exposed_reserved_cash_total": 1935737.8233000021,
      "exposed_reserved_cash_per_bucket_step": 6.86035314091501,
      "mean_abs_move_ticks": 1.486112797272648,
      "fraction_of_arb_loss": 0.09039579750541557,
      "fraction_of_steps": 0.1410815
    },
    {
      "name": "diffusion_only/over_3_ticks",
      "group": "partition",
      "count": 17085,
      "mean": -0.44502205974480047,
      "retail_mean": 0.19492037248170035,
      "arb_mean": -0.6399424322247003,
      "se": 0.04683915922429365,
      "retail_se": 0.02262002598159506,
      "arb_se": 0.057715347548313485,
      "loss_per_simulation": 0.6399424322247003,
      "loss_se": 0.057715347548313485,
      "loss_total": 639.9424322247003,
      "arb_fill_steps": 17081,
      "arb_fill_count": 36619,
      "arb_filled_shares_total": 46761.44999999999,
      "exposed_shares_total": 142190.70999999973,
      "exposed_shares_per_simulation": 142.19070999999974,
      "exposed_shares_per_simulation_se": 11.166427569319405,
      "exposed_shares_per_bucket_step": 8.322546678372825,
      "bid_exposed_shares_total": 85245.44999999991,
      "ask_exposed_shares_total": 56945.25999999991,
      "exposed_reserved_cash_total": 26118.0262,
      "exposed_reserved_cash_per_bucket_step": 1.5287109277143693,
      "mean_abs_move_ticks": 4.756807080750602,
      "fraction_of_arb_loss": 0.023704610594443017,
      "fraction_of_steps": 0.0085425
    },
    {
      "name": "jump",
      "group": "jump_marginal",
      "count": 3799,
      "mean": -13.3049419526478,
      "retail_mean": 0.3385359236981999,
      "arb_mean": -13.6434778763466,
      "se": 1.46052840506327,
      "retail_se": 0.07261460131358026,
      "arb_se": 1.460653881628571,
      "loss_per_simulation": 13.6434778763466,
      "loss_se": 1.460653881628571,
      "loss_total": 13643.4778763466,
      "arb_fill_steps": 3797,
      "arb_fill_count": 9373,
      "arb_filled_shares_total": 688182.52,
      "exposed_shares_total": 4379991.57,
      "exposed_shares_per_simulation": 4379.99157,
      "exposed_shares_per_simulation_se": 460.5300524618885,
      "exposed_shares_per_bucket_step": 1152.932763885233,
      "bid_exposed_shares_total": 3617269.25,
      "ask_exposed_shares_total": 762722.3200000001,
      "exposed_reserved_cash_total": 83466.34879999999,
      "exposed_reserved_cash_per_bucket_step": 21.9706103711503,
      "mean_abs_move_ticks": 9.173616665132023,
      "fraction_of_arb_loss": 0.5053787871017995,
      "fraction_of_steps": 0.0018995
    },
    {
      "name": "diffusion_only",
      "group": "jump_marginal",
      "count": 1996201,
      "mean": 118.18871042800909,
      "retail_mean": 131.541771038367,
      "arb_mean": -13.3530606103358,
      "se": 5.402332238991651,
      "retail_se": 5.688377013865789,
      "arb_se": 0.5668059865884191,
      "loss_per_simulation": 13.3530606103358,
      "loss_se": 0.5668059865884191,
      "loss_total": 13353.0606103358,
      "arb_fill_steps": 1995232,
      "arb_fill_count": 4352773,
      "arb_filled_shares_total": 8528263.58999991,
      "exposed_shares_total": 2204321677.9799204,
      "exposed_shares_per_simulation": 2204321.6779799205,
      "exposed_shares_per_simulation_se": 145572.5391928795,
      "exposed_shares_per_bucket_step": 1104.2583777785505,
      "bid_exposed_shares_total": 1789264020.5899563,
      "ask_exposed_shares_total": 415057657.3899986,
      "exposed_reserved_cash_total": 43461593.47920011,
      "exposed_reserved_cash_per_bucket_step": 21.772152944117405,
      "mean_abs_move_ticks": 0.513184556096923,
      "fraction_of_arb_loss": 0.4946212128982006,
      "fraction_of_steps": 0.9981005
    },
    {
      "name": "under_1_tick",
      "group": "move_marginal",
      "count": 1697736,
      "mean": 115.7455676735442,
      "retail_mean": 126.0925891320744,
      "arb_mean": -10.3470214585197,
      "se": 5.375932230203285,
      "retail_se": 5.6766049626285895,
      "arb_se": 0.5742051920321283,
      "loss_per_simulation": 10.3470214585197,
      "loss_se": 0.5742051920321283,
      "loss_total": 10347.021458519699,
      "arb_fill_steps": 1696906,
      "arb_fill_count": 3680895,
      "arb_filled_shares_total": 7978250.489999912,
      "exposed_shares_total": 2194580896.0699205,
      "exposed_shares_per_simulation": 2194580.8960699206,
      "exposed_shares_per_simulation_se": 145684.24591616355,
      "exposed_shares_per_bucket_step": 1292.6514464380332,
      "bid_exposed_shares_total": 1782915392.9299562,
      "ask_exposed_shares_total": 411665503.13999856,
      "exposed_reserved_cash_total": 41525689.23670011,
      "exposed_reserved_cash_per_bucket_step": 24.45945025416208,
      "mean_abs_move_ticks": 0.3086804600986946,
      "fraction_of_arb_loss": 0.3832721540809376,
      "fraction_of_steps": 0.848868
    },
    {
      "name": "1_to_3_ticks",
      "group": "move_marginal",
      "count": 282750,
      "mean": 0.16714851935789887,
      "retail_mean": 5.464354586488099,
      "arb_mean": -5.2972060671204,
      "se": 0.6524657601919367,
      "retail_se": 0.2326519365578999,
      "arb_se": 0.6150255928589595,
      "loss_per_simulation": 5.2972060671204,
      "loss_se": 0.6150255928589595,
      "loss_total": 5297.2060671204,
      "arb_fill_steps": 282615,
      "arb_fill_count": 638350,
      "arb_filled_shares_total": 957476.6599999978,
      "exposed_shares_total": 12907167.340000004,
      "exposed_shares_per_simulation": 12907.167340000004,
      "exposed_shares_per_simulation_se": 528.1815771993391,
      "exposed_shares_per_bucket_step": 45.64869085764811,
      "bid_exposed_shares_total": 8914217.680000046,
      "ask_exposed_shares_total": 3992949.6600000532,
      "exposed_reserved_cash_total": 1960091.494300002,
      "exposed_reserved_cash_per_bucket_step": 6.932242243324499,
      "mean_abs_move_ticks": 1.4870189079981833,
      "fraction_of_arb_loss": 0.19621797326844523,
      "fraction_of_steps": 0.141375
    },
    {
      "name": "over_3_ticks",
      "group": "move_marginal",
      "count": 19514,
      "mean": -11.0289477175408,
      "retail_mean": 0.32336324350270035,
      "arb_mean": -11.352310961042301,
      "se": 1.3218281579263844,
      "retail_se": 0.03425357095121604,
      "arb_se": 1.325505037046787,
      "loss_per_simulation": 11.352310961042301,
      "loss_se": 1.325505037046787,
      "loss_total": 11352.3109610423,
      "arb_fill_steps": 19508,
      "arb_fill_count": 42901,
      "arb_filled_shares_total": 280718.96,
      "exposed_shares_total": 1213606.1399999997,
      "exposed_shares_per_simulation": 1213.6061399999999,
      "exposed_shares_per_simulation_se": 172.42691337516828,
      "exposed_shares_per_bucket_step": 62.1915619555191,
      "bid_exposed_shares_total": 1051679.23,
      "ask_exposed_shares_total": 161926.90999999992,
      "exposed_reserved_cash_total": 59279.097,
      "exposed_reserved_cash_per_bucket_step": 3.0377727272727273,
      "mean_abs_move_ticks": 5.880781384312116,
      "fraction_of_arb_loss": 0.4205098726506171,
      "fraction_of_steps": 0.009757
    },
    {
      "name": "all_steps",
      "group": "total",
      "count": 2000000,
      "mean": 104.8837684753613,
      "retail_mean": 131.8803069620652,
      "arb_mean": -26.9965384866824,
      "se": 5.407865958515319,
      "retail_se": 5.70484283158216,
      "arb_se": 1.6782203403036364,
      "loss_per_simulation": 26.9965384866824,
      "loss_se": 1.6782203403036364,
      "loss_total": 26996.5384866824,
      "arb_fill_steps": 1999029,
      "arb_fill_count": 4362146,
      "arb_filled_shares_total": 9216446.10999991,
      "exposed_shares_total": 2208701669.5499206,
      "exposed_shares_per_simulation": 2208701.6695499206,
      "exposed_shares_per_simulation_se": 145826.8204643449,
      "exposed_shares_per_bucket_step": 1104.3508347749603,
      "bid_exposed_shares_total": 1792881289.8399563,
      "ask_exposed_shares_total": 415820379.7099986,
      "exposed_reserved_cash_total": 43545059.82800011,
      "exposed_reserved_cash_per_bucket_step": 21.772529914000057,
      "mean_abs_move_ticks": 0.5296350468880351,
      "fraction_of_arb_loss": 1.0,
      "fraction_of_steps": 1.0
    }
  ],
  "paired": null,
  "failures": [],
  "seconds_per_simulation": 0.22801238244210253,
  "simulation_seconds": 228.01238244210253,
  "definitions": {
    "jump": "At least one Poisson jump sampled in that process step, including any simultaneous Gaussian diffusion. diffusion_only means jump_count == 0.",
    "move_ticks": "Absolute change in true probability between consecutive process states, divided by 0.01; the initial state is used for the first step. Includes horizon contraction and the terminal step. under_1: <1; 1_to_3: >=1 and <=3; over_3: >3. No rounding before classification.",
    "count": "Number of all market steps in the bucket, including steps without arbitrage fills or resting participant orders.",
    "edge": "Mean sum of original recorded edge in a bucket per simulation (zero contributions included), with retail and arbitrage parts. Uses simulator statistic deltas, preserving its per-step rounding. Loss is negative arbitrage edge, reported positive. Economic edge is simulator score, not settlement wealth.",
    "se": "Sample standard deviation of per-simulation bucket totals divided by sqrt(n), so within-simulation dependence is retained. arb_se is the standard error for loss_per_simulation as well.",
    "exposure": "Sum of participant resting remaining_quantity on both sides after actions and immediately before arbitrage. Includes retained and new orders, probes, inventory-acquisition bids, and quotes behind competitor liquidity. Total is share-step exposure, not unique shares, collateral, trade notional, or exclusively fillable stale size. Bid/ask quantities and reserved-cash exposure are also reported. Per-bucket-step exposure divides by all steps in that bucket.",
    "groups": "The six rows with group=partition are mutually exclusive and exhaustive. jump_marginal, move_marginal, and total are overlapping summaries; do not add them to partition rows.",
    "causality": "Jump and move classes use hidden state for diagnosis only. This is not an oracle and estimates no candidate gain. Some arbitrage fills intentionally acquire inventory for later retail sales. A jump-class step also has diffusion; its loss is not the counterfactual loss caused solely by a jump."
  },
  "reproduce": [
    "Obtain the simulator at b244530ee2a6247b5f930830eeca9dd950da0e7e and extract the incumbent code field from the artifact URL in sources.json as UTF-8 b.py.",
    "Save result.code verbatim as harness.py.",
    "python3 harness.py SIMULATOR_ROOT b.py pilot.json --start 231000 --n 20 --validate",
    "python3 harness.py SIMULATOR_ROOT b.py rest.json --start 231020 --n 980",
    "python3 harness.py --summarize pilot.json rest.json result.json"
  ],
  "source_attribution": {
    "incumbent": "https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741",
    "simulator_commit": "b244530ee2a6247b5f930830eeca9dd950da0e7e",
    "measurement": "Findings and timing are locally measured by the included harness; sources.json gives exact passages supporting simulator mechanics, run configuration, and incumbent identity."
  }
}
