SEP: Align text with WG decisions on out-of-process execution and config - #43
Open
olaservo wants to merge 6 commits into
Open
SEP: Align text with WG decisions on out-of-process execution and config#43olaservo wants to merge 6 commits into
olaservo wants to merge 6 commits into
Conversation
Text-only changes to docs/sep.md from the 2026-07-23 and 2026-08-18 WG meetings. No wire changes. - Interceptors always run out of process as MCP servers. Replace the "first-party / in-process" wording in Key Advantage 3, the threat-model mitigation, and the sidecar YAML comments with local (stdio) and remote (Streamable HTTP) MCP servers. - Define Interceptor Server and add SHOULD NOT co-host tools, prompts, or resources. - State that per-invocation config exists for statelessness, that server defaults apply when config is omitted, and that a server MAY expose no configurable settings. - Give ChainExecutionParams.context the same principal.claims, spanId, and sessionId fields as InterceptorInvocationParams.context. - Use interceptors/list (plural) consistently in diagrams and prose. interceptor/invoke is unchanged pending a WG decision on the plural form raised on PR #2624. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
There was a problem hiding this comment.
Pull request overview
Aligns the interceptor SEP with working-group decisions on deployment, configuration, context fields, and method naming.
Changes:
- Defines local and remote out-of-process Interceptor Servers.
- Clarifies per-invocation configuration and context.
- Standardizes
interceptors/listreferences.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…ation wording Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (1)
docs/sep.md:1757
- This mitigation says the interceptor receives only
payloadandcontext, butInterceptorInvocationParamsalso sends per-invocationconfig(line 699), along with other invocation metadata. That makes the threat model understate what a compromised interceptor can observe, especially when configuration carries sensitive policy values. Describe the address-space isolation without limiting the visible data to those two fields.
- Interceptors run out of process and receive only what is passed in `payload` and `context`; a local stdio interceptor still inherits the environment and filesystem access of the process that launches it, so it SHOULD be isolated accordingly
…ithout 'only' Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
Suppressed comments (2)
Previously missed (1) — in code that hasn't changed since the last review.
docs/sep.md:138
- This new unconditional out-of-process requirement contradicts the PR's claim that SDKs are unaffected: the Go SDK's primary
Extension.LocalChainpath installs interceptors on the invokingmcp.Serverand connects throughmcp.NewInMemoryTransports()in the same process (go/sdk/interceptors/extension/server.go:116-124), and its conformance documentation explicitly labels this an in-process deployment. Either update/remove that SDK path and its documentation or qualify this requirement; otherwise the SEP immediately makes the repository's reference implementation nonconformant.
An **Interceptor** is an MCP primitive that provides governance for context operations through validation or mutation logic. Like tools, prompts, and resources, interceptors are discoverable, and hosted on MCP servers. Interceptors are always invoked over an MCP transport; they do not run inside the invoking client or server process.
docs/sep.md:1710
- The two names do not both mirror the cited MCP pattern:
tools/listand other primitive methods use a plural namespace, while the retainedinterceptor/invokeis singular and explicitly remains pending a WG decision. Reword this rationale so it does not present the provisional singular form as following that convention.
- **Method Names**: `interceptors/list` and `interceptor/invoke` mirror MCP patterns (`tools/list`, etc.)
…hod-name rationale Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
Member
Author
|
Addressed two suppressed Copilot notes in 57d6a1f:
|
…ot a requirement Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Text-only changes to
docs/sep.mdfrom the 7/23 and 8/18 WG meetings. No wire changes; SDKs are unaffected.configexists for statelessness, server defaults apply when omitted, and a server MAY expose no configurable settings (8/18, Sambhav answering Clare).ChainExecutionParams.contextthe sameprincipal.claims,spanId, andsessionIdfields asInterceptorInvocationParams.context(also raised by the Tersign comment on PR #2624).interceptors/listconsistently in diagrams and prose.interceptor/invokeis left as is pending a WG decision on the plural form raised by a-akimov on PR #2624, since that one touches SDK constants.Not in this PR: deployment architecture section, diagram replacement, stripping implementation detail (Sambhav and Clare, 8/18), and anything in the chain section pending #33.
🤖 Generated with Claude Code
https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB