fix(plugin): 允许同步任务返回异构结果 - #420
Closed
kachofugetsu09 wants to merge 1 commit into
Closed
Conversation
Owner
Author
|
已由 pure-v3 总迁移 PR #462 及其后续收口提交完整吸收;关闭旧 stacked 审计入口,保留 main 作为唯一事实。 |
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.
依赖:#419。
问题与结果
ExecutorService.parallel_sync()运行时支持异构返回值,但SyncTask的不变泛型让合法的SyncTask[str] + SyncTask[None]组合无法通过测试类型检查。Change intent
change_type:fixsemantic_delta:nonecapability_owner:coreconsumer_scope:Plugin API v3ExecutorService调用方runtime_patch:noneruntime_patch_reason:仅把产出型泛型声明为协变,运行字节码路径不变authoritative_state_owner:Core owns executor typing and lifecycle;插件拥有纯同步 taskclient_only_alternative:不适用protected_state:正式 workspace、plugin-data、线程池行为、事件顺序和晋升语义改动范围
agent/plugin_composition/executor.py,仅一行TypeVar(..., covariant=True)34eb644b14de394e641f986aa15556ede5f1ef05backup/plugin-parallel-sync-typing-before-20260815验证
tests/test_plugin_composition_executor.py:7 passed。python docker/debug/gate.py run --base 8e7b160a5aaf164707c836035f2112a21972a9cd:23 checks passed,cleanup 0 failures。sourceDigest:adcf8ff4a50e5f45e0bfc6e45926e2aca086412ae05fcfb00acc97c4e4f0aa07planDigest:cc438b74ea39b5b8659fb2666b673df0d116ad9f761ee968ddc0109120d31f1a工作手册
projectneed.md、插件事件 executor 合同和NOW.md。