{
  "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": "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": 109978.5,
        "chunks_per_sec": 91107.76881591816,
        "bytes_per_sec": 1492709684.280003,
        "p95_bytes_per_sec": 1693817599.2902312,
        "body_transfer_duration_ns": 32030291.0,
        "client_overhead_duration_ns": 439040.5,
        "client_overhead_unclamped_duration_ns": 439040.5,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 109978.5,
        "p95_ns": 127093.4,
        "p99_ns": 132349.67000000007,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1000958.5,
          "p95_ns": 1019791.05,
          "min_ns": 770667.0,
          "max_ns": 1278291.0,
          "median_minus_target_ns": 958.5,
          "p95_minus_target_ns": 19791.050000000047,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          100812.0,
          110062.0,
          103000.0,
          107000.0,
          94375.0,
          110146.0,
          108292.0,
          103354.0,
          102021.0,
          111937.0,
          105770.0,
          106645.0,
          108250.0,
          127291.0,
          109999.0,
          121520.0,
          114624.0,
          115750.0,
          105812.0,
          107708.0,
          106646.0,
          112666.0,
          104375.0,
          102270.0,
          108292.0,
          116396.0,
          120978.0,
          115749.0,
          96708.0,
          106541.0,
          113146.0,
          118896.0,
          109853.0,
          132208.0,
          104000.0,
          110166.0,
          109958.0,
          106646.0,
          101333.0,
          103604.0,
          122396.0,
          146375.0,
          128687.0,
          122292.0,
          116875.0,
          124166.0,
          119541.0,
          122229.0,
          97354.0,
          117708.0,
          106437.0,
          108958.0,
          127083.0,
          109499.0,
          100833.0,
          117937.0,
          120229.0,
          106792.0,
          118583.0,
          110958.0,
          102937.0,
          119270.0,
          109520.0,
          117604.0,
          108312.0,
          100062.0,
          101291.0,
          106854.0,
          117000.0,
          102458.0,
          106479.0,
          119458.0,
          113021.0,
          125916.0,
          99187.0,
          113792.0,
          104208.0,
          122604.0,
          118624.0,
          118042.0,
          113166.0,
          104312.0,
          97541.0,
          107333.0,
          100083.0,
          125812.0,
          107041.0,
          113354.0,
          113896.0,
          130250.0,
          109125.0,
          117750.0,
          121791.0,
          103916.0,
          119021.0,
          111167.0,
          106500.0,
          103208.0,
          110896.0,
          95187.0
        ],
        "bytes_per_sec_samples": [
          1701137968.26979,
          1448703183.4067602,
          1447778273.6057048,
          1450983691.4888437,
          1683107544.141252,
          1445651310.7391493,
          1476870933.7936535,
          1705187948.99215,
          1542023529.4117649,
          1614183216.2974968,
          1429222559.2801547,
          1606109175.0359032,
          1344902029.9943361,
          1433007093.3151407,
          1556371443.0918443,
          1535545334.6235762,
          1409755310.5673568,
          1567070852.4725795,
          1583947833.3587108,
          1451787264.9618092,
          1552525910.5715132,
          1565659461.422319,
          1537050718.2644386,
          1571923361.0607414,
          1449244595.407423,
          1403836473.272141,
          946310837.4654534,
          1425730856.7525115,
          1591800053.4356709,
          1517620196.6496384,
          1499535513.7492507,
          1397108827.2224743,
          1517627225.4024713,
          1367706874.638696,
          1603652851.8329105,
          1467088120.203802,
          1416360677.4913714,
          1561775394.6976466,
          1771037419.9755163,
          1626034011.343731,
          1161557439.809432,
          1204522104.1642544,
          1283338685.7997758,
          1503978189.3787966,
          1476451703.7454238,
          1325188407.027931,
          1478950634.696756,
          1498822184.1052032,
          1593266736.5211957,
          1431826772.0320117,
          1412666489.9109108,
          1243274827.1753895,
          912971280.188122,
          1487203460.217035,
          1736062177.8128626,
          1439956056.0285635,
          1510195710.6349247,
          1393893633.086257,
          1486643437.86295,
          1353811830.566946,
          1435744643.5613198,
          1490440268.4502707,
          1755430138.7769096,
          1394388912.293244,
          1603495902.9329078,
          1492565186.991981,
          1500977962.631292,
          1608904753.6045446,
          1592453728.7900841,
          1527795262.007003,
          1521287486.1012132,
          1501824114.983409,
          1615687473.3434741,
          1419038009.328027,
          1468597128.5089715,
          1400225194.9089713,
          1394510561.6045723,
          1608249345.3971665,
          1398602592.5024862,
          1542023529.4117649,
          1427031640.9252539,
          1497821923.3810697,
          1453126385.8093126,
          1620337290.0590665,
          1641136595.272617,
          1516306963.3139598,
          1680595552.8430057,
          1431173266.8294325,
          1384567280.4712126,
          1486501812.3091857,
          1581883265.6273005,
          1579816456.2607121,
          1693432316.71236,
          1492854181.5680254,
          1467495476.7748063,
          1439823185.7757702,
          1640959897.4400065,
          1442199565.5972378,
          1568147013.782542,
          1572553263.4751372
        ],
        "response_gap_overhead_by_index_ns": [
          2542.0,
          0.0,
          437.5,
          1167.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": 109978.5,
        "specter_median_ttft_ns": 82114.5,
        "ttft_improvement_pct": 25.335861100124113,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1492709684.280003,
        "specter_median_bytes_per_sec": 1592134596.9947696,
        "throughput_improvement_pct": 6.660699917862685,
        "throughput_wilcoxon_signed_rank_p_value": 9.965496206021385e-9,
        "median_throughput_regression_pct": -6.660699917862685,
        "reqwest_p95_bytes_per_sec": 1693817599.2902312,
        "specter_p95_bytes_per_sec": 1812714912.7946165,
        "p95_throughput_regression_pct": -7.019487432071042,
        "reqwest_p95_ttft_ns": 127093.4,
        "specter_p95_ttft_ns": 94008.4,
        "p95_ttft_regression_pct": -26.03203628197845,
        "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": 82114.5,
        "chunks_per_sec": 97176.18389860654,
        "bytes_per_sec": 1592134596.9947696,
        "p95_bytes_per_sec": 1812714912.7946165,
        "body_transfer_duration_ns": 32076958.5,
        "client_overhead_duration_ns": 411624.0,
        "client_overhead_unclamped_duration_ns": 411624.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 82114.5,
        "p95_ns": 94008.4,
        "p99_ns": 99549.75000000001,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1002312.5,
          "p95_ns": 1020877.05,
          "min_ns": 18083.0,
          "max_ns": 6531250.0,
          "median_minus_target_ns": 2312.5,
          "p95_minus_target_ns": 20877.050000000047,
          "over_budget_fraction": 0.0009375,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          82208.0,
          75000.0,
          73104.0,
          66729.0,
          87916.0,
          74208.0,
          82104.0,
          78479.0,
          70666.0,
          79875.0,
          82438.0,
          94187.0,
          84583.0,
          91083.0,
          77104.0,
          74208.0,
          85000.0,
          76437.0,
          81042.0,
          89166.0,
          83875.0,
          85792.0,
          77500.0,
          68729.0,
          93187.0,
          74687.0,
          76270.0,
          78125.0,
          86271.0,
          85854.0,
          84708.0,
          89562.0,
          81937.0,
          74875.0,
          78396.0,
          73687.0,
          82312.0,
          78687.0,
          83083.0,
          71708.0,
          83020.0,
          80541.0,
          88250.0,
          91771.0,
          90374.0,
          69333.0,
          80791.0,
          81187.0,
          89166.0,
          96229.0,
          93645.0,
          68042.0,
          89771.0,
          85187.0,
          75958.0,
          91667.0,
          86708.0,
          80999.0,
          84937.0,
          85416.0,
          87499.0,
          76208.0,
          74458.0,
          82125.0,
          71979.0,
          76416.0,
          90333.0,
          76104.0,
          81604.0,
          75291.0,
          68750.0,
          80208.0,
          80625.0,
          83770.0,
          86396.0,
          71542.0,
          83458.0,
          87875.0,
          97395.0,
          84042.0,
          84479.0,
          83958.0,
          83354.0,
          74625.0,
          102396.0,
          99521.0,
          87625.0,
          86229.0,
          80604.0,
          75146.0,
          91437.0,
          92604.0,
          93999.0,
          87604.0,
          78333.0,
          74208.0,
          62729.0,
          62146.0,
          74749.0,
          65354.0
        ],
        "bytes_per_sec_samples": [
          1651300787.4015749,
          1525426884.904009,
          1596169349.4372635,
          1719919903.6324177,
          1671308055.6150606,
          1687076370.9941075,
          1510046082.9493089,
          1712056971.0364141,
          1791619280.9028082,
          1721428815.335678,
          1497969138.215173,
          1492568586.277734,
          1350333380.0367584,
          1586985632.9562984,
          1539607251.6779547,
          1509166315.488897,
          1576180283.3160973,
          1588104723.4096174,
          1526755969.7146184,
          1711869143.9870648,
          1514841918.8860588,
          1781886402.566682,
          1675748238.873902,
          1596978373.438928,
          1461086228.076238,
          1490304696.5428004,
          1593906110.9138403,
          1676824431.8559797,
          1575861919.7160678,
          1558833253.650542,
          1584744512.6625285,
          1863803768.2189834,
          1729939762.534514,
          1804574216.7493653,
          1488044285.3023384,
          1557447759.1013114,
          1565192054.6250498,
          1534951915.6450984,
          1586182860.2408705,
          1784705712.5506182,
          1515567077.3023386,
          767924707.382206,
          1528383159.2400062,
          1617342204.4974432,
          1655819218.175203,
          1670238929.5954127,
          1673266694.7518926,
          1537948869.583175,
          1595846746.5044587,
          1464357455.518042,
          1351720382.6464314,
          1516015831.92803,
          1443384341.6056592,
          1401968523.308026,
          1606278446.760899,
          1590363083.0756986,
          1543843448.3944602,
          1523944172.8947406,
          1663523361.568082,
          1743168802.9811761,
          1663354475.5189734,
          1563168603.056403,
          1625699224.8062015,
          1646463555.261895,
          1638912160.0500157,
          1530020964.9479146,
          1595186400.4128168,
          1729195745.612762,
          1714480052.321779,
          1633976009.953052,
          1587793065.519238,
          1667234826.3212256,
          1638912160.0500157,
          1653563174.308408,
          1415082321.1875844,
          1441409738.137446,
          1545357866.2667449,
          1502826283.8666773,
          1513383197.5115635,
          1810176719.8280864,
          1523944172.8947406,
          1513246913.979339,
          1570981335.9669771,
          1860940579.1586921,
          1249494756.911344,
          1450312586.4453664,
          1574128339.8825936,
          1710751978.0308707,
          1927279999.0589452,
          1921172590.6925614,
          1358963193.3644376,
          1533005847.9532166,
          1674690544.0904398,
          1596169349.4372635,
          1903506045.7578037,
          1745876134.8621116,
          1802093129.409953,
          1734518333.4480221,
          1635839910.540005,
          1680599862.5485952
        ],
        "response_gap_overhead_by_index_ns": [
          7646.0,
          0.0,
          395.5,
          2458.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": 109978.5,
        "specter_median_ttft_ns": 82114.5,
        "ttft_improvement_pct": 25.335861100124113,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1492709684.280003,
        "specter_median_bytes_per_sec": 1592134596.9947696,
        "throughput_improvement_pct": 6.660699917862685,
        "throughput_wilcoxon_signed_rank_p_value": 9.965496206021385e-9,
        "median_throughput_regression_pct": -6.660699917862685,
        "reqwest_p95_bytes_per_sec": 1693817599.2902312,
        "specter_p95_bytes_per_sec": 1812714912.7946165,
        "p95_throughput_regression_pct": -7.019487432071042,
        "reqwest_p95_ttft_ns": 127093.4,
        "specter_p95_ttft_ns": 94008.4,
        "p95_ttft_regression_pct": -26.03203628197845,
        "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
  }
}