--- name: execute-plan description: 执行用户指定的已批准工程计划,验证目标与范围并完成本地 Git 提交。用于已有计划的实施。 --- # 执行已确认计划 在新会话按计划实施;不依赖旧讨论,也不强制子代理、worktree、TDD 或新依赖。 ## 读取与核对 1. 完整读取用户指定计划;路径不明则询问,不猜最新文件。从计划定位或 `.agent/MEMORY.md` 确定资产根目录,读取根目录 `CONTEXT.md`,再核实项目约束、相关代码和测试。不推断根目录、不扫描历史计划;定位冲突或系统不符先澄清。无 CONTEXT 时依靠计划与代码,不编造约束。 2. 核对计划批准依据、目标、范围与验收。基线变化先调查影响,无关更新不阻塞;关键缺口、未批准或实质冲突先澄清。已批准的规则迁移按计划执行,不因仍有旧规则重复确认。 3. 记录仓库身份、分支、HEAD(或无提交)及暂存/未暂存/未跟踪状态,足以区分用户已有修改。保护用户内容;重叠且不能隔离时先解决,不回退或混合提交。 宿主禁止实施时遵从限制;新会话是使用约定,不能假称清空了上下文。 ## 资产与上下文 执行记录放在计划旁的独立 `execution-日期时间.md`。沿用用户指定位置,根目录下最多一层计划目录,不插入项目层。目录不可用时报告,不回退代码库。 生成资产使用以下 YAML;未知字段留空,特殊值加引号: ```yaml --- 系统: 系统名称 时间: YYYY-MM-DD 目标: 资产对应目标 --- ``` 执行记录沿用计划决策日期,执行时间另记正文;新批准版本用用户当地确认日期。进度与排版不改日期;旧元数据缺失不等于缺少批准,不编造日期或改写原批准内容。 - CONTEXT 只沉淀已确认的跨计划业务/设计规则、适用范围、简短原因及状态;确认即记,依赖实施的标“已确认待生效”,其他为“当前有效”。不放任务、代码、日志或 agent 自选的局部实现。目标为“保存系统长期有效的业务与设计约束”,时间为最近确认决策日期。 - 对照 CONTEXT 与计划快照:无关更新继续,其他实质冲突展示影响并澄清。实施、验证及 review 完成后,重读 CONTEXT,仅将本次落实的约束改为有效并移除其替代的失效规则,保留其他计划内容;失败或部分完成不提前生效,状态更新不改决策日期。 - 执行记录仅保留任务状态、配套文件及理由、关键验证命令/结果、阻塞与偏差,不粘贴完整工具日志。恢复会话或压缩后重读 CONTEXT、计划和执行状态;无变化时复用已读内容。 ## 实施边界 - 每项改动对应批准任务或验收;优先复用现有能力,自主决定具体代码及内部组织,不要求计划提供详细代码或逐字照抄算法示例。 - 可补必要测试/配置文件并说明对应验收;其他文件扩展、业务/接口/架构变化或依赖升级须先确认,不能包装为配套改动。无关发现只记录,不顺手修复或重构。 - 需变更范围时先将补充计划或新版本写入文件并标待确认,对话只给变化摘要、原因及绝对路径链接。用户审阅批准后继续;不覆盖原批准计划。 ## 验证、Review 与提交 1. 完成后重新完整读取原目标与批准计划,对照任务 diff:验收是否满足、保留行为是否成立、是否越界、是否影响调用方与错误路径。 2. 运行计划要求及改动必要的检查,覆盖验收与回归风险。复用已有测试,补真实缺口,不堆重复用例或强制覆盖率;文档变更用适当结构检查。记录实际证据,无变化且无新疑点时不重复运行。 3. Review 范围与正确性,修复本任务问题后重跑受影响检查。越界内容仅撤销能可靠隔离的自身改动。未解决失败或环境阻碍如实报告,不宣称通过、不绕过检查提交;用户调整验证要求时记录差异。 4. 仅暂存本任务文件/片段,检查完整暂存 diff,确保不含用户原有改动、MEMORY 或讨论资产。无法隔离或 MEMORY 已被跟踪时先解决,不擅自取消跟踪。 5. 按项目规范创建本地 commit;不 push、amend、跳过 hooks 或改 Git 身份。Hook 改动须重新检查验证。无差异不空提交,非 Git 项目不自行初始化;提交失败报告原因。 6. 核实 commit hash、提交文件及工作区残余,更新外部记录;简报交付、验证、配套变化/批准偏差、限制及 hash(或未提交原因)。