docs/exec-plans/completed/2026-08-23-release-redraft.md
Status: completed
Created: 2026-08-23
Updated: 2026-08-23
Owner: Easydict maintainers
Links: .agents/skills/release-easydict/SKILL.md
implementationdev 为来源,安全废弃同版本旧 Draft 和 Tag,并重新构建、签名、公证和创建 Draft。scripts/release/、.agents/skills/release-easydict/、docs/exec-plans/、docs/histories/。draft <version> --replace-draft 命令、可恢复的替换状态机、自动构建号递增、成功后清理以及配套文档和测试。eligibleemptycommitteddev 重建,构建号自动加一,替换旧 Draft/Tag,并在成功后移除废弃的本地状态。AGENTS.md、docs/agents/repository-guide.md、docs/agents/skills.md。.tmp/release/2.22.0/ 状态。新增显式 --replace-draft 模式。它冻结旧 Draft 和 Tag 身份,临时保存旧本地状态,使用最新已提交的本地 dev 在隔离工作树中重建并验证产物,随后以 lease 原子替换版本引用、删除精确的旧 Draft、创建并验证新 Draft,最后清除临时备份。
draft/publish 语义;清除 Apple 公证历史。.tmp/release/<version>/ 存在时,普通 draft 会复用旧工作树、构建号和产物。release-easydict.sh、asc-workflow.json、release-common.sh、release-preflight.sh、release-build.sh、release-branch-sync.sh、release-github.sh 和 release skill。--force-with-lease。completed/。bash -n scripts/release/*.shjq -e . scripts/release/asc-workflow.jsonasc workflow validate --file scripts/release/asc-workflow.json --prettygit diff --check--replace-draft 模式,不把替换语义隐式加入普通 draft。