Files
git-learn/skill-workbench/docs/sm-flow/phase-contracts-v4.1-changelog.md
T
zhuyongxin b94ee31cb1 sm-flow v4.1: add pre-apply research checkpoint to reduce rework
Based on real execution review (shandong-intent-sync), apply phase
suffered from 4-5 rework cycles due to insufficient upfront research.

Changes:
- grill: add technical implementation dimension to question pool
- apply: add mandatory pre-apply checkpoint (15-20min research)
  - read reference implementations thoroughly
  - grep key tech stack patterns
  - form tech stack checklist in decisions.md
- apply: add incremental implementation guidance
- apply: add first-module alignment check
- apply: add fast-fail rule (≥2 rework → pause)

Expected impact:
- Rework: 4-5 cycles → 0-1 cycle (-80%)
- Core feature empty impl: 100% → 0%
- ROI: 200% (invest 20min, save 60min)

Complexity: +55 lines to phase-contracts.md (+20%)
Approach: simplified version (plan B) to balance value vs overhead

Docs:
- phase-contracts.md: updated grill + apply phases
- workflow.md: added v4.1 evolution chapter
- phase-contracts-v4.1-changelog.md: detailed change log
- sm-flow-execution-review-shandong-intent-sync.md: source review
2026-06-23 11:27:32 +08:00

6.3 KiB
Raw Blame History

SM Flow Phase Contracts v4.1 更新日志

更新日期: 2026-06-23
更新原因: 基于"山东商客意向单同步接口"执行复盘
更新方案: 方案 B(简化版)


更新概览

核心目标: 减少 apply 阶段的返工次数(从 4-5 次降低到 0-1 次)

更新范围:

  • ✅ grill 阶段:增加技术实现维度
  • ✅ apply 阶段:增加 Pre-apply Checkpoint

文本增量: +55 行(从 281 行 → 336 行,+20%)


详细修改

1. grill 阶段 — 增加技术实现维度

修改位置: phase-contracts.md 第 85-88 行

新增内容:

- **技术实现维度**(新增):当 proposal 提到参考实现、或涉及项目现有基础设施时,增加技术澄清问题:
  - 参考实现的具体文件路径是什么?
  - 项目现有的 [请求结构/MQ/缓存/加密/工具类] 标准是什么?
  - 有哪些技术点需要先调研或新建?

目的: 在 grill 阶段就识别技术调研需求,避免 apply 时才发现技术栈不熟悉。


2. apply 阶段 — 增加 Pre-apply Checkpoint

修改位置: phase-contracts.md 第 234-265 行

新增章节: Pre-apply Checkpoint(15-20 分钟)

触发条件(3 条)

  • design 或 tasks 中提到"参考 XXX 实现"
  • 需要调用项目现有基础设施(MQ/统一请求结构/工具类等)
  • 技术栈不熟悉或第一次在该项目实现类似功能

执行步骤(3 步)

  1. 完整阅读所有参考实现(约 10 分钟)

    • 从 OpenSpec design 或 tasks 中定位参考实现文件
    • 如果路径不明确,通过 Grep 搜索关键类名或模式
    • 逐行理解关键逻辑,提取可复用代码片段和模式
  2. Grep 关键技术栈(约 5 分钟)

    • 请求/响应结构模式
    • 消息队列模式
    • 统一工具类
    • 异常处理和日志记录标准
  3. 形成技术栈清单并写入 decisions.md

    • 项目使用的请求/响应结构标准
    • MQ 消息定义和发送标准
    • Consumer 标准位置和写法
    • 加密/验签/工具类的标准用法
    • 识别需要新建的工具类或基础设施

输出要求(3 条)

  • ✅ 技术栈清单已写入 decisions.md 的 "Pre-apply Research" 章节
  • ✅ 已列出所有参考实现的文件路径
  • ✅ 已识别需要新建的工具类/基础设施

快速模式支持

  • micro 分档可缩短为 5-10 分钟快速扫描,但仍需形成清单

3. apply 阶段 — 实现过程增强

修改位置: phase-contracts.md 第 267-284 行

