ce-babysit-pr review-gate evals 测试推理,但不测试查找
作者: tmchow创建于 2026年9月1日更新于 2026年9月5日
缺口 ce-babysit-pr 的准备决策现在取决于代理从实时 GitHub 状态中做出的判断: 审查是否仍在进行中。skills/ce-babysit-pr/references/settle.md 要求它在四个表面上进行一次查找 - PR 实体上的反应、顶级评论、当前头的检查运行和对其进行的审查 - 并从返回的结果中推理。五个评估单元涵盖了这种推理(tests/skill-eval-cell/catalog.ts,ID 以 ce-babysit-pr/ 开头)。它们中的每一个 向代理提供了查找将返回的准备描述,并禁止 gh。它们的设计是 read_only: true,这使它们既便宜又确定性。因此,这些单元验证了语义分类 - 宣布的审查已通过,终端检查表明等待已结束,超时的审查不被视为批准,与之无关的检查不是审查完成,早期头的沉默审查者仍在等待。它们没有验证任何获取操作:
- 头归属。 反应和顶级评论是 PR 级别的,不包含任何提交身份;检查运行和审查是提交级别的。没有任何文档说明 PR 级别的声明如何与当前头绑定。
- 身份关联。 API 之间的机器人登录不同 - REST 返回
Cursor[bot]和ChatGPT-codex-connector[bot],GraphQL 返回Cursor和ChatGPT-codex-connector。假设一个查找具有特定形状,则会默默地忽略审查者。 - 分页。 对于具有多个反应、评论或检查运行的 PR,没有明确的行为。
- 探测失败。 当查找的一部分失败时,没有明确的行为,这是最有可能产生错误准备的情况。
为什么很重要
这是在生产环境中最有可能失败的地方,而当前的测试对此没有说什么。对变更的两次独立的跨模型审查分别提出了这个问题,这就是为什么它被提交而不是辩论的原因。
方向,而不是处方
如果有一个单元允许针对真实的固定 PR 使用 gh,则它将执行获取操作,但它以现实性来换取确定性,并且需要一个稳定的主体。另一种选择是保持推理单元不变,并仅添加对关联规则的确定性覆盖 - [bot] 后缀的差异和头归属规则是机械的,属于 bun test 而不是评估单元。
在添加任何一个之前,值得决定哪个。
上下文:#1611。
内容来源: EveryInc/compound-engineering-plugin