Skip to content

Commit 3f834fa

Browse files
committed
fix: enforce explicit home isolation
1 parent eb6d4e8 commit 3f834fa

33 files changed

Lines changed: 425 additions & 150 deletions

‎CHANGELOG.md‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
# 变更日志 (CHANGELOG)
22

33
> **说明**: 版本概览摘要;历史版本见对应详细变更文件。
4-
> **最新版本详细变更文档**: [`changelogs/releases/v1.17.0.md`](./changelogs/releases/v1.17.0.md)
4+
> **最新版本详细变更文档**: [`changelogs/releases/v1.17.1.md`](./changelogs/releases/v1.17.1.md)
55
> **最后更新**: 2026-08-12
6-
> **当前版本**: v1.17.0 引入 Cursor 第六宿主本地 Beta;版本发布权威以对应 Git tag、npm registry 与 GitHub Release 为准。
6+
> **当前版本**: v1.17.1 修复显式 `--home` 的六宿主目标解析与 Grok 官方注册表作用域逃逸;Cursor 第六宿主仍为本地 Beta,版本发布权威以对应 Git tag、npm registry 与 GitHub Release 为准。
77
88
---
99

1010
## 版本概览
1111

1212
| 版本 | 日期 | 变更摘要 | 详细 |
1313
|------|------|---------|------|
14+
| [v1.17.1](./changelogs/releases/v1.17.1.md) | 2026-08-12 | 🔧 **六宿主 `--home` 隔离修复**:显式 HOME 优先于宿主、共享 Skill 与 VS Code MCP 的 ambient 路径覆盖,Grok 官方 CLI 继承 resolved target;真实/隔离负向探针保证 Cursor 接入不改动其他宿主 | [查看](./changelogs/releases/v1.17.1.md) |
1415
| [v1.17.0](./changelogs/releases/v1.17.0.md) | 2026-08-12 | ✨ **Cursor 第六宿主 Beta 接入与候选证据加固**:六宿主统一安装、Hook/Plugin/MCP/SkillRoute、本地四形态诚实诊断、Windows CLI 身份解析及当前源码 S15 强绑定 | [查看](./changelogs/releases/v1.17.0.md) |
1516
| [v1.16.7](./changelogs/releases/v1.16.7.md) | 2026-08-11 | 🔧 **Grok 渐进式 Skill 路由与正文证据修复**:未提交路由在首次工具调用前 fail closed,ContextRead 保持可完成;Full 启动器固定 Grok 限定 MCP 名、首 catalog 与条件 commit 契约,并以真实三阶段 S15 晋级 Grok capability PASS | [查看](./changelogs/releases/v1.16.7.md) |
1617
| [v1.16.6](./changelogs/releases/v1.16.6.md) | 2026-08-10 | 🔧 **Windows 审批沙箱与 SkillRoute 恢复修复**:逐宿主隔离只读权限拒绝,新增 Node launcher readiness;可见恢复卡仅保留当前精确动作,语义漂移进入不可重试的持久退役终态 | [查看](./changelogs/releases/v1.16.6.md) |
@@ -143,8 +144,8 @@
143144

144145
## 相关文档
145146

146-
- [`changelogs/releases/v1.16.3.md`](./changelogs/releases/v1.16.3.md) — 最新版本详细变更文档
147-
- [`changelogs/releases/v1.16.2.md`](./changelogs/releases/v1.16.2.md) — 上一版本详细变更文档
147+
- [`changelogs/releases/v1.17.1.md`](./changelogs/releases/v1.17.1.md) — 最新版本详细变更文档
148+
- [`changelogs/releases/v1.17.0.md`](./changelogs/releases/v1.17.0.md) — 上一版本详细变更文档
148149
- [`changelogs/releases/v1.15.7.md`](./changelogs/releases/v1.15.7.md) — 历史版本详细变更文档
149150
- [`changelogs/releases/v1.15.0.md`](./changelogs/releases/v1.15.0.md) — 上一版本详细变更文档
150151
- [`changelogs/releases/v1.14.0.md`](./changelogs/releases/v1.14.0.md) — 历史版本详细变更文档

