## 需求与评估 基于最新 main(69791e3)将 #527 的依赖升级与 #528 的 SQLAlchemy asyncio 安装修复整合为一个 Draft PR,供人工审核。 - #527 仍将 a2a-sdk 从 1.1.2 升至 1.1.5,并升级 SQLAlchemy、ruff;默认 CI 的 wheel 冒烟测试失败。 - #528 通过声明 sqlalchemy[asyncio] 将 greenlet 安装要求带入发布包元数据,修复不使用仓库 lockfile 的安装路径;两者适合一起验证与提交。 - #515 与本次 SDK 升级直接相关,将核查现有 SDK shape/contract 与兼容层;该 issue 中的 1.1.3 目标已被本次 1.1.5 目标取代。相关兼容层与依赖审计已纳入 #530,待合并后一并关闭 #515。 - #519(Python API facade)与 #451(push config 能力分层)不纳入本次范围。 ## 实施与验收 - [x] 审查旧 worktree/分支,确认无独有提交或未保存文件后清理;主目录保持最新 main。 - [x] 基于最新 main 在独立 worktree 整合两份 PR 的有效变更。 - [x] 核查 SDK 兼容性、依赖元数据与安装说明。 - [x] 执行 ./scripts/doctor.sh 及必要的 SDK/协议回归。 - [x] 创建一个 Draft PR,记录与 #527、#528、#515 的关系和验证结果,等待人工审核。 ## 完成状态 已创建 Draft PR #530(提交 0ea6834),等待人工审核;原 #527、#528 由 #530 替代。doctor 完整通过:829 项测试、93.33% 覆盖率、wheel 独立安装和健康检查;协议探针 8/8、出站请求头回归 5/5 通过。 主目录停留在最新 main(69791e3);旧 dev、docs/assessment-20260903 分支及旧 docs worktree 已在确认无独有提交与未保存文件后移除。开发 worktree 为 `/home/juanjuan/a2a-things/opencode-a2a-pr-527-528`,分支为 `fix/consolidate-pr-527-528`。 ## 补充审计 - 已将 click/pyasn1 安全下限移入发布包元数据,并验证实际 wheel 拒绝低于安全下限的解析组合。 - 已验证 protobuf 6.33.6 与 7.36.2 各 829 项测试通过,放宽支持范围至 <8 并移除旧 Dependabot ignore。 - 已同步 Ruff pre-commit hook 至锁定版本 0.16.8。 - 已记录 SDK 兼容层与 typing overrides 的保留依据;最终运行时及开发依赖审计未发现已知漏洞,wheel/sdist 安装冒烟通过。 ## PR 独立复核 已修复元数据测试接受条件化安全下限的漏检,并新增独立 protobuf 6 CI job,保证嵌套协议探针不重新同步回锁定版本。doctor 与独立 Python 3.11/protobuf 6 环境均通过 829 项测试。PR 标题更新为英文 commit message 风格,描述保持中文;Closes #515/#529,替代 #527/#528,不关闭独立设计议题。
Activity
liujuanjuan1984 commentedon Sep 29, 2026
已在独立 worktree fix/consolidate-pr-527-528 整合 #527 和 #528,无冲突。已从 #527 的真实 CI 日志确认 SQLAlchemy 2.1.0 缺少 greenlet 的失败路径。SDK 1.1.5 的 DatabaseTaskStore.save 仍使用无终态保护的 ORM merge,保留本项目原子终态写入兼容层并补充说明;现正运行 doctor 完整验证。
liujuanjuan1984 commentedon Sep 29, 2026
最终状态:#530 保持 Draft 等待人工审核,提交 477ccd4。远端 CI 4 项全部通过(默认工具链及 Python 3.11/3.12/3.13 矩阵);默认工具链包含依赖漏洞审计及 wheel/sdist 安装冒烟。#527、#528 已关闭并指向 #530。主目录 main 与 origin/main 一致,开发 worktree 干净。
liujuanjuan1984 commentedon Sep 29, 2026
继续审计发现两个直接相关缺口:click/pyasn1 安全下限仅存在于 tool.uv.constraint-dependencies,未进入 wheel Requires-Dist;pre-commit 使用 Ruff 0.14.14,而本次锁定升级为 0.16.8。将追加安装元数据回归并同步工具版本。同时验证 SDK 1.1.5 已支持的 protobuf 7,判断旧上界/Dependabot ignore 是否可移除。dependency_health.sh 的运行时+开发依赖漏洞审计通过,未发现已知漏洞。
fix(deps): enforce published dependency floors and audit SDK compatib…
liujuanjuan1984 commentedon Sep 29, 2026
补充审计交付完成,提交 c21ec8e 已推送至 #530;最新远端检查全部通过(默认工具链、Python 3.11/3.12/3.13、Dependabot 配置)。PR 描述已按最终范围重写,并添加 Closes #515。PR 继续保持 Draft,等待人工审核;主目录保持 main,开发 worktree 干净。
liujuanjuan1984 commentedon Sep 29, 2026
本轮独立复核发现并修复两处验证缺口:新增元数据测试原先会接受仅在当前平台生效的安全下限,现改为要求无条件安装,并通过 Linux/Python 版本/dev extra 条件变异验证;另新增独立 protobuf 6 CI job,防止仅测试锁定的 protobuf 7,并以 UV_NO_SYNC 保证嵌套协议探针不会重新同步回 7。依赖与安装修复本身未发现阻断问题。正在执行 doctor 与 Python 3.11/protobuf 6 完整回归。
test(deps): enforce unconditional requirements and cover protobuf 6 i…