Skip to content

feat: align output negotiation and protocol maintenance#411

Merged
liujuanjuan1984 merged 18 commits intomainfrom
chore/407-borrow-codex-practices
Apr 10, 2026
Merged

feat: align output negotiation and protocol maintenance#411
liujuanjuan1984 merged 18 commits intomainfrom
chore/407-borrow-codex-practices

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

概览

本 PR 汇总当前分支已完成的四组相关改动:

  • 借鉴 codex-a2a 的维护者文档、兼容性文档与默认验证闭环实践
  • acceptedOutputModes 提升为 task-scoped 协议契约,并补齐 text/plain only 客户端的稳定文本降级
  • 收敛 JSON-RPC / 协议层重复实现,降低 handler 漂移与维护噪音
  • 同步补齐相应的回归测试与契约说明

按模块说明

文档与维护者入口(#407

  • 新增 docs/maintainer-architecture.md,补充维护者视角的模块边界与主调用链
  • 新增 docs/compatibility.md,显式说明 compatibility-sensitive surface 与 contract-honesty 边界
  • 调整 README.mdCONTRIBUTING.md、相关 docs 跳转关系,区分用户入口与维护者入口

默认验证闭环(#407

  • bash ./scripts/doctor.sh 明确为主验证入口
  • doctor.sh 中补齐 mypy、构建产物生成与 built wheel smoke test
  • 更新脚本与贡献文档,保证默认验证路径与仓库要求一致

Output Negotiation 与文本降级(#408 #409

  • acceptedOutputModes 规范化后持久化到 task metadata
  • 在 send / stream / get / resubscribe / list 路径统一应用输出协商
  • 当客户端仅接受 text/plain 时,将结构化 DataPart 稳定降级为紧凑 JSON 文本,避免关键信息静默丢失
  • 补充输出协商、任务读取、重订阅、REST list 等回归测试

JSON-RPC / 协议层收敛(#410

  • 提炼 session claim guard,统一 claim / finalize / release 路径
  • 收敛 upstream exception -> JSON-RPC error response 的重复映射逻辑
  • 统一 metadata accessor、通用 parsing helper 与 terminal task state 常量来源
  • 收敛 jsonrpc.methodsworkspace_control 等处的重复字段校验样板,保持现有协议行为与错误语义不变

验证

  • bash ./scripts/doctor.sh

Issues

Closes #407
Closes #408
Closes #409
Closes #410

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

独立审查结论:未发现阻塞性问题,当前 PR 的代码与文档变动总体合理,能够覆盖并闭合本分支对应的四个 issue 目标。

代码变动审查

  • #407:维护者文档、compatibility 文档、README/CONTRIBUTING/scripts 跳转关系,以及 doctor.sh 验证闭环是匹配 issue 诉求的;默认验证入口已经提升到更接近仓库长期维护所需的基线。
  • #408/#409acceptedOutputModes 已从轻量校验提升为 task-scoped 协议契约,并在 send / stream / get / resubscribe / list 路径维持一致;text/plain only 客户端的 DataPart -> TextPart 降级也有对应回归测试,方向正确。
  • #410:JSON-RPC / 协议层的收敛方式整体克制,主要通过共享 helper、共享 accessor、共享 parsing primitive 减少重复,没有引入额外的抽象层级或多重套壳;这一点符合“长期可维护、但避免过度抽象”的目标。

优雅性与稳健性审查

  • 实现方式总体是小步收敛,而不是重写式整理;协议行为与错误语义保持稳定,这一点是合理的。
  • 从回归覆盖看,新增测试已经覆盖 output negotiation 的关键持久化/回放路径,以及协议层收敛后的关键 contract surface。
  • 全量 bash ./scripts/doctor.sh 已通过,因此 lint / mypy / pytest / coverage / build / smoke test 闭环是完整的。

PR 标题与描述审查

  • 当前标题 feat: align output negotiation and protocol maintenance 可以准确概括这批改动,采用英文 commit message 风格,合适。
  • 当前描述已按模块区分 #407 / #408 / #409 / #410,并能从 commits 与 diff 中追溯到对应改动面,结构清晰,无需再调。

PR 与 issues 关系审查

  • 当前使用 Closes #407Closes #408Closes #409Closes #410 是准确的,这四个 issue 的核心验收点都已在本 PR 中落地。
  • 没有看到必须改成 Related 的 issue;现有 closes 关系可以保留。

残余风险

  • 非阻塞风险主要在于 PR 范围偏大,横跨文档、验证基线、协议行为与 handler 收敛,后续如果还有类似工作,继续保持更窄的主题分支会更利于审阅。
  • 就当前内容本身看,没有发现需要在合并前额外修正的问题。

@liujuanjuan1984 liujuanjuan1984 merged commit 5e1b929 into main Apr 10, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the chore/407-borrow-codex-practices branch April 10, 2026 05:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant