Skip to content

Commit 53b727c

Browse files
committed
feat: add intent-driven host capability routing
1 parent ef60b2b commit 53b727c

46 files changed

Lines changed: 3995 additions & 56 deletions

Some content is hidden

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

‎README.md‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ DevCodex 默认通过 `.github/`(Copilot)、`CLAUDE.md + .claude/ + .mcp.jso
1818
- [安装](#安装)
1919
- [使用](#使用)
2020
- [正式需求与执行模板边界](#正式需求与执行模板边界)
21+
- [意图驱动的五宿主能力选择(Unreleased)](#意图驱动的五宿主能力选择unreleased)
2122
- [默认执行原则](#默认执行原则)
2223
- [CLI 命令](#cli-命令)
2324
- [`.devcodex` 工作区集中布局(v1.10.0+)](#devcodex-工作区集中布局v1100)
@@ -48,6 +49,7 @@ DevCodex 默认通过 `.github/`(Copilot)、`CLAUDE.md + .claude/ + .mcp.jso
4849
- **证据新鲜度与主张复用门禁(Unreleased Shadow)**: `ClaimEvidenceIndexV1` 抽取“已验证 / 推荐 / 可确认 / 完整”等强主张,`EvidenceFreshnessReceiptV1` 绑定 source/context/dependsOn/lease,`StaleEvidenceLintDecisionV1` 输出 fresh、rerun-required、downgrade-only 或 unverifiable;memory/SUMMARY/历史报告/外部审查文字只能作 navigation hint,不能单独支撑强结论。新增 `npm run test:evidence-freshness` 覆盖 summary-only、dependency drift、lease、ArtifactAnchor 与 FinalValidationSummary 绑定。
4950
- **全模式入口检查**: 所有模式在实质任务前显示 PC0~PC7;dev 模式额外执行 PC4 规范雷达与完整合规链
5051
- **项目现实扩展**: 先做语义意图初判,再结合目标项目 Profile、目录与当前任务上下文修正最终路由、产物落点和验证方式
52+
- **意图驱动五宿主能力选择(Unreleased)**: `HostCapabilityRoutingGate` 将同一用户意图映射到 Copilot / Claude Code / Codex / Gemini / Grok 的 8 个 surface variant;薄 Rule 只保留强不变量,`host-capability-routing` Skill 负责语义判断,版本化 catalog/contracts 负责可测试事实。证据缺失、过期或 variant 未知时 fail closed 到 portable fallback;当前 canonical catalog 的 native eligible 为 0,Phase 1 不新增 MCP primitive
5153
- **任务名续接与增量执行链(v1.15.3)**: 新会话只需发送 `继续<任务名>任务`;系统通过稳定 task identity 有界定位,再复证 sessions/CP/产物。Context、validation DAG、Profile/Skill 与 ProjectKnowledge 可按内容身份增量执行,并由 `full-only` kill switch 保留完整正确路径
5254
- **可配置并发策略**: Profile `config.json` 可配置 `extensions.devcodex.concurrency`;默认 `auto` 表示只读准备和隔离验证可并行、共享状态写入保持单写者,保守项目可设为 `serial`
5355
- **多需求并行编排(Unreleased)**: `requirement-parallel-orchestration` 用 `RequirementIndependenceDecisionV1`、`SharedSurfaceLockMapV1`、`ParallelLaunchCardV1` 与 `IntegrationMergeProtocolV1` 判断多需求、子 Agent、子会话或 worktree 是否可并行;缺证据、共享源码写入或 `allowParallelMutations` 均回到串行
@@ -187,7 +189,7 @@ node index.js init --host all # 显式部署 Copilot / Claude / Codex / Ge
187189
├── copilot-instructions.md ← 默认 Copilot always-on 总则(新增)
188190
├── instructions/ ← Instructions 约束(15 个,含全部工作流规则)
189191
├── agents/ ← Copilot 自定义 Agent(v1.9.8 起恢复默认分发)
190-
├── skills/ ← v1.15.3 Skill 详细检查标准(82 个,按需读取,含 active `repair-prevention-assessment`、默认分析、用户文档、用户侧文档 review 聚合、专家型产物质量、21 个专家 Owner Skill、复审清单、自我进化治理、README 专项能力、spec-governance、spec-absorption 与支撑型 Skill);其中 79 active,`rework-prevention-engineering`、`consumer-validation-engineering`、`brand-visual-quality` 3 个 gray;用户可见输出、宿主指令投影、修复评估拆分与多需求并行编排能力已纳入当前源码
192+
├── skills/ ← v1.15.3 Skill 详细检查标准(83 个,按需读取,含 active `host-capability-routing`、`repair-prevention-assessment`、默认分析、用户文档、用户侧文档 review 聚合、专家型产物质量、21 个专家 Owner Skill、复审清单、自我进化治理、README 专项能力、spec-governance、spec-absorption 与支撑型 Skill);其中 80 active,`rework-prevention-engineering`、`consumer-validation-engineering`、`brand-visual-quality` 3 个 gray;用户可见输出、宿主指令投影、修复评估拆分与多需求并行编排能力已纳入当前源码
191193
├── prompts/ ← Prompt 模板(30 个)
192194
├── hooks/ ← 宿主生命周期 Hook 配置与运行时
193195
│ ├── devcodex.lifecycle.json
@@ -264,6 +266,20 @@ workspace-namespace 的共享真相与宿主 adapter 都由工作区拥有。Gro
264266
- 前端接口文档:给前端联调使用的接口说明,额外包含页面/模块/前置条件与字段映射
265267
- `api-verification`:给开发与回归使用的归档级接口验证双产物(`.http + .cjs`)
266268

269+
## 意图驱动的五宿主能力选择(Unreleased)
270+
271+
Phase 1 采用“薄 Rule + `host-capability-routing` Skill + 三份 V1 契约/本地 catalog”,不新增 MCP Tool。它解决的是开放式语义判断:先保留原始指令身份与既有 CP/Auto authority,再按 5 个逻辑宿主、8 个 surface variant 选择可证明的能力杠杆;证据不足时继续执行 portable path,而不是猜测 native 语法。
272+
273+
| 维度 | 实际收益 | 对应代价 / 边界 |
274+
|---|---|---|
275+
| 跨宿主一致性 | 同一意图使用统一字段、reason code 与 fallback,不再由各 Prompt 临时猜测宿主语法 | 必须长期维护 variant-aware catalog;宿主升级、协议或证据租约变化都会使旧条目 stale |
276+
| 可验证性 | `CapabilityIntentDecisionV1`、`HostLeverCatalogV1`、`OriginalInstructionRefV1` 可做 schema、重复键、未知 variant、MCP absent 与过期证据负向测试 | 多出 1 个 active Skill、3 个 schema、catalog、helper、fixtures,以及 package/validation/Profile/文档消费者同步成本 |
277+
| 安全与诚实边界 | native 只有在直接宿主 replay、完整生命周期、权限和用户 authority 同时满足时才 eligible;否则 portable-first | 当前 canonical native eligible=`0`,因此短期收益主要是减少错误声明和路由漂移,不是提高 native 自动化率 |
278+
| 原指令连续性 | 保存 instruction ref、digest、scope 与 authority ref,避免摘要或派生 Prompt 覆盖用户原意 | 默认不复制完整原文;排查问题时需要回到被引用的 CP/task artifact,调试链更严格 |
279+
| 运行时复杂度 | 不新增 server、协议协商、部署进程或网络依赖;MCP 缺失不影响主流程 | Skill 仍依赖模型完成开放式语义判断,不提供确定性远程执行、事务或跨进程共享状态 |
280+
281+
只有出现至少两个独立 runtime consumer,并且输入输出已确定、操作只读幂等、receipt/freshness/权限/取消/回滚与无损本地 fallback 都能冻结时,才重新评估 MCP Tool;若需求只是读取有界 catalog,优先评估 Resource / Resource Template。MCP Tool 的额外代价包括 server owner、协议/版本兼容、宿主协商、权限与审计、部署升级、失败恢复和 direct replay,因此不能只因“可以封装成 Tool”就升级。
282+
267283
## 默认执行原则
268284

