@@ -89,9 +89,9 @@ digests—not endpoints, credentials, runtime names, raw catalogs or schemas, re
8989caught error details.
9090
9191Dashboard history is operational convenience, not a durable release baseline. Cross-release
92- regression checks must persist baseline and candidate JSON/JUnit artifacts outside this process and
93- compare reports produced by separate library builds. This API intentionally provides neither
94- baseline approval nor durable artifact storage.
92+ regression checks must persist bounded report JSON outside this process and compare reports produced
93+ by separate library builds. This API intentionally provides neither baseline approval nor durable
94+ artifact storage.
9595
9696The conformance routes share this validation host's loopback/private deployment boundary. They do
9797not add caller authentication or make the host safe to expose through a routable bind or public
@@ -116,8 +116,20 @@ limits before broadening that boundary.
116116- Conformance requests select only the host-owned passive plan, pin the full run to one managed
117117 generation lease, enforce time/page/item/schema/concurrency bounds, and never infer permission
118118 from upstream annotations.
119- - This exact-host fetch guard demonstrates the admission seam; an internet-facing product still
120- needs DNS pinning/rebinding protection, response-body limits, authentication, and rate limiting.
119+ - Outbound MCP transports run on NestM's streaming SSRF-guarded fetch, so this host inherits
120+ connect-time DNS pinning, blocked private/link-local ranges, refused redirects, and response
121+ fences (a total byte cap for ordinary responses, a per-event cap for SSE) without owning that
122+ code. The application supplies only policy: the exact host allowlist and the loopback switch.
123+ An internet-facing product still needs authentication, rate limiting, and egress authorization.
124+ - OAuth discovery, registration, and token requests run on the same package's buffered guarded
125+ fetch, which is pinned to HTTPS here because the interactive redirect is a browser navigation.
126+ This host adds only its own endpoint policy: a GET may reach the resource origin or an
127+ allow-listed authorization host, and a credential-bearing POST must exactly equal the discovered
128+ token or registration endpoint.
129+ - Runtime OAuth credentials are held as revisioned generations behind the client package's
130+ credential-store port. Refresh, single-flight coalescing across concurrent 401s, claim/commit
131+ fencing, and terminal invalidation belong to that package; this host owns only the projected
132+ status, the process-local storage, and the fenced-generation lifecycle.
121133
122134## Run
123135
0 commit comments