{
  "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": 108603.5,
        "chunks_per_sec": 92467.50491938915,
        "bytes_per_sec": 1514987600.5992718,
        "p95_bytes_per_sec": 1678931308.9968004,
        "body_transfer_duration_ns": 32040665.5,
        "client_overhead_duration_ns": 432584.5,
        "client_overhead_unclamped_duration_ns": 432584.5,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 108603.5,
        "p95_ns": 129288.7,
        "p99_ns": 136981.79,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1001000.0,
          "p95_ns": 1020210.1,
          "min_ns": 6375.0,
          "max_ns": 7350875.0,
          "median_minus_target_ns": 1000.0,
          "p95_minus_target_ns": 20210.099999999977,
          "over_budget_fraction": 0.0003125,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          111500.0,
          107042.0,
          105604.0,
          119229.0,
          130333.0,
          143396.0,
          129625.0,
          128958.0,
          117979.0,
          115187.0,
          129917.0,
          113833.0,
          100958.0,
          125604.0,
          116500.0,
          112166.0,
          92770.0,
          110000.0,
          126500.0,
          115125.0,
          102792.0,
          98854.0,
          113249.0,
          114292.0,
          111167.0,
          101041.0,
          103625.0,
          103146.0,
          104937.0,
          108208.0,
          97104.0,
          110938.0,
          107333.0,
          113208.0,
          100291.0,
          105437.0,
          111375.0,
          102708.0,
          115895.0,
          114104.0,
          100437.0,
          108833.0,
          136917.0,
          114437.0,
          107896.0,
          108791.0,
          96312.0,
          129271.0,
          120896.0,
          120417.0,
          107562.0,
          112562.0,
          103500.0,
          102041.0,
          93979.0,
          107479.0,
          112687.0,
          122042.0,
          114104.0,
          108416.0,
          106354.0,
          113667.0,
          101958.0,
          123542.0,
          94375.0,
          110208.0,
          105500.0,
          100208.0,
          107562.0,
          107208.0,
          95583.0,
          105250.0,
          105271.0,
          109208.0,
          110625.0,
          104562.0,
          101687.0,
          100895.0,
          105958.0,
          107625.0,
          94854.0,
          102000.0,
          96374.0,
          112437.0,
          102020.0,
          120229.0,
          99875.0,
          92042.0,
          99729.0,
          114791.0,
          127500.0,
          110021.0,
          100479.0,
          116000.0,
          106645.0,
          115729.0,
          98000.0,
          111249.0,
          113416.0,
          109208.0
        ],
        "bytes_per_sec_samples": [
          1530321074.1389377,
          1579024722.8587055,
          1445252802.3605325,
          1429740148.3931348,
          1388471634.5939946,
          1261018227.5782316,
          1229566173.4218135,
          1423145660.9214747,
          1437845688.7227316,
          1436802273.066096,
          1527937741.013434,
          1436144219.2434034,
          1423535161.5530818,
          1470514980.9162445,
          1382861097.7472801,
          1583626324.501311,
          1531064708.6033614,
          1505418827.84253,
          1526460812.469575,
          1577599322.1252913,
          1491288152.0232832,
          1515721306.7360508,
          1273678871.0714986,
          1507590169.930551,
          1489881193.2507946,
          1696175994.8236816,
          1491994326.706143,
          1514253894.4624925,
          1551298469.2005615,
          1554676769.2822287,
          1642510382.2315345,
          1422886112.226842,
          1443921784.6323326,
          1420320447.664477,
          1709270633.6476142,
          1411017980.0585196,
          1499106748.6795664,
          1506574712.6436782,
          1384927167.4883614,
          1464897535.8535104,
          1542931135.9623308,
          1408612966.7363064,
          1137118407.0348098,
          1493548225.3631544,
          1517040548.7049737,
          1579976421.860648,
          1376679466.6039274,
          1564258077.759399,
          1577910789.8703213,
          1499391421.3286233,
          1496399198.096621,
          1444978756.1488106,
          1474797073.629586,
          1638916258.621466,
          1551147928.9940827,
          1580921641.4219997,
          1498678228.735033,
          1599902349.7101007,
          1569412547.9246042,
          1547024970.1387544,
          1505128405.3484237,
          1538855297.9160552,
          1588751515.1515152,
          1617342204.4974432,
          1701508967.608603,
          1546875258.1626606,
          1585231340.8286085,
          1623351531.3048043,
          1435621983.8378615,
          1498537727.5439997,
          1597309220.3075874,
          1681665037.2457397,
          1362727117.7206926,
          1678787428.5626457,
          1506429264.300918,
          1667586940.424785,
          1657217707.0637083,
          1621672448.6917448,
          1469413745.7090902,
          1570506983.119734,
          1668831135.7605944,
          1621006599.190684,
          1478260084.9927368,
          1542778583.4008174,
          1677184900.831734,
          1464900810.2822018,
          1476591420.646955,
          1546882560.5136135,
          1511066226.7383277,
          1392040204.6768098,
          1530914493.4171798,
          1551151600.3588173,
          1527496142.5687928,
          1681673667.6528778,
          1496542715.954658,
          1506865693.605202,
          1570348929.1550653,
          1607101694.49962,
          1647490026.219667,
          1389216276.4865987
        ],
        "response_gap_overhead_by_index_ns": [
          3250.0,
          292.0,
          0.0,
          792.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": 108603.5,
        "specter_median_ttft_ns": 80989.5,
        "ttft_improvement_pct": 25.426436532892588,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1514987600.5992718,
        "specter_median_bytes_per_sec": 1601536698.0903754,
        "throughput_improvement_pct": 5.712858472034233,
        "throughput_wilcoxon_signed_rank_p_value": 1.4757137400955855e-6,
        "median_throughput_regression_pct": -5.712858472034233,
        "reqwest_p95_bytes_per_sec": 1678931308.9968004,
        "specter_p95_bytes_per_sec": 1739198603.192395,
        "p95_throughput_regression_pct": -3.5896223909008893,
        "reqwest_p95_ttft_ns": 129288.7,
        "specter_p95_ttft_ns": 93904.7,
        "p95_ttft_regression_pct": -27.368207739732863,
        "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": 80989.5,
        "chunks_per_sec": 97750.04260805514,
        "bytes_per_sec": 1601536698.0903754,
        "p95_bytes_per_sec": 1739198603.192395,
        "body_transfer_duration_ns": 32074062.0,
        "client_overhead_duration_ns": 409207.0,
        "client_overhead_unclamped_duration_ns": 409207.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 80989.5,
        "p95_ns": 93904.7,
        "p99_ns": 106643.88000000003,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 839,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 3200,
          "median_ns": 1002208.5,
          "p95_ns": 1021879.15,
          "min_ns": 705291.0,
          "max_ns": 1371250.0,
          "median_minus_target_ns": 2208.5,
          "p95_minus_target_ns": 21879.150000000023,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          79062.0,
          80104.0,
          93458.0,
          89104.0,
          104833.0,
          114750.0,
          97750.0,
          93541.0,
          84020.0,
          83458.0,
          95666.0,
          81438.0,
          77875.0,
          77979.0,
          81875.0,
          87375.0,
          68729.0,
          75520.0,
          81354.0,
          88562.0,
          86000.0,
          77166.0,
          91229.0,
          78354.0,
          80562.0,
          69187.0,
          80187.0,
          63104.0,
          77833.0,
          81812.0,
          85812.0,
          65625.0,
          86500.0,
          81792.0,
          77792.0,
          77000.0,
          76729.0,
          68854.0,
          83729.0,
          70917.0,
          87083.0,
          83729.0,
          85521.0,
          106562.0,
          89958.0,
          73562.0,
          67084.0,
          77479.0,
          88583.0,
          90603.0,
          80625.0,
          75729.0,
          85020.0,
          83666.0,
          83625.0,
          73208.0,
          89437.0,
          72500.0,
          87458.0,
          84042.0,
          80083.0,
          73146.0,
          80292.0,
          86375.0,
          83584.0,
          80500.0,
          77938.0,
          84791.0,
          82916.0,
          86125.0,
          78292.0,
          82062.0,
          81250.0,
          78166.0,
          87187.0,
          76396.0,
          67521.0,
          81395.0,
          93687.0,
          82604.0,
          83145.0,
          69312.0,
          78438.0,
          81104.0,
          77396.0,
          78354.0,
          75916.0,
          65937.0,
          75375.0,
          77562.0,
          78146.0,
          93666.0,
          78791.0,
          70167.0,
          93812.0,
          80875.0,
          79375.0,
          68229.0,
          81958.0,
          78583.0
        ],
        "bytes_per_sec_samples": [
          1673070197.160662,
          1391913073.3974183,
          1436666834.7337708,
          1674322591.194069,
          1569254714.157438,
          1484121825.8937771,
          1555747048.6716945,
          1368780950.3520324,
          1457434056.7575562,
          1932024209.2633157,
          1603331139.648048,
          1720285594.288114,
          1510192230.5845265,
          1573187447.3391728,
          1634318290.070549,
          1478953972.2515595,
          1618828365.0663478,
          1660896847.8034985,
          1552680396.9835317,
          1688167168.1160614,
          1639424640.4002502,
          1389702342.959776,
          1470927544.4290326,
          1601207942.5152276,
          1738346215.6699436,
          1560228644.3466232,
          1579504235.807334,
          1604960644.9622123,
          1647833848.78429,
          1630082504.0232215,
          1515132599.5334568,
          1436799123.0474102,
          1438502145.5930288,
          1762303127.1092324,
          1641823201.3748665,
          1687445606.5545068,
          1568308377.8240967,
          1601865453.6655235,
          1524830615.7397065,
          1590351505.1506362,
          1483416366.5624695,
          1606601342.920251,
          1568004440.6375759,
          1594712841.701585,
          1594708961.2345757,
          1539610868.6152992,
          1625022006.3328648,
          1694531351.0019393,
          1684011450.1266813,
          1499964524.1544733,
          1505131862.10001,
          1527350186.327587,
          1758963774.5146718,
          1667234826.3212256,
          1605290875.6889162,
          1504413199.426112,
          1541113365.9885573,
          1622017622.017622,
          1562546194.9654043,
          1024935253.4187447,
          1621680474.3098652,
          1569258471.7353408,
          1738539898.1324277,
          1476032711.6380367,
          1547788586.6651552,
          1609402588.8552997,
          1677725894.978291,
          1661423171.6004531,
          1650785014.5718253,
          1462726542.2730112,
          1607417036.6191657,
          1728042188.5299935,
          1705369874.9908924,
          1555905870.7336993,
          1751713999.3317742,
          1705001626.0162601,
          1718215400.9108095,
          1544593005.305296,
          1437315910.7906158,
          1633629800.9811351,
          1723878516.2271218,
          1555137915.9785106,
          1269054405.7504027,
          1606274509.8039217,
          793534130.4676858,
          1654598519.5059633,
          1531665864.2497556,
          1448706385.8383293,
          1639260611.821206,
          1726708172.7235124,
          1627887913.7966583,
          1594227929.639513,
          1708526468.9166853,
          1687806310.2157917,
          1645252476.5648928,
          1569720791.0879254,
          1695083595.4312198,
          1453258500.2184234,
          1958982606.0183954,
          1500249522.7019875
        ],
        "response_gap_overhead_by_index_ns": [
          8166.5,
          0.0,
          0.0,
          2854.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": 108603.5,
        "specter_median_ttft_ns": 80989.5,
        "ttft_improvement_pct": 25.426436532892588,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1514987600.5992718,
        "specter_median_bytes_per_sec": 1601536698.0903754,
        "throughput_improvement_pct": 5.712858472034233,
        "throughput_wilcoxon_signed_rank_p_value": 1.4757137400955855e-6,
        "median_throughput_regression_pct": -5.712858472034233,
        "reqwest_p95_bytes_per_sec": 1678931308.9968004,
        "specter_p95_bytes_per_sec": 1739198603.192395,
        "p95_throughput_regression_pct": -3.5896223909008893,
        "reqwest_p95_ttft_ns": 129288.7,
        "specter_p95_ttft_ns": 93904.7,
        "p95_ttft_regression_pct": -27.368207739732863,
        "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
  }
}