feat(sdk,sdkx): v0.3.0 cutover — delete deprecated v0.2.x surface [skip-tag:sdk] [skip-tag:sdkx]#84
Merged
Merged
Conversation
…ip-tag:sdk] [skip-tag:sdkx]
Closes the v0.2.x deprecation window in a single coordinated cut.
Every symbol that lived in a per-package deprecated.go shim during
v0.2.x is removed; the index files themselves are deleted.
sdk module:
- delete sdk/workflow and sdk/graph/adapter (workflow ↔ graph bridge)
- llm: drop RoundResult/RunRound/StreamRound/RoundConfig family,
CapsMiddleware/WithExtraCaps/LookupModelCaps shims, ModelInfo.Caps
auto-promotion
- graph: collapse runner onto engine.Engine — drop the internal
Executor interface, ErrInterrupt, WithEventBus / WithStreamCallback
/ WithCheckpointStore options, busOnlyHost shim, VarMessages /
VarQuery / VarAnswer; refactor llmnode.MessagesKey →
MessagesChannel (typed channel name) and remove QueryFallback;
add knowledgenode.Config.QueryKey
- engine: rename MainChannel from "" to "__main_channel" with
RestoreBoard migration shim for old checkpoints; reserve the __
prefix for engine-owned board keys
- knowledge: delete legacy v0.1 surface (Document/Chunk/SearchResult/
SearchOptions/DocInput, Store/FSStore/RetrievalStore/CachedStore
and their With* options, ChunkDocument/ScoreChunk/RankResults/
RRFMerge, ChangeNotifier/Reloader, KnowledgeConfig/Node/* and the
matching tools); flip ContextLayer ↔ Layer with ContextLayer kept
as alias; remove ModeSemantic; route everything through *Service
- history: remove Closer/Compactor.Close, SummaryCacheStore,
RecoverArchive/SaveManifest top-level helpers; relocate ToolDeps
/ RegisterTools / historyExpand|Compact tools to sdkx/tool/history
- retrieval: drop SearchRequest.ReturnRaw and
SearchResponse.RawByRetriever
- script/bindings: drop NewStreamBridge, NewRunBridge,
AgentStepBindings, BuildEnv preset; NewRunInfoBridge is the
surviving run-metadata bridge
- model: add LastByRole helper for role-scoped reverse scans
sdkx module:
- sdkx/tool/{history,kanban}: take ownership of the relocated tool
implementations and context keys; signatures stay identical for
downstream callers that already swapped imports during v0.2.x
- sdkx/knowledge/watcher: removed alongside the deprecated
ChangeNotifier; durable watchers must produce ChangeEvent for
EventReloader directly
docs:
- expand docs/migrations/v0.3.0.md to cover every removed symbol,
including the additive surface accumulated across v0.2.x
- enable GitHub Pages from docs/ with jekyll-theme-cayman + an
index page that links to the migration guide
- whitelist docs/_config.yml and docs/index.md in .gitignore
Tagging note: skip auto-tag for both modules. Release coordinator
will hand-tag sdk/v0.3.0 and sdkx/v0.3.0 in a coordinated cut after
this PR merges.
Co-authored-by: Cursor <cursoragent@cursor.com>
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.
Summary
Closes the v0.2.x deprecation window in a single coordinated cut.
Every symbol that lived in a per-package
deprecated.goshim duringv0.2.x is removed; the index files themselves are deleted. See
docs/migrations/v0.3.0.mdfor the full per-symbol map.
sdksdk/workflowandsdk/graph/adapter(workflow ↔ graph bridge).sdk/llm: drop theRunRound/RoundStream/RoundConfigfamily,CapsMiddleware/WithExtraCaps/LookupModelCapsshims, andModelInfo.Capsauto-promotion.sdk/graph: collapse runner ontoengine.Engine— drop the internalExecutorinterface,ErrInterrupt,WithEventBus/WithStreamCallback/WithCheckpointStoreoptions, thebusOnlyHostshim, andVarMessages/VarQuery/VarAnswer.Refactor
llmnode.Config.MessagesKey→MessagesChannel(a puretyped-channel name) and remove
QueryFallback. Addknowledgenode.Config.QueryKey.sdk/engine: renameMainChannelfrom""to"__main_channel"with a
RestoreBoardmigration shim for old checkpoints; reservethe
__prefix for engine-owned board keys.sdk/knowledge: delete the v0.1 surface (Document,Chunk,SearchResult,SearchOptions,DocInput,Store/FSStore/RetrievalStore/CachedStoreand theirWith*options,ChunkDocument/ScoreChunk/RankResults/RRFMerge,ChangeNotifier/Reloader,KnowledgeConfig/KnowledgeNodeand the matching tools); flip
ContextLayer↔LayerwithContextLayerretained as a backward-compatible alias; removeModeSemantic; everything routes through*Servicenow.sdk/history: removeCloser.Close/compactor.Close,SummaryCacheStore, and theRecoverArchive/SaveManifesttop-level helpers; relocate
ToolDeps/RegisterTools/historyExpand|Compacttosdkx/tool/history.sdk/retrieval: dropSearchRequest.ReturnRawandSearchResponse.RawByRetriever.sdk/script/bindings: dropNewStreamBridge,NewRunBridge,AgentStepBindings, and theBuildEnvpreset;NewRunInfoBridgeis the surviving run-metadata bridge.
sdk/model: addLastByRolehelper for role-scoped reverse scans(replaces ad-hoc loops in node code that previously coupled board
vars to channel contents through magic keys).
sdkxsdkx/tool/{history,kanban}take ownership of the relocated toolimplementations and context keys. Public signatures stay identical
for downstream callers that already swapped imports during the
v0.2.x window.
sdkx/knowledge/watcheris removed alongside the deprecatedChangeNotifier. Durable watchers must produceChangeEventvalues for
EventReloaderdirectly.Docs
docs/migrations/v0.3.0.mdto cover every removed symbol,including the additive surface accumulated across v0.2.x
(engine.StreamRouter / Resumer / LoadAndResume, agent.Handoff,
workspace.Capabilities, retrieval/scoring helpers, telemetry
AttrXxx, errdefs boundary normalisation, llm image/audio caps).
docs/withjekyll-theme-cayman+ alanding
docs/index.mdlinking to the migration guide.docs/_config.ymlanddocs/index.mdin.gitignore.Tagging
[skip-tag:sdk]and[skip-tag:sdkx]in the title and HEAD commitdefer auto-tag deliberately. The release coordinator will hand-tag
sdk/v0.3.0andsdkx/v0.3.0in a coordinated cut once this PRmerges, per the schedule documented in
docs/migrations/v0.3.0.md(Timeline section).
Test plan
make vet— green acrosssdk,sdkx,vessel,voice,cmd/vesseld,bench,examples/voice-pipeline,tests/conformance,tests/quality/{knowledge,vessel},tests/e2e/{vesseld,retrieval}.cd sdk && go test ./...— green (knowledge, history, graph,llm, script, engine, agent, recall, retrieval, model).
sdk/v0.3.0andsdkx/v0.3.0.Made with Cursor