{
  "native": {
    "before": {
      "wall_ms": 32458.63766025286,
      "simulations": 491520,
      "decisions": 480,
      "simulations_per_second": 15142.964567545283,
      "repeat_ms": [
        6683.225112094078,
        6552.635986474343,
        6408.280955045484,
        6403.573547897395,
        6410.922058741562
      ]
    },
    "optimized": {
      "wall_ms": 3670.4745692550205,
      "simulations": 491520,
      "decisions": 480,
      "simulations_per_second": 133911.83911669537,
      "repeat_ms": [
        753.4187652636319,
        740.4007287113927,
        729.8165795509703,
        725.5063876509666,
        721.3321080780588
      ]
    }
  },
  "fixed": [
    {
      "before": {
        "decisions": 288,
        "simulations": 294912,
        "batch_wall_ms": 20173.62229793798,
        "simulations_per_second": 14618.693442582397,
        "mean_simulations": 1024.0,
        "mean_decision_ms": 69.95316778011329,
        "p95_decision_ms": 144.67479102313519,
        "max_decision_ms": 155.9456959948875,
        "mean_preparation_ms": 0.43058750007831903,
        "capped_decisions": 288
      },
      "optimized": {
        "decisions": 288,
        "simulations": 294912,
        "batch_wall_ms": 2852.2985640447587,
        "simulations_per_second": 103394.50565153817,
        "mean_simulations": 1024.0,
        "mean_decision_ms": 9.818416336404173,
        "p95_decision_ms": 18.516742042265832,
        "max_decision_ms": 19.605039968155324,
        "mean_preparation_ms": 0.41565858292516267,
        "capped_decisions": 288
      }
    },
    {
      "before": {
        "decisions": 288,
        "simulations": 294912,
        "batch_wall_ms": 10441.614167008083,
        "simulations_per_second": 28243.90896685502,
        "mean_simulations": 1024.0,
        "mean_decision_ms": 71.60695350689315,
        "p95_decision_ms": 148.67194200633094,
        "max_decision_ms": 157.40058000665158,
        "mean_preparation_ms": 0.44924201574758627,
        "capped_decisions": 288
      },
      "optimized": {
        "decisions": 288,
        "simulations": 294912,
        "batch_wall_ms": 1489.2249309341423,
        "simulations_per_second": 198030.52841387183,
        "mean_simulations": 1024.0,
        "mean_decision_ms": 10.018306035918714,
        "p95_decision_ms": 19.160787982400507,
        "max_decision_ms": 20.585338003002107,
        "mean_preparation_ms": 0.4292518555707324,
        "capped_decisions": 288
      }
    }
  ],
  "timed": [
    {
      "before": {
        "decisions": 288,
        "simulations": 6122061,
        "batch_wall_ms": 29566.116237954702,
        "simulations_per_second": 207063.41511777492,
        "mean_simulations": 21257.15625,
        "mean_decision_ms": 102.568516145968,
        "p95_decision_ms": 104.28924404550344,
        "max_decision_ms": 105.63837696099654,
        "mean_preparation_ms": 0.43779965017165523,
        "capped_decisions": 0
      },
      "optimized": {
        "decisions": 288,
        "simulations": 17337175,
        "batch_wall_ms": 29466.83606802253,
        "simulations_per_second": 588362.2849761714,
        "mean_simulations": 60198.524305555555,
        "mean_decision_ms": 102.22262001702296,
        "p95_decision_ms": 104.07361696707085,
        "max_decision_ms": 104.56112097017467,
        "mean_preparation_ms": 0.434246093896541,
        "capped_decisions": 0
      }
    },
    {
      "before": {
        "decisions": 288,
        "simulations": 5837912,
        "batch_wall_ms": 14828.770034073386,
        "simulations_per_second": 393688.21463855123,
        "mean_simulations": 20270.527777777777,
        "mean_decision_ms": 102.69963434438978,
        "p95_decision_ms": 104.50803599087521,
        "max_decision_ms": 105.77291896333918,
        "mean_preparation_ms": 0.46515888627456864,
        "capped_decisions": 0
      },
      "optimized": {
        "decisions": 288,
        "simulations": 16225052,
        "batch_wall_ms": 14780.498632986564,
        "simulations_per_second": 1097733.7370600973,
        "mean_simulations": 56336.98611111111,
        "mean_decision_ms": 102.36620212405494,
        "p95_decision_ms": 104.32549397228286,
        "max_decision_ms": 105.26183299953118,
        "mean_preparation_ms": 0.4637860806219073,
        "capped_decisions": 0
      }
    }
  ],
  "timed_stages_two_workers": [
    {
      "stage": "Opening",
      "decisions_per_variant": 96,
      "before": 723.28125,
      "optimized": 7121.645833333333,
      "ratio": 9.846302297112407
    },
    {
      "stage": "Middle",
      "decisions_per_variant": 96,
      "before": 1743.9479166666667,
      "optimized": 15871.760416666666,
      "ratio": 9.10105185194034
    },
    {
      "stage": "Late",
      "decisions_per_variant": 96,
      "before": 58344.354166666664,
      "optimized": 146017.55208333334,
      "ratio": 2.502685206973397
    }
  ],
  "timed_position_ratio_median": 9.321794682534275,
  "timed_position_ratio_range": [
    1.6791186908591709,
    10.816631130063966
  ],
  "speedups": {
    "native": 8.843171924452495,
    "full_two_workers": 7.0114419589110675,
    "timed_total_futures_two_workers": 2.779256007969973
  },
  "profile_instructions": {
    "before": 17072535774,
    "optimized": 1987431140
  },
  "service": {
    "clients": 2,
    "requests": 10,
    "requested_ms": 1000,
    "wall_ms": 5086.504012986552,
    "peak_rss_kib": 31736,
    "note": "Real HTTP server plus two local clients in one process; 1-second stress hints, not a playing-strength benchmark."
  },
  "game_parity": {
    "config": {
      "before": "experiments/linear-optimization/baseline.so",
      "after": "experiments/linear-optimization/final.so",
      "games": 32,
      "budget": 128,
      "workers": 2,
      "output": "experiments/linear-optimization/full-game-parity.json"
    },
    "identical": true,
    "decisions": 1838,
    "purpose": "Fresh full-game regression; small fixed simulation cap, not a strength benchmark."
  },
  "library_hashes": {
    "before": "73e51ac8e9c15c8f2ff729e22af75fb0b543d606fda4c6c487c925ff039ff6a9",
    "optimized": "93d13fb261195c9229a33804d59bbc5cc78699a3ba2640b8747bf9ca79f6d935"
  },
  "positions_sha256": "7630ca79e57b77786a84f01ae082d52a9a7c5da69065849a606fa5ea1f389b8d",
  "model_sha256": "dc1c0b485eb7ec14cab52c78ba69895f6c3cb25fbc20eb0e024a5ce6b371d8bd",
  "source_fingerprint": "0595762fade80e7dec5749b82491df9066169f5a8159d72c586c5d2646403f89",
  "sources": {
    "final-native.json": "ddee503c360b4ec96320326c00a1fe905b6581a344b1502d8f8e70ea58bacb1e",
    "full-fixed-1worker.json": "7682c6ee10ee28e410f3b8106e99dd8feadcf12ffb69d3019ab572e7b3acc492",
    "full-fixed-2workers.json": "07dd6568ba47e430681bde1a2e4e2f46c01d4b3e0adc1339fe5da14885819c93",
    "full-timed-1worker.json": "352312ff68c5d780fb5bdd748267b293b6692d0d2319985dfbcd23b93afccaeb",
    "full-timed-2workers.json": "cfc30c19369c17b9fc41025fed8aba82b511d5d03ee84f9e8d2d6dd252b5b4a6",
    "full-game-parity.json": "2530cff35491239097289ebade4bc5e01f48c3ffad0174ec6c33283bf6c7d05b",
    "service-memory.json": "49a006387be7677a75f8f720a4315688d9acbc06fb16c962b1bbd2b7288c4b50",
    "profile-before.txt": "f53f590518eb6af0467d34e9ea14468b0f5c81a583ba88eb486a52c065113fe5",
    "profile-final.txt": "8793b4d7338c8321b4986dbf65ec6a1dcc47ba0687bb327f867bf672e158ea6c",
    "environment.txt": "774cea2edf7d8bb676d5dfc51e1bacd77fddf42f1e6d62bd2958723515230ac9",
    "resource-audit.json": "6304dd9cedcc627c62e8a808be2dc0672c553a4a9a7d10627b19065fac7db231"
  },
  "resource_audit": {
    "cpu_max": "200000 100000",
    "cpus": "0-1",
    "memory_limit_bytes": 2147483648,
    "swap_limit_bytes": 0,
    "memory_peak_bytes": 903770112,
    "memory_events": {
      "low": "0",
      "high": "0",
      "max": "0",
      "oom": "0",
      "oom_kill": "0",
      "oom_group_kill": "0",
      "sock_throttled": "0"
    },
    "final_validation_container": {
      "cpu_max": "200000 100000",
      "cpus": "0-1",
      "memory_limit_bytes": 2147483648,
      "swap_limit_bytes": 0,
      "memory_peak_bytes": 85610496,
      "memory_events": {
        "low": "0",
        "high": "0",
        "max": "0",
        "oom": "0",
        "oom_kill": "0",
        "oom_group_kill": "0",
        "sock_throttled": "0"
      }
    }
  },
  "review": [
    "No missing positions, nonfinite timings, sample-count or hash mismatches.",
    "Fixed work: 480 native decisions or 288 full-bot decisions per version.",
    "Timed: 288 decisions per version per worker setting, no simulation-cap hits.",
    "Late positions are much cheaper, so aggregate timed futures weight them heavily.",
    "Timing whiskers show min/max of three repeats, not confidence intervals.",
    "Profile percentages are instruction counts, not measured CPU-time shares.",
    "Host ARM Linux container; cloud performance and win-rate gains remain unmeasured."
  ]
}
