{
  "benchmark": "streaming_vs_reqwest",
  "benchmark_version": "foundation-1",
  "environment": {
    "os": "macos",
    "arch": "aarch64",
    "cpu_count": 16,
    "memory": "not_collected",
    "rustc": "rustc 1.95.0 (59807616e 2026-04-14)",
    "crate_versions": {
      "reqwest": "0.12",
      "specters": "3.1.0"
    }
  },
  "git": {
    "commit_sha": "8edf45a4c3e4be7527a3211ef24590985628e948",
    "dirty_state_classification": "target/validation/state-isolation.json if present; benchmark rows mark dirty evidence ineligible until release gate",
    "release_evidence_eligible": false
  },
  "fixture_config": {
    "fixtures": [
      {
        "protocol": "h1",
        "address": "127.0.0.1:3201",
        "health": "healthy",
        "origin_classification": "localhost-threshold"
      },
      {
        "protocol": "h2",
        "address": "127.0.0.1:3202",
        "health": "healthy",
        "origin_classification": "localhost-threshold"
      },
      {
        "protocol": "h3",
        "address": "127.0.0.1:3203/udp",
        "health": "healthy",
        "origin_classification": "localhost-threshold"
      },
      {
        "protocol": "rfc8441",
        "address": "127.0.0.1:3204",
        "health": "healthy",
        "origin_classification": "localhost-threshold"
      }
    ],
    "deterministic_payload_schedule": [
      0,
      1,
      1,
      1,
      1
    ],
    "pacing_mode": "monotonic_deadline_spin_wait",
    "monotonic_clock_source": "std::time::Instant",
    "inter_chunk_target_deadlines_ms": [
      1,
      2,
      3,
      4
    ],
    "target_inter_chunk_pacing_ms": 1,
    "pacing_implementation": "spin_wait_until(Instant::now() < anchor + i * delay) per H1/H2/H3 fixture chunk emission and request-body producer poll pacing; request producer wakes/yields until PACING_SPIN_LEAD_IN then spin-waits, so no tokio::time::sleep drives inter-chunk pacing"
  },
  "workload": {
    "request_count": 8,
    "concurrency_levels": [
      1,
      8
    ],
    "chunk_size": 16384,
    "chunk_count": 5,
    "payload_schedule_ms": [
      0,
      1,
      1,
      1,
      1
    ],
    "inter_chunk_target_deadlines_ms": [
      1,
      2,
      3,
      4
    ],
    "pacing_mode": "monotonic_deadline_spin_wait",
    "monotonic_clock_source": "std::time::Instant",
    "tokio_runtime": "tokio multi_thread worker_threads=4",
    "pools": "protocol-specific: H1 cold isolated client per sample; H2/H3 warm pooled"
  },
  "measurement_config": {
    "warmup_count": 5,
    "sample_count": 100,
    "thresholded_origins": [
      "127.0.0.1:3201",
      "127.0.0.1:3202"
    ],
    "comparable_clients_share_workload": true,
    "throughput_timing_window": "corrected client overhead: response rows use paired reqwest/Specter sample order and divide by final fixture DATA write-stamp to final observed body-chunk delivery overhead, falling back to fixed fixture schedule overhead if a stamp is unavailable; per-gap response pacing overage is emitted as jitter evidence only; request rows use per-chunk yielded/consumed timestamps with fixture upload-complete as the final endpoint and response headers only as an emitted fallback count; identical for reqwest and Specter"
  },
  "metric_definitions": {
    "actual_send_gap.median_minus_target_ns": "median observed inter-chunk wall-clock gap minus the target inter-chunk pacing (BENCH_CHUNK_DELAY_MS); near-zero values prove monotonic deadline spin-wait is in effect rather than scheduler-sleep jitter",
    "actual_send_gap.median_ns": "client-observed median wall-clock interval in nanoseconds between successive received body chunks across all samples on this row; with monotonic deadline spin-wait fixture pacing this should track BENCH_CHUNK_DELAY_MS at microsecond-scale precision",
    "actual_send_gap.over_budget_fraction": "fraction of observed inter-chunk gaps that exceeded the target pacing by more than 500us; intended as a guard against scheduler-sleep regressions in the fixture",
    "actual_send_gap.p95_ns": "client-observed p95 wall-clock interval in nanoseconds between successive received body chunks across all samples on this row; releases require this to remain near BENCH_CHUNK_DELAY_MS so scheduler/kqueue jitter cannot dominate the corrected client-overhead denominator",
    "body_transfer_duration_ns": "median raw body-transfer duration denominator in nanoseconds before subtracting fixture pacing; response rows measure first observed response body byte through final observed response body byte, while request rows measure first yielded request body chunk through fixture upload-complete",
    "bytes_per_sec": "median body bytes per second over samples; response rows divide decoded response body bytes by final fixture DATA write-stamp to final observed body-chunk delivery overhead, falling back to fixed fixture schedule overhead if a stamp is unavailable; request rows divide uploaded request body bytes by corrected upload-complete write-overhead duration; applied identically to reqwest and Specter",
    "chunks_per_sec": "response rows: decoded body chunks received divided by corrected client-overhead duration; request rows: uploaded request chunks divided by corrected upload-complete write-overhead duration",
    "client_overhead_denominator_floor_count": "number of measured samples whose corrected client-overhead denominator reached the 1ns floor/clamp",
    "client_overhead_duration_ns": "median corrected client-overhead duration denominator in nanoseconds; gates response-row bytes_per_sec and chunks_per_sec using final fixture DATA write-stamp delivery overhead, and gates request-row TTFT, bytes_per_sec, and chunks_per_sec using the corrected upload-complete write-overhead timing window",
    "client_overhead_unclamped_duration_ns": "median corrected client-overhead denominator before applying the 1ns floor; response rows use final fixture DATA write-stamp delivery overhead with fixed-schedule fallback and request rows use corrected upload-complete write-overhead",
    "client_write_overhead_denominator_floor_count": "request-row denominator evidence: number of measured request uploads whose per-chunk write-overhead denominator reached the 1ns floor/clamp",
    "client_write_overhead_duration_ns": "request-row denominator evidence: median sum across chunks of (consumed_at - yielded_at - scheduled_gap) where consumed_at[i<N-1] is the wall-clock at the start of the next poll_next call and consumed_at[N-1] is the fixture upload-complete timestamp; used as the request-row threshold denominator",
    "client_write_overhead_unclamped_duration_ns": "request-row denominator evidence: median per-sample client_write_overhead_duration_ns before applying the 1ns floor",
    "connection_reuse_count": "number of requests after the first that used an existing warm connection",
    "fixture.monotonic_clock_source": "std::time::Instant: monotonic clock used by the fixture deadline computation and by the client inter-chunk receive timestamps reported under actual_send_gap",
    "fixture.pacing_mode": "monotonic_deadline_spin_wait: each H1/H2/H3 fixture chunk and request-body producer chunk is sent at anchor + i*delay using std::time::Instant deadlines and a spin-wait loop, not tokio::time::sleep inter-chunk pacing; this removes macOS scheduler/kqueue jitter from the corrected client-overhead denominator",
    "p50_ns": "nearest-rank 50th percentile over sample TTFT values",
    "p95_bytes_per_sec": "nearest-rank 95th percentile of body bytes per second over samples using the same corrected client-overhead duration denominator as bytes_per_sec; enforced for comparable H1/H2 threshold rows so p95 throughput cannot regress by more than the additive 5% budget",
    "p95_ns": "nearest-rank 95th percentile over sample TTFT values",
    "p95_regression_allowed_pct": "5 means additive p95 budgets allow Specter p95 throughput or p95 TTFT to regress versus reqwest by at most 5%; median TTFT and median throughput still must each improve by at least 5%",
    "p99_ns": "nearest-rank 99th percentile over sample TTFT values",
    "ttft_ns": "response rows: elapsed nanoseconds from request start until first response body byte is observable; request rows: corrected upload-complete write-overhead in nanoseconds using per-chunk yielded/consumed timestamps and the fixture upload-complete timestamp as the final endpoint",
    "upload_complete_fallback_count": "request-row evidence: number of request uploads that could not match the fixture upload-complete timestamp and therefore fell back to response-headers timing; release evidence should be zero",
    "wilcoxon_signed_rank_p_value": "one-sided paired Wilcoxon signed-rank normal-approximation p-value over matched reqwest/Specter samples; TTFT ranks baseline minus Specter as improvement, corrected-overhead throughput ranks Specter minus baseline as improvement, and threshold rows require p < 0.01 for both median deltas"
  },
  "rows": [
    {
      "protocol": "h1",
      "client": "reqwest",
      "direction": "response",
      "endpoint": "127.0.0.1:3201",
      "comparable": true,
      "comparison_mode": "reqwest_comparable",
      "skip_reason": null,
      "measurement_source": "localhost_paired_real_measurement",
      "client_config": {
        "runtime": "tokio multi_thread worker_threads=4",
        "payload_schedule_ms": [
          0,
          1,
          1,
          1,
          1
        ],
        "chunk_size": 16384,
        "request_count": 8,
        "concurrency": 1,
        "warmup_count": 5,
        "sample_count": 100,
        "decompression": "disabled",
        "byte_accounting": "body bytes only; headers excluded"
      },
      "metrics": {
        "ttft_ns": 220093.5,
        "chunks_per_sec": 101083.75512603275,
        "bytes_per_sec": 1380130203.3207674,
        "p95_bytes_per_sec": 1588300757.588997,
        "body_transfer_duration_ns": 32158333.5,
        "client_overhead_duration_ns": 474855.0,
        "client_overhead_unclamped_duration_ns": 474855.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 220093.5,
        "p95_ns": 248663.79999999996,
        "p99_ns": 267943.03,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 700,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 4004,
          "median_ns": 998312.5,
          "p95_ns": 1022701.8500000001,
          "min_ns": 3291.0,
          "max_ns": 5415250.0,
          "median_minus_target_ns": -1687.5,
          "p95_minus_target_ns": 22701.850000000093,
          "over_budget_fraction": 0.00024975024975024975,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          202562.0,
          201854.0,
          195687.0,
          202896.0,
          194104.0,
          236229.0,
          209145.0,
          219708.0,
          229062.0,
          219333.0,
          183312.0,
          230333.0,
          216874.0,
          253353.0,
          230104.0,
          228812.0,
          224604.0,
          231458.0,
          210812.0,
          224291.0,
          223770.0,
          222708.0,
          214021.0,
          242000.0,
          243291.0,
          238271.0,
          234104.0,
          245000.0,
          239792.0,
          257208.0,
          233437.0,
          270520.0,
          240729.0,
          243395.0,
          240000.0,
          226021.0,
          222104.0,
          234583.0,
          234000.0,
          233271.0,
          232208.0,
          228208.0,
          234500.0,
          265166.0,
          224792.0,
          205041.0,
          200417.0,
          200375.0,
          189104.0,
          207562.0,
          208917.0,
          218020.0,
          206083.0,
          182708.0,
          207167.0,
          192791.0,
          203646.0,
          188604.0,
          177021.0,
          201937.0,
          190687.0,
          204521.0,
          194021.0,
          212104.0,
          203209.0,
          222395.0,
          204750.0,
          205458.0,
          248417.0,
          200396.0,
          234145.0,
          220416.0,
          199125.0,
          202229.0,
          220687.0,
          206624.0,
          221083.0,
          216333.0,
          204916.0,
          206604.0,
          230375.0,
          232416.0,
          244229.0,
          213250.0,
          223458.0,
          213062.0,
          231770.0,
          220416.0,
          208708.0,
          220729.0,
          229145.0,
          188104.0,
          204521.0,
          198229.0,
          197166.0,
          219771.0,
          267917.0,
          210708.0,
          237042.0,
          223521.0
        ],
        "bytes_per_sec_samples": [
          1302045771.073111,
          1256082905.7650328,
          1300748462.2880995,
          1332484806.8348403,
          1195914591.0850203,
          1398477244.016525,
          1377889350.0355322,
          1427283378.9958315,
          1446046848.24628,
          1587147053.7662532,
          1554525572.7236931,
          1430913906.3015146,
          946540453.5698913,
          1254772216.41451,
          1383100410.692352,
          1338491011.506742,
          1420065005.417118,
          1256983936.7058258,
          1662122645.4572892,
          1400838759.0470126,
          1191745648.426305,
          1415715094.2499535,
          1500682378.1565714,
          1362024748.2157924,
          1399098237.4641345,
          1211478134.2024071,
          1448844103.7907913,
          1344670234.0697942,
          1180918195.6111994,
          1254373540.5581288,
          1346056679.9623723,
          1323625347.134562,
          1522174375.5545335,
          1241014687.057362,
          1034848118.795309,
          1300211689.1284637,
          1167596073.3310766,
          1493980627.674295,
          1322065970.1558778,
          1417895916.5393786,
          1453664660.7502112,
          1536902930.471652,
          1338040102.819366,
          1316864489.708982,
          1341691609.10457,
          1419038009.328027,
          1323849943.7420335,
          1362851807.3341458,
          1550689145.2233067,
          1323734962.1478374,
          1270178444.4112809,
          1550685476.04738,
          1519083580.193687,
          1643705058.0749369,
          1531358070.8477428,
          1545208476.7662287,
          1566905996.6383822,
          1453126385.8093126,
          1451915919.3222501,
          1562553646.0220878,
          1434176807.9849615,
          1499830646.563956,
          1303879846.3261728,
          1485932210.6914744,
          1328990967.8256674,
          1243076736.316596,
          1415589717.4479814,
          1448309392.2651935,
          957953590.3526403,
          1418657107.35608,
          1403472704.0663362,
          1557447759.1013114,
          1351489017.708185,
          1534948320.564738,
          1318637097.1311755,
          1260511313.3660052,
          1255377919.784232,
          1487760527.2178724,
          1306802206.9834635,
          1360605230.1585324,
          1532113459.061272,
          1453390638.652704,
          1540215135.6407418,
          1639256511.5272732,
          1358380125.0681407,
          1341008006.8425457,
          1348477366.2551441,
          1355099508.9170327,
          1409876622.8876915,
          1764485739.748046,
          1369616237.4425025,
          1351140725.9577522,
          1341002518.8813791,
          1382371056.6060023,
          1391670701.3565052,
          1288387098.0425308,
          1060525148.9583434,
          1486215271.714604,
          1348707701.1094487,
          1610221130.2211301
        ],
        "response_gap_overhead_by_index_ns": [
          0.0,
          0.0,
          0.0,
          0.0
        ]
      },
      "threshold": {
        "required": true,
        "ttft_improvement_required_pct": 5.0,
        "throughput_improvement_required_pct": 5.0,
        "throughput_regression_allowed_pct": 5.0,
        "p95_regression_allowed_pct": 5.0,
        "wilcoxon_p_value_required_less_than": 0.01,
        "reqwest_median_ttft_ns": 220093.5,
        "specter_median_ttft_ns": 75729.0,
        "ttft_improvement_pct": 65.59235052375467,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1380130203.3207674,
        "specter_median_bytes_per_sec": 1655733464.5410388,
        "throughput_improvement_pct": 19.969366698673436,
        "throughput_wilcoxon_signed_rank_p_value": 4.440892098500626e-16,
        "median_throughput_regression_pct": -19.969366698673436,
        "reqwest_p95_bytes_per_sec": 1588300757.588997,
        "specter_p95_bytes_per_sec": 1856177630.7872648,
        "p95_throughput_regression_pct": -16.865626482788983,
        "reqwest_p95_ttft_ns": 248663.79999999996,
        "specter_p95_ttft_ns": 89969.8,
        "p95_ttft_regression_pct": -63.81869817802188,
        "status": "pass",
        "reason": "deterministic localhost reqwest baseline row; excluded as a failing threshold subject but included in threshold math"
      },
      "specter_api_path": null,
      "protocol_selected_by_normal_dispatch": false,
      "pool_reuse_metadata": {
        "connection_reuse_count": 700,
        "cold_or_warm_pool": "warm"
      }
    },
    {
      "protocol": "h1",
      "client": "specter",
      "direction": "response",
      "endpoint": "127.0.0.1:3201",
      "comparable": true,
      "comparison_mode": "reqwest_comparable",
      "skip_reason": null,
      "measurement_source": "localhost_paired_real_measurement",
      "client_config": {
        "runtime": "tokio multi_thread worker_threads=4",
        "payload_schedule_ms": [
          0,
          1,
          1,
          1,
          1
        ],
        "chunk_size": 16384,
        "request_count": 8,
        "concurrency": 1,
        "warmup_count": 5,
        "sample_count": 100,
        "decompression": "disabled",
        "byte_accounting": "body bytes only; headers excluded"
      },
      "metrics": {
        "ttft_ns": 75729.0,
        "chunks_per_sec": 121327.03557825832,
        "bytes_per_sec": 1655733464.5410388,
        "p95_bytes_per_sec": 1856177630.7872648,
        "body_transfer_duration_ns": 32163438.5,
        "client_overhead_duration_ns": 395812.5,
        "client_overhead_unclamped_duration_ns": 395812.5,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 75729.0,
        "p95_ns": 89969.8,
        "p99_ns": 93560.67000000003,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 700,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3997,
          "median_ns": 999500.0,
          "p95_ns": 1021092.2,
          "min_ns": 4167.0,
          "max_ns": 1455375.0,
          "median_minus_target_ns": -500.0,
          "p95_minus_target_ns": 21092.199999999953,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          80896.0,
          68292.0,
          73728.0,
          66291.0,
          67271.0,
          63979.0,
          73646.0,
          68437.0,
          82000.0,
          70583.0,
          82500.0,
          66979.0,
          99666.0,
          75084.0,
          77271.0,
          74104.0,
          86146.0,
          73979.0,
          73083.0,
          78520.0,
          77854.0,
          81874.0,
          93375.0,
          79542.0,
          76187.0,
          91771.0,
          93125.0,
          89875.0,
          82354.0,
          84375.0,
          79542.0,
          84896.0,
          83375.0,
          71604.0,
          83292.0,
          77416.0,
          72500.0,
          78396.0,
          77562.0,
          75646.0,
          80354.0,
          77417.0,
          85229.0,
          83291.0,
          84187.0,
          71833.0,
          66542.0,
          71166.0,
          72125.0,
          67458.0,
          70333.0,
          69271.0,
          65062.0,
          66145.0,
          66271.0,
          69187.0,
          67437.0,
          72937.0,
          64416.0,
          70604.0,
          70062.0,
          60062.0,
          68604.0,
          69792.0,
          68333.0,
          79562.0,
          80104.0,
          72354.0,
          93499.0,
          77208.0,
          82521.0,
          88042.0,
          70125.0,
          74228.0,
          73354.0,
          73875.0,
          71792.0,
          68917.0,
          80021.0,
          73104.0,
          73688.0,
          83021.0,
          78687.0,
          82583.0,
          83041.0,
          80937.0,
          78521.0,
          73729.0,
          79375.0,
          64292.0,
          81374.0,
          73313.0,
          75812.0,
          82770.0,
          82625.0,
          74250.0,
          70875.0,
          81895.0,
          84354.0,
          76792.0
        ],
        "bytes_per_sec_samples": [
          1664406349.2063491,
          1471753366.3304079,
          1585062642.093552,
          1660370857.3701506,
          1722736568.7217746,
          1648538511.8478644,
          1734325545.946289,
          1954594800.94962,
          1744328722.4953356,
          1854133011.1837583,
          1639769207.2880855,
          1724064452.482736,
          1579184528.1554897,
          1631766867.6828692,
          1850645958.3480408,
          1511641317.3348835,
          1793251773.796787,
          1816035513.780433,
          1692885520.4765372,
          1750932427.089011,
          1456756973.032569,
          1506287306.1002154,
          1549779721.0982966,
          1560997918.2248223,
          1564105011.9331741,
          1678619728.6996436,
          1592132625.8915906,
          1713175842.5894217,
          1576806015.037594,
          1507444525.4618182,
          1669175421.8401783,
          1466398757.713943,
          1634147132.0887392,
          1899594202.8985507,
          1548864041.8979824,
          1212506938.0203516,
          1823823584.2519336,
          1622346877.645696,
          1715606585.3575532,
          1581875629.0837646,
          1577436040.6201334,
          1792447411.6781495,
          1417123284.7090979,
          1604799510.2540557,
          1561005354.5227616,
          1628223602.484472,
          1700206766.4784062,
          1497965714.2857141,
          1869791354.6115682,
          1757779601.6457727,
          1949031818.6819887,
          1653037648.3763728,
          1818762089.511646,
          1693432316.71236,
          1608245398.7730062,
          1829766086.1164935,
          1846958560.6709652,
          1727099513.251831,
          1855461119.0070384,
          1895479090.3227484,
          1597959636.4992943,
          1823818508.6855125,
          1590359223.7486138,
          1589387270.0595388,
          1689799475.5474648,
          1494266763.64565,
          1598439024.390244,
          1630078449.5152247,
          1751718681.5066664,
          1793050615.5950754,
          1653734250.8409224,
          1665650034.5654914,
          1647494167.8062906,
          1695443185.9927251,
          1679523123.6833878,
          1721238926.4318488,
          1655823401.7448604,
          1529431807.3087685,
          1563944511.6610944,
          1842834888.337748,
          1655643527.337217,
          1805399449.0358129,
          1480340359.0168712,
          1435747788.9580445,
          1622182233.1243393,
          1095840934.5147421,
          791140233.7591474,
          1749955273.8176935,
          1791002355.7190409,
          1687984546.0399227,
          1647154626.8416634,
          1751133603.563403,
          1540515636.4593716,
          1507447992.8602316,
          1732610707.20423,
          1636861350.3306892,
          1722741097.2695754,
          1595842860.5171587,
          1657213516.4454467,
          1824458252.6001647
        ],
        "response_gap_overhead_by_index_ns": [
          1437.5,
          0.0,
          0.0,
          0.0
        ]
      },
      "threshold": {
        "required": true,
        "ttft_improvement_required_pct": 5.0,
        "throughput_improvement_required_pct": 5.0,
        "throughput_regression_allowed_pct": 5.0,
        "p95_regression_allowed_pct": 5.0,
        "wilcoxon_p_value_required_less_than": 0.01,
        "reqwest_median_ttft_ns": 220093.5,
        "specter_median_ttft_ns": 75729.0,
        "ttft_improvement_pct": 65.59235052375467,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1380130203.3207674,
        "specter_median_bytes_per_sec": 1655733464.5410388,
        "throughput_improvement_pct": 19.969366698673436,
        "throughput_wilcoxon_signed_rank_p_value": 4.440892098500626e-16,
        "median_throughput_regression_pct": -19.969366698673436,
        "reqwest_p95_bytes_per_sec": 1588300757.588997,
        "specter_p95_bytes_per_sec": 1856177630.7872648,
        "p95_throughput_regression_pct": -16.865626482788983,
        "reqwest_p95_ttft_ns": 248663.79999999996,
        "specter_p95_ttft_ns": 89969.8,
        "p95_ttft_regression_pct": -63.81869817802188,
        "status": "pass",
        "reason": "deterministic localhost reqwest-comparable threshold: Specter median TTFT must improve by >=5%, median throughput must improve by >=5% using final fixture DATA write-stamp delivery overhead for response rows, paired Wilcoxon signed-rank p-values for TTFT and corrected-overhead throughput must be <0.01, p95 throughput must not regress by more than 5%, and p95 TTFT must not regress by more than 5%"
      },
      "specter_api_path": "specter::Client -> RequestBuilder::send_streaming -> specter::Body::chunk",
      "protocol_selected_by_normal_dispatch": true,
      "pool_reuse_metadata": {
        "connection_reuse_count": 700,
        "cold_or_warm_pool": "warm"
      }
    }
  ],
  "rfc8441_coexistence": {
    "concurrency_level": 2,
    "tunnel_stream_id": 1,
    "streaming_stream_id": 3,
    "messages_sent": [
      "bench-coexist-msg"
    ],
    "messages_received": [
      "bench-coexist-msg"
    ],
    "chunks_received": [
      "",
      "",
      "",
      "",
      ""
    ],
    "contamination_detected": false,
    "status": "pass"
  },
  "h3_gate": {
    "fixture_address": "127.0.0.1:3203/udp",
    "comparison_mode": "reqwest_h3_unavailable_specter_regression_gate",
    "reqwest_comparison_available": false,
    "reqwest_unavailable_reason": "reqwest 0.12 in this benchmark profile lacks a stable, directly comparable high-level HTTP/3 streaming mode; H3 release evidence uses the local Specter regression gate instead",
    "specter_thresholds": {
      "max_median_ttft_p50_ns": 2000000.0,
      "min_median_bytes_per_sec": 30000.0,
      "min_median_chunks_per_sec": 2000.0,
      "min_connection_reuse_count": 1
    },
    "specter_metrics": {
      "ttft_ns": 0.0,
      "chunks_per_sec": 0.0,
      "bytes_per_sec": 0.0,
      "p95_bytes_per_sec": 0.0,
      "body_transfer_duration_ns": 0.0,
      "client_overhead_duration_ns": 0.0,
      "client_overhead_denominator_floor_count": 0,
      "client_write_overhead_denominator_floor_count": 0,
      "upload_complete_fallback_count": 0,
      "p50_ns": 0.0,
      "p95_ns": 0.0,
      "p99_ns": 0.0,
      "warmup_count": 5,
      "sample_count": 100,
      "connection_reuse_count": 0,
      "pass": true,
      "actual_send_gap": {
        "target_ms": 1,
        "sample_count": 0,
        "median_ns": 0.0,
        "p95_ns": 0.0,
        "min_ns": 0.0,
        "max_ns": 0.0,
        "median_minus_target_ns": 0.0,
        "p95_minus_target_ns": 0.0,
        "over_budget_fraction": 0.0,
        "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
      }
    },
    "pass": true,
    "status": "skipped_by_protocol_filter"
  },
  "threshold_summary": {
    "required_thresholds_passed": true,
    "failed_rows": [],
    "negative_threshold_self_check": "implemented: --require-thresholds exits non-zero when required_thresholds_passed is false; --self-test-threshold-failure induces required H1/H2 comparable threshold failures, including median win and p95 regression failures; Wilcoxon p-value failures are part of the same required_thresholds_passed gate; --self-test-h3-threshold-failure induces an H3 gate failure"
  },
  "public_provider_threshold_inputs": [],
  "port_preflight": {
    "checked_range": "127.0.0.1:3200-3299",
    "tcp_ports_clear_before_start": true,
    "udp_ports_clear_before_start": true
  },
  "cleanup": {
    "fixture_shutdown_status": "all fixture tasks aborted before process exit",
    "post_run_tcp_scan_clear": true,
    "post_run_udp_scan_clear": true
  }
}