-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[SEP-2663] refactor!: remove 2025-11 experimental tasks #2128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
felixweinberger
wants to merge
1
commit into
main
Choose a base branch
from
fweinberger/v2-tasks-delete
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔴 The migration guide tells v1 users that the storage layer (
TaskStore,InMemoryTaskStore,CreateTaskOptions,isTerminal) is "Unchanged" and will be consumed by a SEP-2663 follow-up — but this same PR deletes all of those symbols (packages/core/src/experimental/tasks/interfaces.ts,stores/inMemory.ts) and removes their re-exports frompackages/core/src/exports/public/index.tsandpackages/core/src/index.ts. The same applies todocs/migration-SKILL.md:491, and the adjacentTaskCreationParams.ttlsubsection documents a type (TaskCreationParams) that is also deleted here. The docs should say these were removed (and will return with the SEP-2663 plugin), or the storage-layer types should be retained.Extended reasoning...
What the docs claim vs. what the diff ships
docs/migration.md(around line 869) anddocs/migration-SKILL.md(around line 491), both rewritten in this PR, contain:But the same diff:
packages/core/src/experimental/tasks/interfaces.ts— which definedTaskStore,CreateTaskOptions, andisTerminal.packages/core/src/experimental/tasks/stores/inMemory.ts— which definedInMemoryTaskStore(andInMemoryTaskMessageQueue).packages/core/src/experimental/index.ts.packages/core/src/exports/public/index.ts(theexport type { ... TaskStore ... },export { isTerminal }, andexport { InMemoryTaskMessageQueue, InMemoryTaskStore }lines).export * from './experimental/index.js';line frompackages/core/src/index.ts.After this PR,
packages/core/src/experimental/does not exist, and a grep forTaskStore|InMemoryTaskStore|CreateTaskOptions|isTerminalacrosspackages/core/srcreturns nothing. The PR description itself states the grep audit confirms notaskreferences remain inpackages/**.Why this matters
The migration guide is the surface a v1 user reads to learn what is and isn't still importable. "Unchanged" is an explicit, load-bearing claim — it tells the reader they do not need to touch any code that depends on these symbols. A user with
import { InMemoryTaskStore } from '@modelcontextprotocol/core'(or/server) who reads this section will conclude their import still resolves, ship the change, and then hit a build failure that contradicts the docs they just followed.Concrete proof
import { InMemoryTaskStore, isTerminal } from '@modelcontextprotocol/core';in their server.docs/migration.mdline ~869 says these are "Unchanged."tscfails:Module '"@modelcontextprotocol/core"' has no exported member 'InMemoryTaskStore'.— becausepackages/core/src/exports/public/index.tsno longer re-exports it and the source file no longer exists.Adjacent issue: the
TaskCreationParams.ttlsubsectionImmediately after the "Unchanged" claim,
migration.mdkeeps a subsection titled "TaskCreationParams.ttlno longer acceptsnull" that describes a type narrowing as ifTaskCreationParamsstill exists. ButTaskCreationParamsSchemais deleted frompackages/core/src/types/schemas.tsandTaskCreationParamsis removed frompackages/core/src/types/types.ts(it now only survives as aMISSING_SDK_TYPESentry inspec.types.test.ts). Documenting a type narrowing for a type that no longer exists compounds the confusion.How to fix
Either:
TaskCreationParamswere removed in this PR and will return as part of the SEP-2663 server-directed plugin (a one-line edit in each file), orinterfaces.ts,stores/inMemory.ts, and their re-exports from the public barrels.Given the PR description ("grep audit confirms no
taskreferences remain inpackages/**"), the first option matches the implementation; the docs are what needs to change.