{
  "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": "068846c5ed12116c712ff9773c095faad5bfaa6e",
    "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": 207708.5,
        "chunks_per_sec": 105533.24057246171,
        "bytes_per_sec": 1440880511.2826772,
        "p95_bytes_per_sec": 1597202227.1918423,
        "body_transfer_duration_ns": 32140354.5,
        "client_overhead_duration_ns": 454833.0,
        "client_overhead_unclamped_duration_ns": 454833.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 207708.5,
        "p95_ns": 236868.25,
        "p99_ns": 283588.3800000001,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 700,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 4001,
          "median_ns": 997500.0,
          "p95_ns": 1022333.0,
          "min_ns": 3375.0,
          "max_ns": 1253792.0,
          "median_minus_target_ns": -2500.0,
          "p95_minus_target_ns": 22333.0,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          241854.0,
          224250.0,
          220917.0,
          225166.0,
          202541.0,
          221291.0,
          208438.0,
          233020.0,
          200208.0,
          191083.0,
          193938.0,
          306792.0,
          283354.0,
          261687.0,
          236812.0,
          208084.0,
          190749.0,
          237937.0,
          222395.0,
          187271.0,
          178916.0,
          207500.0,
          230500.0,
          178583.0,
          186916.0,
          192708.0,
          192020.0,
          231083.0,
          217437.0,
          206124.0,
          211958.0,
          195979.0,
          207917.0,
          184583.0,
          202458.0,
          213396.0,
          199875.0,
          212375.0,
          180187.0,
          210250.0,
          199333.0,
          187562.0,
          204146.0,
          181667.0,
          204208.0,
          228625.0,
          230521.0,
          201479.0,
          223541.0,
          194750.0,
          235333.0,
          193312.0,
          179312.0,
          230854.0,
          209334.0,
          210479.0,
          189854.0,
          195666.0,
          181958.0,
          213021.0,
          193395.0,
          205124.0,
          205958.0,
          213104.0,
          222875.0,
          210646.0,
          232666.0,
          189333.0,
          192458.0,
          205979.0,
          208500.0,
          205062.0,
          214916.0,
          201062.0,
          210646.0,
          208250.0,
          180958.0,
          220063.0,
          187916.0,
          234771.0,
          216041.0,
          185604.0,
          223458.0,
          177250.0,
          173208.0,
          215521.0,
          194979.0,
          214750.0,
          182062.0,
          204249.0,
          209167.0,
          208562.0,
          186542.0,
          202396.0,
          190916.0,
          208812.0,
          222083.0,
          218083.0,
          180166.0,
          229229.0
        ],
        "bytes_per_sec_samples": [
          1291240348.1084363,
          1357319492.8277626,
          1342491401.5080905,
          1366993661.050818,
          1427930224.5521379,
          1346399589.1114535,
          1372599532.1064217,
          1401593731.1530383,
          1438900098.58187,
          1459465839.4222353,
          1419163997.721923,
          1153553015.8081963,
          1152954339.9399738,
          1255579950.8772736,
          1105234754.4522395,
          1708887330.1503778,
          1516749135.5807464,
          1218802770.2768044,
          1440747458.0928826,
          1432743935.4985397,
          1333048563.4375794,
          1469964157.0629427,
          1548095707.161974,
          1404471265.944315,
          1594220173.4434485,
          1486501812.3091857,
          1545809854.2547746,
          1547182016.2754407,
          1386397916.6798885,
          1453664660.7502112,
          1436273263.6118977,
          1474511709.7415059,
          1320401181.462483,
          1402964945.143163,
          1351606084.042279,
          1343754869.717126,
          1366873914.1407294,
          1334068873.422643,
          1263748977.9862087,
          1519826904.4797509,
          1372843933.687214,
          1532256744.655829,
          1503267524.0906787,
          1454067822.1819892,
          1451121842.7759435,
          1390560416.8965313,
          1472583424.8979306,
          1596811056.0453,
          1367236070.1976917,
          1664402122.1533406,
          1139096836.0931842,
          1563474398.1544437,
          1618009041.060041,
          1469828987.945052,
          1354052384.405753,
          1390309667.2090492,
          1400958541.5802681,
          1604634478.9761446,
          1489454545.4545455,
          1493412087.4863844,
          1478807134.089104,
          1506145374.6518233,
          1290927499.576493,
          1294425768.4270403,
          1453800098.0498724,
          1390684350.132626,
          1320183072.2619739,
          1481320747.8933854,
          1558677540.4974089,
          1441013564.472472,
          1474093817.8301113,
          1387251913.567703,
          1446704429.5610175,
          1471756671.4799984,
          1364977870.3462641,
          1531665864.2497556,
          1583798545.1557555,
          1479922499.1757634,
          1491434085.24041,
          1251881566.3801339,
          1272751283.7045264,
          1344215153.1871164,
          1342606914.212548,
          1478670333.8605487,
          1562553646.0220878,
          1351489017.708185,
          1462171749.849401,
          1457842554.9616163,
          1491576652.2370462,
          1341686115.5468206,
          1232846046.6192486,
          1323742983.4713917,
          1549167927.3827534,
          1609726742.4009826,
          1512660126.94749,
          1541573752.5992417,
          1553438561.4764493,
          1501249590.5328913,
          1433652865.949432,
          1445383488.8932018
        ],
        "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": 207708.5,
        "specter_median_ttft_ns": 72812.0,
        "ttft_improvement_pct": 64.94510335397925,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1440880511.2826772,
        "specter_median_bytes_per_sec": 1714856384.5631332,
        "throughput_improvement_pct": 19.014475602599536,
        "throughput_wilcoxon_signed_rank_p_value": 0.0,
        "median_throughput_regression_pct": -19.014475602599536,
        "reqwest_p95_bytes_per_sec": 1597202227.1918423,
        "specter_p95_bytes_per_sec": 1846807020.442301,
        "p95_throughput_regression_pct": -15.627626170375878,
        "reqwest_p95_ttft_ns": 236868.25,
        "specter_p95_ttft_ns": 86251.90000000001,
        "p95_ttft_regression_pct": -63.58655075131428,
        "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": 72812.0,
        "chunks_per_sec": 125599.83285374512,
        "bytes_per_sec": 1714856384.5631332,
        "p95_bytes_per_sec": 1846807020.442301,
        "body_transfer_duration_ns": 32140646.5,
        "client_overhead_duration_ns": 382167.0,
        "client_overhead_unclamped_duration_ns": 382167.0,
        "client_overhead_denominator_floor_count": 0,
        "client_write_overhead_denominator_floor_count": 0,
        "upload_complete_fallback_count": 0,
        "p50_ns": 72812.0,
        "p95_ns": 86251.90000000001,
        "p99_ns": 89480.04,
        "warmup_count": 5,
        "sample_count": 100,
        "connection_reuse_count": 700,
        "pass": true,
        "actual_send_gap": {
          "target_ms": 1,
          "sample_count": 4000,
          "median_ns": 999291.0,
          "p95_ns": 1019000.0,
          "min_ns": 4208.0,
          "max_ns": 1463084.0,
          "median_minus_target_ns": -709.0,
          "p95_minus_target_ns": 19000.0,
          "over_budget_fraction": 0.0,
          "measurement_source": "client_observed_inter_chunk_receive_gap_using_std_time_instant_monotonic_clock"
        },
        "ttft_samples_ns": [
          83687.0,
          84729.0,
          86229.0,
          79937.0,
          75708.0,
          84604.0,
          68667.0,
          79479.0,
          80792.0,
          69771.0,
          77333.0,
          89583.0,
          86687.0,
          81437.0,
          81375.0,
          74729.0,
          79167.0,
          65395.0,
          77896.0,
          80729.0,
          68604.0,
          77166.0,
          77187.0,
          78083.0,
          67646.0,
          64812.0,
          75333.0,
          79479.0,
          81500.0,
          71458.0,
          69916.0,
          69500.0,
          71479.0,
          83646.0,
          75000.0,
          87437.0,
          68250.0,
          76020.0,
          69604.0,
          64479.0,
          63250.0,
          62458.0,
          77375.0,
          69833.0,
          77812.0,
          74187.0,
          80375.0,
          64292.0,
          77312.0,
          71833.0,
          75521.0,
          75312.0,
          73250.0,
          71187.0,
          66895.0,
          64750.0,
          67125.0,
          64895.0,
          68291.0,
          68708.0,
          84916.0,
          66791.0,
          72062.0,
          89042.0,
          76999.0,
          72604.0,
          72999.0,
          72041.0,
          71854.0,
          80729.0,
          63625.0,
          64353.0,
          75687.0,
          74854.0,
          70833.0,
          75708.0,
          67542.0,
          70729.0,
          70729.0,
          81167.0,
          60000.0,
          89479.0,
          70166.0,
          79416.0,
          60958.0,
          80542.0,
          72625.0,
          80250.0,
          71021.0,
          68479.0,
          62021.0,
          66812.0,
          70666.0,
          71458.0,
          59458.0,
          65083.0,
          75937.0,
          78562.0,
          66375.0,
          64562.0
        ],
        "bytes_per_sec_samples": [
          1606117047.3482993,
          1635852160.2603943,
          1567067105.3638382,
          1660711661.1677892,
          1790796808.3943598,
          1534951915.6450984,
          1777242637.9860663,
          1435747788.9580445,
          1739693663.5608294,
          1741436440.5991502,
          1711489143.8898146,
          1670945847.7495415,
          1429097895.0375397,
          1495828815.9771755,
          1013897462.3168832,
          1724064452.482736,
          1609398636.5690262,
          1743753209.5372148,
          1720114016.3465424,
          1689437919.5495932,
          1767865187.3312347,
          1650086739.331314,
          1836606582.3692942,
          1708526468.9166853,
          1787338955.1310723,
          1845647790.3819942,
          1658438078.0783823,
          1744138389.8868928,
          1744533028.0968416,
          1678439166.312382,
          1739702899.8587766,
          1650610390.362708,
          1796939477.7754319,
          1610058937.5517454,
          1742399468.261881,
          1541722440.088171,
          1778458014.8114378,
          1565513600.5427318,
          1635162378.4905887,
          1745690114.4330556,
          1983439058.6412282,
          1747631327.0168722,
          1657205135.2725048,
          1535405030.5506618,
          1762715511.4446328,
          1653913710.6054795,
          1741057077.9591675,
          1812264085.7241616,
          1709819145.7165818,
          1753861058.1078875,
          1607921841.4944723,
          1719540833.0600197,
          1695079211.1218882,
          1784307265.9008796,
          1679338063.6465435,
          1804370510.4802496,
          1750146878.1712332,
          1793462793.0906143,
          1612705568.529405,
          1692714992.3159375,
          1426634013.6054423,
          1539003461.4427218,
          1596332643.999016,
          1433132440.5412734,
          1864684074.102527,
          1759162078.804749,
          1622680284.7415662,
          1537497859.242559,
          1771042206.0198572,
          1614358170.9392867,
          1764286233.4739501,
          1795295348.7671316,
          1633804923.652228,
          1759360427.813229,
          1812685144.9766417,
          1654427264.1211739,
          1534948320.564738,
          1811632863.4889746,
          1809761822.5750778,
          1560689374.3287363,
          1819595299.9711244,
          1412279870.0123265,
          1700396454.7398136,
          1539911133.6684031,
          1984189699.3862987,
          1417895916.5393786,
          1694715392.4925268,
          1712244839.3072224,
          1780066600.3922143,
          1732990980.175425,
          1765678968.4399972,
          1621845016.9890838,
          1969041438.3232384,
          1786330494.0374787,
          1725585191.81653,
          1778043056.554119,
          1898686135.6162996,
          1717467929.8190444,
          1649741976.0855885,
          1845866122.8812366
        ],
        "response_gap_overhead_by_index_ns": [
          375.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": 207708.5,
        "specter_median_ttft_ns": 72812.0,
        "ttft_improvement_pct": 64.94510335397925,
        "ttft_wilcoxon_signed_rank_p_value": 0.0,
        "reqwest_median_bytes_per_sec": 1440880511.2826772,
        "specter_median_bytes_per_sec": 1714856384.5631332,
        "throughput_improvement_pct": 19.014475602599536,
        "throughput_wilcoxon_signed_rank_p_value": 0.0,
        "median_throughput_regression_pct": -19.014475602599536,
        "reqwest_p95_bytes_per_sec": 1597202227.1918423,
        "specter_p95_bytes_per_sec": 1846807020.442301,
        "p95_throughput_regression_pct": -15.627626170375878,
        "reqwest_p95_ttft_ns": 236868.25,
        "specter_p95_ttft_ns": 86251.90000000001,
        "p95_ttft_regression_pct": -63.58655075131428,
        "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
  }
}