269285
- **意图优先**:当用户看起来切到新需求时,先基于上下文判断意图;只有意图不清晰时才用关键词辅助,而不是反过来。
@@ -520,7 +536,7 @@ devcodex/
520536
├── instructions.md # 单源完整规范;确定性生成精简 host kernel、薄 wrapper 与非 always-on full fallback
521537
├── agents/ # Agent 源文件;Copilot 端默认分发,Claude Code 端不分发
522538
├── instructions/ # 全局 Instructions(15 个,含工作流规则摘要,自动注入)
523-
├── skills/ # Skill 详细检查标准(82 个,按 01-common §按需读取表 路由读取)
539+
├── skills/ # Skill 详细检查标准(83 个,按 01-common §按需读取表 路由读取)
524540
├── prompts/ # Prompt 模板(30 个)
525541
├── hooks/ # Workspace Hooks 配置与分发到 `.github/hooks/_runtime/` 的运行时及 helper 模块
526542
├── codex/ # Codex adapter 源模板(分发到 `.codex/hooks.json`,不是工作区部署副本 `.codex/`)

‎changelogs/unreleased.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
66
## 当前未发布实现候选
77

8+
- **意图驱动五宿主能力映射**:新增 active `host-capability-routing`、`CapabilityIntentDecisionV1`、`HostLeverCatalogV1`、`OriginalInstructionRefV1`、8-row local catalog 与纯校验器;薄 Rule 保留原指令权威、portable-first、CP/Auto/S01~S07 边界,5 个逻辑宿主/8 个 variant 在证据未知、过期、重复或 MCP absent 时 fail closed。当前 canonical native eligible=0,Phase 1 不新增 MCP primitive;README/website 明确收益、catalog/证据/消费者维护代价与 MCP Tool 升级阈值。
89
- **运行态产物分层存储与索引**:新增内容寻址 partition / immutable manifest / 原子 pointer 公共契约,以及 memory、runtime-state、report 三个 domain adapter;旧 Markdown/files 与 reader 保持,stale/corrupt 自动回退且 query 零写入。memory 10 Tools 不变,仅 additive `indexReceipt/coverage`;status/doctor 使用 compact projection;report 只扫描 allowlisted roots、默认 primary metadata 并按 pointer lazy hydrate。真实 3 进程 ×(5 warmup + 30 measurement)benchmark 的 W1/W3/W4 总读取量减少 91.45% / 90.76% / 98.98%,W2 减少 76.32%,公共投影 mismatch=0;token telemetry 不可见,结论仅声明 bytes/latency。
910
- **Workflow completion Shadow**:新增唯一 completion reducer、九类 owner receipt adapter、受管且原子回读的 task input、bounded derived state、两阶段 report/memory commit sidecar、memory read-time digest 复验、stable task selector、risk ledger、`task verify/risk` 与 `status/doctor/trace --completion`;四类生产假绿和反向身份均 fail closed。
1011
- **规范吸纳结构化执行与防复现闭环**:新增 `AbsorptionCandidateMatrixV1`、`LayeredAbsorptionDecisionV1`、read-only `plan-absorption-candidates` planner 与包分发清单;`spec-absorption`、V96、residual-absorption 和 repair-prevention 测试覆盖 ownerless / consumerless / validationRoute 缺失负例,防止项目独有建议、未绑定消费者建议或只写文档的半吸纳再次进入 ready。

‎host-projections/AGENTS.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# DevCodex — Shared Host Kernel(generated)
22

33
> Generated from the unified DevCodex instructions source. Do not edit this file directly.
4-
> sourceDigest: 01516cd058ccacc6eca8412443594e9b08b7f7aef7c3e6925e7b7b3f3febc029
4+
> sourceDigest: efc114440a798100daed6d00c1e6c4c185aadd4632596290d21850a01ed0432e
55
> configDigest: 2f25649275fcac6b799522b6d8bc459e9f92910b10ca97824eb10e207eeb08c3
66
> Full fallback: .agents/devcodex/instructions.full.md
77
> Host surface: Codex / Claude import / Gemini import / Grok native AGENTS.md

‎host-projections/copilot-instructions.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# DevCodex — Copilot Host Kernel(generated)
22

33
> Generated from the unified DevCodex instructions source. Do not edit this file directly.
4-
> sourceDigest: 01516cd058ccacc6eca8412443594e9b08b7f7aef7c3e6925e7b7b3f3febc029
4+
> sourceDigest: efc114440a798100daed6d00c1e6c4c185aadd4632596290d21850a01ed0432e
55
> configDigest: 2f25649275fcac6b799522b6d8bc459e9f92910b10ca97824eb10e207eeb08c3
66
> Full fallback: .agents/devcodex/instructions.full.md
77
> Host surface: GitHub Copilot instruction-fallback projection

