docs(blueprint): MVP 收口 M2——B2 终验否决(IC10 误标),blueprint-buff 剩余缺口为方案 C 并冻结,INT-04 goal 收口
All checks were successful
Push & PR Check / check (push) Successful in 1m5s

M2 前提「零误标、14% 只是进度数字」在执行中被证伪;用户在会话中选定记否决、方案 C 冻结,M2 验收按此改口径并在卡上报备。

Goal-Receipt: INT-04@2.0#a504755
Goal-Cards: M2, M3, M4
Goal-Result: 中止(M2 前提被证伪:buff 12:46 误标 IC10,终点第 2 条主仓库 .blueprint/modules 非空、第 3 条 status done/progress 100 按原文不成立;验收经用户选定改口径后三卡 ✅)
Goal-Rounds: 1
Goal-Interventions: 2
Goal-Tokens: n/a
Not-Verified: M4 第 8 条逐节对照靠阅读而非机器 diff;typecheck 在主仓库同一 TS 源码上跑(worktree 无 node_modules,已证明 3228b49..master 无 TS 改动);主仓库 IC10 误标待用户决定是否恢复
Human-Pending: M3 手动删除 §5 所列目录与文件;M5 enterprise 实战四条

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
lanrtop 2026-10-04 15:52:51 +09:00
parent 7907793f19
commit 3cf3f87319
4 changed files with 13 additions and 6 deletions

View File

@ -258,7 +258,9 @@ modules:
name: 蓝图 Buff name: 蓝图 Buff
area: backend area: backend
status: in_progress status: in_progress
progress: 86 progress: 90
updated: 2026-10-04
note: "8 张卡全 ✅;B2 终验 2026-10-04 被否决(只改共用文档的提交仍误标无关 📋 卡,实例 IC10),剩余缺口为方案 C(files 重叠改记 DB 信号),MVP 收口期冻结为扩展。"
position: [2250, 0] position: [2250, 0]
- id: claude-autonomy-config - id: claude-autonomy-config
@ -538,7 +540,7 @@ modules:
name: MVP 收口 name: MVP 收口
area: infra area: infra
status: in_progress status: in_progress
progress: 0 progress: 75
updated: 2026-10-04 updated: 2026-10-04
note: "2026-10-04 P8 达成后的阶段终点(INT-04):炼境侧关账、清理、修常驻文档漂移(M2–M4,编进 /goal),四条能力在 enterprise-system 真实开发中只读取证(M5);扩展项冻结见统筹文档 §3。" note: "2026-10-04 P8 达成后的阶段终点(INT-04):炼境侧关账、清理、修常驻文档漂移(M2–M4,编进 /goal),四条能力在 enterprise-system 真实开发中只读取证(M5);扩展项冻结见统筹文档 §3。"
position: [4250, 950] position: [4250, 950]

View File

