{
  "correctness": {
    "baseline_digest": "dd8991378be90907473c349dd815f5769fab02a4c2d961d1d5ba1bd75ecf8d43",
    "per_arm_correct": {
      "I1": true,
      "I2": true
    },
    "per_arm_digests": {
      "I1": [
        "dd8991378be90907473c349dd815f5769fab02a4c2d961d1d5ba1bd75ecf8d43"
      ],
      "I2": [
        "dd8991378be90907473c349dd815f5769fab02a4c2d961d1d5ba1bd75ecf8d43"
      ],
      "baseline": [
        "dd8991378be90907473c349dd815f5769fab02a4c2d961d1d5ba1bd75ecf8d43"
      ]
    }
  },
  "evidence_sha256": "add28336c05f0f0c526923acc2e84b6fb51ec919f19f2095acf383e48fbc569a",
  "incident_id": "incident2-missing-index",
  "limitations": [
    "Single machine, in-process DuckDB, threads=1; absolute times are not portable, only the ratio under these controls.",
    "Index build time is reported in setup_costs_ms and is NOT included in the per-trial timings.",
    "Arms are interleaved but share one process, so memory/cache effects are controlled, not eliminated.",
    "n is the trial count in the spec; one run is one observation, not a benchmark suite."
  ],
  "provenance": {
    "cpu_count": 2,
    "created_utc": "2026-10-26T08:02:46.633398+00:00",
    "duckdb": "1.5.6",
    "label": "LOCAL MEASUREMENT (dev container, repeat)",
    "meaning": "Measured by this code on the machine below. Not a Nebius run. Not a replay. No model was called.",
    "nebius_used": false,
    "nemotron_used": false,
    "numpy": "2.5.3",
    "platform": "Linux-6.18.44-fc-v153-x86_64-with-glibc2.39",
    "python": "3.13.16",
    "scipy": "1.18.1"
  },
  "raw_samples_ms": {
    "I1": [
      107.39054200001874,
      92.67268600001444,
      93.58662599998979,
      93.04191000001083,
      115.46266800002059,
      105.97359299998743,
      92.21434900001668,
      95.51117200004455,
      130.3486020000264,
      114.00655900001766,
      91.6151399999876,
      93.24257299999772,
      116.92602599998736,
      103.12867800001868,
      90.68812300000673
    ],
    "I2": [
      445.3477780000412,
      468.96379600002547,
      394.96439100003045,
      403.98000300001513,
      389.9143220000383,
      511.00499599999694,
      379.48462800000016,
      428.6233939999988,
      461.0013280000089,
      479.0612470000042,
      339.2608269999755,
      362.43332999998756,
      355.52843800002165,
      372.6299479999966,
      379.27456300002405
    ],
    "baseline": [
      476.8368910000049,
      371.3672580000207,
      434.24945099997103,
      343.65281199995934,
      355.0611819999858,
      394.4359120000058,
      425.63645999996425,
      393.9509720000274,
      446.4412909999851,
      391.45752199999606,
      356.4420410000366,
      350.4810459999703,
      421.34703300001775,
      559.0148919999933,
      371.7578529999628
    ]
  },
  "run_id": "incident2-container-002",
  "schema": "rootrace2.incident-evidence.v1",
  "setup_costs_ms": {
    "I1": {
      "setup_ms": 427.097
    },
    "I2": {
      "setup_ms": 251.114
    },
    "baseline": {
      "setup_ms": 0.005
    }
  },
  "spec": {
    "alpha_family": 0.01,
    "arms": [
      "baseline",
      "I1",
      "I2"
    ],
    "candidates": {
      "I1": {
        "claim": "Point lookups on customer_id perform a full table scan.",
        "direct": true,
        "mechanism": "Add an index on orders(customer_id) so each lookup probes instead of scanning.",
        "setup_sql": [
          "CREATE INDEX idx_orders_customer ON orders(customer_id)"
        ]
      },
      "I2": {
        "claim": "The orders table lacks an index on its primary-looking column.",
        "direct": false,
        "mechanism": "Add an index on orders(order_id). The lookup query does not filter on order_id.",
        "setup_sql": [
          "CREATE INDEX idx_orders_order ON orders(order_id)"
        ]
      }
    },
    "effect_bands": {
      "I1": {
        "high": null,
        "low": 2.0
      },
      "I2": {
        "high": null,
        "low": 2.0
      }
    },
    "evaluator": "agents/evaluator_v2.py + agents/verdicts_v2.py (unchanged)",
    "incident_id": "incident2-missing-index",
    "key_seed": 42,
    "lookups_per_trial": 200,
    "practical_threshold": 2.0,
    "query": "SELECT count(*), COALESCE(sum(amount_cents), 0) FROM orders WHERE customer_id = ?",
    "race_seed": 20261026,
    "rows": 1000000,
    "trials_per_arm": 15,
    "warmups_discarded": 2
  },
  "spec_sha256": "8dff265e4659681e9030bea810aa9d49483483c50e3b700270c23b953623ec40",
  "verdicts": {
    "I1": {
      "baseline_median_ms": 393.9509720000274,
      "candidate_median_ms": 95.51117200004455,
      "ci95_ratio": [
        3.4562844003485824,
        4.564829629915668
      ],
      "correct": true,
      "courtroom_label": "VERIFIED",
      "evaluator_verdict": "SUPPORTED",
      "explanation": "Output identical to baseline, statistically significant after Holm correction, and at least 2.0x faster.",
      "n": [
        15,
        15
      ],
      "p_holm": 6.783642781650189e-06,
      "p_raw": 3.3918213908250945e-06,
      "ratio_of_medians": 4.124658547796311,
      "winner_eligible": true
    },
    "I2": {
      "baseline_median_ms": 393.9509720000274,
      "candidate_median_ms": 394.96439100003045,
      "ci95_ratio": [
        0.8491461916135489,
        1.113704797434777
      ],
      "correct": true,
      "courtroom_label": "INCONCLUSIVE",
      "evaluator_verdict": "FALSIFIED",
      "explanation": "Output identical, but the evidence does not meet the pre-registered win rule. Not a proven win and not a proven loss.",
      "n": [
        15,
        15
      ],
      "p_holm": 0.5897385933186072,
      "p_raw": 0.5897385933186072,
      "ratio_of_medians": 0.9974341509688073,
      "winner_eligible": false
    }
  }
}