Skip to content

tidy-httpbridge: the package's front door describes a retired stance - #253

Merged
dinstein merged 1 commit into
mainfrom
tidy-bridge2
Aug 7, 2026
Merged

tidy-httpbridge: the package's front door describes a retired stance#253
dinstein merged 1 commit into
mainfrom
tidy-bridge2

Conversation

@dinstein

@dinstein dinstein commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Nightly tidy over the MCP protocol scope (canonical.md §5b) and internal/httpbridge.

  • 1. httpbridge/doc.go still said GET is answered 405 and one POST means one answer — the stance §5b explicitly retired

server.go's own header has described the three verbs correctly throughout, so the disagreement was inside a single package, between its front door and the type behind it.

§5b itself checked out row for row: SupportedVersions is [2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26] newest-first; ProtocolVersion stays at Version2025; carriedNotifications has exactly the one entry the section claims ("one method today", already machine-guarded by TestCarriedNotificationsMatchTheGateway); the spec-reserved error range is -32020…-32099; and legacy HTTP+SSE remains read-side only.

doc.go's "What it exposes" said GET on the endpoint is answered 405
rather than upgraded to a stream, and that one POST always means one
JSON-RPC answer. Neither holds. GET asking for text/event-stream opens
the ≤ 2025-11-25 notification stream (server.go:262, stream.go), and
subscriptions/listen is a POST whose response IS the stream
(server.go:298).

It cited canonical.md §5b as the authority — and §5b is where the change
is recorded: "Both generations are offered the out-of-band notification
stream on the HTTP face. This RETIRES the stance recorded here that
neither would be." So the package doc was carrying the retired half of
the very section it pointed at, and saying what that section costs: a
face promising `{"tools":{"listChanged":true}}` over a channel it had
decided not to build.

Server's own header has listed the three verbs correctly throughout, so
the disagreement was inside one package — front door against the type
behind it, and the front door is what a reader meets first.

Ruling #29 survives and is now stated as what it is: a rule about the
2024-11-05 two-endpoint transport, not about streamable HTTP's own
server→client channel.

make ci green.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@dinstein
dinstein merged commit 9485d48 into main Aug 7, 2026
3 checks passed
@dinstein
dinstein deleted the tidy-bridge2 branch August 7, 2026 21:30
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.

1 participant