Files
SuperBizAgent-java/.claude/skills/sm-flow/references/fallbacks.md
T
2026-07-06 09:15:51 +08:00

3.0 KiB

内置执行协议

本文件只在外部 OpenSpec CLI 或子 skill 不可用时使用。fallback 不是跳过阶段,而是由 sm-flow 用文件方式完成同等最小产物。每次使用 fallback 都必须写入 decisions.md 或 acceptance.md,说明能力来源、缺失能力、影响和剩余风险。

通用规则

  • 优先使用外部能力;只有不可用、不可发现或无法在当前环境调用时才使用内置协议。
  • 不得因为使用 fallback 跳过 context、grill、commit、apply 授权或 archive 确认。
  • fallback 产物仍写入 openspec/changes/{slug}/ 和 devflow/projects/YYYY-MM-DD-{slug}/。
  • 如果内置协议也无法满足阶段退出条件,暂停并向用户说明阻塞项。

grill 内置协议

  • 建立 question pool,至少覆盖术语、边界、验收;涉及参考实现或项目基础设施时加入技术实现问题。
  • 将问题标记为 evidence-driven 或 user-interview。
  • 先查证 evidence-driven 问题并汇报结论,再逐个询问 user-interview 问题。
  • 按 references/scales.md 的当前分档满足 grill 要求。
  • 将 question pool、证据结论、用户原话和确认状态写入 decisions.md;影响实现的结论回写 proposal.md。

openspec 提案内置协议

  • 在 openspec/changes/{slug}/ 创建或更新:
    • proposal.md:问题、方案、范围、非目标、上下文约束、风险。
    • 设计产物:实现设计、接口影响、关键决策、架构风险;形式按 references/scales.md 的当前分档要求执行。
    • specs/*/spec.md 或等价 functional spec:描述用户可观察行为和验收场景。
    • tasks.md:按可执行切片拆分任务,并给每项写可验证验收标准。
  • 运行 cross-artifact 对齐检查:proposal → 设计产物 → specs → tasks。
  • 如果发现 gap,先修正 OpenSpec,再进入 commit。

audit 内置协议

  • 用 5 句话以内说明模块链路、数据所有权、跨模块依赖、架构风险和是否需要回写 OpenSpec。
  • 如果风险影响实现,修正设计产物或 tasks.md。
  • 将结论写入 decisions.md。

openspec apply 内置协议

  • 只依据 Committed OpenSpec 的 specs/tasks 实现;devflow 只作上下文参考。
  • 开始前检查 .committed 文件;缺失则返回 commit。
  • 如触发 pre-apply checkpoint,先阅读参考实现、grep 项目基础设施模式,并把技术栈清单写入 decisions.md。
  • 按 tasks 的纵向切片实现、验证并更新任务状态。
  • 发现冲突时按三类处理:OpenSpec 不准则修 OpenSpec,代码偏离则修代码,不确定则暂停等用户确认。

openspec archive 内置协议

  • 不删除或移动 OpenSpec change;只标记归档准备状态。
  • 完成 devflow 回填、更新 devflow/index.md、创建 .archive-ready。
  • 向用户汇报已创建文件、验证分类、剩余风险,并询问是否需要真实 OpenSpec archive。
  • 如果外部 archive 能力仍不可用,在 acceptance.md 标记 accepted-unarchived。