test(release): align public smokes with current capability and replan contracts - #5524
Conversation
… contracts Signed-off-by: huangruiteng <huangrt01@163.com>
huangruiteng
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · xhigh
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
维护者准备正式版本时,三个旧验证脚本误报失败,普通 smoke 还误选了需要单独授权的付费宿主验证。
同一份候选代码,原来因缺少新能力条目、期待直接继续长任务链而失败;修复后验证默认关闭与先 replan,普通扫描仍执行原离线验证并排除付费宿主入口。
三个原失败脚本通过,能力保持默认关闭,长链 replan 保留任务归属,516 个普通 smoke 保留;未显式授权的宿主入口拒绝且不创建会话。
本 PR 只修复验证与使用文档,不修改产品行为,不声称真人宿主验证或整版 release 已通过。
改动思路
本次选择现有验证脚本和现有 owner 的最小修复:能力目录与配置目录仍保持完整断言,调度 fixture 复用 canonical 执行上下文,长链场景验证先 replan 再普通交付,并保留原任务归属。付费宿主验证改用 qualification 文件名;不添加 canary 特例、假成功或嵌套 smoke。
评审依据:docs/development/good-smokes.md,固定版本 1e9e82b038273526880acd759f453313695ef00a。Start With The Contract:依照已交付默认关闭与长链规则修复旧 oracle;Consolidate Without Losing Coverage:保留原三个离线入口和独立真人宿主入口,未复制已有覆盖。关联边界为 #5493、#5502、#5456。
具体改动
- capability-extension-registry-smoke 增加已注册的 goal-capability-organization;配置 smoke 增加同一能力并断言默认 off、无隐式 current override。
- todo-first-open-summary-smoke 复用 GENERIC_CLI_OUTER_CONTROLLER_SCHEDULER_CONTEXT,20 个主 Agent 已认领任务必须先 replan,原 claimant、显示截断和其他 Agent 归属断言保留。
- peer-handoff-live-qualification.py 为原脚本的 98% 重命名,补齐源码 root 导入,原 --execute-real-host 参数和 request/adopt/report/consume 生命周期不变;协议文档两处调用路径同步更新,并说明普通 CI 不授权真人宿主或模型调用。
五个逻辑文件,40 行增加、7 行删除,无生产模块变化;新增字面值复用已登记词汇,无新协议或平行决策 owner。仓库搜索保留能力、frontier、peer receipt/route 原有测试;近 25 个同作者 PR 元数据已检查,本次为同一组已复现发布验证问题,没有新普通 smoke、相同脚本批次或无消费方抽象。
对主干的风险
三个原失败脚本已在固定 main baseline 复现,当前最终修改内容均通过;相关测试 104 通过,2 个 Win32 专用 case 在 macOS 上跳过。源码 --help 可运行,缺少 --execute-real-host 时退出 2 且不创建宿主 HOME;native fleet 仍有 516 个普通 smoke,三个修复入口全部保留,付费入口不被自动发现。
变更文件 Ruff、配置范围全量 Ruff、19 文件 mypy、公开边界扫描与 semantic advisory/full 均通过。首次 premerge 的 semantic 检查因新 worktree 未准备 TypeScript 依赖失败,原失败已保留;按 lockfile 执行 npm ci 后该检查通过,完整 premerge 重跑通过:19 个检查、3 个直接 Git 检查,0 失败、0 skip、0 manual hold;exact-scope CQS receipt 有效。
真人 Codex 执行未尝试,Windows 两项不冒充通过。该 PR 不改变已安装产品的调度、权限、持久状态或用户操作步骤;正式 release 仍需独立候选与全量验证。回退仅撤销验证与文档提交,无数据恢复。Future-facing pass 已应用:复用 scheduler owner 与文件发现规则,未增加特例或 wrapper。
我的整体评价
修改恢复了已交付能力的准确验证,并保留付费宿主验证的授权边界。完整 premerge 已通过,本次验证修复的整体结论为 APPROVE;这不构成整版 release 已获资格的声明。
English verdict: APPROVE - 2427a61; restore current offline contracts and explicit paid-host qualification. Three repaired smokes, 104 focused tests, default refusal and fleet selection pass; full 19-check premerge and 3 direct Git checks pass, with zero failures, skips or manual holds; exact-scope CQS verified.
The full-public release sweep found three stale offline contracts and accidentally discovered a paid real-host qualification as an ordinary smoke. Align the capability/configuration expectations with the already shipped default-off entry, provide canonical scheduler context, and assert long-chain replan precedence without losing existing claimant checks.
Rename the opt-in peer runner to
peer-handoff-live-qualification.py, update its documented command, and add source-root import discovery. Its explicit host/model authorization flag is unchanged; ordinary discovery retains 516 offline smokes and creates no host threads.Validation: the three repaired public CLI/projection smokes pass; focused capability, replan, peer and host-route tests report 104 passed and 2 Win32-only skips on macOS; changed-file Ruff, full configured Python static checks, mypy, public-boundary scan, source import/help and no-opt-in refusal pass. The original failures were reproduced at the main baseline. Native premerge passes all 19 selected checks and four direct checks with zero failures, skips or manual holds; exact-scope CQS is valid. The first semantic run lacked checkout TypeScript dependencies; after npm ci with the locked tree, the semantic check and complete premerge rerun pass. Exact-head review: #5524 (review).
Future-facing pass: reuse the existing scheduler context owner and ordinary filename discovery; add no runner special cases or nested smoke wrapper. This changes only validation and its usage documentation, with no runtime or permission change. Live Codex qualification was not attempted.