fix: use YAML asset metadata and flat plan directories
This commit is contained in:
@@ -35,7 +35,7 @@ Agent 先调查再提问,纠正有证据的错误判断,每轮维护精简
|
||||
随后自行开启新会话,指定保存的计划:
|
||||
|
||||
```text
|
||||
使用 execute-plan 执行 /绝对路径/工程讨论/项目/任务/plan-v1.md
|
||||
使用 execute-plan 执行 /绝对路径/工程讨论/2026-09-10-pagination-fix/plan-v1.md
|
||||
```
|
||||
|
||||
支持命令式调用的宿主也可使用对应的 skill 命令,具体语法以宿主为准。Skill 不负责自动创建新会话,也不能保证检测或清除旧上下文。
|
||||
@@ -46,26 +46,29 @@ Agent 先调查再提问,纠正有证据的错误判断,每轮维护精简
|
||||
|
||||
首次未指定资产目录时会询问;之后从项目 `.agent/MEMORY.md` 复用。这个文件只保存必要定位信息,通过 Git 本地 exclude 排除,不修改项目共享 `.gitignore`。已被跟踪时会先报告冲突,不自行取消跟踪。
|
||||
|
||||
讨论资产默认位于用户选择的代码库外部目录:
|
||||
讨论资产严格使用用户选择的代码库外部目录,可按计划建立一层子目录,不添加项目名或系统名中间层。用户已指定本次计划目录时直接使用:
|
||||
|
||||
```text
|
||||
资产根目录/
|
||||
项目标识/
|
||||
日期-任务主题/
|
||||
current.md 当前目标、确认决策、约束与未决问题
|
||||
plan-v1.md 已确认、自包含的计划
|
||||
execution-日期时间.md 实施与验证记录
|
||||
日期-计划主题/
|
||||
current.md 当前目标、确认决策、约束与未决问题
|
||||
plan-v1.md 已确认、自包含的计划
|
||||
execution-日期时间.md 实施与验证记录
|
||||
```
|
||||
|
||||
新的批准版本另存。当前决策随讨论更新,不累计聊天全文;执行记录不能覆盖已批准计划。目录失效或无法写入时会报告,不自行改存代码库。个人绝对路径不写入可分发的 skill。
|
||||
|
||||
每份生成的 Markdown 资产(包括本地 MEMORY)第一行保留决策日期注释:
|
||||
每份生成的 Markdown 资产(包括本地 MEMORY)顶部保留以下 YAML 元数据:
|
||||
|
||||
```markdown
|
||||
<!-- 决策日期:2026-09-10 -->
|
||||
---
|
||||
系统:
|
||||
时间: 2026-09-08
|
||||
目标:
|
||||
---
|
||||
```
|
||||
|
||||
日期对应资产所依据的决策,使用用户当地日期。未确认草稿先记创建日期,正文标明待确认;确认后更新为确认日期。已批准计划保留原日期,新版本使用新确认日期;实施记录沿用计划决策日期,执行时间单独记录。纯进度或排版更新不改决策日期。
|
||||
系统填写项目或系统名称,目标概括对应计划的目标,无法确定时留空。时间对应资产所依据的决策,使用用户当地日期。未确认草稿先记创建日期,正文标明待确认;确认后更新为确认日期。已批准计划保留原日期,新版本使用新确认日期;实施记录沿用计划决策日期,执行时间单独记录。纯进度或排版更新不改决策日期。
|
||||
|
||||
## 验证
|
||||
|
||||
|
||||
@@ -15,15 +15,19 @@ description: 通过代码调查和每轮 1–3 个问题对齐工程目标,纠
|
||||
4. MEMORY 只保存必要定位信息,例如:
|
||||
|
||||
```markdown
|
||||
<!-- 决策日期:YYYY-MM-DD -->
|
||||
---
|
||||
系统: 项目或系统名称
|
||||
时间: YYYY-MM-DD
|
||||
目标: 保存讨论资产位置
|
||||
---
|
||||
## 讨论资产
|
||||
- 讨论资产目录:/用户指定的绝对路径
|
||||
```
|
||||
|
||||
写入前检查 MEMORY 是否被 Git 跟踪;已跟踪则说明与“不提交本地记忆”的冲突,先解决冲突,不自行取消跟踪。未跟踪时在 `git rev-parse --git-path info/exclude` 指向的本地排除文件中幂等加入 `/.agent/MEMORY.md`,不改共享 `.gitignore`。非 Git 项目仍保留本地记忆,并说明当前无法设置 Git 排除。
|
||||
5. 在外部根目录中建立 `<项目标识>/<日期-任务主题>/`。项目标识结合仓库名和路径区分同名项目,任务目录冲突时使用新名称,不覆盖其他任务。核心文件为 `current.md` 和确认后生成的 `plan-v1.md`;后续确认版本另存,不覆盖旧批准版本。
|
||||
5. 严格使用用户指定目录作为资产根目录,可直接在其中建立 `<日期-计划主题>/`,不再插入项目名、系统名等中间目录。若用户已指定本次计划目录,直接使用,不再次嵌套。恢复同一计划时复用已有目录;新计划名称冲突时只调整计划目录名,不覆盖其他计划。核心文件为 `current.md` 和确认后生成的 `plan-v1.md`;后续确认版本另存,不覆盖旧批准版本。
|
||||
|
||||
每份生成资产(当前决策、计划、实施记录及其他讨论文档,包括 MEMORY)第一行使用 Markdown 支持的 HTML 注释:`<!-- 决策日期:YYYY-MM-DD -->`。填入用户当地日期,表示该资产所依据决策的日期;尚无确认决策的草稿先记创建日期,正文仍标记待确认。确认或新决策改变当前资产内容时更新日期;纯排版、补证据或执行进度更新不改变决策日期。已批准计划保留原日期,新版本记录新确认日期;实施记录使用其所依据的计划决策日期。
|
||||
每份生成资产(当前决策、计划、实施记录及其他讨论文档,包括 MEMORY)顶部使用下方模板中的 YAML frontmatter,按顺序包含 `系统`、`时间`、`目标`,不使用 HTML 注释。系统填写项目或系统名称,目标用一句话概括该资产对应的目标;无法确定的字段留空,不编造。时间采用用户当地的 `YYYY-MM-DD` 日期,表示该资产所依据决策的日期;尚无确认决策的草稿先记创建日期,正文仍标记待确认。确认或新决策改变当前资产内容时更新日期;纯排版、补证据或执行进度更新不改变决策日期。已批准计划保留原日期,新版本记录新确认日期;实施记录使用其所依据的计划决策日期。字段值包含 YAML 特殊字符时使用引号,保证元数据可解析。
|
||||
|
||||
宿主限制写入时,遵从限制,在对话中维护当前状态并明确尚未落盘;不要把未保存资产说成已保存。资产维护是规划阶段唯一的写入范围,不能开始项目实现。
|
||||
|
||||
@@ -56,7 +60,11 @@ description: 通过代码调查和每轮 1–3 个问题对齐工程目标,纠
|
||||
计划至少包含以下信息,简单任务可合并段落,不填充无意义章节:
|
||||
|
||||
```markdown
|
||||
<!-- 决策日期:YYYY-MM-DD -->
|
||||
---
|
||||
系统: 项目或系统名称
|
||||
时间: YYYY-MM-DD
|
||||
目标: 本次计划要达成的目标
|
||||
---
|
||||
# 任务名称
|
||||
|
||||
## 定位与确认
|
||||
|
||||
@@ -13,9 +13,19 @@ description: 在新会话中读取用户指定的已确认工程计划,按范
|
||||
2. 读取目标项目约束、相关代码和测试,核对项目定位、Git 基线与工作区。路径变化时通过仓库身份和内容确认,不仅凭同名目录执行。基线提交变化不必自动阻塞:调查是否影响计划成立的前提;存在实质冲突再澄清。
|
||||
3. 检查计划的确认状态及依据;缺少批准、存在关键遗漏或当前代码使计划失效时,展示具体缺口并取得澄清。不得把“执行这个未完成的草稿”当作所有隐含决策都已确定,也不对已有有效批准重复索要确认。
|
||||
4. 记录实施前分支、HEAD(或尚无提交)、暂存、未暂存和未跟踪文件,保留足够的基线信息区分用户已有改动。不能覆盖、回退或替用户提交无关内容。若与任务重叠且无法可靠隔离,先解决冲突。
|
||||
5. 实施记录默认写在指定计划旁的独立 `execution-日期时间.md`,包含计划版本、基线、进度和证据,不覆盖已有记录。该位置必须符合用户的外部资产约定;位置不明时读取 `.agent/MEMORY.md` 或询问。目录不可用时报告问题,不回退到代码目录,不把资产混入 Git 提交。
|
||||
5. 实施记录默认写在指定计划旁的独立 `execution-日期时间.md`,包含计划版本、基线、进度和证据,不覆盖已有记录。严格遵循用户指定位置:资产根目录下最多增加一层 `<日期-计划主题>/`,不插入项目名或系统名目录;用户已指定计划目录时直接使用。该位置必须符合用户的外部资产约定;位置不明时读取 `.agent/MEMORY.md` 或询问。目录不可用时报告问题,不回退到代码目录,不把资产混入 Git 提交。
|
||||
|
||||
每份生成资产的第一行使用 `<!-- 决策日期:YYYY-MM-DD -->`。实施记录沿用所依据计划的决策日期,执行时间另记正文;补充计划或新批准版本用用户当地的实际确认日期。纯进度、证据或排版更新不改决策日期。旧计划缺少顶部注释时,优先从真实确认依据确定日期并记录在新资产中,不擅自改写批准计划;日期无法确定时注明待核实,不编造日期或用执行当天冒充。日期缺失本身不等于缺少批准。
|
||||
每份生成资产顶部使用以下 YAML frontmatter,不使用 HTML 注释:
|
||||
|
||||
```markdown
|
||||
---
|
||||
系统: 项目或系统名称
|
||||
时间: YYYY-MM-DD
|
||||
目标: 本次计划要达成的目标
|
||||
---
|
||||
```
|
||||
|
||||
系统与目标根据所执行计划填写,无法确定的字段留空,不编造;含 YAML 特殊字符的值使用引号。实施记录的时间沿用所依据计划的决策日期,执行时间另记正文;补充计划或新批准版本用用户当地的实际确认日期。纯进度、证据或排版更新不改决策日期。旧计划缺少元数据时,优先从真实确认依据确定日期并记录在新资产中,不擅自改写批准计划;日期无法确定时将时间留空并在正文注明待核实,不用执行当天冒充。元数据缺失本身不等于缺少批准。
|
||||
|
||||
若当前会话还保留规划讨论,提醒用户新会话约定;不能假称已经清空上下文。无论宿主是否能识别会话边界,都以计划和重新读取的代码为依据。宿主处于只读或计划模式时遵从限制,不执行变更。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user