harden sm-flow protocol and archive v4.0 validation runs
- Rewrite hard constraint #1: apply must read Committed OpenSpec files as the execution source of truth - Promote sub-skill invocation to hard constraint #6; remove fallbacks.md and all degradation paths - Add file existence verification at commit and archive exit gates - Require grill question pool, evidence-driven conclusions, and user-interview confirmations to be written to decisions.md - Record v4.0 validation retrospective in workflow.md: propose overreach, sub-skill pseudo-calling, spec omitting user behavior - Archive knowledge-index-sort OpenSpec and devflow entries from prior run
This commit is contained in:
@@ -795,3 +795,27 @@ v4:
|
||||
| 冲突分类 | 4 类(实现偏差/规格遗漏/设计冲突/用户变更) | 2+1(OpenSpec 不准/代码偏离/不确定) |
|
||||
| micro 模式 | 压缩产物 | 合并 gate |
|
||||
| 质量约束 | 文字描述 | 可观测产出(写入文件 + checkpoint) |
|
||||
|
||||
## v4.0 验证执行复盘(2026-05-25)
|
||||
|
||||
用 entry-expand-collapse 需求跑了一轮完整 sm-flow 流程,验证 v4.0 协议的可执行性。功能变更已回滚,仅保留验证发现。
|
||||
|
||||
### 暴露的问题
|
||||
|
||||
| # | 问题 | 具体表现 | 分析结论 |
|
||||
|---|------|----------|----------|
|
||||
| 1 | propose 阶段越界 | 在 propose 阶段一次性生成了 proposal + design + specs + tasks,跳过 grill 和 specify | 需求小时 agent 本能跳过门控。现有硬约束 #3(不得跳过 grill)和阶段流程顺序已覆盖,属于执行层面问题,不需要改协议 |
|
||||
| 2 | 子 skill 伪调用 | grill 阶段读了 grill-with-docs 的 SKILL.md 后自行执行,audit 阶段跳过了 zoom-out | Skill 工具调用和 Read 后执行效果等价,关键是"不能跳过"而非"用什么工具调用"。硬约束 #6 已覆盖,不需要改协议 |
|
||||
| 3 | spec 遗漏用户行为 | spec 写的是"添加 .expanded class"(实现细节),没有写"展开后显示完整正文"(用户可观察行为) | 导致第一版实现只切换了 CSS class,正文内容仍显示截断文本。spec 应描述用户可观察的结果而非实现方式 |
|
||||
|
||||
### 做对的部分
|
||||
|
||||
- clarify + context 合并执行正确(micro 模式)
|
||||
- grill 的 evidence-driven / user-interview 分类和 one-at-a-time 节奏执行到位
|
||||
- commit gate 的文件存在性检查生效
|
||||
- apply 阶段的冲突分类(代码偏离)处理正确
|
||||
- devflow 延迟写入(只维护 decisions.md)降低了维护成本
|
||||
|
||||
### 后续观察项
|
||||
|
||||
问题 1 和 2 暂不改协议,如果多次验证中反复出现再考虑加约束。问题 3 需要在下次 specify 阶段验证:spec scenario 是否自然地描述用户行为而非实现细节。
|
||||
|
||||
Reference in New Issue
Block a user