Compare commits

..

4 Commits

Author SHA1 Message Date
lanrtop
3417219a61 docs(intent): 炼境意图目录 1.0——INT-01 一键接入三端可用、INT-02 意图编译为可判定终点、INT-03 摩擦驱动沉淀与退出(IC3)
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
Push & PR Check / check (pull_request) Successful in 57s
用户 2026-10-04 逐章确认三章的意图、人看与不做(1.0 为大版本,由人定稿);INT-02 的措辞覆盖定型和探索两种形态。书签在 P8 期间只指向 coordination §0,IC10 再改为自持。
- 新增 .blueprint/catalog.md:34 行、1748 字节;版本行 1;3 章;禁用键 0;path/module 指针 0 悬空;4 个 card 指针与 3 个标题锚点人工核对一致;无超长字段;探索章检查无输出
- 模块:IC3 ✅、下一步 IC4;记录探索章修订决策(起因、做法、同步项),W8 待补项、IC6 坏样例(6 类)、度量(探索章三项)同步更新
- manifest:intent-catalog 进度 23%

Feature-Confirmed: true
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 03:57:32 +09:00
lanrtop
5af71253dd docs(ai-context/intent-catalog): 增加探索章——意图可从 MVP 迭代中结晶,探索期 goal 只编译本轮试验终点
- 指南新增「探索章与结晶」一节:形态 定型|探索(人对意图清晰度的声明,不是任务进度);探索章必填 轮廓、试探、不做、预算、收敛信号;每轮试验的终验行(保留/否决 + 理由)作为结晶原料;收敛或预算用完时由 agent 起草意图提炼、人确认后转为定型(小版本);未收敛由人三选一,agent 不得自行延长预算
- 目录语法:新增「形态」字段与「不必开章的情况」(修修补补和直接做 MVP 不必开章);goal 编译第 5 步补探索章分支;确认卡增加形态与轮次行;离线检查新增第 11 条(探索章必填字段),已用夹具实测
- 设计文档头部注明此次修订;起因与决策见模块决策记录(下一提交)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 03:57:29 +09:00
2d47cda85a Merge pull request 'docs(ai-context/intent-catalog): IC2 意图目录编写与使用指南' (#43) from feat/intent-catalog into master
All checks were successful
Push & PR Check / check (push) Successful in 1m0s
2026-10-04 02:33:46 +08:00
lanrtop
8415a11381 docs(blueprint): P8g 合并后验收标 ✅(master typecheck、vitest 29、cargo test 414 passed),更新 manifest 与统筹文档 §3/§4
Some checks are pending
Push & PR Check / check (push) Waiting to run
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 03:33:29 +09:00
7 changed files with 109 additions and 14 deletions

34
.blueprint/catalog.md Normal file
View File

@ -0,0 +1,34 @@
# 意图目录
> catalog_version: 1.0 | 前言 → path:AGENTS.md#项目定位 | 语法 → path:docs/ai-context/intent-catalog-guide.md
## 书签
- 当前 → path:docs/tasks/2026-10-03-coordination.md#0. 方针与本阶段终点
## INT-01 一键接入三端可用
- rev: 1.0
- 意图: 新建或添加子项目后一次确认,即可在 Claude Code、Codex、DSH 三端开工
- 人看: 三端桌面 GUI 新开会话即能调用炼境工具,无需手工配置
- 机器: card:agent-client-parity#P8;card:agent-client-parity#P8g
- 不做: 不替 agent 选模型;不让子项目依赖炼境在线;不改写客户端的信任表
- 墙: W12,W13
## INT-02 意图编译为可判定终点
- rev: 1.0
- 意图: 人给出意图或模糊轮廓,agent 编译出可判定的 /goal:定型章编交付终点,探索章编每轮试验终点,人粘贴即确认
- 人看: 定型章粘贴 /goal 后一次判对;探索章在预算内收敛为定型章
- 机器: card:intent-catalog#IC5;card:intent-catalog#IC13
- 不做: 炼境不编译 goal、不判定完成;目录不存状态与进度
- 假设: card:intent-catalog#IC13
- 墙: W1,W4,W7
## INT-03 摩擦驱动沉淀与退出
- rev: 1.0
- 意图: agent 反复摩擦之处经准入沉淀为跨 agent 能力,实测无收益就撤销
- 人看: 每条使者回传都有处置回执,撤销的能力在决策记录里查得到理由
- 机器: module:governance-feedback-loop;cmd:list_envoy_returns
- 不做: 不替 agent 思考或调度;不接管子项目自有事实;不因已经做了而保留
- 墙: W11,W14
## 附录
- 承重墙 → path:.blueprint/modules/intent-catalog.md#承重墙
- 决策与否决 → 各模块「决策记录」;终验否决理由 → 卡上 `- 终验:` 行

View File

@ -511,9 +511,9 @@ modules:
name: 三端客户端对等
area: infra
status: in_progress
progress: 70
updated: 2026-10-03
note: "P1/P2/P3/P3b/P7/P9/P10 完成:三端(Claude Code、Codex 含 Desktop、DSH 含桌面 GUI)在 Enterprise 经 %USERPROFILE%\\.lian-jing 稳定入口连项目专用地址,人终验通过。Claude 条目经 claude CLI 写入、以 claude mcp get 为准;DSH 由托管块全局行(headless)+ 会话级插件(GUI/web/acp 按会话工作目录)路由;接入写入幂等;接入包改写块外带未提交改动的托管块文件时给出混合文件预警;P7 实测 MCP 服务器说明仅 Claude/DSH 带入模型上下文、Codex 不带,引导提示保留在 skill。2026-10-03 P8 一键接入设计定稿(docs/tasks/2026-10-03-p8-onboarding-oneclick-design.md):A1 不前置;P4 分 L0 静态 / L1 零模型 / L3 无头会话,P8 只依赖 L1(P4a);拆为 P8-0、P8a–P8g 与 P4-0、P4a–P4e(P8-0、P8a、P4-0 已完成,P8b 适配器注册表与三端结构化注入结果(PR #33,enterprise 实测两次注入三端 converged、零写入)、P8c 写入汇与写入前计划(PR #36)、P4a L1 零模型三端检查(PR #38,enterprise 三端 18 格 ready)、P8d 编排本体(PR #39)、P8e 投影(PR #40)、P8f register_project(PR #37)已完成,端到端:新登记项目 plan→onboard_project done、重复执行全收敛;P8a 把「已接入」统一为有项目 token;P4-0 实测六项假设,Codex 只在目录受信任时加载项目配置、Claude 用无效模型名可零额度取 init 并入 L1),P8 进行中;进度按拆分后卡数重算。待做 P5、P6(基于 P8c 的 WriteSink)。"
progress: 74
updated: 2026-10-04
note: "P1/P2/P3/P3b/P7/P9/P10 完成:三端(Claude Code、Codex 含 Desktop、DSH 含桌面 GUI)在 Enterprise 经 %USERPROFILE%\\.lian-jing 稳定入口连项目专用地址,人终验通过。Claude 条目经 claude CLI 写入、以 claude mcp get 为准;DSH 由托管块全局行(headless)+ 会话级插件(GUI/web/acp 按会话工作目录)路由;接入写入幂等;接入包改写块外带未提交改动的托管块文件时给出混合文件预警;P7 实测 MCP 服务器说明仅 Claude/DSH 带入模型上下文、Codex 不带,引导提示保留在 skill。2026-10-03 P8 一键接入设计定稿(docs/tasks/2026-10-03-p8-onboarding-oneclick-design.md):A1 不前置;P4 分 L0 静态 / L1 零模型 / L3 无头会话,P8 只依赖 L1(P4a);拆为 P8-0、P8a–P8g 与 P4-0、P4a–P4e(P8-0、P8a、P4-0 已完成,P8b 适配器注册表与三端结构化注入结果(PR #33,enterprise 实测两次注入三端 converged、零写入)、P8c 写入汇与写入前计划(PR #36)、P4a L1 零模型三端检查(PR #38,enterprise 三端 18 格 ready)、P8d 编排本体(PR #39)、P8e 投影(PR #40)、P8f register_project(PR #37)、P8g UI 一键接入面板(PR #41,2026-10-04)已完成,P8 agent_verify 全部达成、human_verify 待用户终验,端到端:新登记项目 plan→onboard_project done、重复执行全收敛;P8a 把「已接入」统一为有项目 token;P4-0 实测六项假设,Codex 只在目录受信任时加载项目配置、Claude 用无效模型名可零额度取 init 并入 L1),P8 进行中;进度按拆分后卡数重算。待做 P5、P6(基于 P8c 的 WriteSink)。"
position: [3500, 950]
- id: architecture-evolution
@ -529,7 +529,7 @@ modules:
name: 意图目录
area: backend
status: in_progress
progress: 15
progress: 23
updated: 2026-10-04
note: "两层模型(人持有的意图目录 .blueprint/catalog.md + 蓝图正文),书装意图、指向事实;卡侧 intent 钉版,agent 编译可判定 /goal,确认卡兼作最小任务简报,回执写进提交。IC1 设计已确认(最小文件优先方案);IC2–IC4 只新增文档、可与 P8 并行,门控与接线等 P8 收口后做,IC13 按实测数据决定去留。"
position: [4000, 950]

View File

@ -331,8 +331,9 @@ skill 只是五个接入面之一,兼容层覆盖全部五面。
- review: "2026-10-03 独立只读审查 bd4ebaf,结论 fix_then_merge,10 条发现处置:M1 [中] MCP 入参原样落库(正斜杠、尾部分隔符、长路径前缀、8.3、`..`),scan_unregistered_projects 按字面比较会自相矛盾 → 已修:本体对 Windows 目录 canonicalize 后去长路径前缀落库,register_project_at 回执 path 为落库值、名称缺省按规范形式取目录名(相对路径不 canonicalize,交本体拒绝);scan 的已登记判定与父目录去重改用 registration_path_key。M2 [中] UI 不选目录的概念占位被取消,超出 P8f 范围且与 mcp-server 模块记录的用户用法冲突 → 已恢复原行为:本体新增 RootRequirement,UI 入口有效路径为空时只写 profile+workspace、不校验目录、不查重复,MCP 入口仍拒绝;是否改为显式占位概念交统筹会话问用户(需求澄清),本 PR 不预设答案。L1 [低] 已有登记两列都比,残留列误拦 → 已修:按 platform 只取有效根目录(registration_root),查询补 platform 列。L2 [低] 8.3、`..`、末尾点等漏判 → 已修:新目录在写事务外另算 canonical 键,两键比对已有行的字面键(已有行不读磁盘,写锁内无 I/O)。L3 [低] mount_repo 检查在插 profile 之后且无事务 → 已修:抽 mount_repo_records(连接注入),检查前移、整体 IMMEDIATE 事务;前端先 gitClone 再 mount 的白克隆属 UI 范围,未改。L4 [低] 路径比较键多份实现 → 部分修:registration_path_key 改为复用 mcp_inject::normalize_dsh_root + strip_verbatim_prefix(两函数改 pub(crate));normalize_trust_path、WSL 发行版查询与 UNC 换算的第三份拷贝统一抽 crate::path_key 转后续小修(会动 P4a/P8d 热点 mcp_inject.rs)。I1 [信息] update_project 仍可造同目录登记 → 转后续小修:UI 编辑整表提交,须「有效根目录实际变化才检查 + 排除自身」,否则存量重复登记(beast-mode)连改名都会被拦,单独做更稳。I2 [信息] project_root_with_conn 对 UNC 形式的 wsl_path 错误拼接(已有缺陷)→ 不在本 PR 改(mcp_inject.rs 热点),转后续小修;卡片与代码注释里「同口径」改为只指取列与 Linux 路径换算。I3 [信息] 重登目录遗留旧 context.json 无提示 → 已修:register_project_at 只读检查,project_id 不同时回执与摘要带 warning(不沿用旧 ID)。I4 [信息] 分发分支无测试 → 已修:分发抽成 register_project_call(conn, args),测试按 schema 声明的参数名构造入参;IMMEDIATE 并发仍无测试(见没验什么③)。"
- mcp_verify: "PR #37 合并(55dc637);P8e 合并后经全局 MCP 实测链路 register_project → plan_onboarding → onboard_project 得 status=done(证据同 P8e mcp_verify);同目录换写法再登记被拒并给出已有 project_id。"
### 🔵 P8g — UI 一键接入
- status: in_progress
### ✅ P8g — UI 一键接入
- status: done
- merge_verify: "PR #41 CI passed(head c28caf72ee94a2ce9c749de941d9c43ffafc33ee,核对完整 SHA 后合并)→ master 3228b49:pnpm typecheck 通过;pnpm test 5 文件 29 passed(含 onboardView 13 条);全量 cargo test 414 passed / 0 failed / 6 ignored(另一测试二进制 1 passed)。agent_verify 全部达成;human_verify ①–④ 待用户终验。"
- complexity: M
- files: src/components/dashboard/OnboardPanel.tsx, src/components/dashboard/onboardView.ts, src/components/dashboard/onboardView.test.ts, src/components/dashboard/ProjectModal.tsx, src/components/dashboard/BatchAddModal.tsx, src/components/manage/NewProjectModal.tsx, src/components/dashboard/BlueprintModal.tsx, src/lib/commands.ts
- depends: P8e

View File

@ -1,6 +1,6 @@
# 意图目录(intent-catalog)
> status: in_progress | created: 2026-10-04 | 设计:docs/tasks/2026-10-04-intent-catalog-design.md(IC1 ✅,用户 2026-10-04 确认)| 指南:docs/ai-context/intent-catalog-guide.md(IC2 ✅)| 下一步:IC3(首批章节由用户定稿)
> status: in_progress | created: 2026-10-04 | 设计:docs/tasks/2026-10-04-intent-catalog-design.md(IC1 ✅,用户 2026-10-04 确认)| 指南:docs/ai-context/intent-catalog-guide.md(IC2 ✅)| 目录:.blueprint/catalog.md 1.0(IC3 ✅)| 下一步:IC4(跨 agent 纸面编译)
> 来源:2026-10-03~04 与用户讨论(/goal 与 Loop Engineering 操作手册、目录/正文模型、承重墙),以及侦察工作流 wf_6dc3756a-b72 的重叠与冲突扫描。
## 概述
@ -42,7 +42,7 @@ agent 开发子项目时躲不掉的现象。每面墙都要回答四个问题
| W5 注意力稀缺 | 统筹三类找人;pending_user;回传只列待处置 | 跨章的「待人裁决」视图;书签由人确认 |
| W6 理解债 | 决策记录;复盘笔记;架构速查;导师上下文 | 从代码或模块反查「服务哪条意图」;关键决策摘要推送给人 |
| W7 自评偏差 | 两把尺子;「没验什么」;证据等级;独立/对抗审查;CI 兜底 | 章坐标标注证据等级;章完成只能推导,不能手动切换 |
| W8 不确定性 | R10 先实测;P4-0 假设证伪;三闸门 | 章上挂假设登记与证伪状态,指向既有落点 |
| W8 不确定性 | R10 先实测;P4-0 假设证伪;三闸门 | 探索章(轮廓、试探、预算、收敛信号)→ 结晶为定型章;「假设:」指向既有的证伪落点(2026-10-04 修订) |
| W9 并发冲突 | 🔵 执行锁;每卡独立 worktree;串行队列;plan→digest→apply | 目录本身成为争用点;版本钉住复用 digest 语义 |
| W10 风险不对称 | 计划→确认→应用;confirmed=true;破坏性标注;凭据边界 | 目录大版本与书签切换的「提案 + digest + 人确认」;章级风险等级 |
| W11 资源有限 | L0/L1/L3 分层;风险预测;提交飞轮指标 | 按章、按 goal 记账(只记账不分配,不替 agent 选模型) |
@ -91,7 +91,7 @@ agent 开发子项目时躲不掉的现象。每面墙都要回答四个问题
## 收益度量与退出条件
- 度量:/goal 一次判对率、人工介入次数、续接所需的上下文量、方向返工与 human_verify 否决率、每阶段 token 用量。
- 度量:/goal 一次判对率、人工介入次数、续接所需的上下文量、方向返工与 human_verify 否决率、每阶段 token 用量;探索章另看收敛轮数、是否守住预算、否决理由是否逐轮减少。
- 退出:实测无收益、已被 agent 原生能力覆盖,或维护成本超过收益时撤销(管家准入与退出)。
## 任务卡
@ -110,8 +110,8 @@ agent 开发子项目时躲不掉的现象。每面墙都要回答四个问题
- depends: IC1
- acceptance: "agent_verify: [CLI] grep -cE '^## (目录语法|修订与钉版|goal 编译|确认卡与回执|离线检查)' docs/ai-context/intent-catalog-guide.md → 5;grep -ciE 'opus|sonnet|haiku|gpt-|deepseek-' 该文件 → 0;/architect 只以「可选包装」出现;git status --porcelain → 只有该文件新增。"
### 📋 IC3 — 新增 .blueprint/catalog.md:1.0 骨架与首批 2–4 章,书签只指向 coordination §0
- status: todo
### ✅ IC3 — 新增 .blueprint/catalog.md:1.0 骨架与首批 2–4 章,书签只指向 coordination §0
- status: done
- complexity: S
- files: .blueprint/catalog.md
- depends: IC2
@ -136,7 +136,7 @@ agent 开发子项目时躲不掉的现象。每面墙都要回答四个问题
- complexity: M
- files: .claude/hooks/intent-gate.cjs
- depends: IC3, P8 收口
- acceptance: "agent_verify: [gate 脚本] node .claude/hooks/intent-gate.cjs --self-test → exit 0 且输出 self-test ok,内置 5 类坏样例(悬空 path:、未知 INT、超长字段、status: 键、card: 指向不存在的卡)各恰好 1 条警告;node .claude/hooks/intent-gate.cjs → exit 0、真实目录 0 警告;INTENT_CATALOG=/nonexistent → 无输出、exit 0。"
- acceptance: "agent_verify: [gate 脚本] node .claude/hooks/intent-gate.cjs --self-test → exit 0 且输出 self-test ok,内置 6 类坏样例(悬空 path:、未知 INT、超长字段、status: 键、card: 指向不存在的卡、探索章缺预算或收敛信号)各恰好 1 条警告;node .claude/hooks/intent-gate.cjs → exit 0、真实目录 0 警告;INTENT_CATALOG=/nonexistent → 无输出、exit 0。"
### 📋 IC7 — 门控只读视图 --report/--impact/--pending 与目录提交审计
- status: todo
@ -199,3 +199,10 @@ agent 开发子项目时躲不掉的现象。每面墙都要回答四个问题
- 炼境 1.0 首批章节方向为「一键接入三端可用 / 意图编译为可判定终点 / 摩擦驱动沉淀与退出」,在 IC3 逐章定稿;
- 去留阈值初定为样本 ≥5、一次判对率 ≥60%、人工介入不高于基线、每阶段改目录 ≤1 次,IC13 前可以调整;
- 接受在 AGENTS.md 块外常驻约 10 行「启动读目录引言和书签」。
- 2026-10-04 修订(用户提出,采纳推荐):增加探索章,让意图可以从迭代中结晶。起因是很多需求一开始只有模糊轮廓,甚至没有意图,要靠 MVP 反复试用才慢慢说清。原设计默认自上而下,是盲区。具体做法:
- 章新增可选字段「形态: 定型(缺省)|探索」。它是人对意图清晰度的声明,不是任务进度,因此不违反「目录不存状态」,并且只能由人确认修改。
- 探索章必填 轮廓、试探、不做、预算、收敛信号。
- 探索期的 goal 只编译本轮试验的终点;人的试用反馈记成终验行(保留/否决 + 理由),作为结晶原料。
- 收敛或预算用完时,agent 起草意图提炼,人确认后转为定型(小版本)。未收敛时由人三选一:追加预算、换方向、撤销留墓碑;agent 不得自行延长预算。
- 修修补补和直接做 MVP 不必开章,目录与卡侧 intent 一律可选。
- 同步:INT-02 措辞覆盖定型和探索两种形态;指南新增「探索章与结晶」一节和离线检查第 11 条;IC6 坏样例增至 6 类;W8 有了实质承重件;度量增加探索章三项。

View File

@ -50,6 +50,9 @@
| 假设 | 否 | 指向既有的证伪落点(某张 spike 卡或复盘),目录里不存证伪状态 |
| 证据 | 否 | 指向已有证据(卡上的 verify 记录、PR) |
| 墙 | 否 | 关联的承重墙编号,例如 `W12,W13` |
| 形态 | 否 | `定型`(缺省)或 `探索`;只能由人确认修改,见「探索章与结晶」 |
**不必开章的情况**:只是修修补补的卡,照常做,不写 intent;属于某个已有章的,就挂上去,算补丁级。完全没有意图、直接做 MVP 的,先不开章,做两三轮以后再从试用反馈里提炼。目录和卡侧 intent 都是可选的,不会挡住任何工作。
**防膨胀(硬限制)**:
@ -119,6 +122,45 @@ git rev-parse --short HEAD:.blueprint/catalog.md
**在制品保护**:钉旧版的 🔵 卡照常做完,只复核 acceptance。章被撤销,或新的「不做」覆盖了这张卡时,停下找人。任何情况下都不自动改写卡。
## 探索章与结晶
意图常常不是一开始就清楚的,而是做 MVP、反复试用以后才长出来。探索章就是给这种情况用的:先写下在找什么、找多久,等意图结晶出来再改成定型章。
```markdown
## INT-04 <轮廓名>
- rev: 1.1
- 形态: 探索
- 轮廓: <人的原话,模糊也可以>
- 试探: <这一阶段想弄清的问题,例如「哪种交互最顺手」>
- 不做: <再模糊也要有的边界>
- 预算: <最多 N 轮 MVP 或 N 天>
- 收敛信号: <出现什么就说明方向定了,例如「连续两轮不再想改核心交互」>
- 证据: <各轮试验卡的指针>
```
| | 定型章 | 探索章 |
|---|---|---|
| 必填 | rev、意图、人看、机器、不做 | rev、形态: 探索、轮廓、试探、不做、预算、收敛信号 |
| 回答 | 做到什么样算对 | 我们在找什么、找多久 |
| goal 终点 | 交付终点 | 每轮试验的终点 |
| 度量 | goal 一次判对率 | 几轮收敛、是否守住预算、否决理由是否越来越少 |
**每轮试验**:
- 拆一张试验卡,挂到探索章上:`- intent: INT-NN@X.Y`。
- 人试用后,agent 把反应记成卡上的终验行:`- 终验: YYYY-MM-DD 保留|否决:<理由>`。
- 这些保留和否决的理由,就是结晶的原料。
**结晶(探索 → 定型)**:
- 收敛信号出现,或预算用完时,agent 汇总各轮终验行,起草「意图提炼」:建议的意图、人看、机器、不做,以及依据(哪几轮保留、哪几轮否决、为什么)。
- 人确认后,形态改为定型,按小版本修订:Y+1,本章 rev 更新,轮廓、试探、预算、收敛信号几行换成意图、人看、机器。
**预算用完仍未收敛**:由人三选一:
- 追加预算继续,小版本;
- 换方向重写轮廓,小版本;
- 放弃,大版本,留墓碑。
agent 不得自行延长预算。
## goal 编译
本流程只依赖读文件和 git,不依赖任何特定客户端或模型。Claude 的 /architect 只是可选包装,任何 agent 都可以照着手工执行。产出是一张目标确认卡加一段 /goal 文本。
@ -136,6 +178,12 @@ git rev-parse --short HEAD:.blueprint/catalog.md
- 取各卡 agent_verify 的合取,改写成在会话里能判定的形式:贴出命令和预期输出、纳入卡前缀都是 ✅、回执已写入。
- human_verify 不进终点,单列为终验待办。
- 过程词黑名单命中数必须为 0:「按方针」「符合设计」「设计已完成」「基本完成」,以及任何无法从会话输出判定的形容词。
- **探索章**不编译「意图的终点」,只编译本轮试验的终点:
- 做出可试用的 MVP 变体,写明最小动作和可演示方式;
- 校验命令通过;
- 试验卡为 ✅ 且已写回执。
- 人的试用反馈作为终验待办,记到终验行。
- 确认卡写明这是第几轮、共几轮预算;超出预算就不编译,转入结晶或请人三选一。
6. **写停止条件**:遇到以下任一情况必须停下找人:
- human_verify;
- 写运行中的数据库;
@ -155,6 +203,7 @@ git rev-parse --short HEAD:.blueprint/catalog.md
[INT-NN@X.Y#<blob7>] 目标确认卡
项目: <project_id> | 分支/worktree: <branch> @ <path> | HEAD: <sha7>
章意图: <一句> | 不做: <…>
形态: 定型 | 探索(第 k/N 轮;收敛信号: <…>)
纳入卡: <卡键>(来源 agent_verify 原文)、<卡键>(…)
终点(合取): 1) <命令> → <预期输出> 2) … 3) 纳入卡均 ✅ 且已写 Goal-Receipt
终验待办: <各卡 human_verify>
@ -207,6 +256,8 @@ awk '/^## INT-[0-9]{2} /{c=$2} /^- rev:/{print c, $3}' .blueprint/catalog.md
cat .blueprint/modules/*.md | grep -c '^### '
# 10. goal 文本的过程词黑名单(把 /goal 文本存成临时文件后检查)
grep -cE '按方针|符合设计|设计已完成|基本完成' <goal 文本文件> # → 0
# 11. 探索章的必填字段齐全(没有输出即通过)
awk '/^## /{if(e&&!(b&&s))print "缺预算或收敛信号: "c; c=$2;e=0;b=0;s=0} /^- 形态: 探索/{e=1} /^- 预算:/{b=1} /^- 收敛信号:/{s=1} END{if(e&&!(b&&s))print "缺预算或收敛信号: "c}' .blueprint/catalog.md
```
card: 指针目前只能人工核对,到模块文件里搜索卡键,Phase 4 后由门控自动校验。指针中带 `#标题` 的部分,也是同样的人工核对方式。

View File

@ -61,11 +61,12 @@
| ~~3~~ | ~~P8d onboard_project 编排本体~~ ✅ | M | P8c、P4a 合并后 | 复用 `onboard::plan::write_project_files` 与 `onboard::clients::registry()`;apply 前先重算计划并核对 digest |
| 4 | P8e 投影收口与契约同步 | S | P8d 后 | |
| 5 | P8f register_project 控制面投影 | S | 已提前并行(只依赖 P8-0) | [MCP] 链路实测待 P8e 合并后做 |
| 6 | P8g UI 一键接入 | M | P8e 后 | human_verify 交用户 |
| ~~6~~ | ~~P8g UI 一键接入~~ ✅ | M | P8e 后 | human_verify 交用户 |
| ~~并行~~ | ~~删除项目登记时一并解绑 Gitea 仓库~~ ✅ G8 | S/M | master | 来自重复登记排查会话的推荐任务卡(轮询会继续往已删除的项目 ID 写数据),主要改 projects.rs / gitea.rs,可并行 |
| 后续 | P6(依赖 P8c)、P4c / P4d / P4e、A4→P4b、P5 | | | P8 完成后再排 |
| 后续小修 | P8f 审查转入:L4 路径归一函数统一到 crate::path_key(含 Codex 信任路径、WSL 发行版与 UNC 换算)、I1 update_project 有效根变化才查重并排除自身、I2 project_root_with_conn 拼接 UNC 形式 wsl_path 的已有缺陷 | S | master | 碰 mcp_inject.rs,P8 主线后再做 |
| 后续小修 | backfill_notes_archive 静默跳过非 UTF-8 旧笔记(dev-manager-tauri 有 4 条);PR #34 审查遗留 L3(保留他项目 Codex 块不留痕)、L4(沉默统计并列偏向非规范 ID,补测试)、I1(注释说明两处语义差异)、I2(沉默列表带 id) | S | master | 不碰 P8 热点文件的可并行 |
| 后续小修 | P8g 审查 ④:L1 格子由本体带 pending_user(目前 onboardView.ts 写死 codex_project_untrusted 着色);面板状态机(过期响应、refused 回预览)补组件测试 | S | master | 碰 probe_l1.rs / onboardView.ts |
| 待用户 | beast-mode 同路径重复登记(beast-mode / 940dfbb4,无 Gitea 绑定) | — | — | 需写运行中 DB 与删除登记,按 U3 同法准备脚本后交用户执行 |
## 4. 派单与 PR 流水(统筹维护)
@ -80,7 +81,7 @@
| 10-03 | P4a L1 零模型三端检查 | 工作流 wf_b7092645-570(修复阶段被分类器拦截,统筹接手收尾) | PR #38(a79bcb7)→ cf2b5f0 | ✅ [MCP] 实测:enterprise 3.3 秒三端 18 格 ready;dev-manager-tauri 控制面 Claude/DSH not_applicable、Codex ready |
| 10-03 | P8d onboard_project 编排本体 | 工作流 wf_004ffc20-7cb | PR #39(2f2a9f1)→ d018d44 | ✅ 审查 10 条已处置;master 402 passed;⑩ 统筹决定:Codex 未信任计 next_action 不计入 done(P8e 实现) |
| 10-03 | P8e 投影收口与契约同步 | 工作流 wf_551dc525-270(修复阶段卡死 6 次,审查已可合并,统筹以 97578b2 开 PR) | PR #40 → d7f4816 | ✅ 端到端:新登记项目 done、重复执行全 converged;enterprise 因主工作区落后不 apply(偏差已报备) |
| 10-03 | P8g UI 一键接入 | 工作流 wf_531cfcda-b1a 实现阶段 6 次 180 秒无进展被判卡死(未产出代码,属执行方式问题、不计自验失败)→ 改派后台 Agent(无看门狗,分块写文件) | `feat/agent-client-parity-p8g` | 执行中 |
| 10-03 | P8g UI 一键接入 | 工作流 wf_531cfcda-b1a 实现阶段 6 次 180 秒无进展被判卡死(未产出代码,属执行方式问题、不计自验失败)→ 改派后台 Agent(无看门狗,分块写文件)也流卡死 → 10-04 新统筹会话主线程直做(续用半成品 onboardView.ts,分块写入) | PR #41(c28caf7)→ 3228b49 | ✅ 审查 merge、5 条:4 修 1 转后续小修(L1 格子带 pending_user);master typecheck 通过、vitest 29 passed、全量 cargo test 414 passed;human_verify 待用户 |
| 10-03 | P8f register_project 控制面投影(含登记拒绝同路径,承接 PR #34 审查 L1/L2) | 工作流 wf_2462357e-604(与 P4a 并行,开 PR 前合并 master) | `feat/agent-client-parity-p8f` | PR #37(04470bd)→ 55dc637 已合并;审查 10 条:7 修、1 部分修、M2 恢复 UI 概念占位原行为(产品问题待用户澄清)、2 转后续;卡片 🔵,[MCP] 链路实测待 P8e 合并 |
| 10-03 | 重复登记修复 U1/U2 | 会话 `local_d2e1c156…`(「排查炼境 dev-manager-tauri 疑似重复登记」) | PR #34 → fc280db | ✅ 独立审查可合并、已合并,炼境已重编译;审查遗留 L1/L2 归 P8f(登记拒绝同路径),L3/L4/I1/I2 列入后续小修 |
| 10-03 | 重复登记数据合并 U3 | 同上(用户执行 DB 写入) | master 91017b6;主仓库 .codex/config.toml 升级为稳定 helper 格式 06f20db | ✅ 无 2c5b54ef 残留、同路径 1 条登记、Gitea 绑定 1 行;备份 dev-manager.backup-20261003-before-dedupe.db |

View File

@ -1,6 +1,7 @@
# 设计决策:意图目录(intent-catalog)· IC1
> status: 已确认(2026-10-04,五项待拍板全部采纳推荐)| complexity: L(本文只到设计,实现拆为 IC2–IC13)| created: 2026-10-04 | blueprint: intent-catalog
> 修订 2026-10-04:增加探索章(意图从迭代中结晶),见模块决策记录与指南「探索章与结晶」;本文未逐节同步。
> ⚠️ 处置条款:用户确认后,稳定结论回写 `.blueprint/modules/intent-catalog.md`(决策记录与任务卡),本文件在 IC3 完成后 24h 内删除,不做第二事实来源。
> 产出方式:/architect 评审团工作流 wf_60e4c430-bb1。3 个独立方案(最小文件优先、结构化优先、最大化复用)交 2 位评委(agent 友好度与成本、治理与风险)打分,由综合者定稿;关键代码事实已由主会话复核。