| name | sf-close |
| description | 完成 SpecForge 关闭阶段;用于当前 workflow 已到 wiki_sync / closure,需要 Wiki sync、release、rollback、doctor、archive dry-run 和 archive 时。 |
sf-close
运行目录
执行任何 node .specforge/... 命令或读取 .specforge/... 文件前,必须先定位宿主项目根:项目根是“包含 .specforge/ 目录的业务项目目录”,不是 .specforge/ 目录本身。若当前目录是 .specforge/ 或其任意子目录,先 cd .. 回到宿主项目根;若当前目录是 frontend/、backend/ 等子目录,也先向上回到包含 .specforge/ 的项目根。禁止从 .specforge/ 内执行 node .specforge/core/scripts/...,否则会形成 .specforge/.specforge/... 的错误路径。
sf-close 完成 work item 的最后收口:同步长期知识、写发布和回滚记录、跑归档前检查、归档。关闭不是“结束对话”,而是确认知识、发布风险和回退路径都已经落地。
必读
references/closure-gate-checklist.md:wiki sync 判断、release / rollback 对账、archive 和安装提示边界。
.specforge/skills/sf-wiki/stages/wiki-sync/SKILL.md
.specforge/skills/sf-close/stages/closure/SKILL.md
.specforge/core/artifacts/templates/wiki-sync.md
.specforge/core/artifacts/templates/release.md
.specforge/core/artifacts/templates/rollback.md
.specforge/core/standards/workflow.md
.specforge/core/standards/wiki.md
.specforge/core/standards/engineering.md
.specforge/core/standards/ai-toolkit.md
.specforge/core/skills/code-intelligence/SKILL.md(wiki sync / close 需要按 diff 判断 Wiki 刷新目标时)
启动扫描
运行:
node .specforge/core/scripts/instructions.mjs
按 ready artifact 分流:
| Ready artifact | 动作 |
|---|
wiki_sync | 执行 Wiki sync,批准后继续看下一步 route |
closure | 写 release / rollback,doctor,archive dry-run,archive |
| 其他 | 停止,按 instructions.mjs 路由到对应阶段 |
Wiki 同步
- 生成 artifact:
node .specforge/core/scripts/create-artifact.mjs wiki_sync
- 读取 implementation、code review、verification、requirements / gap report、ui design、technical design。
- 先运行
node .specforge/core/scripts/wiki-update-plan.mjs --json 和 node .specforge/core/scripts/wiki-refresh-plan.mjs --from-diff --json;若 can_write_na=false,或 diff 刷新计划存在 required target,不得在 wiki-sync.md 写 N/A,必须更新 required targets 或记录阻断。
- 判断是否影响长期知识:
- 产品规则、用户流程、术语。
- UI 设计系统、PC 端规范、页面规则。
- 架构、模块边界、API、事件、SDK。
- 数据模型、配置、权限、安全。
- 运行、发布、回滚、可观测性。
- technical design 的 rollout、rollback seam、owner、extension point、deprecation path、wiki target、technical debt、revisit trigger。
- 决策、风险、技术债。
- 更新
.specforge/wiki/ 中当前知识文件,或在 06-close/wiki-sync.md 写明不更新理由。
- 运行
node .specforge/core/scripts/wiki-quality.mjs --mode close;无 FAIL 后批准 gate:
node .specforge/core/scripts/gate.mjs wiki_sync APPROVED --evidence 06-close/wiki-sync.md
Closure
- 生成 artifact:
node .specforge/core/scripts/create-artifact.mjs closure
-
写 06-close/release.md:
- 交付摘要。
- 影响范围。
- 发布前检查。
- 发布步骤或 N/A 理由。
- 发布后观察点。
- HTML / 可视化报告链接(如有),并说明 Markdown artifact 仍是事实源。
- 引用 verification、wiki sync、implementation report、code review。
- 对齐
technical-design.md#12. Operability & Maintenance 的观察点、owner、wiki target 和 revisit trigger。
-
写 06-close/rollback.md:
- 回滚触发条件。
- 回滚步骤。
- 数据 / 配置 / feature flag / 外部服务回退。
- 回滚后验证。
- 对齐
technical-design.md#Implementation Handoff 的 rollback seam 和 #12. Operability & Maintenance 的 revisit trigger。
- 不可回滚时写原因、风险接受人和补偿措施。
-
归档前检查:
node .specforge/core/scripts/doctor.mjs
node .specforge/core/scripts/wiki-update-plan.mjs --json
node .specforge/core/scripts/wiki-refresh-plan.mjs --from-diff --json
node .specforge/core/scripts/wiki-quality.mjs --mode close
node .specforge/core/scripts/archive-work.mjs --dry-run
- 如果需要给非研发人员、业务负责人或评审会快速阅读,生成派生 HTML 摘要,并在
release.md#外部补证与派生报告 或 wiki-sync.md#派生报告索引 登记路径:
node .specforge/core/scripts/render-work-report.mjs
- 归档:
node .specforge/core/scripts/archive-work.mjs
判定表
| 条件 | 状态 |
|---|
| verification gate 未批准 | 停止,回 sf-verify |
| wiki_sync gate 未批准且 ready 已到 closure | 停止,先做 wiki sync |
wiki-update-plan 输出 can_write_na=false 但 wiki-sync 写 N/A | 停止,补 wiki |
wiki-refresh-plan 有 required target 但 wiki-sync 写 N/A | 停止,补 wiki 或记录阻断 |
wiki-quality.mjs --mode close 有 FAIL | 停止,修复 wiki |
| release / rollback 缺少 verification 残余风险或观察点对账 | 停止,补齐 |
| rollback 无触发条件或不可回滚未写补偿 | 停止,补齐 |
| doctor 或 archive dry-run 失败 | 停止,按错误处理 |
| hook 阻断关闭 | 停止,按 hook 说明处理 |
完成标准
06-close/wiki-sync.md 存在,wiki_sync gate 为 APPROVED。
wiki-update-plan、wiki-refresh-plan 与 wiki-sync 结论一致,wiki-quality.mjs --mode close 无 FAIL。
06-close/release.md、06-close/rollback.md 已填写,不是空模板。
- verification 残余风险、release 观察点、rollback 触发条件互相对齐。
- 外部待补证、manual-confirmed、deferred 项已进入 release 观察点或 follow-up。
- doctor 和 archive dry-run 通过。
- archive 成功,work item 从 active 移到 archive,registry 状态正确。
- 完成后运行
node .specforge/core/scripts/instructions.mjs,将输出展示给用户,确认 workflow 已全部完成。
不做
- 不在 Wiki 未同步时 archive。
- 不把动态 work item 内容复制进规则目录。
- 不自动安装 / 同步 Agent 技能到 Codex / Claude Code / cc-switch / Trae CN;如需安装,必须由用户单独明确要求。
- 不用 release / rollback 替代 verification evidence。