@ -13,6 +13,7 @@ id: blueprint-buff
- Buff 同步后顺手调用 `get_blueprint()`,内部触发 `append_usage_snapshot()`,使飞轮数据与实际开发进度对齐 - Buff 同步后顺手调用 `get_blueprint()`,内部触发 `append_usage_snapshot()`,使飞轮数据与实际开发进度对齐
- 使用文件路径匹配而非 commit message 解析,与 AI 工具/提交信息风格完全解耦 - 使用文件路径匹配而非 commit message 解析,与 AI 工具/提交信息风格完全解耦
- **files 重叠只作兜底(2026-10-02,B1)**:本批提交已有卡被显式推进(新增 🔵/✅/🔴 标题行)则不推断,整批无推进才视为「agent 忘了加锁」。原因:两阶段锁下在做的卡落地时已非 📋,files 重叠只能碰到未开工卡,精度结构性偏低。曾评估「提交说明引用卡 ID」——正文自由文本 4 次命中 3 次误判(「阶段二 N3/N4/N5 待启动」),结构化 trailer 又与上条解耦决策冲突且兜不住忘加锁场景,故不采用;「可能相关」改记 DB 信号不改卡片(方案 C)留作残余噪声持续时的升级路径 - **files 重叠只作兜底(2026-10-02,B1)**:本批提交已有卡被显式推进(新增 🔵/✅/🔴 标题行)则不推断,整批无推进才视为「agent 忘了加锁」。原因:两阶段锁下在做的卡落地时已非 📋,files 重叠只能碰到未开工卡,精度结构性偏低。曾评估「提交说明引用卡 ID」——正文自由文本 4 次命中 3 次误判(「阶段二 N3/N4/N5 待启动」),结构化 trailer 又与上条解耦决策冲突且兜不住忘加锁场景,故不采用;「可能相关」改记 DB 信号不改卡片(方案 C)留作残余噪声持续时的升级路径
- **剩余缺口与冻结(2026-10-04,MVP 收口 M2)**:manifest 曾记 86%,剩余 14% 起初判为未更新的进度数字;同日 B2 终验被否决(见 B2 卡),证明剩余是真实缺口——兜底推断的误标须按上条升级路径做方案 C(files 重叠改记 DB「可能相关」信号、不改卡片,L 级)。用户定:误标属噪声、不阻挡 MVP 四条能力,方案 C 冻结为扩展,模块保持 in_progress。
## 任务卡 ## 任务卡
@ -79,3 +80,5 @@ id: blueprint-buff
- 实现:infer_task_marks 增加第二个显式归属条件 edits_existing_lines——本批 .blueprint/modules patch 在 hunk 内有 `-` 行(删改既有内容)即视为 agent 在跟进维护,不推断;纯追加(新立 📋 卡、新模块)仍走兜底,保留「立卡即实现、忘了加锁」的捕获。 - 实现:infer_task_marks 增加第二个显式归属条件 edits_existing_lines——本批 .blueprint/modules patch 在 hunk 内有 `-` 行(删改既有内容)即视为 agent 在跟进维护,不推断;纯追加(新立 📋 卡、新模块)仍走兜底,保留「立卡即实现、忘了加锁」的捕获。
- verification: "2026-10-03:cargo test 284 passed / 0 failed / 5 ignored;buff 10 passed(新增 edits_existing_lines 单测与端到端 ⑧⑨);变异验证见 acceptance。回放 master 260 个 first-parent 批次:B1 下无推进 172 批,B2 新增抑制 27 批,其中含代码改动的 6 批:19b9388(本次误标)、8f3be6b、0d4c2ad、cbc1d46、23de433、0552180,其余为只改蓝图的 docs/chore 提交(本就不会命中代码卡);纯追加立卡的 9881b56、9c2064e、4f5cf43 保持兜底。" - verification: "2026-10-03:cargo test 284 passed / 0 failed / 5 ignored;buff 10 passed(新增 edits_existing_lines 单测与端到端 ⑧⑨);变异验证见 acceptance。回放 master 260 个 first-parent 批次:B1 下无推进 172 批,B2 新增抑制 27 批,其中含代码改动的 6 批:19b9388(本次误标)、8f3be6b、0d4c2ad、cbc1d46、23de433、0552180,其余为只改蓝图的 docs/chore 提交(本就不会命中代码卡);纯追加立卡的 9881b56、9c2064e、4f5cf43 保持兜底。"
- known_limits: "同批若只改写了无关 📋 卡的文字同时改代码且忘了加锁,B2 会少标(漏信号,不误标)。下次再出现误标时按 B1 决策记录升级到方案 C(files 重叠改记 DB「可能相关」信号,不改卡片,L 级)。" - known_limits: "同批若只改写了无关 📋 卡的文字同时改代码且忘了加锁,B2 会少标(漏信号,不误标)。下次再出现误标时按 B1 决策记录升级到方案 C(files 重叠改记 DB「可能相关」信号,不改卡片,L 级)。"
- human_verify: "2026-10-04 否决:主仓库 12:45 快进到 ef09ef2(只改 docs/tasks/2026-10-03-coordination.md,无蓝图改动)后约 1 分钟,buff 把 intent-catalog 未开工的 📋 IC10(files 含该文件)标为 🔵——无显式推进、files 共用即兜底命中,属 B1 known_limits「不更新蓝图的提交碰共享文件仍可能误标」。B1/B2 两道闸已生效但不足以消除此类误标。"
- 终验: 2026-10-04 否决:只改共用文档、不动蓝图的提交仍会把无关 📋 卡误标 🔵(实例 IC10)

