Part of #5755. Design: RFC THV-0081; arch doc §Changes → "Transparent proxy" (branch stateless-transport-proxies-design, PR #5808).
Serve Modern (2026-07-28) stateless requests through the transparent (HTTP→HTTP) proxy.
Changes
- Wire
ClassifyRevision (store the resulting Revision in session metadata so RoundTrip reads one field).
- Gate the initialize-triggered machinery on Legacy — session guard, pod-pinning, init-body storage, re-init replay, and backend-SID rewrite — so a Modern request collapses to a plain reverse proxy (Go's
http.Transport correlates responses natively; no shared pipe).
- Modern health readiness: the internal monitor must not use the
ping-based StatelessMCPPinger (ping is removed in 2026-07-28 and a Modern-only backend rejects it) — gate off server/discover / first successful backend contact, and never default the gate ready.
- Make the GET/DELETE gate revision-aware so it does not 405 a Legacy client's SSE stream on a dual-era endpoint (reconcile with the existing
--stateless flag).
Dependencies
Depends on #5755 foundation issue (the deepened classifier).
Verification
- Modern request to a multi-replica backend routes without pod-pinning and does not re-initialize on a backend 404.
- A Modern request carrying a foreign session header is not rewritten onto a pinned backend.
- Pinger-vs-Modern-backend test (the removed-
ping case).
- Legacy sticky behavior unchanged; the internal monitor does not self-terminate on a cold-starting Modern backend.
May split gating and health into separate PRs.
Part of #5755. Design: RFC THV-0081; arch doc §Changes → "Transparent proxy" (branch
stateless-transport-proxies-design, PR #5808).Serve Modern (2026-07-28) stateless requests through the transparent (HTTP→HTTP) proxy.
Changes
ClassifyRevision(store the resultingRevisionin session metadata soRoundTripreads one field).http.Transportcorrelates responses natively; no shared pipe).ping-basedStatelessMCPPinger(pingis removed in 2026-07-28 and a Modern-only backend rejects it) — gate offserver/discover/ first successful backend contact, and never default the gate ready.--statelessflag).Dependencies
Depends on #5755 foundation issue (the deepened classifier).
Verification
pingcase).May split gating and health into separate PRs.