|
| 1 | +# v1.17.8 |
| 2 | + |
| 3 | +> 发布日期:2026-08-16 |
| 4 | +> 类型:Patch / 宿主稳定入口与 SkillRoute 自举修复 |
| 5 | +
|
| 6 | +## 摘要 |
| 7 | + |
| 8 | +本版本修复 v1.17.7 发布后真实宿主验证及随后最低版本回归发现的一组相邻问题:版本化 Hook 命令会在升级时改变宿主信任身份;已发现的 UserPromptSubmit Hook 在部分 Codex 入口未实际分发;多项目 pending 的显式 Skill/宿主身份没有跨 MCP 保留;复合 content 的旧解析优先级还能掩盖返回体失配。修复保持既有 runtime generation 与本地 MCP 边界,不新增第三方依赖、网络监听或常驻服务。 |
| 9 | + |
| 10 | +## 主要修复 |
| 11 | + |
| 12 | +- 新增用户级稳定 `host-hook-launcher.cjs`。六宿主 Hook 命令不再直接嵌入 `runtime-<version>-<digest>` 路径;launcher 读取 committed `GlobalHostConfigReceiptV1`,校验 host、runtime containment、generation/version/source digest 后再转发到当前不可变 adapter。 |
| 13 | +- MCP server 继续绑定版本化 runtime,保持滚动升级时的进程世代隔离;稳定 launcher 只拥有 Hook 转发职责,不复制 adapter 业务逻辑。 |
| 14 | +- `profile_context_plan` 在没有宿主 Hook 注入时创建或复用同 turn、同 context 的 `SkillRouteBootstrapV1`,通过结构化 content 与 `_meta.devcodexSkillRouteBootstrap` 返回;已有 Hook envelope 或 route decision 时保持幂等,不重复注入。 |
| 15 | +- 未解析项目的 pending nextCall 现在精确携带 canonical hostVariant 与显式 `explicitSkillId`;PostToolUse 同步同一 envelope,并在 MCP 已交付相同 digest 时抑制重复 bootstrap。 |
| 16 | +- ContextRead 从复合 content 中选择唯一受支持 schema 的主载荷;可观察 plan 的 epoch/root/identity 不匹配时不再由 observation sidecar 覆盖。新增 MCP 参数保持最小 schema,避免 `tools/list` 越过 Grok stdio 首载预算。 |
| 17 | +- S15 Hook 识别改为解析 canonical Base64URL argv,并兼容稳定 launcher 与上一代 versioned adapter;错误 host、路径逃逸、坏 receipt/generation 继续失败关闭。 |
| 18 | +- S15 上下文证据统一支持 Hook `postHistory` 与 MCP `ContextReadReceiptV2.observations`,显式记录 observation mode;宿主观察使用 evidence-bound hostVariant,不再从父级 Desktop ambient 环境重算 CLI 身份。 |
| 19 | +- Codex CLI portable capability 目标更新至 0.147.0;Codex/Grok runtime/adapter/evidence 摘要已在 R-19 后重新冻结。closure 与安装态全局配置回归不再硬编码迁移阶段的零 PASS/UNVERIFIED 快照,而是复算当前身份并只允许真实回放 surface 晋级;Codex Desktop 保持独立 `UNVERIFIED`,不会继承 CLI PASS。 |
| 20 | + |
| 21 | +## 防回归验证 |
| 22 | + |
| 23 | +- 六宿主配置事务、canonical command、stable launcher、receipt/runtime containment、幂等、CAS、回滚、竞态与临时目录清理。 |
| 24 | +- MCP plan/bootstrap 创建、Hook envelope 复用、decision 后不重复注入、坏上下文 fail closed。 |
| 25 | +- 多项目显式 Skill 与 exact hostVariant 跨 pending/MCP/PostToolUse 保真;重复交付抑制、返回体 epoch/root 篡改拒绝、sidecar 不覆盖可观察坏主体、Profile `tools/list` 字节预算。 |
| 26 | +- Hook history 与 structured receipt 双形态证据;CLI/Desktop ambient 隔离;portable evidence 原始字节摘要与 runtime/adapter freshness。 |
| 27 | +- R-19 后 Codex CLI 0.147.0 与 Grok 1.0.0 源码 S15 已重新通过;SkillRoute closure 同时验证允许 PASS 的 surface 白名单、当前 runtime、入口专属 adapter、portable evidence 与 Desktop UNVERIFIED 边界。 |
| 28 | +- 源码 R4 已通过 Windows Node 18 控制面、Node 24 fresh full 95/95、coverage、audit、Profile 62/62、package 74/74 与 npmjs/all dry-run;发布仍须通过 exact-tree 复验、远端 CI、registry parity、fresh install、六宿主更新与已安装态 S15。 |
| 29 | + |
| 30 | +## 兼容性与已知边界 |
| 31 | + |
| 32 | +- 这是向后兼容 patch;旧 versioned Hook 配置可被合并器识别并迁移到稳定 launcher。 |
| 33 | +- Codex 首次看到新的稳定 Hook 命令时仍可能要求一次信任确认;后续 DevCodex runtime generation 升级不会再仅因版本路径变化触发信任漂移。 |
| 34 | +- Codex Desktop 已打开任务不会热替换启动时 generation。CLI PASS 不能替代 Desktop app 当前任务证据;安装后需新建任务或重启宿主,Desktop 未取得当前任务实证前继续标为 `UNVERIFIED`。 |
| 35 | + |
| 36 | +## 升级 |
| 37 | + |
| 38 | +```bash |
| 39 | +npm install -g devcodex@1.17.8 |
| 40 | +devcodex global-adapters apply |
| 41 | +``` |
| 42 | + |
| 43 | +## 发布拓扑 |
| 44 | + |
| 45 | +- npm 包名:`devcodex` |
| 46 | +- registry:`https://registry.npmjs.org/` |
| 47 | +- 发布分支:`main` |
| 48 | +- 目标 Tag:`v1.17.8` |
| 49 | +- 上一版本:`v1.17.7` |
| 50 | +- 关联修复:`.devcodex/devcodex/bugs/第二轮深审问题与全局运行态一致性修复/` |
0 commit comments