‎host-projections/coverage.json‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"schemaVersion": "HostInstructionCoverageReceiptV1",
33
"sourceFile": "instructions.md",
4-
"sourceDigest": "01516cd058ccacc6eca8412443594e9b08b7f7aef7c3e6925e7b7b3f3febc029",
4+
"sourceDigest": "efc114440a798100daed6d00c1e6c4c185aadd4632596290d21850a01ed0432e",
55
"configDigest": "2f25649275fcac6b799522b6d8bc459e9f92910b10ca97824eb10e207eeb08c3",
66
"mode": "kernel",
77
"fallback": {
88
"destination": ".agents/devcodex/instructions.full.md",
9-
"sourceDigest": "01516cd058ccacc6eca8412443594e9b08b7f7aef7c3e6925e7b7b3f3febc029",
9+
"sourceDigest": "efc114440a798100daed6d00c1e6c4c185aadd4632596290d21850a01ed0432e",
1010
"available": true
1111
},
1212
"budgets": {
@@ -301,12 +301,12 @@
301301
"host-projections/AGENTS.md": {
302302
"bytes": 10605,
303303
"lines": 88,
304-
"digest": "1f8396d7329358923f9c6e5a7f3e318e5676790ba920af9ea33399f4e4a074e4"
304+
"digest": "abfb57520e0eae2040e53177473f3276e37d30f22eb4c250b5810391311a4106"
305305
},
306306
"host-projections/copilot-instructions.md": {
307307
"bytes": 10591,
308308
"lines": 88,
309-
"digest": "973193a1dd695f6c0b4a2ddef85279782fe2341cba3f756d3a48e8200d533094"
309+
"digest": "28da24a5e7c970fe4d5ceaeaf9edcaa2873e756a035f186bdb710accc42a4616"
310310
},
311311
"host-projections/CLAUDE.md": {
312312
"bytes": 327,
@@ -324,5 +324,5 @@
324324
"valid": true,
325325
"errors": []
326326
},
327-
"receiptId": "host-instruction-coverage-2af65e184075ea41ef403705953e9e220bad29557560959323cd36533e784861"
327+
"receiptId": "host-instruction-coverage-0ed46f67c6a940d1686b77ca555b26d47505d6e47c86944c7b5f68017d2eb98b"
328328
}

‎instructions.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ S02 不再把“敏感信息、明文密码、连接字符串或硬编码”定
137137
- 非 chat 工作流在 CP1 / 问题确认前必须形成 Intent Expansion Card:`semantic`、`project`、`continuity`、`action`、`domain`、`artifact-impact`、`risk`、`host-capability`、`validation-route`、`confidence`、`alternatives`,用于 PC1/PC3、CP1 产物、压缩恢复与错路由复盘。
138138
- dev 模式默认应向用户展示完整 Intent Expansion Card;prod、instruction-fallback 宿主或低风险场景可退化为 3~5 行摘要,但 CP1 / 问题确认产物中仍必须保留完整字段。
139139
- 当项目现实扩展导致工作流/子类型修正、命中控制面或宿主能力差异、风险不为 normal、`confidence` 非 high,或处于跨会话 resume 时,用户面必须追加 3~5 行“意图扩展摘要”;摘要只写语义初判、扩展后路由、关键风险、验证路线和备选路径,禁止输出调试 JSON。
140+
- HostCapabilityRoutingGate:最终工作流意图确定后,若需要在 `direct / plan_first / auto_authorized` 间选择、解释宿主 variant 能力上限或核验跨轮 instruction authority,按需读取 `host-capability-routing`。该 Skill 只输出 portable `CapabilityIntentDecisionV1`,不得覆盖 `intent/routing`、CP、Auto 或 S01~S07;catalog 缺失、重复、过期、variant 未知或证据不足时 fail closed 到 portable fallback。
141+
- `OriginalInstructionRefV1` 只保存 identity、authority、可回读 locator 与 ≤512 字符受控摘要,不保存完整原文;compat/none 不能单独授权跨轮 mutation。Phase 1 不调用 native lever,也不新增/依赖 MCP Tool/Resource、CLI 或 Hook;宿主 UI、permission/YOLO mode、plan 文件或 approval 均不能冒充 DevCodex CP/Auto/native-applied 证据。
140142
- Context Rehydration Contract:压缩恢复、resume、summary 恢复或用户明确要求“按文件真相重建”时,必须按 `当前用户消息 > 已确认需求/bug产物 > 任务 sessions.md > 当日 tasks > Agent SUMMARY > compaction/summary 摘要 > AI 当前推断` 的优先级重建上下文;摘要只能作导航提示,不得覆盖文件真相源。
141143
- ContextHandoffCard:跨会话、跨 Agent、多批次、summary/compact 前、用户明确要求“传递上下文”或即将中断时,交接方必须在报告或 daily tasks 写入 `source-of-truth`、`confirmed-decisions`、`open-risks`、`next-action`、`blocked-reason`、`must-not-overwrite`、`validation-state`、`artifact-links`;恢复方按 Context Rehydration Contract 消费并重新核对文件真相源,禁止用 handoff 覆盖已确认产物、sessions、tasks 或 SUMMARY。
142144
- Hook Stop/PreCompact 对入口检查块的可见回复验证必须区分 `verified-present` / `verified-missing` / `unverified` 三态;无法解析最终 assistant 内容时只能提示“无法验证最终用户可见回复”并附 payload capture 指引,禁止断言“未输出”。
@@ -618,6 +620,8 @@ CP1(问题确认)→ CP2(方案确认)→ [impact-review] → [CP3] →
618620
| 🎯 任务摘要 | 核心目标和意图 |
619621
| 📨 对话记录 | 四列表格:`轮次 \| 👤 用户消息 \| 🤖 AI执行 \| 状态` |
620622

