refactor: finalize a2a v1-only migration cleanup#424
Conversation
|
补充说明:构建阶段 |
|
独立复审结论(对照
剩余更像仓库自有抽象,而不是 v0.3 兼容残留:
结论:A2A v1 迁移主线已完成;当前剩余的是仓库自有 helper / facade / 内部数据迁移命名,不应再归类为协议迁移缺口。 |
|
补充两点审查结论:
另外,内部状态表旧行 TTL fallback 已拆出单独问题跟踪:#425。它与 A2A 协议升级解耦,不在当前 PR 内继续展开。 |
|
继续收敛完成,已提交并推送: 这轮聚焦处理了上一轮审查里“最值得继续收敛”和“高置信低价值残留”的两类 helper:
验证结果:
|
|
独立复审结果:未发现需要阻塞合并的问题。 本次复审范围包括:PR diff、相关 commits( 结论:
关于优雅性与稳健性:
残余非阻塞关注点:
PR / issue 关系复核:
总体判断:当前 PR 的代码与文档变动已经较为完整、边界清晰、回归充分,可以进入正常审查/合并流程。 |
|
独立审查结论:对照
建议:如果后续继续收敛,优先级最高的是把客户端扩展 URI 通过 |
|
本轮基于 改动重点:
回归结果:
关系说明:
|
|
补充同步本轮收口结果:\n\n- 已继续处理并完成 #427 中审查出的剩余迁移缺口与非必要兼容。\n- 新增提交: |
|
补充一轮 v1-only 清理:
验证已通过: 新增提交: |
|
补充一轮人工审查收口,已随
验证: |
|
补充同步 本轮重点:
验证:
|
|
补充一笔极小的命名收口,提交为 只改了一处参数名:
原因:
验证:
|
|
继续收敛了固定 v1-only 路径里的仓内噪音,已推送提交: 这次处理了 4 类点:
验证已完成: |
|
继续收敛了仓内转换噪音,已推送提交: 本轮处理:
独立审查后保留的部分只有真实边界逻辑:
验证: |
|
按“ 这次删除了:
当前保留的 helper 都已重新核过:
验证: |
|
继续按人工审查规则收口了 2 个仅 1 处调用的封装函数:
这轮目标是删除无收益的中转封装,不改变对外协议语义。验证已完成:
提交: |
|
最终收尾审查已完成。 结论:
|
背景
~/a2a-python/docs/migrations/v1_0/README.md的迁移点,完成仓库内 A2A v1 升级的最终收口。v1-only策略,不再兼容旧版0.3协议语义。协议与配置
1.0协议线,移除旧协议方法别名、旧 payload 识别和“可配置但只能是 1.0”的噪音通路。A2A-Version: 1.0,删除A2A_PROTOCOL_VERSION/A2A_CLIENT_PROTOCOL_VERSION等冗余回退读取。客户端与出站链路
A2AClient.send_message()/subscribe_to_task()直接返回原生StreamResponse,不再适配仓库私有 tuple 事件。服务端、Transport 与 JSON-RPC
message.content、小写 role、{kind: ...}包装和旧 method alias。/.well-known/agent.json、on_resubscribe_to_task()、旧 REST error flat payload、旧 push-notification 兼容包装等残留。GetTask/SubscribeToTask/ list tasks / output negotiation 等读取路径同步保持 v1 输出与扩展裁剪语义。扩展协商与 protobuf 收敛
MessageToDict。opencode.sessions.messages.*明确保留为 adapter-normalized message projection,并在文档中显式说明边界。文档与测试
vcs_versioning GlobalOverrides继续按上游 packaging warning 跟踪,不在本 PR 内引入额外 build backend 定制。死代码审查
范围外 follow-up
state_store中 pending claim 旧行 TTL fallback 的彻底清理不在本 PR 内继续展开,单独跟进:清理 state store 旧行 TTL fallback,移除 pending claim 的 legacy 兼容 #425。验证
bash ./scripts/doctor.sh596 passedcoverage 91.43%Issues