View File

@ -18,12 +18,14 @@
## 任务卡 ## 任务卡
### 🔵 M2 — blueprint-buff 关账 ### ✅ M2 — blueprint-buff 关账
- status: in_progress - status: done
- complexity: S - complexity: S
- intent: INT-04@2.0 - intent: INT-04@2.0
- files: .blueprint/modules/blueprint-buff.md, .blueprint/manifest.yaml - files: .blueprint/modules/blueprint-buff.md, .blueprint/manifest.yaml
- acceptance: "agent_verify: [shell] grep -cE '^### (📋|🔵|💭|🔴)' .blueprint/modules/blueprint-buff.md → 0 且 grep -c '^### ✅' 同文件 → 8;git -C 主仓库 log 中 2026-10-04 的 ff 合并后 git status --porcelain -- .blueprint/modules 为空(零误标)并写入 B2 卡 human_verify 证据;manifest blueprint-buff 为 status: done、progress: 100,模块决策记录写明「剩余 14% 为未更新的进度数字,核心卡已全部完成」。" - acceptance: "agent_verify: [shell] grep -cE '^### (📋|🔵|💭|🔴)' .blueprint/modules/blueprint-buff.md → 0 且 grep -c '^### ✅' 同文件 → 8;git -C 主仓库 log 中 2026-10-04 的 ff 合并后 git status --porcelain -- .blueprint/modules 为空(零误标)并写入 B2 卡 human_verify 证据;manifest blueprint-buff 为 status: done、progress: 100,模块决策记录写明「剩余 14% 为未更新的进度数字,核心卡已全部完成」。"
- 验收变更(2026-10-04,按自验报告纪律报备,用户在会话中选定):执行中发现 buff 12:46 把主仓库 IC10 误标 🔵,「零误标、14% 只是数字」的前提被证伪。改为:B2 卡记终验否决与证据、决策记录写明剩余缺口为方案 C 并冻结、manifest 保持 in_progress 并改 progress 90;原 acceptance 中 status: done / progress: 100 与「主仓库 .blueprint/modules 空」两项不再适用。
- verification: "2026-10-04(INT-04 goal):blueprint-buff 8 张卡全 ✅(未完成标题计数 0);B2 human_verify 记 2026-10-04 否决与 IC10 实例;决策记录新增「剩余缺口与冻结」;manifest blueprint-buff progress 86 → 90、status in_progress。"
- 为什么:manifest 记 86%,但模块 8 张卡全 ✅;唯一缺 B2 终验记录,而 2026-10-04 主仓库 6 次快进合并后 .blueprint/modules 零误标,正是 B2 的终验现象。 - 为什么:manifest 记 86%,但模块 8 张卡全 ✅;唯一缺 B2 终验记录,而 2026-10-04 主仓库 6 次快进合并后 .blueprint/modules 零误标,正是 B2 的终验现象。
### ✅ M3 — 本轮临时项目与 worktree 清理 ### ✅ M3 — 本轮临时项目与 worktree 清理

View File

