fix(server): stabilize task persistence and refresh workflows#323
Merged
liujuanjuan1984 merged 4 commits intomainfrom Mar 26, 2026
Merged
fix(server): stabilize task persistence and refresh workflows#323liujuanjuan1984 merged 4 commits intomainfrom
liujuanjuan1984 merged 4 commits intomainfrom
Conversation
Collaborator
Author
|
本轮复审结论:当前 PR 的实现方向与 审查判断:
issue 关系复核:
|
3 tasks
Collaborator
Author
|
本轮已基于当前分支继续收敛
当前残余风险只有一项:
本地验证:
|
Collaborator
Author
|
补充一处可观测性收敛:
本次不改变既有 policy,只增加显式暴露,便于排查迟到事件、重复写入或异常上游行为。 验证:
|
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.
背景
本 PR 在
#321首版实现基础上继续收敛 durable task persistence boundary,同时完成#325关注的本仓内抽象稳定化,并顺带处理#322的 GitHub Actions Node 20 弃用问题。当前收敛目标有三部分:
模块一:durable task 一致性与错误边界
tasks/get/tasks/resubscribe遇到 task store 读取异常时,统一映射为稳定的 server-side failure。message/send遇到 task store 持久化异常时,返回稳定 failed task。message/stream遇到 task store 持久化异常时,返回稳定 failed terminal event。TASK_STORE_UNAVAILABLE。模块二:task store 抽象收敛
server.task_store中引入更清晰的职责拆分:TaskStoreOperationWrappingDecorator负责统一包装get/save/delete操作异常TaskWritePolicy/FirstTerminalStateWinsPolicy负责 terminal write policyPolicyAwareTaskStore负责在保存前执行 write policyGuardedTaskStore改为组合入口,而不是继续承载全部逻辑。a2a-sdk保留了更清晰的边界。模块三:GitHub Actions 升级
CIDependency HealthPublishactions/checkout@v6actions/setup-python@v6astral-sh/setup-uv@v7FORCE_JAVASCRIPT_ACTIONS_TO_NODE24临时环境变量,避免继续依赖 workaround。模块四:回归测试与验证
./scripts/doctor.sh384 passed91.45%风险与边界
a2a-sdk。#322的最终验收依赖 GitHub Actions 新 run 完成后不再出现 Node 20 deprecation annotation;当前配置面已完成升级。关联