Skip to content

narrow shared stream contract disclosure#482

Merged
liujuanjuan1984 merged 1 commit intomainfrom
issue-460-metadata-contract
May 7, 2026
Merged

narrow shared stream contract disclosure#482
liujuanjuan1984 merged 1 commit intomainfrom
issue-460-metadata-contract

Conversation

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator

概要

  • 继续收口 shared stream-hints v1 的对外契约声明面
  • 将 authenticated extended Agent Card 中 shared streaming extension 的 declared field map 收窄到与 public disclosure 一致
  • 同步更新扩展规格文档、主指南与相关测试断言

变更说明

  • src/opencode_a2a/contracts/extensions/public_params.py 中统一 shared streaming contract 的最小 declared 字段集
  • 从 shared streaming extension 的 machine-readable contract 中移除对 message_idevent_idreasoning_tokenscache_tokens.*cost 的继续声明
  • 更新 tests/server/test_agent_card.py,确保 public / authenticated disclosure 对 shared streaming declared fields 保持一致
  • 更新 docs/extension-specifications.mddocs/guide.md,改为只声明最小 shared contract,并明确未声明字段不可被客户端视为稳定契约

验证

  • bash ./scripts/doctor.sh

Issue 关联

Closes #460

@liujuanjuan1984
Copy link
Copy Markdown
Collaborator Author

独立审查结论如下:

代码变动审查

  • 未发现阻塞性问题。
  • 本次改动聚焦且边界清晰:核心调整集中在 src/opencode_a2a/contracts/extensions/public_params.py 的 shared streaming contract SSOT,上层文档与测试也同步收口,没有出现“只改文档/只改测试/只改实现”之一导致的漂移。
  • tests/server/test_agent_card.py 的断言更新能够直接约束 public disclosure 与 authenticated extended disclosure 的 shared streaming declared fields 一致,这一点对防止未来回归是有价值的。

需求贴合度审查

  • 当前实现与 #460 的目标一致:继续收口 shared streaming metadata 的对外契约面,避免在 authenticated detailed 面继续把 advanced/private-ish 字段当作 shared contract 进行声明。
  • 这次实现也符合本 issue 的核心约束:metadata 不应直接承载过多私有字段及其 shape,并继续被宣传为 shared contract;真正对外稳定的内容应当通过 extension 的最小 declared field map 来表达。
  • 本次没有去删除运行时可能仍会出现的额外 metadata,而是只收紧“对外声明面”。这在兼容性上更稳健,未偏离本 issue 的当前边界。

风险与余项

  • 目前未见必须在本 PR 内继续处理的缺口。
  • 唯一可记录的后续观察点是:如果未来仓库希望进一步从 runtime emission 层面也减少这些 advanced 字段,那应作为后续单独变更处理,而不应重新扩张当前 shared stream-hints v1 的契约声明面。

PR 标题与描述审查

  • 当前标题 narrow shared stream contract disclosure 准确反映了本次变更范围,符合英文 commit message 风格。
  • 当前 PR 描述与唯一 commit narrow shared stream contract disclosure 保持一致,中文说明清晰,验证项完整。

PR 与 Issue 关系审查

  • Closes #460 准确,本 PR 的变更已经直接实现并完成该 issue 当前定义的收口目标。
  • 当前未见需要追加 Related 的其它 open issues;#451 与本 PR 无直接交叉,不建议绑定。

@liujuanjuan1984 liujuanjuan1984 merged commit 8fbe001 into main May 7, 2026
3 checks passed
@liujuanjuan1984 liujuanjuan1984 deleted the issue-460-metadata-contract branch May 7, 2026 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Priority: Low] [TechDebt] 继续收口 advanced streaming 与 usage metadata 契约

1 participant