新增要求:

  • 分步实现:建议按 Controller → Service → MQ/异步组件 → Consumer/下游 顺序
  • 首模块完成后对齐检查:完成第一个接口/模块后,对比 OpenSpec design/tasks,标记"已完成/TODO";核心功能不允许空实现或纯 TODO 注释
  • 快速失败:连续返工 ≥ 2 次时,暂停并重新执行 pre-apply checkpoint 或向用户汇报

4. apply 阶段 — 退出条件增强

修改位置: phase-contracts.md 第 286-292 行

新增退出条件:

  • ✅ 已完成 pre-apply checkpoint(如触发条件满足),技术栈清单已写入 decisions.md
  • ✅ 核心功能已实现或明确标注"待联调",无纯 TODO 占位

简化对比

与完整方案对比

维度 完整方案 简化方案 B 差异
文本增量 +100 行 +55 行 -45%
子阶段数 3 个(Phase 1/2/3) 1 个(Pre-apply Checkpoint) -67%
强制规则 9 条 5 条 -44%
检查清单 2 个详细清单 1 个简化清单 -50%
时间分档 3 档(15/20/30 分钟) 1 档(15-20 分钟) -67%

保留核心价值

✅ 保留(解决返工问题):

  • 前置调研(最重要)
  • 技术栈清单(防止想当然)
  • 核心功能不能空实现(保证质量)
  • 快速失败机制

❌ 简化(去掉过度约束):

  • 严格的执行顺序
  • 频繁的检查点
  • 详细的操作指南模板

预期效果

量化指标

指标 当前 目标 改善
返工次数 4-5 次 0-1 次 -80%
核心功能空实现率 高(3/3 核心功能) 0% -100%
实现时间(含返工) 2 小时 1.5 小时 -25%
前置调研时间 0 分钟 15-20 分钟 +20 分钟

ROI 分析

投入: 15-20 分钟调研
回报: 节省 60 分钟返工 + 避免核心功能遗漏
ROI = (60 - 20) / 20 = 200%

适用场景

✅ 强烈推荐

  • 中等及以上规模需求(3+ 接口或涉及多模块)
  • 涉及项目现有基础设施(MQ/统一请求结构/工具类)
  • 第一次在该项目实现类似功能
  • 设计文档提到"参考 XXX 实现"

🟡 可选执行

  • micro 分档的简单需求(可缩短为 5-10 分钟)
  • 纯数据处理或工具脚本(技术栈熟悉)

❌ 不推荐

  • 紧急热修复(时间紧急)
  • 一次性脚本(不涉及项目标准)

后续优化方向

短期(1-2 个需求后)

  • 收集数据:实际调研时间、返工次数、遗漏率
  • 验证效果:是否达到预期 ROI
  • 调整参数:时间要求、触发条件

中期(观察 5+ 个需求后)

如果效果显著,考虑升级为完整方案:

  • 增加 Alignment Checkpoint(每模块对齐检查)
  • 增加详细的技术栈清单模板
  • 增加分步实现的每步验证要求

长期(跨项目验证后)

  • 提取通用技术栈清单模板(Java/Go/Python 等)
  • 建立参考实现库(常见模式的最佳实践)
  • 自动化部分调研步骤(Grep 脚本、清单生成)

实施检查清单

立即验证

  • phase-contracts.md 文件已更新
  • grill 阶段增加了技术实现维度
  • apply 阶段增加了 Pre-apply Checkpoint
  • apply 退出条件增加了 2 条新检查
  • 文件语法无误,可以正常解析

下次执行验证

  • agent 是否正确识别触发条件
  • agent 是否执行了完整的 3 步调研
  • 技术栈清单是否写入 decisions.md
  • 是否有效减少了返工次数
  • 核心功能是否避免了空实现

附录:复盘案例链接

  • 原始复盘文档: skill-workbench/docs/sm-flow/sm-flow-execution-review-shandong-intent-sync.md
  • 修改前版本: phase-contracts.md (commit: 待补充)
  • 修改后版本: phase-contracts.md (commit: 待补充)