Skip to content

fix: make closing a true terminal state#66

Merged
MageByte-Zero merged 9 commits into
mainfrom
codex/fix-issue-64-closing-terminal
Jul 19, 2026
Merged

fix: make closing a true terminal state#66
MageByte-Zero merged 9 commits into
mainfrom
codex/fix-issue-64-closing-terminal

Conversation

@MageByte-Zero

Copy link
Copy Markdown
Owner

变更说明

修复 #64,使 closing 在所有工作流表面和权威运行时中都成为真正的成功终态。

  • workflow-start 在 update、handoff/checkpoint overlay 与 execution-control 扫描前短路 closing,返回 CLOSED / next skill: none
  • release-archivistspec-merger 仅允许在 executing 中运行,并在任何 audit、DP 写入或 spec sync 副作用前校验持久化状态
  • 删除遗留的 closing → specifying guard 出边,七个 closing 出边现在都返回结构化非法转换结果
  • closing phase guard 不再提示三维验证、DP-6、DP-7 或重复 delta spec 合并
  • 同步中英文 README、状态机、Changelog 和主 workflow-routing 规格
  • 增加顺序敏感、进程错误敏感的回归测试

根因

ssf list 已将 closing 映射为 CLOSED,但 canonical skills、phase guard 和状态机文档仍把 closing 当成活跃收口阶段;同时运行时矩阵保留了 closing:specifying,导致“终态”只存在于部分表面。

验证

  • npm run build:通过
  • node --test tests/lib/guard-transitions.test.mjs tests/lib/closing-terminal-semantics.test.mjs:60/60 通过
  • node --test tests/lib/cmd-inject.test.mjs:21/21 通过
  • npm run validate -- changes/fix-closing-terminal-routing:0 errors / warnings
  • node scripts/lint/lint-skills.mjs:0 errors
  • git diff --check:通过
  • 最终独立整分支审查:PASS — Ready to merge

本机 Node 24 完整测试为 435 项、429 通过、6 失败;失败仅来自两个既有测试 helper 的固定 timeout: 5000guard-specs-mergedguard-tests-passing),未修改相关文件,且同路径后续用例通过。仓库 CI 将继续在 Node 20/22 验证。

Closes #64

@MageByte-Zero
MageByte-Zero marked this pull request as ready for review July 19, 2026 08:36
@MageByte-Zero
MageByte-Zero merged commit 9e2a848 into main Jul 19, 2026
6 checks passed
@MageByte-Zero
MageByte-Zero deleted the codex/fix-issue-64-closing-terminal branch July 19, 2026 08:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

状态机有问题 closing

1 participant