SEP-2624: chain-free consolidation of the interceptors SEP (draft) - #33
Open
wi-ski wants to merge 2 commits into
Open
SEP-2624: chain-free consolidation of the interceptors SEP (draft)#33wi-ski wants to merge 2 commits into
wi-ski wants to merge 2 commits into
Conversation
sambhav
marked this pull request as ready for review
August 6, 2026 23:29
There was a problem hiding this comment.
Copilot wasn't able to review any files in this pull request.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
What this revises
This revises the SEP body to complete the removal of the "chain" concept the Interceptors WG agreed to on the 2026-07-23 call, while keeping all of its mechanics. Chain execution had already been downgraded from a protocol method to a utility; this finishes the job: the wire protocol carries only unit operations (
interceptors/list+interceptor/invoke), and multi-interceptor behavior is expressed as an invoker-local execution plan — never a protocol object.Credit where due: Ukjae Jeong proposed removing the chain concept; Kurt Degiorgio and Peder Holdgaard Pedersen agreed to "eliminate the chain concept but keep the mechanics." Logged as a WG action item.
What it does (and does not)
active/auditonly, fail-closed default; audit never blocks.signaturefield is gone; attestation is a separable design for a future track (per the July scope discussion).phasewith aMUST NOT infer direction from phase(the fix for the C#/Go divergence and the ordering bug flagged on-call); equal-priority ordering uses locale-independent Unicode comparison instead of ambiguous "alphabetically"; failure routing (mode×failOpen× severity, cancelled invocations, aggregate deadline) is made internally consistent; and every Execution Model MUST is wire-observable at a mock host, so the SEP-2484 conformance story maps onto it one-to-one.Open questions for the WG (please weigh in)
These are decisions the SEP deliberately does not make unilaterally — flagging them for the group rather than silently choosing:
resultpayloads; JSON-RPC error responses (carryingerror, noresult) are not intercepted, and are listed under Not specified with a SHOULD-not-smuggle note. Should v1 govern error payloads, or is deferring correct? (Governing them adds surface; the honest v1 position is to scope the claim and not overpromise — but this is the group's call.)llm/completionpayload schema. The one non-MCP event in the v1 union has no pinned schema yet. The SEP carries a self-resolving fallback: if the schema is not pinned when formal review begins, the event drops out of the v1 union and remains expressible as a custom event, changing no other rule. Pin the schema or accept the drop?Status / ask
This is a Draft-stage revision. The ask today is feedback + the one process ruling (Q2) — not a formal-review trigger: the SEP-2133 reference-implementation gate is genuinely unmet and the document self-blocks on it (Q2/Q3/Q5). Pushing the revision to the Draft PR is safe and correct; advancing past Draft is gated on the items above.
Housekeeping