‎RULES.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# DevCodex v1.17.0 — 使用入口
1+
# DevCodex v1.17.1 — 使用入口
22

3-
> AI workflow injector for Copilot / Claude Code / Codex / Gemini / Grok / Cursor Beta · publisher: Rocky · version: 1.17.0
3+
> AI workflow injector for Copilot / Claude Code / Codex / Gemini / Grok / Cursor Beta · publisher: Rocky · version: 1.17.1
44
55
## 正式主支持客户端
66

‎changelogs/releases/v1.17.1.md‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# v1.17.1
2+
3+
> 发布日期:2026-08-12
4+
> 类型:Patch / six-host isolation
5+
6+
## 摘要
7+
8+
本版本修复 `global-adapters apply --home <dir>` 的两层作用域逃逸:目标解析仍可接受 ambient 宿主/共享路径覆盖,而 Grok registry convergence 也仍使用进程原始环境。前者可能把隔离事务写向外部宿主目录,后者可能短暂改动真实用户的 Grok plugin identity。v1.17.1 将显式 HOME 固定为 CLI 隔离权威,并把官方子进程与 resolved Grok target 绑定;六宿主真实/隔离负向探针证明 Cursor 接入不会影响其他宿主。
9+
10+
## 修复内容
11+
12+
- 显式 `--home` 在调用全局配置事务前屏蔽六个宿主 HOME、共享 Skill/runtime/fallback 与 VS Code MCP 的 12 个 ambient 路径覆盖键;所有 target 均从指定 HOME 解析。
13+
- `--home=` 或只含空白的目录参数返回 `CLI_GLOBAL_ADAPTERS_BAD_ARGS`,不允许静默回退到真实用户 HOME。
14+
- 未传 `--home` 时仍保留宿主专属环境变量的既有目标解析行为,避免改变正常安装和高级配置语义。
15+
- Grok 官方 CLI 的派生环境显式设置 `GROK_HOME=GlobalHostTargetV1.root`,与文件事务使用同一 target identity。
16+
- 不修改调用方 `process.env`;隔离 HOME 的配置、插件 registry、备份和验证都留在隔离根目录。
17+
- committed Grok target 缺少 `root` 时以 `GLOBAL_ADAPTERS_GROK_TARGET_ROOT_MISSING` 失败关闭,不允许回退到 ambient `~/.grok`。
18+
- 单测覆盖六宿主 root、共享 root、12 个覆盖键、正确派生环境、原环境不变、legacy 路线、Cursor 同事务非干扰,以及 malformed target 不调用官方 sync。
19+
- 根 `package-lock.json` 与 package/plugin 版本重新同步;`validate-versions` 增加 lockfile 根元数据与 `packages[""]` 的防漂移检查。
20+
21+
## 六宿主非回归边界
22+
23+
- Cursor 仍通过 canonical 六宿主 target、Hook、Plugin、MCP、SkillRoute 与 status/doctor 路线交付;本补丁不改变其公共能力合同。
24+
- Copilot、Claude、Codex、Gemini 与 Grok 的 target 路径、受管配置、runtime 和能力上限不得因 Cursor 安装发生变化。
25+
- Cursor 本地 IDE、交互 CLI 与 Headless 继续标记 Beta;Cursor Cloud Agent 与未登录条件下的模型驱动 Hook/Skill replay 继续为 Partial / `UNVERIFIED`,不升级为 Full。
26+
27+
## 直接验证
28+
29+
- `test:global-adapters-cli`、`test:host-adapters`、`test:global-host-config`、`test:host-installation` 与 `test:global-install-smoke` 均覆盖六宿主并通过。
30+
- 真实六宿主命令在 fresh HOME 中 6/6 committed;12 个 ambient 覆盖目标均未创建,真实用户目录的 34 个受管文件/插件条目快照前后相同。Grok 另有独立 plugin identity、真实 `~/.grok/config.toml` SHA-256 与 plugin list 不变证据。
31+
- 发布仍须通过 fresh Profile/full/package/security、目标 commit CI、npm provenance、GitHub Release 与 registry production R7;任一失败即停止后续声明。
32+
33+
## 官方能力依据
34+
35+
- xAI Settings:`GROK_HOME` 覆盖默认 `~/.grok`,user scope 配置位于 `$GROK_HOME/config.toml`。
36+
- xAI grok-build Headless Guide:CLI 数据默认位于 `~/.grok`,可通过 `GROK_HOME` 覆盖。
37+
38+
## 发布拓扑
39+
40+
- npm 包名:`devcodex`
41+
- registry:`https://registry.npmjs.org/`
42+
- 发布分支:`main`
43+
- 目标 Tag:`v1.17.1`
44+
- 上一版本:`v1.17.0`
45+
- 需求证据:`.devcodex/devcodex/requirements/Cursor第六宿主Beta接入/`

