harden and streamline sm-flow protocol
This commit is contained in:
@@ -2,6 +2,21 @@
|
||||
|
||||
当子 skill 无法直接调用时使用这些协议。Fallback 不是绕过 OpenSpec 的许可;v3 中 fallback 的目标仍然是生成、修正或执行 OpenSpec 产物。使用任何 fallback 前必须先向用户说明:目标子 skill、无法调用原因、降级协议名称、降级风险。产物中也必须记录“本阶段为 fallback 降级执行”。
|
||||
|
||||
## Fallback 记录要求
|
||||
|
||||
任何 fallback 都必须同时满足以下记录要求:
|
||||
|
||||
1. 在对用户的阶段汇报里声明:
|
||||
- 目标 capability
|
||||
- 不可用原因
|
||||
- 使用的 fallback 协议名
|
||||
- 本次降级风险
|
||||
2. 在 `decisions.md`、`evidence.md` 或 `acceptance.md` 中留下同样的降级记录。
|
||||
3. 如果当前阶段需要 checkpoint,则 fallback 声明是 checkpoint 完成条件的一部分。
|
||||
4. 如果没有完成这些声明和记录,该阶段不得视为已完成。
|
||||
|
||||
除非某个 fallback 额外说明,否则下面各节默认继承这组通用记录要求,不再重复要求“记录本阶段 fallback 声明”。
|
||||
|
||||
## OpenSpec 提案 fallback
|
||||
|
||||
1. 创建或识别 `openspec/changes/{slug}/`。
|
||||
@@ -27,6 +42,7 @@
|
||||
3. 向用户汇报冲突和推荐修正。
|
||||
4. 用户确认后,优先修正 OpenSpec proposal/design/specs/tasks。
|
||||
5. 再同步更新 devflow 文档;不要只改 devflow。
|
||||
6. 额外记录冲突修正状态。
|
||||
|
||||
## OpenSpec 执行 fallback
|
||||
|
||||
@@ -48,6 +64,7 @@
|
||||
10. 只有验证通过或明确记录原因后,才更新 task 状态。
|
||||
11. 如果失败原因不确定,停止并进入 diagnose。
|
||||
12. 如果 diagnose 证明规格不准,先修正 OpenSpec,再继续执行。
|
||||
13. 额外记录任务推进状态和验证状态。
|
||||
|
||||
## PRD fallback
|
||||
|
||||
@@ -58,6 +75,7 @@
|
||||
- 从当前上下文、devflow 记忆和 OpenSpec 产物综合,不要机械复制。
|
||||
- `brief.md` 或 PRD 用来表达用户价值、范围和验收口径;不能替代 OpenSpec specs/tasks。
|
||||
- 只有当缺失决策会阻塞 OpenSpec 正确性时,才采访用户。
|
||||
- 额外记录是否创建了独立 `prd.md`。
|
||||
|
||||
## 文档化追问 fallback
|
||||
|
||||
@@ -68,6 +86,7 @@
|
||||
5. 术语确认后立即更新词汇表。
|
||||
6. 影响实现的澄清必须回写 OpenSpec。
|
||||
7. 只为难以逆转的真实权衡创建 ADR。
|
||||
8. 额外记录 question pool 和已消费问题。
|
||||
|
||||
快速模式的最小问题:
|
||||
|
||||
@@ -85,6 +104,7 @@
|
||||
4. 检查是否与词汇表、ADR 和 OpenSpec design 冲突。
|
||||
5. 用不超过五句话总结最大风险。
|
||||
6. 如果影响实现,回写 OpenSpec design/tasks。
|
||||
7. 额外记录审计结论回写状态。
|
||||
|
||||
## Diagnose fallback
|
||||
|
||||
@@ -96,6 +116,7 @@
|
||||
6. 如果是实现问题,修复被证明的最小原因。
|
||||
7. 如果是规格问题,先修正 OpenSpec,再继续 apply。
|
||||
8. 运行回归验证。
|
||||
9. 额外记录根因分类和回归结果。
|
||||
|
||||
## TDD fallback
|
||||
|
||||
@@ -106,4 +127,5 @@
|
||||
3. 实现刚好让测试通过的最小代码。
|
||||
4. 只在测试通过时重构。
|
||||
5. 对下一个 OpenSpec 行为重复以上步骤。
|
||||
6. 额外记录当前行为切片的测试状态。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user