Skip to content

Commit 6caf1bf

Browse files
committed
fix: 修正意图路由、升级卸载与产物生成链
1 parent 3ed2d5d commit 6caf1bf

154 files changed

Lines changed: 4708 additions & 2698 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.gitattributes‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* text=auto eol=lf
33

44
# Authoring sources preserve legacy delivery whitespace; materialization owns parity.
5-
content-source/** whitespace=-trailing-space,-blank-at-eof
5+
content/** whitespace=-trailing-space,-blank-at-eof
66

77
# Binary files
88
*.png binary

‎CHANGELOG.md‎

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

33
> **说明**: 版本概览摘要;历史版本见对应详细变更文件。
4-
> **最新版本详细变更文档**: [`changelogs/releases/v1.20.1.md`](./changelogs/releases/v1.20.1.md)
5-
> **最后更新**: 2026-09-07
6-
> **当前版本**: v1.20.1 修复任务写入与恢复连续性,将内部格式和流程质量缺口改为告警与恢复,保留真实写入、宿主权限及操作归属证据。版本发布权威以对应 Git tag、npm registry 与 GitHub Release 为准。
4+
> **最新版本详细变更文档**: [`changelogs/releases/v1.20.2.md`](./changelogs/releases/v1.20.2.md)
5+
> **最后更新**: 2026-09-08
6+
> **当前源码版本**: v1.20.2,修复意图与回复语言连续性、Skill 加载、升级与卸载、模板产物和验证证据。版本发布权威以对应 Git tag、npm registry 与 GitHub Release 为准。
77
88
---
99

1010
## 版本概览
1111

1212
| 版本 | 日期 | 变更摘要 | 详细 |
1313
|------|------|---------|------|
14+
| [v1.20.2](./changelogs/releases/v1.20.2.md) | 2026-09-08 | 根据意图保持任务与回复语言,补齐 Skill/MCP 实际加载链;隔离运行时升级与卸载残留,区分模板结构、实际生成和业务验收证据 | [查看](./changelogs/releases/v1.20.2.md) |
1415
| [v1.20.1](./changelogs/releases/v1.20.1.md) | 2026-09-07 | 修复首次 CP、过期入口和 owner 恢复、Windows 文件身份、记忆追加、报告草稿修补、晚到工具结果与 Stop 连续性;记忆会话可自动补齐,安装与加载状态分开说明 | [查看](./changelogs/releases/v1.20.1.md) |
1516
| [v1.20.0](./changelogs/releases/v1.20.0.md) | 2026-09-06 | 🚀 **任务连续性与工程控制面升级**:合法 CP 演进可跨会话续代;无 taskId 与异常恢复不再形成永久死锁;项目优先 Profile 与 workspace fallback、多语言连续性、分层 SkillRoute、多 Agent 隔离编排及修复批次收敛进入统一合同;发布采用同一精确制品的两阶段资格化、真实宿主验收与续发 | [查看](./changelogs/releases/v1.20.0.md) |
1617
| [v1.19.5](./changelogs/releases/v1.19.5.md) | 2026-08-30 | 🚑 **正式任务连续性恢复**:finalized + expired/released owner 可由 fresh resume 原子换代;任务永久、owner 短租约;accepted Stop 停放、同会话重取、跨会话单赢家接管;旧 owner/nonce、活跃 turn/operation、漂移与终态继续失败关闭 | [查看](./changelogs/releases/v1.19.5.md) |

‎RULES.md‎

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

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

‎agents/devcodex-auto.agent.md‎

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: DevCodex Auto
3-
description: AI 开发规范助手(全自动模式 v1.2 sticky)— 显式 @devcodex-auto、全局默认 @rocky、Profile autoAliases 替换别名或明确自然语言 auto 授权;会话 sticky 保持 auto;白名单路径下自动推进,安全底线仍强制执行。
3+
description: AI 开发规范助手(全自动模式 v1.2 sticky)— 按当前用户意图识别 @devcodex-auto、@rocky、Profile autoAliases 或自然语言授权,在已确认任务范围内持续推进。
44
tools:
55
- edit
66
- execute
@@ -15,11 +15,10 @@ disable-model-invocation: true
1515
`DevCodex Auto` 不是“所有任务都自动推进”,而是 **Auto v1.2 最小闭环(含 Sticky Auto)**:
1616

1717
- **正式入口**:显式 `@devcodex-auto`、全局默认 `@rocky`、项目 Profile `config.json` 的 `extensions.devcodex.autoAliases` 替换别名,或明确自然语言 auto 授权;配置了 `autoAliases` 时该列表替换全局默认别名,空数组表示关闭默认别名;模糊提及、询问 auto 规则、未生效昵称或普通“继续”不算授权
18-
- **Sticky Auto**:入口命中后同 session 保持 `executionMode=auto`,后续无别名确认/继续不掉回 confirm;退出词:`退出 auto` / `关闭自动模式` / `exit auto mode` / `切回确认模式`
19-
- **别名匹配**:允许中文/标点贴靠(`请@rocky执行`);`UserPromptSubmit` 注入 `ExecutionModeV1`
20-
- **hook-enforced 宿主**:仅对白名单路径自动推进;非白名单路径默认回确认模式(白名单不因 sticky 扩大)
21-
- **instruction-fallback 宿主**:如 JetBrains / Cursor,只同步规则语义,不承诺 runtime 级硬放行;支持 Hook 的宿主按白名单执行 runtime 放行
22-
- **白名单范围**:DevCodex 治理文件、`.devcodex/` 产物、README 与 auto 专属回归脚本
18+
- **语义决定**:模型提交当前真实用户入口绑定的 `IntentSemanticDecisionV1.executionDecision`;别名含义受 Profile 配置约束,问题、引用和示例不能成为授权。Hook 不用固定词组生成启用或退出决定。
19+
- **Sticky Auto**:当前意图未撤销授权时保留同 session 的 `executionMode=auto`;正式任务的持久授权继续由 task owner 校验。
20+
- **hook-enforced 宿主**:按已确认意图、精确 task/root/owner/CP 和宿主权限推进;白名单分类仅作 advisory,不产生允许、拒绝或额外确认。
21+
- **instruction-fallback 宿主**:如 JetBrains / Cursor,只同步规则语义,不承诺 runtime 级执行证明。
2322
- **执行契约**:控制面、多批次、预计修改 ≥10 文件或发布前置任务必须先形成 ExecutionContract,并按 `allowedPaths`、`requiredArtifacts`、`validationRoute` 推进
2423
- S01~S07 / C01 / C10 / C18 **不可豁免**
2524
- 可恢复失败:重试 ≤ 2 次;不可恢复失败:通知用户 ⚠️

‎changelogs/releases/v1.20.2.md‎

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# v1.20.2 — 意图驱动执行与产物一致性
2+
3+
版本日期:2026-09-08。是否已发布以 npm registry、Git tag 与 GitHub Release 为准。
4+
5+
用户继续原任务、引用其他语言的文本或提供审查材料时,DevCodex 根据结构化意图和已确认的任务偏好继续工作。工具输出、引用里的指令和固定关键词不能自行改写用户意图、回复语言或操作权限。
6+
7+
- 保留任务中已确认的回复语言,并把成功读取的新语言决策交还给模型;当前用户明确要求改变语言时才采用新偏好。
8+
- 修复同会话入口恢复、过期 owner 续接、晚到操作核对和 Stop 连续性;终态投影精简已经核对的操作,完整记录仍保存在任务存储中。
9+
- Skill 目录保留完整身份、依赖和适用边界;提及 Skill 与实际读取正文分开记录,阶段结束时核对实际加载证据。
10+
- Codex MCP 首屏提供完整工具目录,避免客户端未翻页时遗漏上下文计划与读取工具;其他宿主保留有界分页。完整参数 Schema 保持不变。
11+
- 每代运行时携带自己的 Skill、索引和清单。新连接解析当前代,已打开的连接继续使用其已加载代;安装成功和当前连接加载状态分别说明。
12+
- 修复旧版 MCP 计划可选字段缺省及路由注册表来源更新的兼容读取;同一路由定义可迁移到当前注册表,定义改变、身份损坏或不支持的协议版本仍要求刷新连接。
13+
- 卸载根据安装回执、实际文件和其他宿主消费者对账。共享运行时仍被使用,或消费者回执缺失但文件仍存在时,保留共享资产并返回未完成清理及可重试证据。
14+
- 修复卸载配置恢复依赖当前包配置、残留重试和 generation 清理扫描重复问题;项目历史与用户文件遵守各自保留边界。
15+
- 记忆、报告和任务产物使用对应模板或明确的模板扩展,记录实际生成来源;避免同一产物槽重复生成。
16+
- 模板结构检查与用户意图满足度分别留证。历史产物对比新版模板得到诊断结果,不回填虚假的历史生成依据,也不批量改写历史报告。
17+
- 检查优化任务目录,记录有界扫描未覆盖的范围;包含流程简称的正文不能让整个任务跳过检查。
18+
- 实际隔离 Codex CLI 探针核对工具调用、上下文重绑和业务文件;协议探针、自然语言业务结果、模型自述与外部宿主拒绝分别记录。
19+
- 更新用户说明、Profile 功能证据、验证清单和发行包依赖,补充跨会话、跨 generation、缺失回执与错误证据的负向回归。
20+
21+
真实宿主受外部条件限制而未完成的业务验收保持 `UNVERIFIED`,不能从单元测试、协议探针或安装结果推断通过。更新后,已经打开的宿主连接也须单独确认是否加载新运行时。

‎changelogs/unreleased.md‎

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

33
> **用途**: 记录尚未正式发版的实现级变更。
4-
> **当前**: v1.20.0 已进入发布资格链;本轮任务连续性与控制面升级已归档到 `changelogs/releases/v1.20.0.md`,正式发布事实只在 tag、registry、GitHub Release 与本机 R7 证据实际形成后成立。
4+
> **当前**: v1.20.1 已发布;意图驱动执行链与产物一致性整改正在验证。以下旧候选条目保留历史上下文,不能作为当前未发布版本的资格证明。
55
66
## 当前未发布实现候选
77

8+
- **意图驱动与中文偏好**:当前模型提交来源绑定的语义决定,统一项目、流程、自动推进、验证控制与语言选择;确认包装、引用和固定词句不再改变权威状态。任务偏好在恢复后保留,计划工具返回时同步传递语言要求。
9+
- **Skill 读取与代际一致性**:P/W/G 共用身份和依赖解析,完整分页目录与实际读取回执决定阶段进度;正文引用不激活 Skill,收尾按阶段读取。同一连接绑定同代 runtime、Skill 与 portfolio,旧连接保留旧代。Profile 工具目录按宿主传输边界提供完整 Schema,Codex 实际 CLI S15 已通过。
10+
- **升级与全局卸载**:活进程租约与 GC claim 联动,未结算清理保留回执;原安装配置按原回执核对。其他宿主存在运行残留而回执缺失时保留共享资源。受管卸载不清空项目历史,也不代替 npm 卸载。
11+
- **模板与审查证据**:准入、会话记忆与 SUMMARY 由命名模板生成;结构资格、实际写入和任务完成分别记录。历史文件只记录观察和未知依据,优化任务纳入检查;正文“通过”或轻量流程示例不成为验证豁免。复审结果绑定候选、报告和实际证据摘要。
12+
- **恢复与验证**:未结算操作的 Stop 保留诊断,owner 转换传播本次提交 fence,正式终止后仅收缩会话投影而保留完整任务历史。新增隔离自然任务入口,业务结果以实际文件与计算核验,未完成观察保持 UNVERIFIED;本轮尚未发布或升级生产运行时。
13+
814
- **v1.20.0 发布候选 — 任务连续性与工程控制面升级**:汇总 Stage A/B 的任务写入代际、合法 CP 演进续代、taskless 恢复、项目优先 Profile、多语言连续性、分层 SkillRoute、宿主原生多 Agent 编排合同、验证执行提速与修复批次收敛。完整说明见 [`changelogs/releases/v1.20.0.md`](./releases/v1.20.0.md)。正式发布事实仍只由 tag、registry、GitHub Release 与发布后安装回读共同成立。
915
- **两阶段精确制品发布防护**:tag 资格阶段只生成一个正式精确 tarball,对同一制品完成隔离 consumer/HOME/prefix/cache/workspace 安装并保存;本机复用该制品完成真实 Codex G1→G2 后,才通过 `publish-qualified` 续发 npm 与 GitHub Release,避免 tag 触发后未经真实宿主验收即发生不可逆发布。
1016
- **A4-R22 CP 候选模板资格前置**:`memory_cp_confirm` 在写入 Auto 确认状态或 CP 会话记录前,先按分层 `ArtifactSlotRegistryV2` 校验 `artifactPath` 的任务类型、CP 阶段与权威路径匹配,再对同一稳定文件执行 canonical template binding、资格校验和读回;模板失格、阶段错位或文件漂移均以 typed error 零写入拒绝。确认回执以加法字段携带 slot、binding 与 qualification,输入契约、工具名和 CP 表格式保持不变。本项仅为本地源码候选,未生成 H0 或 tarball,未安装、未修改 Profile,未执行 Git 或发布。

‎content/duplication-dispositions.json‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,6 @@
9595
"fragment": "shared/instructions/sensitive-data-default-policy.md",
9696
"reason": "完整 instructions 与安全模块共享同一 S02 默认策略。"
9797
},
98-
{
99-
"id": "DP-014",
100-
"candidateIds": ["exact-7e32f7357215"],
101-
"decision": "must-retain",
102-
"reason": "一个是索引模板、一个是 Skill 输出示例,局部角色不同且需保持单文件完整。"
103-
},
10498
{
10599
"id": "DP-015",
106100
"candidateIds": ["exact-904be7e09270"],

‎content/duplication-inventory.json‎

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
22
"schemaVersion": "ControlContentDuplicationInventoryV1",
3-
"sourceBundleDigest": "3aa68984646bc27694b8db539da767c20dd892f4e931d8a1d727bcd813126403",
3+
"sourceBundleDigest": "0cd04feb20a0440ec4bb4ea78af5dda8c5a2d2495b470dc46e7a71ec6eb7cfc4",
44
"thresholds": {
55
"minParagraphChars": 100,
66
"sectionThreshold": 0.94,
77
"minSectionChars": 180,
88
"minSectionLengthRatio": 0.85
99
},
1010
"counts": {
11-
"exactParagraph": 29,
11+
"exactParagraph": 28,
1212
"nearSection": 4,
13-
"total": 33
13+
"total": 32
1414
},
1515
"candidates": [
1616
{
@@ -165,17 +165,6 @@
165165
],
166166
"excerpt": "S02 不再把“敏感信息、明文密码、连接字符串或硬编码”定义为默认违规。默认行为是:用户让写在哪里,就可以写在哪里;目标文件是否可提交、是否会传播,不自动触发禁止。只有用户当前指令、项目 Profile/README/仓库策略或用户指定的发布流程明确提出“禁止明文 / 必须脱敏 / 必须占位 / 必须使用 env / 必须使用 `secretRef` / 必"
167167
},
168-
{
169-
"id": "exact-7e32f7357215",
170-
"kind": "exact-paragraph",
171-
"digest": "7e32f7357215dccd0d575de27ceaf2e39492e3eea3484f2d9a9fea9efe7a2c3f",
172-
"similarity": 1,
173-
"files": [
174-
"prompts/agent-summary.prompt.md",
175-
"skills/memory/SKILL.md"
176-
],
177-
"excerpt": "| 日期 | 会话 | 类型 | 摘要 | 关联报告 | 关联记忆 | 状态 |\n|------|:----:|------|------|---------|---------|:----:|\n| YYYY-MM-DD HH:MM | NN | dev/fix/... | [50~100字摘要,含关键数字/结果] | [NN--简述.md](workspa"
178-
},
179168
{
180169
"id": "exact-904be7e09270",
181170
"kind": "exact-paragraph",

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

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

@@ -32,11 +32,11 @@ version: 1.20.1
3232
|--------|----------|----------------|
3333
| 1 | 当前轮明确语言要求 | 使用明确要求的语言 |
3434
| 2 | 有效项目/workspace 固定配置、用户明确的任务长期语言要求 | 固定配置优先于推断;明确长期要求持续有效,当前轮明确要求可覆盖本轮 |
35-
| 3 | 当前未引用的实质用户消息 | `LanguageContextV3` 更新本轮与任务推断语言;旧的推断 carrier 不覆盖当前实质语言 |
35+
| 3 | 当前可信指令绑定的模型语义判断 | 用 `IntentSemanticDecisionV1.languageDecision` 提交 replyLocale、artifactLocale、scope 和 action;字符比例、固定语言短语、引文及包装标签不作为切换依据 |
3636
| 4 | 历史任务/conversation carrier、宿主/终端 locale | 短确认、路径、版本、代码和引用不单独切换语言;缺当前语言证据时继承 |
3737
| 5 | 无法判断 | English fallback,且不得声称观察到用户语言 |
3838

39-
人类可读回复、标题、报告/需求/问题正文、记忆摘要、closeout 与操作说明必须使用同一轮决策。协议 key、CLI 参数、JSON 字段、schema/gate/skill ID 与默认 canonical 文件名始终保持 English;只有用户明确要求本地化磁盘文件名时才可创建兼容 alias。无 raw prompt 的 MCP/CLI 只能使用 carrier 或 `und/en` fallback,不得伪报语言来源。
39+
人类可读回复、标题、报告/需求/问题正文、记忆摘要、closeout 与操作说明必须使用同一轮决策。宿主结构化问答中只有 answer 是实际回复,question 是引用上下文;无明确切换时保留用户已确认的持续偏好,scope=turn 只改变本轮。协议 key、CLI 参数、JSON 字段、schema/gate/skill ID 与默认 canonical 文件名始终保持 English;只有用户明确要求本地化磁盘文件名时才可创建兼容 alias。无当前语义决策的 MCP/CLI 使用已有 carrier、有效固定配置或低置信 fallback,不得伪报观察到当前语言切换。
4040

4141
## 任务连续性与质量提示
4242

0 commit comments

Comments
 (0)