Skip to content

Correlate H3 authentication observations by request order - #55

Merged
cppla merged 1 commit into
mainfrom
codex/h3-auth-observation-order
Oct 3, 2026
Merged

cppla merged 1 commit into
mainfrom
codex/h3-auth-observation-order

Conversation

@cppla

@cppla cppla commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Fix

Test-only follow-up to #54. The first merged-main CI run 37093615860 failed in the minimum-Go authentication cancellation fixture; it was not rerun or represented as green.

The fixture treated post-handler completion order as request order. H3 response FIN can precede outer-handler observation, so two completed public echoes do not establish that ordering. An owned wire control holding only the first post-handler observer until the second was sent reproduced the identical full/short=false/false, nonce=1, destination=2 failure against the old collector. The original CI log lacks arrival ordinals, so it does not uniquely establish that schedule as its cause.

  • Capture ordinals at actual handler entry, independently of credential attributes.
  • Match observations by ordinal, checking range, duplicates, completeness and exactly two requests.
  • Add a wire regression requiring actual observation arrival [2,1].
  • Retain full/short authentication, proof/TLS, nonce, same-physical-connection, complete echo, cancellation and joined-handler assertions.
  • Release the test-only observer gate before client/server cleanup on early failure.

Validation

  • Old collector plus the frozen reverse-order control: expected FAIL with the same diagnostic; real echoes and cleanup completed.
  • Go 1.25.13 and 1.27.1, exact original shuffle seed, three tests x100 with race detector: 300 RUN/PASS each; forced reverse arrival x100 each; no failure or skip.
  • Full make check and make race: 16 test-bearing packages; 49 release-helper Python tests passed.
  • Actual offline Linux/ARM64 Docker: three tests x50, 150 RUN/PASS, no failure/skip; CGO=0 non-race, source/binary unchanged and owned container cleaned up.

Only one test file changes. No production, protocol, authentication, dependency, config, version or release changes. The first main failure and negative experiment remain separate retained evidence.

Copilot AI balanced review requested due to automatic review settings October 3, 2026 03:43

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@cppla
cppla merged commit 1b0175e into main Oct 3, 2026
14 checks passed
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.

2 participants