Skip to content

Add executable transport adapter conformance guards - #24

Merged
smiggleworth merged 3 commits into
mainfrom
issue/20-adapter-conformance
Aug 15, 2026
Merged

Add executable transport adapter conformance guards#24
smiggleworth merged 3 commits into
mainfrom
issue/20-adapter-conformance

Conversation

@smiggleworth

@smiggleworth smiggleworth commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Summary

  • publish a dependency-free @askrjs/server/testing adapter conformance runner
  • verify real-adapter response cancellation and incomplete-request timeout exercises under bounded deadlines
  • provide stable diagnostics, cleanup signals, frozen success evidence, public types, and package-artifact guards
  • document adapter ownership and a reusable real-transport integration pattern
  • source-audit @askrjs/node and track its real-socket adoption in Adopt real-socket adapter cancellation and timeout conformance guard askr-node#23

Linked issue

Closes #20

TDD

  • Red 20c49d6: the required public testing entry point and conformance behavior did not exist.
  • Green 8699b25: 12 focused success/validation/failure/deadline tests pass with the new runner and packaged subpath.

Guardrails

  • cancellation is observed from the supplied infinite ReadableStream, not inferred from callback completion
  • each adapter exercise and cancellation observation has a bounded deadline
  • cleanup signals fire on success/failure/timeout
  • stable error codes distinguish thrown exercises, hanging exercises, and missing cancellation
  • emitted types, package exports, and packed files are standing contract gates

Acceptance audit

Verification

  • npm run check
  • npm audit --omit=dev

@smiggleworth
smiggleworth marked this pull request as ready for review August 15, 2026 20:30
Copilot AI lite review requested due to automatic review settings August 15, 2026 20:30

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.

@smiggleworth
smiggleworth merged commit 675da89 into main Aug 15, 2026
3 checks passed
@smiggleworth
smiggleworth deleted the issue/20-adapter-conformance branch August 15, 2026 20:31
@smiggleworth

Copy link
Copy Markdown
Contributor Author

Release closure verified:

  • squash merge 675da89d7eee5fb50590f49a7f1ee798623c1db8
  • publish workflow run 31906905221 passed all three CI lanes and the publish job at that exact SHA
  • annotated tag v0.0.18 peels to the merge SHA
  • npm serves @askrjs/server@0.0.18 with integrity sha512-PMy1dO9TfFx2tqYMMC5e0DBUhR/kTJCStmJSc1U20A1k/pEe/YMRCfqB7KcC8kJJfVa1vjx+j4ZkkIo7k0Xhlg==
  • a clean packed consumer and the askr-node registry install both imported @askrjs/server/testing; the clean consumer ran each exercise once, received the frozen success report, and audited with zero runtime vulnerabilities
  • reference-adapter adoption is active in Adopt real-socket adapter cancellation and timeout conformance guard askr-node#23 / PR Add executable transport adapter conformance guards #24, where the shared real-socket guard has already exposed and driven a timeout-enforcement fix

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.

Missing adapter-author guidance: stream cancellation on abort and timeout enforcement

2 participants