‎changelogs/unreleased.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
# 未发布变更(Unreleased)
22

33
> **用途**: 记录尚未正式发版的实现级变更。
4-
> **当前**: Cursor 第六宿主 Beta 已归档到 `changelogs/releases/v1.17.0.md`;后续实现继续记录在本文件,已发布事实以 Git tag、npm registry 与 GitHub Release 为准。
4+
> **当前**: v1.17.1 六宿主 HOME 隔离补丁候选已迁入 `changelogs/releases/v1.17.1.md`;Cursor 第六宿主 Beta 历史见 `v1.17.0.md`,正式已发布事实以 Git tag、npm registry 与 GitHub Release 为准。
55
66
## 当前未发布实现候选
77

8+
- **v1.17.1 六宿主 HOME 隔离修复**:`global-adapters apply --home <dir>` 将显式 HOME 作为 CLI 隔离权威,在目标解析前屏蔽 Copilot/Claude/Codex/Gemini/Grok/Cursor、共享 Skill 根与 VS Code MCP 的 ambient 路径覆盖;空值/纯空白 `--home` 失败关闭,未传 `--home` 时保留原环境变量语义。事务后调用 Grok 官方 CLI 时,再把 committed `GlobalHostTargetV1.root` 绑定为派生环境的 `GROK_HOME`,且不修改 ambient process env;target root 缺失时返回 typed failure。单测覆盖六宿主 root、12 个路径覆盖键、原环境不变、legacy 路线和 malformed target;真实探针证明隔离 HOME 6/6 committed、12 个 ambient 目标零创建、真实五个既有宿主加 Grok 的 34 个受管条目快照不变。同步修复 package-lock 根版本漂移并扩展版本校验器。Cursor Local 继续为 Beta,Cloud 与模型驱动 replay 继续为 `UNVERIFIED`。
89
- **v1.17.0 Cursor 第六宿主 Beta 接入**:`GlobalHostTargetV1` 扩展为六宿主,npm 全局安装在用户 HOME 写入 `~/.cursor/hooks.json`、动态 DevCodex Plugin、resolver Skill 与本地 stdio MCP;覆盖 workspaceOpen、sessionStart/sessionEnd、beforeSubmitPrompt、Pre/PostTool、failure、afterAgentResponse、preCompact 与 bounded Stop follow-up。本地 IDE、交互 CLI、Headless CLI 分列为 Beta,Cursor Cloud Agent 因不加载用户级 Hook 固定为 Partial / `UNVERIFIED`。`status/doctor`、HostEnforcementMatrix、能力目录、README、RULES、投影内核、安装/回滚/负向测试与 package 文件清单同步升级;业务 workspace 继续零 `.cursor` 产物。Windows native probe 会按 PATH/PATHEXT 优先解析官方 `cursor-agent.cmd` / `.bat`,再回退到 `agent` 并校验产品身份,既避免 Node 跳过 `.cmd` 后误命中 Grok `agent.exe`,也继续用 `HOST_NATIVE_IDENTITY_MISMATCH` 暴露真实别名冲突。Cursor Marketplace 发布不在本版本范围内。
910
- **Cursor/S15 候选真实性加固**:Cursor Plugin MCP 的 workspace 参数改为 `${workspaceFolder}`;官方 Cursor CLI `2026.08.04-aaa8809` 已在隔离 HOME 中真实启动 memory/profile 两个 stdio server,并分别枚举 10/6 个工具。Codex/Grok 非 production S15 改为把当前源码安装到一次性宿主 HOME,强制核对 source、generation、mode receipt 与 route envelope 四个 runtime digest,避免“证据写当前 digest、实际执行旧全局 runtime”的跨版本假阳性;catalog stale 同步输出有界 index drift 诊断。Cursor 模型驱动 Hook/Skill replay 因隔离 CLI 未登录仍保持 `UNVERIFIED`,不升级 Beta/Cloud 声明。
1011
- **发布验证认证与 Windows 启动器安全修复**:Grok S15 检测旋转型 OAuth `refresh_token` 并禁止复制到一次性 HOME,改用专用持久 candidate HOME 或 `XAI_API_KEY`,防止探针轮换 token 后清理最新副本、使真实登录失效;Windows `checked-command` 不再直接 spawn `npm.cmd`,按 npm CLI、PATH 原生 `.exe`、installed CLI、受控 `cmd.exe` 顺序解析,兼容独立 Node 24 的 release-risk DAG;安全审计复用该 resolver 并以 `shell:false` 保留 npm audit 原始 exit code/JSON,消除 `DEP0190` 与参数拼接风险。

