fix(release): make v1.2.0 qualification host-independent - #5020
Conversation
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>
huangruiteng
left a comment
There was a problem hiding this comment.
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
Reviewed exact head: 5020@262a3134ee64a20413da3bfc3608a1ac50af32d4
动机
v1.2.0 发布验收在已安装 OpenViking 的机器上出现误报:Reward Memory 测试把“本机没有 ov”当作前提,因此实际预览返回 preflight_ready 时断言失败。与此同时,Dev Book 和 manpage 仍指向 1.1.0,两项 smoke 仍匹配旧文案。这个 PR 解决了可复现的发布基线漂移,是发布前可独立回滚的一步;它本身不代表版本已经合格或发布。
改动思路
沿用现有实验配置和 digest 刷新助手,在合成测试中显式指定不存在的 provider binary,让“服务不可用”成为测试输入,而不改产品的 provider 决策。手册继续从现有命令目录生成;skill 和 Goal vision 的 smoke 改为核对当前拥有者合同,避免把退役句子重新写回正文。没有新增状态、权限或兼容分支。
具体改动
关键内容讲解
- Reward Memory 预览测试在临时配置中写入
missing-ov路径并更新绑定 digest;仍逐一断言正确 peer 的unavailable、错误 peer 的guard_blocked和零外部写入。 - 中英 Dev Book 的索引与阅读指南以 v1.2.0 为目标基线,
man/loopx.1由 canonical renderer 重新生成;文案避免宣称尚未发布的 GitHub release 已存在。 - 两项既有 smoke 分别核对 PR review 的五段结构/能力合同拥有者,以及 Goal vision 文档中的 “at least 15” 下限;没有增设一次性 smoke。
对主干的风险
变更只触及文档、生成帮助和测试,不改变 Reward Memory 的运行时、凭证、Goal 权限或用户交互。主要风险是版本再次调整后书和手册需要一起再生成;既有发布 smoke 会明确报错。针对性 20 项测试、四项公开 smoke、Ruff、Python 编译、8 文件公共边界扫描及精确提交 premerge 19/19 均通过;无跳过项或人工 hold。首次 premerge 因干净工作树缺少 Node 解析器依赖失败,安装锁定依赖后同一提交重跑通过。覆盖了全部变动表面,且未改运行时。真实 OpenViking 服务健康和最终发布资格仍由合并后完整验收证明。
我的整体评价
APPROVE。 这组修改用已有边界消除环境依赖和过期断言,恢复了发布维护者持续推进的路径,也让用户看到的版本信息一致。范围小、可撤销,未引入新的产品行为;最终主干提交仍需完整 pytest、full-public、包安装和真实模型验收后才能打 tag。
English verdict: APPROVE - The exact head makes the negative preview test host-independent and aligns existing public release baselines without changing runtime behavior. Focused tests and risk-based validation passed; final release qualification remains separate.
Problem and result
The v1.2.0 qualification suite failed on a host with OpenViking installed because a Reward Memory preview test assumed the provider was absent. The test now selects an explicitly missing provider binary and refreshes its synthetic config digest, so it still proves the unavailable-provider and scope-rejection paths on any host. The Dev Book and generated manpage now use the v1.2.0 baseline, while two release smoke assertions follow the current review-skill and vision contract wording.
Validation
git diff --check: passed.cqr_3a24b3376796ed747b14, exact committed diff, valid.This PR changes public docs, generated help, and tests only. It does not change runtime behavior or provider configuration.