{
  "schema": "perfowl.capture-latency-regression/1",
  "generatedAt": "2026-09-08T15:12:49.149Z",
  "evidence": "E2",
  "roundsPerScenario": 20,
  "scenarios": {
    "launch-under-300MiB-decoded-prelaunch-load": {
      "passed": 20,
      "wholeTestProcessWallMs": [
        341.718,
        274.804,
        320.8,
        293.836,
        271.35,
        282.644,
        274.796,
        271.635,
        312.116,
        314.485,
        277.855,
        272.238,
        272.609,
        275.699,
        270.425,
        329.413,
        327.194,
        281.385,
        281.008,
        280.081
      ],
      "wholeTestProcessP95Ms": 329.413,
      "assertions": [
        "single launch request",
        "launch precedes prelaunch CoreProfile decode",
        "clickToLaunchRequestMs <= 500",
        "32MiB prelaunch ring byte budget",
        "source loss is partial and never zero-filled"
      ]
    },
    "first-sysmon-wire-under-30MiB-heavy-source": {
      "passed": 20,
      "wholeTestProcessWallMs": [
        284.302,
        337.219,
        329.653,
        281.256,
        289.929,
        279.344,
        300.215,
        283.846,
        335.617,
        312.206,
        275.337,
        289.809,
        278.125,
        300.992,
        340.222,
        331.822,
        308.631,
        295.959,
        295.27,
        287.966
      ],
      "wholeTestProcessP95Ms": 337.219,
      "assertions": [
        "legal sysmontap sample reaches Wire",
        "raw-host-to-Wire <= 250ms",
        "heavy source cannot starve lightweight source"
      ]
    }
  },
  "p95Formula": "nearest-rank: sorted[ceil(0.95*n)]",
  "note": "Whole-test wall times include Python process and unittest startup; they are not product boundary metrics. Product boundaries are asserted inside every round."
}