623+
命中 HostCapabilityRoutingGate 时,daily tasks、需求级 memory、report 与 handoff 只保存同一个 `instructionRefId` / `decisionId` 及 bounded projection;禁止复制完整用户原文或 catalog row。confirm/compact/resume 前后若只有 compat/none authority,自动 mutation 必须停止并回绑 digest-bound CP/task artifact 或请求重述。
624+
621625
### SUMMARY 文件
622626

623627
```

‎instructions/01-common.instructions.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ version: 1.15.3
204204
| resume | `memory` |
205205

206206
**按需触发 Skills**(不预读,仅在执行中满足条件时读取):
207+
- `host-capability-routing`:最终 workflow intent 已确定,且需要 portable decision、精确宿主 variant 能力上限、native eligibility 解释或 OriginalInstructionRef authority 校验时触发
207208
- `execution-contract`:Auto、控制面、预计 ≥10 文件、多批次、发布或需要强边界任务触发
208209
- `repair-collaboration`:AI 判断任务目标是修复 Bug、缺陷、回归、安全问题、规范缺口或已确认 finding 时,至少形成轻量双层修复协作契约;高风险场景由 `execution-contract` 升级完整契约与独立复证。模型名称、宿主或是否切换 Agent 不是触发条件
209210
- `test-router`:dev/fix 执行前选择验证路线时触发
@@ -264,6 +265,8 @@ version: 1.15.3
264265
- 前置识别仍保持:存在 🔄 会话的“继续/恢复”走 `resume`;纯问答走 `chat`。
265266
- 三问判断仍保持:任一指向变更 → `dev/fix/self-fix`;三问全指向分析 → `analyze/audit`。
266267
- `Intent Expansion Card`、用户可见摘要与恢复契约的详细定义已移动到 [`01c-intent-expansion.instructions.md`](./01c-intent-expansion.instructions.md)。
268+
- 最终工作流意图确定后,若需选择 `direct / plan_first / auto_authorized`、解释精确宿主 variant 上限或核验跨轮 instruction authority,按需触发 `host-capability-routing`。它不重新分类 workflow intent、不拥有 CP/Auto/S01~S07;catalog 缺失、重复、过期、variant 未知或证据不足时只允许 portable fallback。
269+
- `OriginalInstructionRefV1` 只保存 identity/authority/locator/受控摘要;compat/none 不得单独授权跨轮 mutation。Phase 1 不调用 native lever,也不依赖 MCP/CLI/Hook;宿主 UI、permission/YOLO mode、plan 文件或 approval 不得写成 CP、Auto 或 native-applied。
267270

268271
### 任务切换与资料来源优先
269272

0 commit comments

Comments
 (0)