@ -72,10 +72,10 @@
| ~~6~~ | ~~P8g UI 一键接入~~ ✅ | M | P8e 后 | human_verify 交用户 | | ~~6~~ | ~~P8g UI 一键接入~~ ✅ | M | P8e 后 | human_verify 交用户 |
| ~~并行~~ | ~~删除项目登记时一并解绑 Gitea 仓库~~ ✅ G8 | S/M | master | 来自重复登记排查会话的推荐任务卡(轮询会继续往已删除的项目 ID 写数据),主要改 projects.rs / gitea.rs,可并行 | | ~~并行~~ | ~~删除项目登记时一并解绑 Gitea 仓库~~ ✅ G8 | S/M | master | 来自重复登记排查会话的推荐任务卡(轮询会继续往已删除的项目 ID 写数据),主要改 projects.rs / gitea.rs,可并行 |
| MVP-1 | project-dev-variables 人终验 → 并入 mvp-closure M5 | — | — | 用户 2026-10-04 定:以 enterprise-system 真实开发验证四条能力(开工/自验/交付/摩擦闭环),原 V13 终验并入;炼境侧只经 MCP 只读取证 | | MVP-1 | project-dev-variables 人终验 → 并入 mvp-closure M5 | — | — | 用户 2026-10-04 定:以 enterprise-system 真实开发验证四条能力(开工/自验/交付/摩擦闭环),原 V13 终验并入;炼境侧只经 MCP 只读取证 |
| MVP-2 | blueprint-buff 关账 → mvp-closure M2 | S | master | 核实:8 张卡全 ✅,14% 是未更新的进度数字;补 B2 终验记录后关账 | | MVP-2 | blueprint-buff 关账 → mvp-closure M2 ✅ | S | master | 8 张卡全 ✅,但 B2 终验被否决(IC10 误标),剩余为方案 C、冻结;模块保持 in_progress 90% |
| MVP-3 | 本轮清理 → mvp-closure M3 | — | — | 2026-10-04 agent 侧已完成(取消登记 2 个、删 worktree 5 个),剩 §5 的手动删除 | | MVP-3 | 本轮清理 → mvp-closure M3 | — | — | 2026-10-04 agent 侧已完成(取消登记 2 个、删 worktree 5 个),剩 §5 的手动删除 |
| MVP-4 | 常驻文档漂移修复 → mvp-closure M4 | S | master | 纯文档可直推;碰 agents-meta-rules 时同步检查接入包模板版本 | | MVP-4 | 常驻文档漂移修复 → mvp-closure M4 | S | master | 纯文档可直推;碰 agents-meta-rules 时同步检查接入包模板版本 |
| 扩展(冻结) | 部署控制面(project-capability-control-plane)、P4b–P4e、P5、P6、治理缺口 ②③(governance-feedback-loop)、DSH 接管(dsh-takeover-readiness)、Codex 模型切换(codex-model-switch)、多维视图(manage-multi-view)、架构演进(architecture-evolution)、intent-catalog Phase 4+(IC6–IC13:门控脚本、接线、书签交接、enterprise 试点——用户 2026-10-04 定继续冻结)、project-dev-variables V14–V16(测试账户落地到被忽略文件) | | | 2026-10-04 用户定:MVP 收口期间不派单,MVP 达成后再排 | | 扩展(冻结) | 部署控制面(project-capability-control-plane)、P4b–P4e、P5、P6、治理缺口 ②③(governance-feedback-loop)、DSH 接管(dsh-takeover-readiness)、Codex 模型切换(codex-model-switch)、多维视图(manage-multi-view)、架构演进(architecture-evolution)、intent-catalog Phase 4+(IC6–IC13:门控脚本、接线、书签交接、enterprise 试点——用户 2026-10-04 定继续冻结)、project-dev-variables V14–V16(测试账户落地到被忽略文件)、blueprint-buff 方案 C(files 重叠改记 DB 信号,B2 终验 2026-10-04 被否决后的升级路径) | | | 2026-10-04 用户定:MVP 收口期间不派单,MVP 达成后再排 |
| 扩展(冻结) | 概念占位登记显式化(UI 不选目录的占位登记) | S | — | 用户 2026-10-04 定:MVP 保持现状;出现具体干扰(诊断、统计、接入入口把占位当普通项目)再出 S 级确认卡 | | 扩展(冻结) | 概念占位登记显式化(UI 不选目录的占位登记) | S | — | 用户 2026-10-04 定:MVP 保持现状;出现具体干扰(诊断、统计、接入入口把占位当普通项目)再出 S 级确认卡 |
| 后续小修 | 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 主线后再做 | | 后续小修 | 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 热点文件的可并行 | | 后续小修 | backfill_notes_archive 静默跳过非 UTF-8 旧笔记(dev-manager-tauri 有 4 条);PR #34 审查遗留 L3(保留他项目 Codex 块不留痕)、L4(沉默统计并列偏向非规范 ID,补测试)、I1(注释说明两处语义差异)、I2(沉默列表带 id) | S | master | 不碰 P8 热点文件的可并行 |