Files

77 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SM Flow Execution Hardening Decisions
## User-interview
| 问题 | 用户回答 | 决策 | OpenSpec 回写 |
| --- | --- | --- | --- |
| 这次是否将复盘问题提炼为正式需求? | “[$sm-flow] 提炼成需求” | 创建 `sm-flow-execution-hardening` 需求档案,先收敛需求,再决定是否进入 OpenSpec。 | 不影响 |
| 是否必须产出固定 checkpoint / alignment 模板? | “确认 1” | 不强制固定模板;协议只要求必填字段和检查动作。 | 已回写 |
| 验收是否要求统一阶段汇报格式? | “确认1” | 验收停在协议明确 gate、问题池和对齐规则,不要求统一阶段汇报格式。 | 已回写 |
## Phase 2 Tracking
| 问题池项 | 模式 | 状态 | 备注 |
| --- | --- | --- | --- |
| Q1:是否必须产出固定 checkpoint / alignment 模板 | user-interview | 待确认 | 会影响 templates.md 与 tasks 范围 |
| Q2:协议主术语采用 checkpoint 还是 checklist | evidence-driven | 待整理 | 优先由现有文档术语一致性决定 |
| Q3:验收是否要求统一阶段汇报格式 | user-interview | 已确认 | 验收停在规则层,不扩到统一输出格式 |
| Q4:workflow 是否需要保留复盘案例示例 | evidence-driven | 待整理 | 主要影响 workflow 文档粒度 |
## Phase 2.5 审计结论
- 决策:主术语采用 `checkpoint`,`checklist` 作为内部核对动作描述。
- 原因:仓库现有 `phase-contracts.md` 已使用 `Human checkpoint`,继续沿用能减少术语漂移。
- 影响:后续协议修改应优先写“phase checkpoint”,避免在规则层混用主术语。
- 风险接受:当前接受
- 决策:`workflow.md` 不扩成案例手册,继续保留规则抽象和演进说明;具体复盘案例留在 `retrospective.md`。
- 原因:如果把案例并入 workflow,规则与示例会双份维护,后续更容易漂移。
- 影响:执行真理源继续留在 `SKILL.md` / `phase-contracts.md` / OpenSpec,而不是 workflow 长文。
- 风险接受:当前接受
## Phase 2.9 Commit Result
- 决策:`sm-flow-execution-hardening` 当前 Draft OpenSpec 通过 commit gate,视为 Committed OpenSpec。
- 原因:proposal、design、specs、tasks 已完整;user-interview 已确认;evidence-driven 结论已汇报;未发现 devflow/OpenSpec 冲突。
- 影响:可以进入 Phase 3 修改协议文件,但仍需单独的 apply 授权。
- 风险接受:当前接受
## 关键取舍
- 决策:将本轮定位为 `complex` 分档。
- 原因:虽然不涉及业务代码,但它影响 `sm-flow` 的多个核心文件、阶段协议和验收方式,且包含多处跨文档一致性约束。
- 影响:使用 `brief.md`、`prd.md`、`evidence.md`、`decisions.md` 四类产物,而不是只写简短 brief。
- 风险接受:当前接受
- 决策:不复用 `sm-flow-v3-1-upgrade` 项目,而是新开需求档案。
- 原因:`v3.1` 已归档且目标不同;本轮关注的是执行稳定性,不宜混入已完成升级项目。
- 影响:后续若进入 OpenSpec,可独立创建新 change。
- 风险接受:当前接受
- 决策:将“规则存在但执行不稳”定义为首要问题。
- 原因:复盘中的多个现象都能收敛到这一点,能避免后续需求继续发散。
- 影响:后续需求改造应优先考虑 checklist、阶段 gate、显式声明和一致性检查。
- 风险接受:当前接受
## Phase 3 Implementation Record
- 决策:Phase 3 以本地 `openspec-apply-change` `SKILL.md` 作为 capability 来源继续执行。
- 原因:当前环境可读取对应 skill 协议,且用户已通过“apply”明确授权进入 Phase 3。
- 影响:本轮实现按 committed OpenSpec 的 task 切片直接修改协议与工作流文档。
- 风险接受:当前接受
- 决策:本轮不修改 `templates.md`。
- 原因:用户已确认不要求固定 checkpoint / alignment 模板,也不要求统一阶段汇报格式;OpenSpec task 2.4 的目标是保持模板可选。
- 影响:实现集中在 `SKILL.md`、`phase-contracts.md`、`fallbacks.md`、`workflow.md`,避免把协议硬化扩大成模板标准化。
- 风险接受:当前接受
- 决策:把“checkpoint 缺失则阶段不算完成”写入顶层协议和阶段契约,而不是只放在说明文档。
- 原因:这是决定阶段能否前进的硬 gate,必须落在执行真理源。
- 影响:Phase 0、0.5、1、2、2.5、2.9 现在都需要显式 checkpoint 和 capability 声明。
- 风险接受:当前接受
- 决策:将 Phase 2 question pool、Phase 1.5/2.9 cross-artifact 对齐、`micro` gate 保留和 fallback 记录要求同步落在协议正文与 workflow 说明。
- 原因:这些规则既要可执行,又要便于人类理解;单独放在一处容易再次漂移。
- 影响:OpenSpec、协议正文和 workflow 解释层的关键术语已收敛到同一套执行规则。
- 风险接受:当前接受