--- name: factory-release description: Use when the user explicitly asks to release the factory backend, run its release workflow, or bump its deployed version. --- # 发布 Factory 后端 仅在用户明确要求后端发版、release 或提升部署版本时执行本流程。普通代码修改、提交或推送不触发发版。 严格按以下顺序执行: 1. 确认目标是当前 `factory` 后端。若用户要求发布 `ehs_web` 前端,改读 `.codex/memory/reference_ehs_web_release.md`。 2. 执行 `git status --short`,确认工作区状态。发布提交只能包含 `changelog.md` 和 `server/settings.py`;不得混入其他已修改或未跟踪文件。 3. 执行 `bash update_changelog.sh`,从脚本输出读取形如 `3.1.YYYYMMDDHH` 的版本号,记为 ``。不得自行编造或改写版本号。 4. 把 `server/settings.py` 中唯一权威版本字段 `SYS_VERSION` 更新为 ``。 5. 读取 `changelog.md` 顶部约 20 行,确认标题是 `## `,且自上一个 tag 起的提交分类合理。出现重复段、明显漏项或无关内容时,先向用户确认,不得继续打 tag。 6. 再次检查 diff,只暂存 `changelog.md` 和 `server/settings.py`。 7. 提交信息使用 `release: `,不添加工具或模型专属署名。 8. 创建无 `v` 前缀的 tag:`git tag `。 9. 推送当前分支到 `origin`,成功后再执行 `git push origin `。逐步检查结果,不用命令链掩盖中间失败。 10. 汇报 ``、changelog 包含的提交类别、commit hash、tag 名,以及分支和 tag 的推送结果。 若提交、tag 或推送中途失败,先检查实际 Git 状态。任何会重写历史或删除远端 tag 的回退操作,都必须先取得用户明确授权。