W15: conflict resolution — E7 CRITICAL gate, T11/T18 audit refs, §5 metadata check, PROMPT_TEMPLATE Fixes (W15.4-W15.9)
- 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:
@@ -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→VOTE→OPTIMIZE→INTEGRATE 压缩为 PROPOSE→EXECUTE 的合法短路径。快跳适用条件为以下 **全部 6 条** 同时满足:
|
||||
快跳(EXPRESS)是将 PROPOSE→VOTE→OPTIMIZE→INTEGRATE 压缩为 PROPOSE→EXECUTE 的合法短路径。快跳适用条件为以下 **全部 7 条** 同时满足:
|
||||
|
||||
| # | 条件 | 验证方式 |
|
||||
|---|------|----------|
|
||||
@@ -205,8 +206,9 @@
|
||||
| E4 | 不新增公共 API 面:无新 `dstalk_` 前缀函数声明、无新插件接口结构体 | diff 中公共头文件无新增函数声明 |
|
||||
| E5 | 不涉及跨模块依赖变更:改动文件涉及 ≤ 2 个顶层目录(如 `dstalk-core/`、单个 `plugins/<name>/`) | `git diff --dirstat HEAD` 目录数 ≤ 2 |
|
||||
| E6 | CEO 在 WORKFLOW.md §7 任务条目中显式标注 `[EXPRESS]` | 人工核对 §7 |
|
||||
| E7 | 无 OPEN 状态的 CRITICAL 发现(见 §14.3 CRITICAL 阻塞规则) | `grep "CRITICAL.*OPEN" agents/audits/findings-registry.md` 输出为空 |
|
||||
|
||||
满足全部 E1-E6 → CEO 可声明 EXPRESS 快跳,任务直接进入 EXECUTE(跳过 VOTE / OPTIMIZE / INTEGRATE),对应转换规则 **T17**。
|
||||
满足全部 E1-E7 → 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 测试目标数 ≥ 上一波 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 测试目标数 ≥ 上一波 AND profile.md 已更新 AND 无未跟踪临时文件 AND git diff 无无关改动 | CEO |
|
||||
| T12 | INSPECT | EXECUTE | 验收失败但满足全部:根因可定位到具体文件+行号 AND ≤2 个文件 AND ≤30 行改动 AND 不需重新设计 | CEO |
|
||||
| T13 | INSPECT | OPTIMIZE | 验收暴露以下任一设计问题:接口不兼容(编译通过但运行时错)/ 性能偏差 >50% / 架构假设被证伪(如单线程假设在多线程场景崩溃) | CEO |
|
||||
| T14 | INSPECT | ROLLBACK | 验收发现不可逆副作用:文件错误删除或覆盖 / 二进制损坏 / .git 目录状态异常 | CEO |
|
||||
| T15 | INSPECT | ABORT | CEO 判定继续修复成本 > 重新执行成本(需改 >5 个文件且涉及多个执行者重新协调) | CEO |
|
||||
| T16 | ANY | ABORT | 用户明确指令中止 OR 触发安全红线(凭证泄露、未加密敏感数据落盘) | CEO |
|
||||
| T17 | PROPOSE | EXECUTE | EXPRESS 快跳:同时满足 E1-E6(见 §11.2.1 EXPRESS 条件表)AND CEO 在 §7 任务条目标注 `[EXPRESS]` | CEO |
|
||||
| T17 | PROPOSE | EXECUTE | EXPRESS 快跳:同时满足 E1-E7(见 §11.2.1 EXPRESS 条件表)AND CEO 在 §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. 失败的发现退回 ASSIGNED(REOPEN) | 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) — 发现注册表(单一事实来源)
|
||||
|
||||
Reference in New Issue
Block a user