Skip to content

SEP: Remove the chain concept, keep the execution mechanics - #44

Open
olaservo wants to merge 2 commits into
mainfrom
docs/sep-chain-removal
Open

SEP: Remove the chain concept, keep the execution mechanics#44
olaservo wants to merge 2 commits into
mainfrom
docs/sep-chain-removal

Conversation

@olaservo

Copy link
Copy Markdown
Member

Scoped-down version of #33, limited to what Kurt asked for on 8/12: remove the "chain" concept and keep the mechanics. Text-only, docs/sep.md +32/-186. No wire changes.

Credit: Ukjae proposed the removal on 7/23; Kurt and Peder agreed. The containment statement (execution is invoker-local, no chain resource/identifier/method, invoke each interceptor on the server that advertised it) is taken from Will's draft in #33; Will is co-author on the commit.

What changes:

  • Chain Execution becomes Executing Multiple Interceptors with the containment statement above. The "convenience utility" note becomes "SDKs MAY provide orchestration helpers; they are not wire protocol."
  • Removes the InterceptorChain, ChainEntry, ChainExecutionParams, and ChainExecutionResult pseudo-interfaces.
  • Keeps InterceptorOverrides (from Introduce InterceptorOverrides in the chain execution model #24) under its own heading as invoker-local configuration.
  • Execution model, ordering, atomicity, failure routing, Capability vs Policy, orchestration steps, examples, and error handling are unchanged apart from "chain" wording. resolvePriority now takes (interceptor, overrides, phase) instead of a ChainEntry.
  • Adds one design decision: chain was first a protocol method, then an SDK utility, now removed.

Not in this PR (still in #33 for the WG to decide separately): removing signature, Standards → Extensions track, direction MUST NOT be inferred from phase, Unicode tie-break wording, discovery-failure routing, error-response scope, llm/completion fallback.

Overlap: #43 adds fields to ChainExecutionParams.context, which this PR deletes. Whichever merges second gets a trivial rebase.

Closes the chain-removal part of #33; #33 can be narrowed to its remaining proposals or closed in favour of separate PRs.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB

Scoped-down version of #33 per the 2026-07-23 WG decision (proposed by
Ukjae, agreed by Kurt and Peder) and Kurt's 2026-08-12 request to limit
the change to chain removal.

- Replace the Chain Execution section with Executing Multiple
  Interceptors: multi-interceptor execution is invoker-local, no chain
  resource, identifier, or aggregate method exists, and each interceptor
  is invoked with interceptor/invoke on the server that advertised it.
- Remove the InterceptorChain, ChainEntry, ChainExecutionParams, and
  ChainExecutionResult pseudo-interfaces. Keep InterceptorOverrides
  under its own heading as invoker-local configuration.
- Keep the execution model, ordering, atomicity, failure routing,
  Capability vs Policy, orchestration steps, examples, and error
  handling unchanged apart from replacing "chain" wording.
- Add a design decision recording that the chain was first a protocol
  method, then an SDK utility, and is now removed.

Not changed: signature field, track, llm/completion, direction rules.

Co-authored-by: Will Dembinski <willdembinski@gmail.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
Copilot AI balanced review requested due to automatic review settings August 27, 2026 21:20

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes the chain abstraction from the SEP while retaining invoker-local multi-interceptor orchestration.

Changes:

  • Removes chain pseudo-interfaces.
  • Reframes orchestration and overrides as invoker-local.
  • Updates terminology and design rationale.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/sep.md Outdated
Comment thread docs/sep.md Outdated
…nt per invocation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NrQ4aQW4mRjgj5GJZbahEB
Copilot AI review requested due to automatic review settings August 28, 2026 02:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

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.

2 participants