Repository navigation
test(collaboration): register the Turn-context digest consumer - #6759
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent | gpt-6.1-sol | OpenAI | runtime_reported | reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
评审头:93337765893403c04a299b70e94b4823cd5de518。未发现阻塞问题;同源基线反例与当前头的严格守卫检查一致,建议通过本次登记修复。
动机
维护使用统一摘要格式校验的协作代码、并运行控制面测试的贡献者。 Turn 上下文已经使用公共的 64 位摘要校验器,但严格清单漏记它,正确实现也会触发登记不一致失败;补齐这一项后,同一真实使用方被原有严格守卫接纳。 同一组 21 项测试在基线为 20 通过、1 失败,在当前头全部通过;生产调用和格式校验器的内容没有变化。 本改动只修复测试登记,不修改请求身份、协作生命周期、外部消息投递、权限或界面;不代表整个协作能力已经验收。
改动思路
仍由 content_digest.ts 定义两种摘要格式,消费者导入公共表达式,既有静态测试扫描实际来源并与固定清单严格比较。本 PR 仅让清单追上已经存在的真实调用,没有把新使用方列成扫描例外,也没有删掉严格比较。删掉检查、增加第二份格式定义或另建登记框架都比这一行更昂贵或更弱。已阅读当前交付与仓库复用建议;恢复 RFC 的历史案例不适用于此维护触发,未继承其结论。
具体改动
唯一改动是在 CANONICAL_CONSUMERS 登记 control_plane/collaboration/turn_context.ts。该模块的 item 在请求身份检查中确实调用 BARE_SHA256_PATTERN.test(request.request_id);并非只导入不用。packageSources、精确集合比较、nameUsage 与只允许公共导出的断言原样保留。对生产消费者、摘要 owner、对应 Turn 测试和依赖清单逐一比较 Git blob,基线与当前头完全相同。
没有此一行维护修复的独立书面规范;现有严格 owner/consumer 测试是可执行兼容锚点。对相邻测试批次的检查未发现重复铺设同形 smoke:模型设置加载、飞书回复身份和状态页面资格各有不同触发与 owner。本修改直接修复原守卫,无需新建 smoke 或后继框架。
对主干的风险
最强反例是清单登记掩盖了私有格式、未使用的导入或漏扫来源;实际改动没有触及这些检查,既有真实消费者变异、错误导出和摘要前缀拒绝用例继续执行。以 ad5c2b57605273cc567d85f8f3ee39ba6f11f023 为基线运行同一 21 项测试,20 通过且仅登记一致性失败;当前头 21 项全部通过。标准 premerge 四个直接检查通过,测试专用改动的 catalog 选择为零,行为覆盖来自上述显式测试;开发期语义 advisory 也通过。没有查询、轮询或等待 CI。静态分析对动态构造仍有原有边界,不能把测试通过解读为整个协作系统被证明正确。
我的整体评价
本次命名维护目标已达成(goal_achieved),long_horizon 与 user_experience 均 preserved:修复贡献者遭遇的误报,同时不改变运行中的请求、任务或用户操作。边界收敛在既有测试 owner,单一目的、可逆,未增加状态、协议词汇或兼容分支。未来重构检查认为无需额外抽象;保留这份守卫即可。评审通过与合并权限、外部投递、安装行为及整个协作能力验收分别判断。
English verdict: APPROVE — 93337765893403c04a299b70e94b4823cd5de518 registers the real Turn-context digest consumer in the existing strict inventory. The same 21-test suite reproduces one inventory failure on base and passes entirely on head; canonical usage, mutation and envelope checks remain intact. Four standard premerge checks pass. No runtime change or CI query; merge authority remains separate.
#6751 added a real canonical digest consumer but omitted it from the pinned consumer inventory, causing TypeScript CI to fail on later PRs. The Turn-context reader imports and uses the existing
BARE_SHA256_PATTERNto validate request identities; register that consumer in the existing test inventory.The strict inventory, canonical-export/usage checks and mutation coverage remain intact. This changes one test row and no runtime behavior or protocol vocabulary. A broader refactor is unnecessary for this boundary.
Validation at
93337765893403c04a299b70e94b4823cd5de518:CI evidence: failed pinned-consumer check.