@wnlen/agent-execution-template 0.8.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +440 -0
  3. package/README.zh-CN.md +447 -0
  4. package/bin/agent-execution-template.js +792 -0
  5. package/docs/SPEC.md +1039 -0
  6. package/docs/token-efficient-protocol-v0.1.md +101 -0
  7. package/package.json +35 -0
  8. package/template/en/ai/README.md +130 -0
  9. package/template/en/ai/project/archive/.gitkeep +0 -0
  10. package/template/en/ai/project/inbox/.gitkeep +1 -0
  11. package/template/en/ai/project/inbox/ideas/.gitkeep +1 -0
  12. package/template/en/ai/project/inbox/processed/.gitkeep +0 -0
  13. package/template/en/ai/project/inbox/raw/.gitkeep +1 -0
  14. package/template/en/ai/project/metrics.json +20 -0
  15. package/template/en/ai/project/project.md +42 -0
  16. package/template/en/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
  17. package/template/en/ai/project/proposals/final-shape-updates/_template.md +64 -0
  18. package/template/en/ai/project/refs/architecture.md +23 -0
  19. package/template/en/ai/project/refs/commands.md +43 -0
  20. package/template/en/ai/project/refs/constraints.md +24 -0
  21. package/template/en/ai/project/refs/decisions.md +13 -0
  22. package/template/en/ai/project/refs/final-shape.md +59 -0
  23. package/template/en/ai/project/refs/module-map.md +31 -0
  24. package/template/en/ai/project/refs/roadmap.md +31 -0
  25. package/template/en/ai/project/result.json +34 -0
  26. package/template/en/ai/project/result.md +32 -0
  27. package/template/en/ai/project/runtime.md +74 -0
  28. package/template/en/ai/project/task.md +110 -0
  29. package/template/en/ai/template/LANG +1 -0
  30. package/template/en/ai/template/VERSION +1 -0
  31. package/template/en/ai/template/bootstrap.md +194 -0
  32. package/template/en/ai/template/prompt.md +118 -0
  33. package/template/en/ai/template/protocol.md +332 -0
  34. package/template/en/ai/template/reconcile.md +140 -0
  35. package/template/en/ai/template/rules/core.md +197 -0
  36. package/template/en/ai/template/rules/output.md +51 -0
  37. package/template/en/ai/template/schemas/metrics.schema.json +119 -0
  38. package/template/en/ai/template/schemas/result.schema.json +234 -0
  39. package/template/zh/ai/README.md +129 -0
  40. package/template/zh/ai/project/archive/.gitkeep +0 -0
  41. package/template/zh/ai/project/inbox/.gitkeep +1 -0
  42. package/template/zh/ai/project/inbox/ideas/.gitkeep +1 -0
  43. package/template/zh/ai/project/inbox/processed/.gitkeep +0 -0
  44. package/template/zh/ai/project/inbox/raw/.gitkeep +1 -0
  45. package/template/zh/ai/project/metrics.json +20 -0
  46. package/template/zh/ai/project/project.md +42 -0
  47. package/template/zh/ai/project/proposals/final-shape-updates/.gitkeep +1 -0
  48. package/template/zh/ai/project/proposals/final-shape-updates/_template.md +64 -0
  49. package/template/zh/ai/project/refs/architecture.md +23 -0
  50. package/template/zh/ai/project/refs/commands.md +43 -0
  51. package/template/zh/ai/project/refs/constraints.md +24 -0
  52. package/template/zh/ai/project/refs/decisions.md +13 -0
  53. package/template/zh/ai/project/refs/final-shape.md +54 -0
  54. package/template/zh/ai/project/refs/module-map.md +30 -0
  55. package/template/zh/ai/project/refs/roadmap.md +29 -0
  56. package/template/zh/ai/project/result.json +34 -0
  57. package/template/zh/ai/project/result.md +32 -0
  58. package/template/zh/ai/project/runtime.md +74 -0
  59. package/template/zh/ai/project/task.md +106 -0
  60. package/template/zh/ai/template/LANG +1 -0
  61. package/template/zh/ai/template/VERSION +1 -0
  62. package/template/zh/ai/template/bootstrap.md +180 -0
  63. package/template/zh/ai/template/prompt.md +104 -0
  64. package/template/zh/ai/template/protocol.md +300 -0
  65. package/template/zh/ai/template/reconcile.md +134 -0
  66. package/template/zh/ai/template/rules/core.md +174 -0
  67. package/template/zh/ai/template/rules/output.md +51 -0
  68. package/template/zh/ai/template/schemas/metrics.schema.json +119 -0
  69. package/template/zh/ai/template/schemas/result.schema.json +234 -0
  70. package/test/selftest.js +280 -0