‎content/duplication-inventory.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schemaVersion": "ControlContentDuplicationInventoryV1",
3-
"sourceBundleDigest": "24a9d3e1414e426da98f3809de92dd16438f6d22ca8883fefd3b89e824e169db",
3+
"sourceBundleDigest": "9a636692adf0ec7f68c2c6be9a5d3f38003da7164b0dd5c25d795c87e4313616",
44
"thresholds": {
55
"minParagraphChars": 100,
66
"sectionThreshold": 0.94,

‎content/instructions/00-safety.instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
applyTo: "**"
33
description: 安全底线与输出语言规则,定义 S01~S07、违规处理与不可豁免边界
44
priority: P2
5-
version: 1.17.0
5+
version: 1.17.1
66
---
77
# 安全底线规范(S01~S07)
88

‎content/instructions/01-common.instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
applyTo: "**"
33
description: 通用规范总则,覆盖优先级、意图路由、Profile/active-root、宿主适配与治理总线
44
priority: P5
5-
version: 1.17.0
5+
version: 1.17.1
66
---
77
# 通用规范
88

‎content/instructions/01a-profile-loading.instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
applyTo: "**"
33
description: 意图驱动的 Profile 加载、active-root 路径、目标项目识别与项目现实扩展规范
44
priority: P5
5-
version: 1.17.0
5+
version: 1.17.1
66
---
77
# Profile 加载与项目现实扩展
88

‎content/instructions/01b-record-router.instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
applyTo: "**"
33
description: 任务切换边界、RecordRouter 分流、Improvement Intake 与提交发布边界的通用规范
44
priority: P5
5-
version: 1.17.0
5+
version: 1.17.1
66
---
77
# 任务边界与 RecordRouter
88

‎content/instructions/01c-intent-expansion.instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
applyTo: "**"
33
description: 意图识别、Intent Expansion Card、上下文重建与可见回复证据的通用规范
44
priority: P5
5-
version: 1.17.0
5+
version: 1.17.1
66
---
77
# 意图扩展与上下文重建
88

0 commit comments

Comments
 (0)