W15: conflict resolution — E7 CRITICAL gate, T11/T18 audit refs, §5 metadata check, PROMPT_TEMPLATE Fixes (W15.4-W15.9)
Some checks failed
CI / Determine matrix (push) Has been cancelled
CI / ${{ matrix.os }} / ${{ matrix.build_type }} (push) Has been cancelled

- W15.4 (杨帆): §11/§14 cross-reference audit — PASS-WITH-NOTES, 3 fixes needed
- W15.5 (王测): §14 internal consistency — PASS-WITH-NOTES, 4 fixes needed
- W15.6 (胡桐): self-check script + YAML verification — PASS
- W15.7 (杨帆): Add E7 (no OPEN CRITICAL) to EXPRESS conditions, update T11 to include §14.4 A1-A4, add T18 finding status in §14.5
- W15.8 (王测): Fix findings-registry Close Date, add historical finding time-limit rule, add legacy audit Findings Summary note, add Fixes annotation to PROMPT_TEMPLATE
- W15.9 (胡桐): Fix false-positive warning in check_agents_metadata.py (skip audits/ dir), add metadata check to §5

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 18:33:02 +08:00
parent 0e41c8c6f6
commit f010af6c07
7 changed files with 62 additions and 11 deletions

View File

@@ -45,6 +45,7 @@
- **每波结束**:跑一次完整 `cmake --build build --config Release` + `ctest -R smoke`
- **预存 bug**:发现编译错时先 `git stash` 试 master 是否干净——区分"子代理引入"和"预存 bug"。预存 bug CEO 自己改不甩锅
- **stale obj 问题**clang-cl 增量构建偶尔不识别源文件修改lsp_plugin/tools_plugin 踩过坑),症状是编译报告的行号源码内容与磁盘不符。解法:`rm -f build/**/<file>.cpp.obj` 强制重编
- **元数据完整性**:每波开始前运行 `python scripts/check_agents_metadata.py` 验证 agents/ 元数据完整性YAML / rating / 引用一致性0 error 才能进入执行阶段
- **CEO 验收通过后立刻 commit + push**(用户硬规则:"别忘了每次通过ceo验收的提交git并推送"
## 6. 关键技术约束(已踩坑,全员必读)
@@ -195,7 +196,7 @@
### 11.2.1 EXPRESS 快跳路径
快跳EXPRESS是将 PROPOSE&rarr;VOTE&rarr;OPTIMIZE&rarr;INTEGRATE 压缩为 PROPOSE&rarr;EXECUTE 的合法短路径。快跳适用条件为以下 **全部 6** 同时满足:
快跳EXPRESS是将 PROPOSE&rarr;VOTE&rarr;OPTIMIZE&rarr;INTEGRATE 压缩为 PROPOSE&rarr;EXECUTE 的合法短路径。快跳适用条件为以下 **全部 7** 同时满足:
| # | 条件 | 验证方式 |
|---|------|----------|
@@ -205,8 +206,9 @@
| E4 | 不新增公共 API 面:无新 `dstalk_` 前缀函数声明、无新插件接口结构体 | diff 中公共头文件无新增函数声明 |
| E5 | 不涉及跨模块依赖变更:改动文件涉及 &le; 2 个顶层目录(如 `dstalk-core/`、单个 `plugins/<name>/` | `git diff --dirstat HEAD` 目录数 &le; 2 |
| E6 | CEO 在 WORKFLOW.md &sect;7 任务条目中显式标注 `[EXPRESS]` | 人工核对 &sect;7 |
| E7 | 无 OPEN 状态的 CRITICAL 发现(见 §14.3 CRITICAL 阻塞规则) | `grep "CRITICAL.*OPEN" agents/audits/findings-registry.md` 输出为空 |
满足全部 E1-E6 &rarr; CEO 可声明 EXPRESS 快跳,任务直接进入 EXECUTE跳过 VOTE / OPTIMIZE / INTEGRATE对应转换规则 **T17**
满足全部 E1-E7 &rarr; CEO 可声明 EXPRESS 快跳,任务直接进入 EXECUTE跳过 VOTE / OPTIMIZE / INTEGRATE对应转换规则 **T17**
**EXPRESS 升级**:若执行者在 EXECUTE 阶段发现任务实际超出 EXPRESS 条件E1-E5 任一条不再成立),须立即报告 CEO。CEO 核实后移除 `[EXPRESS]` 标签并替换为 `[ESCALATED]`,任务从 EXECUTE 退回 VOTE 走完整治理路径,对应转换规则 **T18**
@@ -224,13 +226,13 @@
| T8 | EXECUTE | INSPECT | 所有指派的执行者子代理均已返回 done 报告(含 cmake build 0 error + ctest 100% pass 自述) | 自动(全员 done |
| T9 | EXECUTE | ROLLBACK | 任一执行者报告以下任一情况且 CEO 判定不可原地修复:段错误 / ABI 破坏 / CMake 无法 configure / 数据文件损坏 | CEO |
| T10 | EXECUTE | ABORT | CEO 判定需求不再成立 OR 外部依赖不可用 | CEO |
| T11 | INSPECT | SUCCESS | §12 验收清单全部通过cmake configure 0 error AND cmake build 0 error 0 warning(改动文件) AND ctest 100% pass AND 测试目标数 &ge; 上一波 AND profile.md 已更新 AND 无未跟踪临时文件 AND git diff 无无关改动 | CEO |
| T11 | INSPECT | SUCCESS | §12 验收清单 + §14.4 A1-A4 全部通过cmake configure 0 error AND cmake build 0 error 0 warning(改动文件) AND ctest 100% pass AND 测试目标数 &ge; 上一波 AND profile.md 已更新 AND 无未跟踪临时文件 AND git diff 无无关改动 | CEO |
| T12 | INSPECT | EXECUTE | 验收失败但满足全部:根因可定位到具体文件+行号 AND &le;2 个文件 AND &le;30 行改动 AND 不需重新设计 | CEO |
| T13 | INSPECT | OPTIMIZE | 验收暴露以下任一设计问题:接口不兼容(编译通过但运行时错)/ 性能偏差 &gt;50% / 架构假设被证伪(如单线程假设在多线程场景崩溃) | CEO |
| T14 | INSPECT | ROLLBACK | 验收发现不可逆副作用:文件错误删除或覆盖 / 二进制损坏 / .git 目录状态异常 | CEO |
| T15 | INSPECT | ABORT | CEO 判定继续修复成本 &gt; 重新执行成本(需改 &gt;5 个文件且涉及多个执行者重新协调) | CEO |
| T16 | ANY | ABORT | 用户明确指令中止 OR 触发安全红线(凭证泄露、未加密敏感数据落盘) | CEO |
| T17 | PROPOSE | EXECUTE | EXPRESS 快跳:同时满足 E1-E6(见 &sect;11.2.1 EXPRESS 条件表AND CEO 在 &sect;7 任务条目标注 `[EXPRESS]` | CEO |
| T17 | PROPOSE | EXECUTE | EXPRESS 快跳:同时满足 E1-E7(见 &sect;11.2.1 EXPRESS 条件表AND CEO 在 &sect;7 任务条目标注 `[EXPRESS]` | CEO |
| T18 | EXECUTE | VOTE | EXPRESS 升级:执行者报告任务实际范围超出 EXPRESS 条件E1-E5 任一条不再成立AND CEO 核实后将 `[EXPRESS]` 改为 `[ESCALATED]` | CEO |
### 11.4 状态进入/退出动作
@@ -439,6 +441,8 @@ CRITICAL 阻塞规则:
- 如果进入 EXECUTE 阶段时仍有 OPEN 状态的 CRITICAL 发现CEO 必须明确决策:(a) 本波优先修 CRITICAL或 (b) 标记 WONTFIX附理由或 (c) 降级为 HIGH附降级理由
- 不允许带着 OPEN CRITICAL 发现进入 SUCCESS
**历史发现时限计算**:对于在本机制建立之前已存在的审计发现(如 F-11.x 系列),时限从 findings-registry.md 初始化日期2026-05-27开始计算而非从原始审计日期计算。即 F-11.1-1 (HIGH) 的修复期限为 2026-05-27 + 2 Wave = W17 前。
### 14.4 CEO 审查协议(新增验收项)
在 §12 验收清单基础上INSPECT 阶段追加以下检查项:
@@ -468,6 +472,7 @@ CRITICAL 阻塞规则:
| INSPECT | 1. 执行 §14.4 A1-A4 检查 2. 通过的发现 FIXED → VERIFIED → CLOSED 3. 失败的发现退回 ASSIGNEDREOPEN | CEO |
| SUCCESS | 1. 本波 CLOSED 的发现从 Open 分区移到 Closed 分区 2. 记录关闭日期和 Fix Wave | CEO |
| ABORT | 本波 ASSIGNED 的发现回退到 OPEN修复未发生 | CEO |
| (T18) | 本波 ASSIGNED 的 finding 保留 ASSIGNED 状态,不回退 OPEN升级不是中止 | CEO |
### 14.6 审计人职责
@@ -479,6 +484,8 @@ CRITICAL 阻塞规则:
审计人完成登记后通知 CEO 或 QA 组长进行 triage。
**存量审计报告**`agents/audits/` 中已有的审计报告W11.1-W13.6)缺少 Findings Summary 小节。QA 组长应在每个存量报告被引用时补充该小节,优先级为 MEDIUM不阻塞当前工作。
### 14.7 关联文档
- [findings-registry.md](audits/findings-registry.md) — 发现注册表(单一事实来源)