Skip to content

test(net): publish readable TCP conformance summaries - #1148

Merged
Coldwings merged 2 commits into
mainfrom
fix/1147-conformance-summary
Aug 24, 2026
Merged

test(net): publish readable TCP conformance summaries#1148
Coldwings merged 2 commits into
mainfrom
fix/1147-conformance-summary

Conversation

@Coldwings

Copy link
Copy Markdown
Owner

Description

Publish human-readable and machine-readable TCP loopback conformance reports directly in GitHub Actions, including the observed latency and throughput values requested in #1147.

The hosted-runner values remain explicitly performance_eligible=false: they are diagnostic observations, not rankings, ratios, winner claims, or significance results.

Type of Change

  • New feature (non-breaking change that adds functionality)
  • Documentation (changes to documentation, comments, or examples)
  • Tests (adding or modifying tests)
  • Build/CI (changes to build system, CI configuration, or dependencies)

Related Issues

Closes #1147

Changes Made

Core Changes

  • Generate stable summary.json and GitHub-renderable summary.md reports.
  • Show fixed-work coverage, invariants, separate client/server latency and throughput tables, and the 3x3 cross-runtime matrix.
  • Fail closed on incomplete result/evidence coordinates, fixed-work mismatches, invalid metrics, malformed JSON, or performance-eligibility drift.
  • Assign unique wire trials to all 63 cells so server evidence is attributable without relying on completion order.
  • Preserve partial evidence and precise parse diagnostics on failed runs.
  • Publish the report and artifact link from both TCP benchmark workflows, with an honest stage fallback when no report exists.

API Changes

None.

Testing

Unit Tests

  • Added 12 focused summary-contract and failure-path tests.
  • Registered the test with CTest and the CI required-test allowlist.
  • Focused Python and CTest executions pass locally.

Integration Tests

  • Ran the real 63-case TCP loopback conformance matrix successfully.
  • Verified 63 unique result trials and 63 matching server-evidence trials.
  • Verified successful and early-failure Markdown/JSON reports.

Test Results

12 summary tests passed
CTest tcp_benchmark_conformance_summary: passed
TCP loopback conformance: 63/63 passed
Client axis: 27/27; server axis: 27/27; cross-runtime: 9/9

Checklist

Code Quality

  • Code follows the project style.
  • No debug code or unrelated changes are included.

Documentation

  • Updated README, wiki, and CHANGELOG.

Testing

  • Added regression coverage for the report contract and evidence attribution.
  • New focused tests pass locally.

Compatibility

  • Backward compatible; existing raw evidence remains available.
  • Performance impact is limited to post-run reporting and small trial metadata.

Additional Notes

Shared GitHub runners are intentionally not treated as controlled performance baselines. The report exposes the measurements for diagnosis and visibility while avoiding statistically unsupported comparisons.

Reviewer Guidance

Please focus on:

  • fail-closed coordinate and wire-trial attribution;
  • partial-failure evidence preservation;
  • Actions summary fallback behavior;
  • the separation between visible diagnostic observations and performance claims.

Copilot AI balanced review requested due to automatic review settings August 24, 2026 09:45

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Failed-run server-evidence totals can overstate coordinate coverage when duplicate or unknown valid rows exist.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds machine- and human-readable TCP conformance reports with diagnostic performance observations.

Changes:

  • Generates validated JSON and Markdown summaries with coverage matrices and metrics.
  • Preserves partial evidence and adds focused regression tests.
  • Publishes reports and artifact links in both CI workflows.
File summaries
File Description
tools/run-tcp-benchmark-conformance.py Generates and validates conformance reports.
tests/unit/test_tcp_benchmark_conformance_summary.py Tests reporting and failure paths.
tests/CMakeLists.txt Registers the summary tests.
.github/workflows/ci.yml Publishes CI summaries and artifacts.
.github/workflows/benchmark.yml Publishes benchmark summaries and artifacts.
README.md Documents the reports.
wiki/Performance-Tuning.md Clarifies diagnostic metric interpretation.
CHANGELOG.md Records the reporting feature.
Review details
  • Files reviewed: 8/8 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tools/run-tcp-benchmark-conformance.py
@Coldwings

Copy link
Copy Markdown
Owner Author

@copilot Please review the updated changes only; do not make code changes.

Copilot AI commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

@copilot Please review the updated changes only; do not make code changes.

The fix in a472e3d is correct. server_evidence_cases and valid_server_evidence_cases now iterate over expected_evidence (the scheduled coordinate set) and require len(evidence_indexed.get(coordinate, [])) == 1, matching the existing pattern for completed_cases and valid_cases on the result side. Duplicate, unknown, missing, and unparseable rows cannot inflate either count. The added regression confirms 63 raw rows with one coordinate duplicated yields 61/63 coverage, not 63/63.

@Coldwings
Coldwings merged commit 0fb81af into main Aug 24, 2026
11 checks passed
@Coldwings
Coldwings deleted the fix/1147-conformance-summary branch August 24, 2026 10:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Tests] TCP loopback conformance artifacts lack a human-readable matrix summary

3 participants