SuperAPI AI 工具集

sdlc-archive

部署与运维

查看项目

更新于 10-15 09:57

技能介绍

sdlc-archive

用途:将 intent/<slug>/ 移动到 intent/archive/YYYY-MM-DD-<slug>/。不删除任何内容,也不改写任何内容:该文件夹中的意图、规格、计划与报告保持原样。

归档是决策历史。六个月后,问题会变成“当初为什么这样构建”,答案就在这个文件夹里。

开始之前

调用此工作流通常会授权归档提交,但仍受用户明确的限制与宿主策略约束。在移动任何内容之前,记录仓库、分支、HEAD、已暂存路径以及工作树/未跟踪路径。保留无关工作;如果索引中包含他人已暂存的更改,或所有权存在重叠,在可行时使用干净的隔离工作树,或停止提交。绝不重置、暂存或吸收这些更改。使用宿主可用的工具进行普通的文件系统目录移动;Git 会根据内容识别重命名。保持每个工件字节完整,并要求目标路径不存在。仅暂存此次移动。遵循 Conventional Commits 1.0.0:chore(scope): 祈使句摘要(scope 可选),一个空行,然后用一句话说明原因。除非被要求,否则不要推送。

intent/archive/ 是归档目录,不是 slug。列出变更时要跳过它。

步骤

解析 slug。在普通运行中,说明你选择了哪一个;如果有多个候选,询问用户。在明确授权的自主队列中,使用其选定的 slug,无需再次请求批准。

解析此技能已安装的目录,然后从产品仓库根目录运行 python3 "<this-skill-dir>/scripts/validator.py" archive-check <slug>。如果 Python 解释器名称不同,使用可用的 Python 3.8+ 解释器;资源路径相对于技能目录,而不是相对于产品仓库。此本地副本使用与 sdlc-continue 相同的契约。它检查语法、所有 done 状态、计划复选框、审批摘要与上游绑定、实质性报告证据、有效的独立隔离、已评审 HEAD 的新鲜度,以及脏/未跟踪路径。失败时阅读其给出的原因,并遵循所属技能;绝不豁免失败的检查。被阻止的验证需要恢复,而失败的验证需要修复并重新评审。

阅读报告,并将其声称的观察结果与引用的证据进行比较。仅凭机械有效性无法证明验证者确实实际执行了某个流程。如果引用的必需观察结果缺失或相互矛盾,则暂缓归档并要求重新进行独立验证。

构建目标名称。使用今天的日期 YYYY-MM-DD-<slug>,除非 slug 已经以 YYYY-MM-DD- 前缀开头,此时按原样使用。绝不要叠加第二个日期。

如果 intent/archive/<target> 已存在,停止。不要覆盖或合并。告知用户,并让其重命名现有归档或另选日期。

如有需要,创建归档父目录,并使用宿主的文件系统工具移动整个文件夹,且不得覆盖已存在的目标。对于 POSIX shell:

mkdir -p intent/archive mv "intent/<slug>" "intent/archive/<target>"

确认目标路径与任务统计。然后提交此次移动。归档关闭实现记录;它不声明部署或生产成功。

在已验证的归档移动之后,仅当项目或环境已经配置了知识包或维护工作流时,才进行有边界的知识检查。使用该工作流更新相关的现有持久笔记(当此工作取代它时);否则跳过。不要仅为记录本次会话而创建笔记,也不要扫描整个知识包或无关知识,更不要引导创建缺失的知识包。这不会增加交付门槛。将知识编辑与已评审候选及归档工件分开保存;归档文件夹保持逐字节完整,归档提交仅暂存此次移动。

适用场景:用户在已完成变更关闭时进行归档;项目采用 intent/spec/plan/report 工作流且具备验证检查时。限制:不删除、不改写内容;目标目录已存在时停止;不覆盖、不合并;不推送,除非被要求;不声明部署或生产成功;知识更新为可选且不构成交付门槛。