@@ -0,0 +1,104 @@
1
+ # AI 执行提示
2
+
3
+ 不要总结这个文件。
4
+ 执行下面的工作流。
5
+
6
+ 你正在 Agent Execution Template 工作区内操作。
7
+
8
+ 先读取:
9
+
10
+ 1. `ai/template/protocol.md`
11
+ 2. `ai/template/rules/core.md`
12
+
13
+ 然后选择模式:
14
+
15
+ - 如果用户要求更新北极星、最终形态、产品宪法、模块地图、路线图、项目方向,
16
+ 或 `ai/project/inbox/ideas/` 里存在 `.gitkeep` 之外的待评估灵感,按 `strategy_update`
17
+ 起草方向修订任务或直接生成提案,然后停止等待人类确认。
18
+ - 如果用户明确确认某个
19
+ `ai/project/proposals/final-shape-updates/*.md` 可以合并,按
20
+ `apply_strategy_update` 起草或执行应用任务;如果 proposal 仍为
21
+ `proposed`,先根据这次明确确认更新为 `accepted`。
22
+ - 如果用户说“开始初始化这个项目,并吸收 ai/project/inbox/ 里的资料”,
23
+ 或要求初始化时一并吸收 `ai/project/inbox/` 里的资料,执行
24
+ `ai/template/bootstrap.md`,并把 `ai/project/inbox/*.md` 与
25
+ `ai/project/inbox/raw/*.md` 视为本次引导输入的一部分;在项目上下文确认后停止。
26
+ - 如果用户说“整合 ai/project/inbox/ 里的新资料”,要求整合/合并/吸收/
27
+ 更新上下文/处理新资料,提到 `reconcile` 或 `ai/project/inbox/`,
28
+ 或 `ai/project/inbox/` 里存在 `.gitkeep` 之外的待吸收资料,执行 `ai/template/reconcile.md`,
29
+ 并按它的两阶段流程停止或更新;但 `ai/project/inbox/processed/` 是已处理资料,
30
+ 不应触发整合,`ai/project/inbox/ideas/` 应优先走 `strategy_update`。
31
+ - 如果用户说“开始初始化这个项目”、要求初始化/整理/生成项目上下文,
32
+ 或 `ai/project/project.md` 为空、只有占位内容、
33
+ 或不完整,执行 `ai/template/bootstrap.md`,并在项目上下文确认后停止。
34
+ - 如果 `ai/project/task.md` 为空、只有占位内容、或不完整,根据用户当前目标和
35
+ 已确认的项目上下文起草它,然后停止等待人类确认。
36
+ - 如果用户说“继续推进这个项目”,且没有更具体目标,先全局判断当前最值得做的
37
+ 下一步:优先处理待确认上下文、待确认任务、失败结果、未完成任务或明显风险;
38
+ 然后给出建议或起草 `ai/project/task.md`,不要让人类自己去文件管理器里找问题。
39
+ - 只有当 `ai/project/project.md` 和 `ai/project/task.md` 已经足够定义身份、
40
+ 目标、范围、权限和验收时,才进入执行模式。
41
+
42
+ ## 任务草稿交接
43
+
44
+ 在任务草稿模式中:
45
+
46
+ 1. 读取已确认的 `ai/project/project.md` 和相关 `ai/project/refs/*.md`。
47
+ 2. 根据用户当前目标起草 `ai/project/task.md`。
48
+ 3. 只为范围、风险、权限或验收阻塞项最多问 3 个问题。
49
+ 4. 停止等待人类确认。不要修改源码或业务文件。
50
+
51
+ 任务草稿模式必须以下面结构结束:
52
+
53
+ ```text
54
+ 任务草稿已准备好。
55
+
56
+ 请检查:
57
+ - ai/project/task.md
58
+
59
+ 请确认或修正:
60
+ 1. 目标和验收标准
61
+ 2. 允许和禁止的范围
62
+ 3. 权限、命令和风险等级
63
+
64
+ 请回复:
65
+ - 已确认,执行
66
+ - 或修正意见
67
+ ```
68
+
69
+ ## 策略修订交接
70
+
71
+ 在 `strategy_update` 中:
72
+
73
+ 1. 读取 `final-shape.md`、`module-map.md`、`roadmap.md`、`decisions.md`、
74
+ `constraints.md` 和相关 `inbox/ideas/*`。
75
+ 2. 以 `ai/project/proposals/final-shape-updates/_template.md` 为结构模板,
76
+ 生成 `ai/project/proposals/final-shape-updates/YYYYMMDD-topic.md`。
77
+ 3. 停止等待人类确认。不要修改正式方向文件或源码。
78
+
79
+ 结束时使用:
80
+
81
+ ```text
82
+ 方向修订提案已准备好。
83
+
84
+ 请检查:
85
+ - ai/project/proposals/final-shape-updates/YYYYMMDD-topic.md
86
+
87
+ 请回复:
88
+ - 确认,合并这个提案
89
+ - 或修正意见
90
+ ```
91
+
92
+ 在执行模式中,读取:
93
+
94
+ 1. `ai/project/project.md`
95
+ 2. `ai/project/runtime.md`
96
+ 3. `ai/project/task.md`
97
+
98
+ 然后执行任务,并把结果写入:
99
+
100
+ - `ai/project/result.json`
101
+ - `ai/project/result.md`
102
+ - `ai/project/metrics.json`
103
+
104
+ 保持终端输出简短,并遵守 `ai/template/rules/output.md`。
@@ -0,0 +1,300 @@
1
+ # 协议
2
+
3
+ Agent Execution Template v0.8 将可复用协议和项目专属执行上下文分开。
4
+
5
+ ```text
6
+ ai/template/ = 可复用执行协议
7
+ ai/project/ = 当前项目执行工作区
8
+ ```
9
+
10
+ `template` 是协议,`project` 是现场工作区。
11
+
12
+ 项目现场不仅保存当前任务,也保存方向层。方向层用于回答“为什么做、往哪里长”,
13
+ 执行层用于回答“这次做什么、如何验收”。
14
+
15
+ ```text
16
+ ai/project/refs/final-shape.md = 项目北极星说明书
17
+ ai/project/refs/module-map.md = 当前模块地图
18
+ ai/project/refs/roadmap.md = 阶段路线图
19
+ ai/project/task.md = 当前执行契约
20
+ ```
21
+
22
+ ## 执行流程
23
+
24
+ ```text
25
+ 项目引导 / 上下文整合 / 策略修订 -> 项目确认 -> 任务草稿 -> 任务确认 -> 计划 -> 执行 -> 复核 -> 结果
26
+ ```
27
+
28
+ 1. 项目发现时,执行 `ai/template/bootstrap.md`;不要总结它。
29
+ 2. 引导结束时使用“引导后交接”,在聊天里给出可确认摘要和推荐下一步,
30
+ 不要只要求人类打开文件检查。
31
+ 3. 任务执行时,执行 `ai/template/prompt.md`;不要总结它。
32
+ 4. 当出现新的权威资料时,放入 `ai/project/inbox/`,执行 `ai/template/reconcile.md`;
33
+ 不要总结它。整合必须先出计划,等确认后再更新上下文。
34
+ 5. 当出现会改变项目最终形态、模块边界或路线图的灵感时,先放入
35
+ `ai/project/inbox/ideas/`,再创建 `strategy_update` 任务生成提案。
36
+ 6. 只有人类确认提案后,才能创建 `apply_strategy_update` 任务修改
37
+ `final-shape.md`、`module-map.md` 或 `roadmap.md`。
38
+ 7. 如果 `ai/project/task.md` 缺失或不完整,根据当前目标和已确认的项目上下文起草它,
39
+ 然后用“任务草稿交接”停止。
40
+ 8. 任务确认后,检查就绪度、风险、模型策略、引用、权限和验收。
41
+ 9. 只在项目任务边界内执行。
42
+ 10. 写入 `ai/project/result.json`、`ai/project/result.md` 和 `ai/project/metrics.json`。
43
+
44
+ ## 引导模式
45
+
46
+ 引导模式准备稳定的项目理解:
47
+
48
+ - `ai/project/project.md`
49
+ - `ai/project/refs/*.md`
50
+
51
+ 当 `ai/project/project.md` 为空、只有占位内容、过期、不完整,或用户要求整理项目上下文时,
52
+ 使用引导模式。
53
+
54
+ 引导模式必须:
55
+
56
+ - 先只读取批准的引导来源;
57
+ - 将稳定项目事实总结到 `ai/project/project.md`;
58
+ - 当能推断持久架构、命令、约束或决策事实时,更新聚焦的引用文件;
59
+ - 只有在人类同时提供当前任务时,才创建 `ai/project/task.md`,且只起草任务契约;
60
+ - 将未知事实标记为 `Unknown`,不要猜测;
61
+ - 只有答案会改变范围、风险、权限或验收时,最多问 3 个问题;
62
+ - 写完项目上下文草稿后停止;如果已提供当前任务,也可以同时写任务草稿后停止;
63
+ - 永远不要编辑源码、业务、配置、依赖或生成文件。
64
+
65
+ ### 引导读取范围
66
+
67
+ 按下面顺序读取高价值来源:
68
+
69
+ 1. 根目录文档:
70
+ - `README*`
71
+ - `AGENTS.md`
72
+ - `CLAUDE.md`
73
+ - `CONTRIBUTING*`
74
+ - `CHANGELOG*`
75
+ 2. 包和构建元数据:
76
+ - `package.json`
77
+ - `pyproject.toml`
78
+ - `Cargo.toml`
79
+ - `go.mod`
80
+ - `pom.xml`
81
+ - `build.gradle*`
82
+ - `Makefile`
83
+ 3. 项目文档:
84
+ - `docs/**`
85
+ - 优先阅读概览、架构、安装、测试、部署、API、ADR 和决策文件。
86
+ 4. 现有 AI 上下文:
87
+ - `ai/project/refs/*.md`
88
+ 5. 浅层仓库结构:
89
+ - 只查看源码、测试、配置和文档目录。
90
+
91
+ 如果文档和清单缺失或不足,可以有限读取代码进行推断:
92
+
93
+ - 先检查顶层目录和文件名;
94
+ - 检查可能的入口目录,例如 `src/`、`app/`、`lib/`、`packages/`、
95
+ `services/`、`cmd/`、`internal/`、`server/`、`client/`、`test/`、`tests/`;
96
+ - 只读取足够识别项目目的、模块边界、命令和约束的路由、模块、配置和测试文件;
97
+ - 除非人类明确授权,不要读取整个代码库。
98
+
99
+ 默认不要读取:
100
+
101
+ - `node_modules`、`vendor`、`.venv` 等依赖目录;
102
+ - `dist`、`build`、`target`、`coverage` 等生成输出;
103
+ - 锁文件,除非用于推断包管理器;
104
+ - `.env*` 等密钥或环境文件;
105
+ - 归档或历史目录,除非用户明确引用。
106
+
107
+ 如果仓库很大,先读取根目录文档和清单文件,再询问是否扩展读取范围。
108
+
109
+ ### 引导输出
110
+
111
+ `ai/project/project.md` 应包含长期有效的项目身份:
112
+
113
+ - 名称、目的和主要用户;
114
+ - 语言、框架、包管理器和测试运行器;
115
+ - 源码、测试、配置和文档布局;
116
+ - 稳定约束、约定和重要未知项。
117
+
118
+ `ai/project/refs/*.md` 应包含聚焦的持久上下文:
119
+
120
+ - 项目北极星、最终形态和任务价值判断标准;
121
+ - 当前模块地图、阶段路线和方向约束;
122
+ - 架构和模块边界;
123
+ - 运行、构建、测试和验证命令;
124
+ - 安全、兼容性、性能、数据和部署约束;
125
+ - 只有存在证据时才记录的决策。
126
+
127
+ 推荐路由:
128
+
129
+ ```text
130
+ 最终形态 / 北极星 / 任务价值判断 -> ai/project/refs/final-shape.md
131
+ 当前模块结构 / 边界 / 依赖方向 -> ai/project/refs/module-map.md
132
+ 阶段目标 / 近期路线 / 暂缓事项 -> ai/project/refs/roadmap.md
133
+ 架构 / API / 技术模块边界 -> ai/project/refs/architecture.md
134
+ 命令 / 验证方式 -> ai/project/refs/commands.md
135
+ 不可破坏约束 -> ai/project/refs/constraints.md
136
+ 已确认关键决策 -> ai/project/refs/decisions.md
137
+ ```
138
+
139
+ 写完草稿后,使用 `ai/template/bootstrap.md` 中的“引导后交接”停止。
140
+ 如果人类没有提供当前任务,必须推荐下一步最值得做的任务。
141
+ 如果人类已经提供当前任务,可以同时起草 `ai/project/task.md`,但不要执行。
142
+
143
+ ## 任务草稿模式
144
+
145
+ 任务草稿模式准备当前执行契约:
146
+
147
+ - `ai/project/task.md`
148
+
149
+ 当项目上下文已确认,但 `ai/project/task.md` 为空、只有占位内容、不完整,
150
+ 或人类提供了新的任务目标且引导模式尚未起草任务时,使用任务草稿模式。
151
+
152
+ 任务草稿模式应该:
153
+
154
+ - 读取已确认的 `ai/project/project.md`;
155
+ - 读取相关 `ai/project/refs/*.md`;
156
+ - 将当前人类目标转换为任务类型、优先级、风险、范围、权限、命令策略、
157
+ 模型策略和验收标准;
158
+ - 只为范围、风险、权限或验收阻塞项最多问 3 个问题;
159
+ - 写完任务草稿后,使用 `ai/template/prompt.md` 中的“任务草稿交接”停止;
160
+ - 永远不要编辑源码或业务文件。
161
+
162
+ ## 上下文整合模式
163
+
164
+ 上下文整合模式吸收新的权威资料,并修正现有长期上下文。
165
+
166
+ 新资料优先放入:
167
+
168
+ - `ai/project/inbox/*.md`
169
+ - `docs/**`
170
+
171
+ 已整合资料统一移动到 `ai/project/inbox/processed/`,默认不再作为待吸收资料读取。
172
+
173
+ 用户可以直接说“整合 ai/project/inbox/ 里的新资料”。使用上下文整合模式时,
174
+ 执行 `ai/template/reconcile.md`。
175
+
176
+ 上下文整合模式必须:
177
+
178
+ - 读取现有 `ai/project/project.md`、`ai/project/runtime.md` 和 `ai/project/refs/*.md`;
179
+ - 读取人类指定的新资料;未指定时读取 `ai/project/inbox/*.md`;
180
+ - 先输出整合计划,不修改文件;
181
+ - 等人类确认后,才更新 `ai/project/project.md`、`ai/project/runtime.md` 和 `ai/project/refs/*.md`;
182
+ - 应用整合后,把本次已处理的 `ai/project/inbox/*.md` 移动到 `ai/project/inbox/processed/`;
183
+ - 不要默认修改 `task.md`、`result.*`、`metrics.json`、源码、测试、配置或依赖文件;
184
+ - 不要把新资料整段塞进 refs,而是吸收长期有效、结构化、可复用的事实。
185
+
186
+ 如果新资料会改变 `final-shape.md`、`module-map.md` 或 `roadmap.md` 的方向性内容,
187
+ 上下文整合只能提出 `strategy_update` 建议,不能直接修改这些文件。
188
+
189
+ ## 策略修订模式
190
+
191
+ 策略修订模式处理项目方向、最终形态、模块边界或路线图的变更。
192
+
193
+ 使用场景:
194
+
195
+ - `ai/project/inbox/ideas/` 中出现新的产品、业务、架构或方向灵感;
196
+ - 用户要求更新北极星、最终形态、产品宪法、模块地图或路线图;
197
+ - 普通任务发现当前执行目标可能与项目方向冲突。
198
+
199
+ ### `strategy_update`
200
+
201
+ `strategy_update` 只生成提案,不写代码,不修改正式方向文件。
202
+
203
+ 必须读取:
204
+
205
+ - `ai/project/refs/final-shape.md`
206
+ - `ai/project/refs/module-map.md`
207
+ - `ai/project/refs/roadmap.md`
208
+ - `ai/project/refs/decisions.md`
209
+ - `ai/project/refs/constraints.md`
210
+ - 人类指定的新资料;未指定时读取 `ai/project/inbox/ideas/*`
211
+
212
+ 输出到:
213
+
214
+ ```text
215
+ ai/project/proposals/final-shape-updates/YYYYMMDD-topic.md
216
+ ```
217
+
218
+ 应以 `ai/project/proposals/final-shape-updates/_template.md` 为结构模板。
219
+
220
+ 提案必须包含:
221
+
222
+ 1. 新灵感摘要
223
+ 2. 与当前 `final-shape.md` 的一致点
224
+ 3. 冲突点
225
+ 4. 应该吸收的部分
226
+ 5. 应该拒绝的部分
227
+ 6. 对模块地图的影响
228
+ 7. 对路线图的影响
229
+ 8. 建议修改 diff
230
+ 9. 风险
231
+ 10. 是否推荐合并
232
+
233
+ 阶段结束后停止,等待人类确认。不要修改 `final-shape.md`、`module-map.md`、
234
+ `roadmap.md`、源码、测试、配置或依赖文件。
235
+
236
+ ### `apply_strategy_update`
237
+
238
+ `apply_strategy_update` 只负责应用已经确认的提案。
239
+
240
+ 必须满足:
241
+
242
+ - 人类明确确认某个 proposal 可以合并;
243
+ - proposal 状态已经是 `accepted`,或在执行前根据人类明确确认从
244
+ `proposed` 更新为 `accepted`;
245
+ - `task.md.permission.modify.allowed` 包含将被修改的正式方向文件;
246
+ - 只应用提案中已确认的内容,不顺手扩写新方向。
247
+
248
+ 允许更新:
249
+
250
+ - `ai/project/refs/final-shape.md`
251
+ - `ai/project/refs/module-map.md`
252
+ - `ai/project/refs/roadmap.md`
253
+ - 必要时更新 `ai/project/refs/decisions.md` 或 `constraints.md`
254
+
255
+ 应用后必须:
256
+
257
+ - 将 proposal 状态更新为 `applied`;
258
+ - 填写 `applied_at`;
259
+ - 在 `result.md` 中列出已合并的 proposal、修改文件和未合并事项。
260
+
261
+ 如果人类拒绝提案,应保留 proposal 文件,将 `status` 更新为 `rejected`,
262
+ 不要删除历史提案。
263
+
264
+ ## 最少人类输入
265
+
266
+ 人类通常只需要提供意图,并确认生成的项目和任务契约。
267
+ Agent 应从现有文档、清单、引用和项目文件中起草常规细节。
268
+
269
+ - 最多问 3 个澄清问题。
270
+ - 只在答案会改变范围、风险、权限或验收时提问。
271
+ - 不要询问可以从项目文件中安全推断的细节。
272
+ - 将安全的不确定性转换为 `ai/project/result.json` 中的显式假设。
273
+ - 如果验收仍不可验证,以 `status = "blocked"` 停止。
274
+ - 如果任务可执行,不要再请求人类交互,直接推进。
275
+
276
+ ## 模型分工
277
+
278
+ 遵守 `ai/project/task.md.model_policy`。
279
+
280
+ - 默认使用 `cheap`。
281
+ - 需要判断时升级。
282
+ - 记录升级原因。
283
+
284
+ 常规执行使用默认档位。只有触发升级条件且所需角色列在 `strong_model_roles`
285
+ 中时,才使用 `strong`。
286
+
287
+ 如果宿主无法切换模型,停止,或将任务标记为 `partial` / `blocked`,
288
+ 并写明需要的强模型角色。
289
+
290
+ ## 同步规则
291
+
292
+ 从模板仓库导入真实项目时:
293
+
294
+ - 只覆盖 `ai/template/**`。
295
+ - 永远不要覆盖 `ai/project/**`。
296
+
297
+ 从真实项目回流改进到模板仓库时:
298
+
299
+ - 只回流 `ai/template/**`。
300
+ - 永远不要回流 `ai/project/**`。
@@ -0,0 +1,134 @@
1
+ # AI 上下文整合
2
+
3
+ 不要总结这个文件。
4
+ 执行下面的上下文整合流程。
5
+
6
+ 你正在把新的权威资料吸收到现有 Agent Execution Template 项目上下文中。
7
+ 这不是重新引导,也不是全量覆盖。
8
+
9
+ 目标:合并新资料中的长期有效事实,修正过期或不准确的旧上下文,保留仍然正确的既有内容。
10
+
11
+ ## 适用场景
12
+
13
+ 当项目已经使用一段时间后,出现更完整、更权威的业务、产品、架构或流程资料时,使用本流程。
14
+
15
+ 新资料默认放在:
16
+
17
+ - `ai/project/inbox/*.md`
18
+ - `ai/project/inbox/raw/*.md`
19
+ - `docs/**`
20
+
21
+ `ai/project/inbox/` 是待吸收资料区。资料被整合确认后,统一移动到
22
+ `ai/project/inbox/processed/`,用于追溯并避免后续重复整合。
23
+
24
+ ## 先读
25
+
26
+ 1. `ai/template/protocol.md`
27
+ 2. `ai/template/rules/core.md`
28
+ 3. `ai/project/project.md`
29
+ 4. `ai/project/runtime.md`
30
+ 5. `ai/project/refs/*.md`
31
+ 6. 人类指定的新资料;未指定时,读取 `ai/project/inbox/*.md`
32
+
33
+ 不要默认读取 `ai/project/inbox/processed/**`、`ai/project/archive/**`、源码、
34
+ 测试、配置或依赖文件,除非人类明确要求用它们核对事实。
35
+
36
+ ## 整合原则
37
+
38
+ - 不要直接覆盖整套文件。
39
+ - 保留仍然正确的既有上下文。
40
+ - 将新资料拆分进合适位置:
41
+ - 项目身份、用户、稳定约定 -> `ai/project/project.md`
42
+ - 当前仍有效的执行上下文 -> `ai/project/runtime.md`
43
+ - 最终形态 / 北极星 / 任务价值判断 -> `ai/project/refs/final-shape.md`
44
+ - 当前模块结构 / 边界 / 依赖方向 -> `ai/project/refs/module-map.md`
45
+ - 阶段目标 / 近期路线 / 暂缓事项 -> `ai/project/refs/roadmap.md`
46
+ - 架构 / API / 模块边界 -> `ai/project/refs/architecture.md`
47
+ - 命令 -> `ai/project/refs/commands.md`
48
+ - 约束 -> `ai/project/refs/constraints.md`
49
+ - 持久决策 -> `ai/project/refs/decisions.md`
50
+ - 不要把 `refs/*` 写成原文堆砌;只吸收结构化、长期有效、可复用的内容。
51
+ - 如果新资料会改变北极星、模块地图或路线图的方向性内容,只能建议创建
52
+ `strategy_update` 提案,不要在上下文整合中直接修改这些方向文件。
53
+ - `task.md`、`result.json`、`result.md`、`metrics.json` 通常不参与业务上下文整合,除非人类明确要求吸收其中仍长期有效的事实。
54
+
55
+ ## 两阶段流程
56
+
57
+ ### 阶段 1:整合计划
58
+
59
+ 先输出整合计划,不要修改文件。
60
+
61
+ 整合计划必须包含:
62
+
63
+ 1. 建议新增的内容
64
+ 2. 建议修正的内容
65
+ 3. 与现有上下文冲突的内容
66
+ 4. 建议废弃或降级的内容
67
+ 5. 需要人类确认的问题,最多 3 个
68
+ 6. 预计会更新的文件
69
+
70
+ 如果没有需要确认的问题,明确写“无需额外确认”。
71
+
72
+ 阶段 1 结束时必须停止,等待人类确认。
73
+
74
+ ### 阶段 2:应用整合
75
+
76
+ 只有在人类明确确认整合计划后,才更新文件。
77
+
78
+ 允许更新:
79
+
80
+ - `ai/project/project.md`
81
+ - `ai/project/runtime.md`
82
+ - `ai/project/refs/*.md`
83
+ - `ai/project/inbox/processed/**`,用于存放本次已整合资料
84
+
85
+ 除非人类明确要求,否则不要修改:
86
+
87
+ - 源码、测试、配置、依赖文件
88
+ - `ai/project/refs/final-shape.md`
89
+ - `ai/project/refs/module-map.md`
90
+ - `ai/project/refs/roadmap.md`
91
+ - `ai/project/task.md`
92
+ - `ai/project/result.json`
93
+ - `ai/project/result.md`
94
+ - `ai/project/metrics.json`
95
+ - `ai/project/archive/**`
96
+
97
+ 应用整合完成后,必须把本次已整合的 `ai/project/inbox/*.md` 资料移动到
98
+ `ai/project/inbox/processed/`。如果文件名冲突,保留原文件名并添加日期或序号。
99
+ 不要移动 `ai/project/inbox/ideas/**`;方向灵感应继续走 `strategy_update`。
100
+
101
+ ## 最终交接
102
+
103
+ 应用整合后,最终回复必须包含:
104
+
105
+ ```text
106
+ 上下文整合已完成。
107
+
108
+ 已更新:
109
+ - file
110
+
111
+ 已归档资料:
112
+ - ai/project/inbox/processed/file.md
113
+
114
+ 关键变化:
115
+ - 新增:
116
+ - 修正:
117
+ - 废弃:
118
+
119
+ 仍不确定:
120
+ - 最多 3 条;没有则写“无”
121
+
122
+ 我建议下一步做:
123
+ 1. 优先任务:
124
+ 原因:
125
+ 2. 备选任务:
126
+ 原因:
127
+
128
+ 请直接回复:
129
+ - 确认,按建议 1 起草任务
130
+ - 确认,但改做:<一句话任务>
131
+ - 修正:<你要改的地方>
132
+ ```
133
+
134
+ 不要让人类自己去文件管理器里寻找变化;文件路径只作为可追溯记录。