{
  "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": "4.1.0"
    }
  },
  "git": {
    "commit_sha": "70818103929d1ee2143bfc0c8c7f67ccafeaabd9",
    "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": "h2",
      "client": "reqwest",
      "direction": "response",
      "endpoint": "127.0.0.1:3202",
      "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": 107770.5,
        "chunks_per_sec": 90429.73058129146,
        "bytes_per_sec": 1481600705.8438792,
        "p95_bytes_per_sec": 1648903556.5545905,
        "body_transfer_duration_ns": 32022896.0,
        "client_overhead_duration_ns": 442332.5,
        "client_overhead_unclamped_duration_ns": 442332.5,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 107770.5,
        "p95_ns": 121817.55,
        "p99_ns": 126890.54000000004,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1000542.0,
          "p95_ns": 1021208.05,
          "min_ns": 903500.0,
          "max_ns": 1067416.0,
          "median_minus_target_ns": 542.0,
          "p95_minus_target_ns": 21208.050000000047,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          106208.0,
          104229.0,
          101042.0,
          105291.0,
          112979.0,
          110604.0,
          113083.0,
          102437.0,
          104958.0,
          115624.0,
          96833.0,
          119958.0,
          108187.0,
          110771.0,
          113104.0,
          119833.0,
          95458.0,
          108520.0,
          107938.0,
          120875.0,
          106958.0,
          103062.0,
          108812.0,
          118791.0,
          110583.0,
          116791.0,
          110979.0,
          107812.0,
          93896.0,
          124396.0,
          99979.0,
          104187.0,
          108583.0,
          96749.0,
          103312.0,
          115833.0,
          104417.0,
          112375.0,
          110854.0,
          123625.0,
          113312.0,
          121729.0,
          99833.0,
          103521.0,
          106750.0,
          115020.0,
          114541.0,
          112770.0,
          112646.0,
          113416.0,
          99312.0,
          111770.0,
          111437.0,
          126812.0,
          134666.0,
          112021.0,
          105875.0,
          108500.0,
          112208.0,
          107541.0,
          104542.0,
          104083.0,
          98083.0,
          104916.0,
          114271.0,
          107396.0,
          96354.0,
          116666.0,
          106041.0,
          104895.0,
          103562.0,
          103229.0,
          108771.0,
          120187.0,
          97249.0,
          100771.0,
          106270.0,
          109937.0,
          91063.0,
          106291.0,
          96333.0,
          108229.0,
          104146.0,
          96687.0,
          89333.0,
          107729.0,
          104646.0,
          114458.0,
          108562.0,
          106771.0,
          100042.0,
          114187.0,
          101458.0,
          123500.0,
          100438.0,
          103916.0,
          107229.0,
          111021.0,
          103229.0,
          113353.0
        ],
        "bytes_per_sec_samples": [
          1603821606.1709542,
          1453126385.8093126,
          1456358791.9084263,
          1461096000.356713,
          1606766779.0376954,
          1471892195.395845,
          1593747188.1558435,
          1792648434.5509353,
          1413937432.5782094,
          1392901168.9691818,
          1460955943.4931774,
          1429359715.0702617,
          1417632145.9164338,
          1554367032.3154461,
          1403214271.949846,
          1521435817.9087222,
          1283027142.163542,
          1678430569.072376,
          1386879077.6712384,
          1346286188.5285473,
          1392282705.4507139,
          1555743355.5211608,
          1501541958.218202,
          1374877273.0705647,
          1480621293.4199378,
          1452176514.2534263,
          1565349072.1743057,
          1500397215.144085,
          1587631513.283962,
          1328770011.840846,
          1466405320.0153944,
          1657221897.7031636,
          1359081558.1657708,
          1473828612.5510216,
          1549622147.187621,
          1440880498.996335,
          1611714044.7048004,
          1603170331.9552827,
          1554521885.3701406,
          1380303879.156013,
          1498112957.387812,
          1523210977.8291175,
          1432349379.9476333,
          1496108829.498474,
          1447244348.358004,
          1480059531.2030678,
          1360020752.2697794,
          1487618688.7545598,
          1444453260.6874907,
          1512946478.0408525,
          1544593005.305296,
          1625521803.5116787,
          1314555874.0404499,
          1418144441.4390044,
          1424305516.3150964,
          1523352603.0371284,
          1406979939.5438309,
          1542175932.680406,
          1629231499.73524,
          1556515605.294471,
          1621836989.742257,
          1480905680.8424096,
          1588108571.802446,
          1390687301.1932123,
          1460688932.7226326,
          1530764307.7038069,
          1465988730.3905888,
          1247907808.3733366,
          1353350542.0753744,
          1546422647.0123243,
          1467088120.203802,
          1542027157.7109592,
          1468324027.8537052,
          1451388581.2995527,
          1648704402.5157232,
          1541871156.2622046,
          1537652976.9502213,
          1482295730.845349,
          1675050096.1027277,
          1513386692.2838893,
          1577124760.2522976,
          1477703444.6526375,
          1459326094.8953872,
          1619840675.4609065,
          1652687483.2930686,
          1592774961.2354116,
          1510181790.5295637,
          1340541690.4456542,
          1646629028.57028,
          1605617308.6016262,
          1454742407.8632805,
          1422765639.6540344,
          1444844957.3949757,
          1385659222.0467312,
          1637888159.9500158,
          1348247110.0614505,
          1593258989.6750321,
          1633462858.510153,
          1523650101.7146177,
          1405848118.8072085
        ],
        "response_gap_overhead_by_index_ns": [
          791.5,
          0.0,
          0.0,
          1458.5
        ]
      },
      "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": 107770.5,
        "specter_median_ttft_ns": 82624.5,
        "ttft_improvement_pct": 23.332915779364484,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1481600705.8438792,
        "specter_median_bytes_per_sec": 1592858605.4364252,
        "throughput_improvement_pct": 7.509303900417389,
        "throughput_wilcoxon_signed_rank_p_value": 9.388296806633889e-9,
        "median_throughput_regression_pct": -7.509303900417389,
        "reqwest_p95_bytes_per_sec": 1648903556.5545905,
        "specter_p95_bytes_per_sec": 1768275889.2554376,
        "p95_throughput_regression_pct": -7.239497557411877,
        "reqwest_p95_ttft_ns": 121817.55,
        "specter_p95_ttft_ns": 95803.09999999999,
        "p95_ttft_regression_pct": -21.355256282859088,
        "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": 839,
        "cold_or_warm_pool": "warm"
      }
    },
    {
      "protocol": "h2",
      "client": "specter",
      "direction": "response",
      "endpoint": "127.0.0.1:3202",
      "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": 82624.5,
        "chunks_per_sec": 97220.37386696931,
        "bytes_per_sec": 1592858605.4364252,
        "p95_bytes_per_sec": 1768275889.2554376,
        "body_transfer_duration_ns": 32041165.5,
        "client_overhead_duration_ns": 411438.0,
        "client_overhead_unclamped_duration_ns": 411438.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 82624.5,
        "p95_ns": 95803.09999999999,
        "p99_ns": 103384.21,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1001208.0,
          "p95_ns": 1021333.0,
          "min_ns": 921250.0,
          "max_ns": 1076916.0,
          "median_minus_target_ns": 1208.0,
          "p95_minus_target_ns": 21333.0,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          95104.0,
          76395.0,
          84500.0,
          77666.0,
          70729.0,
          83417.0,
          78791.0,
          100833.0,
          106375.0,
          72604.0,
          90417.0,
          76375.0,
          80938.0,
          69646.0,
          84833.0,
          76417.0,
          87833.0,
          84250.0,
          92333.0,
          78124.0,
          85854.0,
          78021.0,
          74166.0,
          80583.0,
          76895.0,
          79729.0,
          80187.0,
          78437.0,
          83521.0,
          82375.0,
          89771.0,
          95625.0,
          99291.0,
          73333.0,
          86229.0,
          78917.0,
          80875.0,
          77333.0,
          76875.0,
          83896.0,
          83124.0,
          75562.0,
          85646.0,
          90833.0,
          83958.0,
          89062.0,
          95604.0,
          79875.0,
          82895.0,
          70063.0,
          84229.0,
          74458.0,
          80041.0,
          81729.0,
          103354.0,
          87229.0,
          99187.0,
          79458.0,
          80333.0,
          68208.0,
          88937.0,
          73353.0,
          77750.0,
          70167.0,
          77083.0,
          76333.0,
          84604.0,
          87021.0,
          83979.0,
          89541.0,
          87229.0,
          75687.0,
          82604.0,
          86250.0,
          84583.0,
          77270.0,
          84875.0,
          72583.0,
          76937.0,
          86937.0,
          95521.0,
          82645.0,
          73938.0,
          77458.0,
          80208.0,
          70167.0,
          86770.0,
          72250.0,
          85333.0,
          84208.0,
          82895.0,
          83292.0,
          92792.0,
          79021.0,
          87812.0,
          75896.0,
          90895.0,
          71437.0,
          83750.0,
          85042.0
        ],
        "bytes_per_sec_samples": [
          1596006088.2800608,
          1530617726.261015,
          1494692764.1872196,
          1610545613.6125708,
          1682926015.0430002,
          1426379400.0309062,
          1641481882.233894,
          1415724269.034272,
          1784297549.9124677,
          1725766951.9420671,
          1549010477.8495,
          1618508530.164281,
          1597955740.2151544,
          1624357430.0174987,
          1544753199.1825554,
          1689808189.6496155,
          1621680474.3098652,
          1644909730.2574942,
          1502543750.4442105,
          1711489143.8898146,
          1648360216.608859,
          1603978618.8397002,
          1494127088.3490188,
          1589711122.5927894,
          1542179561.6968305,
          1631429716.5360997,
          1416480067.7807844,
          1630410986.167778,
          1522474951.040406,
          1462853877.558309,
          1494979173.034897,
          1675576861.6171303,
          1541722440.088171,
          1780874404.5500124,
          1500400650.1980357,
          1473414420.288226,
          1524674527.0289133,
          1634991043.67394,
          1373923215.771941,
          1532858836.9302595,
          1611377204.284155,
          1640101605.4156187,
          1534797342.3949828,
          1582991345.4315329,
          1655815034.626686,
          1477703444.6526375,
          1622849048.988072,
          1737392267.9469473,
          1477280411.8784742,
          1607093812.5318792,
          1529281912.3491101,
          1609228706.6207325,
          1675572577.6348288,
          1550832256.6294198,
          1431442101.0326934,
          1449507438.1920085,
          1611365318.37103,
          1741052452.6056278,
          1603652851.8329105,
          1646806949.4770803,
          1575074144.0389154,
          1768256323.7774029,
          1500534629.5715408,
          1641136595.272617,
          1519382936.1537373,
          1510331445.1117492,
          1570510746.6971488,
          1518935706.670375,
          1589078961.7254465,
          1477700112.7395716,
          1577120964.9084811,
          1827424189.6131055,
          1599246448.8168418,
          1585062642.093552,
          1554518198.034081,
          1696716133.5086937,
          1563944511.6610944,
          1609066713.807293,
          1491997723.3921456,
          1713552111.7406662,
          1498400678.596987,
          1634314214.4638405,
          1629741995.6481194,
          1615846818.0372453,
          1670064421.4303188,
          1559597440.3335469,
          1528682626.2103198,
          1768647633.3381011,
          1586678255.5642447,
          1630082504.0232215,
          1564112477.863856,
          1495545494.3770995,
          1544443763.6390202,
          1885917203.3542252,
          1538252097.2110732,
          1712804215.104123,
          1369261401.9802642,
          1667939203.2902708,
          1657217707.0637083,
          1603982544.5503116
        ],
        "response_gap_overhead_by_index_ns": [
          3333.0,
          0.0,
          83.5,
          1979.5
        ]
      },
      "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": 107770.5,
        "specter_median_ttft_ns": 82624.5,
        "ttft_improvement_pct": 23.332915779364484,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1481600705.8438792,
        "specter_median_bytes_per_sec": 1592858605.4364252,
        "throughput_improvement_pct": 7.509303900417389,
        "throughput_wilcoxon_signed_rank_p_value": 9.388296806633889e-9,
        "median_throughput_regression_pct": -7.509303900417389,
        "reqwest_p95_bytes_per_sec": 1648903556.5545905,
        "specter_p95_bytes_per_sec": 1768275889.2554376,
        "p95_throughput_regression_pct": -7.239497557411877,
        "reqwest_p95_ttft_ns": 121817.55,
        "specter_p95_ttft_ns": 95803.09999999999,
        "p95_ttft_regression_pct": -21.355256282859088,
        "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": 839,
        "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
  }
}