fix(runtime): tighten extension boundaries and unsupported surfaces#392
Merged
liujuanjuan1984 merged 5 commits intomainfrom Apr 7, 2026
Merged
Conversation
Collaborator
Author
|
本次对 PR #392 的独立审查结论如下。
结论:当前 PR 可以作为 Draft 继续等待人工复核,没有额外必须先修的问题。 |
Collaborator
Author
|
本轮基于
验证结果:
|
Collaborator
Author
|
本轮基于最新代码再次独立审查,结论如下:
|
Collaborator
Author
|
补充审查结论: 这轮再次审查后发现的两个剩余边界点,已经随当前 PR 一并收口完成:
因此,按“extensions 是否过界、是否语义一致、是否与 runtime 行为一致”的标准再看,本 PR 当前没有新的阻塞性遗漏。剩余风险主要是命名层面仍保留了 验证:
|
Collaborator
Author
|
补充说明:当前分支里“默认关闭”的并不是整个 extension,而是两组 deployment-conditional 的 extension methods。
补充区分:
这也是本 PR 收口的核心原则:
|
Collaborator
Author
|
本轮收尾审查结论如下。
验证:
|
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.
关联 Issues
变更概览
Push Notification 收口
docs/guide.md,明确声明tasks/pushNotificationConfig/*当前仍会随 SDK-owned core surface 暴露,但本 runtime 没有配置push_config_store/push_sender,因此该能力当前是 unsupported。501Workspace / Worktree Extension 收口
A2A_ENABLE_WORKSPACE_MUTATIONS,将opencode.workspaces.create/remove与opencode.worktrees.create/remove/reset收敛为 deployment-conditional methods,且默认关闭。all_jsonrpc_methodsMETHOD_NOT_SUPPORTEDopencode.projects.listopencode.projects.currentopencode.workspaces.listopencode.worktrees.listprojectdiscovery 维持稳定口径workspace/worktreesurfaces 明确标注为 upstream experimental 依赖workspace_controlextension retention 调整为mixedworkspace_mutations的声明,避免“实现关了但契约还声称始终可用”。Session Management Taxonomy 重构
opencode-session-query-v1直接调整为opencode-session-management-v1。opencode.sessions.query/OpenCode Sessions Query调整为opencode.sessions.management/OpenCode Session Management。lifecycle_methods直接拆分为语义更准确的:read_methodsmutation_methodscontrol_methodsx-a2a-extension-contracts中的键名从session_query调整为session_management。Interrupt Recovery 契约收口
opencode.permissions.list/opencode.questions.list读取的是 adapter-local interrupt binding registry,而不是上游全局 pending queue。recovery_scope、implementation_scope、identity_scope等 machine-readable 语义。文档与契约
docs/extension-specifications.md与docs/guide.md,统一当前 runtime 对 unsupported push surface、workspace discovery/mutation 边界、interrupt recovery 来源,以及 session management taxonomy 的对外口径。测试
与相关 Issues 的关系审查
#391已由本 PR 完整承接,使用Closes #391准确。#393的验收项已经在本 PR 完成,且已继续承接后续 workspace/interrupt extension boundary 收口,使用Closes #393准确。#394的 taxonomy 重构已在本 PR 完成,使用Closes #394准确。#371已关闭,不应再使用Closes #371;保留Related #371仅用于追溯收口背景更准确。验证
./scripts/doctor.sh