Files
git-learn/openspec/changes/archive/2026-09-18-migrate-devflow-archives/design.md
T
zhuyongxin 24a71e78f1 Harden dev-flow: pre-authorization marker, alternatives log, check script
- Record rejected answers in decision.md at the moment they are rejected

- Allow explicit pre-authorized Build via a pre-authorized marker line

- Land scripts/check-dev-flow.sh and derive devflow/index.md from archives

- Add dev-flow process artifacts (decisions, prd) for open changes
2026-09-18 18:23:18 +08:00

2.8 KiB

Context

dev-flow 重设计后,决策档案唯一落点为 openspec/changes/<slug>/decision.md。旧 devflow/projects/(9 项目/37 文件,四套命名约定并存)需按"寿命规则"处置:跨变更活的留(并入 decision.md 或 glossary),随变更死的不留(骨架删除)。

本 change 只执行单样本(2026-05-18-knowledge-index-panel),验证规则;批量迁移是后续独立 change。

Goals / Non-Goals

Goals

  • knowledge-index-panel 获得合规的 decision.md(迁移自 ADR-0001,五节俱全)
  • PRD 独有内容(User Stories、测试决策、Out of Scope)不丢失
  • glossary 引用不因迁移产生死链
  • 迁移规则本身作为 decision 沉淀,可被批量迁移引用

Non-Goals

  • 不批量处理其余 8 个项目
  • 不删除 devflow/projects/ 任何文件(删除动作在批量规则稳定后)
  • 不处理 add-year-filter(已有 decision.md)与 sm-flow-execution-hardening(待其自身 Close)

Decisions

决策 理由 备选
ADR-0001 转译为 decision.md 而非原样复制 旧格式(背景/决策/替代方案/后果)→ 新五节骨架,Alternatives 转 Q&A 形态;migrated-from 注释保留溯源 原样复制(格式两套并存)
PRD 收存为 change 内 prd.md User Stories/测试决策/Out of Scope 是 proposal 没有的独有内容;v3.1 规则"复杂需求才留 PRD"在此适用 删除(丢失独有内容)/留在 devflow(违反唯一权威)
溯源用 HTML 注释而非正文小节 注释不渲染不干扰阅读,机器可查 正文"来源"小节(视觉噪音)
首次迁移不删源文件 删除是破坏性动作;规则未经批量验证前保守 迁移即删(不可逆风险)

Risks / Trade-offs

  • devflow/projects 旧文件与新 decision.md 短暂双存在(至批量清理):接受——单样本期间删除更危险;glossary 已指向新位置,旧 ADR 无入边
  • PRD 中 Implementation Decisions 小节与 design.md 可能重复:接受——PRD 是历史文档,冻结收存,不回改

Migration Plan

单样本流程(批量迁移按此规则执行):

  1. 评估旧项目文件:有独有决策/备选/取舍 → 并入对应 change 的 decision.md;纯骨架/与 OpenSpec 重复 → 标记待删
  2. 转译格式:旧四节 → 新五节,备选转 Q&A 形态,加 migrated-from 溯源注释
  3. PRD 等独有产物收存进 change 目录(冻结,不回改)
  4. glossary 等活文件中的路径引用同步更新
  5. 源文件暂不删,批量规则稳定后统一清理

Open Questions

  • 其余 8 个项目中,dev-flow-skill-evaluation 的评估结论已沉淀进 workflow.md 演进史,其 todo.md 大概率可删——留批量时判断
  • sm-flow-v3-1-upgrade 等后期项目的 decisions.md 含真实取舍(术语裁决、产物瘦身决策),逐条评估是否值得并入 sm-flow 归档——批量时逐项目处置