coding-agent-harness 1.0.8 → 1.1.0

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 (232) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CONTRIBUTING.md +8 -4
  3. package/README.md +12 -2
  4. package/README.zh-CN.md +10 -2
  5. package/SKILL.md +14 -3
  6. package/dist/build-dist.mjs +19 -6
  7. package/dist/check-dist-observation.mjs +57 -29
  8. package/dist/check-harness.mjs +0 -1
  9. package/dist/check-import-graph.mjs +44 -27
  10. package/dist/check-lite-forbidden-surfaces.mjs +121 -0
  11. package/dist/check-no-ts-nocheck.mjs +7 -7
  12. package/dist/check-runtime-emit.mjs +10 -3
  13. package/dist/check-type-boundaries.mjs +51 -9
  14. package/dist/commands/dashboard-command.mjs +52 -14
  15. package/dist/commands/migration-command.mjs +18 -8
  16. package/dist/commands/module-command.mjs +142 -0
  17. package/dist/commands/preset-command.mjs +51 -12
  18. package/dist/commands/registry.mjs +483 -0
  19. package/dist/commands/task-command.mjs +109 -52
  20. package/dist/harness.mjs +6 -304
  21. package/dist/lib/capability-registry.mjs +229 -53
  22. package/dist/lib/check-module-parallel.mjs +1 -6
  23. package/dist/lib/check-profiles.mjs +39 -46
  24. package/dist/lib/check-task-contracts.mjs +6 -4
  25. package/dist/lib/command-registry.mjs +248 -0
  26. package/dist/lib/core-shared.mjs +78 -3
  27. package/dist/lib/dashboard-data.mjs +203 -22
  28. package/dist/lib/dashboard-workbench.mjs +245 -21
  29. package/dist/lib/dashboard-writer.mjs +4 -1
  30. package/dist/lib/git-status-summary.mjs +0 -1
  31. package/dist/lib/governance-index-generator.mjs +7 -5
  32. package/dist/lib/governance-sync.mjs +46 -121
  33. package/dist/lib/governance-table-boundary.mjs +1 -14
  34. package/dist/lib/harness-core.mjs +4 -1
  35. package/dist/lib/harness-paths.mjs +115 -1
  36. package/dist/lib/impact-classifier.mjs +420 -0
  37. package/dist/lib/lesson-maintenance.mjs +1 -2
  38. package/dist/lib/markdown-utils.mjs +50 -1
  39. package/dist/lib/migration-planner.mjs +31 -16
  40. package/dist/lib/migration-support.mjs +5 -4
  41. package/dist/lib/module-registry.mjs +296 -0
  42. package/dist/lib/preset-audit-contracts.mjs +24 -1
  43. package/dist/lib/preset-engine.mjs +67 -29
  44. package/dist/lib/preset-registry.mjs +361 -71
  45. package/dist/lib/preset-runner.mjs +292 -26
  46. package/dist/lib/review-confirm-git-gate.mjs +73 -19
  47. package/dist/lib/status-builder.mjs +23 -8
  48. package/dist/lib/structure-migration.mjs +6 -4
  49. package/dist/lib/subagent-authorization-audit.mjs +8 -2
  50. package/dist/lib/task-archive-eligibility.mjs +65 -0
  51. package/dist/lib/task-audit-metadata.mjs +25 -11
  52. package/dist/lib/task-audit-migration.mjs +21 -14
  53. package/dist/lib/task-discovery-contract.mjs +32 -0
  54. package/dist/lib/task-index.mjs +3 -2
  55. package/dist/lib/task-lesson-candidates.mjs +1 -2
  56. package/dist/lib/task-lesson-sedimentation.mjs +310 -9
  57. package/dist/lib/task-lifecycle/create-task-helpers.mjs +6 -3
  58. package/dist/lib/task-lifecycle/phase-sync.mjs +0 -1
  59. package/dist/lib/task-lifecycle/preset-interop.mjs +16 -0
  60. package/dist/lib/task-lifecycle/review-confirm.mjs +34 -2
  61. package/dist/lib/task-lifecycle/review-gates.mjs +12 -5
  62. package/dist/lib/task-lifecycle/review-submission.mjs +1 -2
  63. package/dist/lib/task-lifecycle/scaffold-provenance.mjs +0 -1
  64. package/dist/lib/task-lifecycle/template-files.mjs +2 -5
  65. package/dist/lib/task-lifecycle.mjs +116 -160
  66. package/dist/lib/task-metadata.mjs +10 -5
  67. package/dist/lib/task-preset-contract-drift.mjs +45 -0
  68. package/dist/lib/task-repository.mjs +192 -0
  69. package/dist/lib/task-review-model.mjs +36 -17
  70. package/dist/lib/task-scanner.mjs +74 -23
  71. package/dist/lib/task-template-materials.mjs +131 -0
  72. package/dist/lib/task-tombstone-commands.mjs +186 -29
  73. package/dist/lib/types/check-profiles.js +1 -0
  74. package/dist/lib/types/impact.js +1 -0
  75. package/dist/lib/types/preset.js +1 -0
  76. package/dist/lib/types/task-lifecycle.js +1 -0
  77. package/dist/lib/types/task-scanner.js +1 -0
  78. package/dist/postinstall.mjs +2 -2
  79. package/dist/run-built-tests.mjs +10 -3
  80. package/docs-release/README.md +1 -0
  81. package/docs-release/architecture/document-contract-kernel/README.md +150 -0
  82. package/docs-release/architecture/document-contract-kernel/products/full-skill-overlay.md +29 -0
  83. package/docs-release/architecture/document-contract-kernel/products/lite-forbidden-surfaces.txt +26 -0
  84. package/docs-release/architecture/document-contract-kernel/products/lite-skill-overlay.md +37 -0
  85. package/docs-release/architecture/overview.md +2 -2
  86. package/docs-release/architecture/overview.zh-CN.md +2 -2
  87. package/docs-release/architecture/system-explainer/01-system-overview.md +11 -7
  88. package/docs-release/architecture/system-explainer/02-module-dependency.md +4 -4
  89. package/docs-release/architecture/system-explainer/03-task-lifecycle.md +17 -12
  90. package/docs-release/architecture/system-explainer/05-data-flow.md +6 -6
  91. package/docs-release/architecture/system-explainer/06-preset-and-migration.md +2 -2
  92. package/docs-release/architecture/system-explainer/README.md +1 -1
  93. package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +12 -8
  94. package/docs-release/architecture/system-explainer/en-US/02-module-dependency.md +5 -5
  95. package/docs-release/architecture/system-explainer/en-US/03-task-lifecycle.md +19 -11
  96. package/docs-release/architecture/system-explainer/en-US/05-data-flow.md +5 -5
  97. package/docs-release/architecture/system-explainer/en-US/06-preset-and-migration.md +2 -2
  98. package/docs-release/architecture/system-explainer/en-US/README.md +1 -1
  99. package/docs-release/guides/agent-installation.en-US.md +4 -6
  100. package/docs-release/guides/agent-installation.md +11 -8
  101. package/docs-release/guides/contributing.md +10 -3
  102. package/docs-release/guides/contributing.zh-CN.md +10 -3
  103. package/docs-release/guides/legacy-migration-agent-prompt.md +1 -1
  104. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +1 -1
  105. package/docs-release/guides/migration-playbook.en-US.md +9 -6
  106. package/docs-release/guides/migration-playbook.md +9 -6
  107. package/docs-release/guides/preset-development.md +68 -2
  108. package/docs-release/guides/task-state-machine.en-US.md +8 -8
  109. package/docs-release/guides/task-state-machine.md +7 -7
  110. package/docs-release/guides/typescript-runtime-migration-closeout.md +17 -13
  111. package/package.json +16 -12
  112. package/postinstall.mjs +37 -0
  113. package/presets/legacy-migration/preset.yaml +5 -5
  114. package/presets/legacy-migration/templates/execution_strategy.append.md +1 -1
  115. package/presets/lesson-sedimentation/preset.yaml +3 -3
  116. package/presets/module/preset.yaml +2 -2
  117. package/presets/module/templates/execution_strategy.append.md +1 -1
  118. package/presets/module/templates/task_plan.append.md +3 -3
  119. package/presets/release-closeout/checks/check-release-package.mjs +6 -1
  120. package/presets/release-closeout/preset.yaml +9 -9
  121. package/presets/release-closeout/scripts/generate-release-package.mjs +387 -25
  122. package/presets/release-closeout/templates/task_plan.append.md +5 -5
  123. package/presets/standard-task/preset.yaml +2 -2
  124. package/references/agents-md-pattern.md +23 -17
  125. package/references/lessons-governance.md +2 -2
  126. package/references/module-parallel-standard.md +3 -6
  127. package/references/ssot-governance.md +2 -2
  128. package/references/taskr-gap-analysis.md +3 -3
  129. package/run-dist.mjs +34 -0
  130. package/skills/preset-creator/SKILL.md +40 -8
  131. package/skills/preset-creator/references/complex-task-skeleton/brief.md +32 -8
  132. package/skills/preset-creator/references/preset-package-skeleton.md +15 -5
  133. package/skills/preset-creator/references/structure-aware-paths.md +112 -0
  134. package/templates/AGENTS.md.template +28 -26
  135. package/templates/architecture/README.md +2 -2
  136. package/templates/architecture/service-catalog.md +2 -2
  137. package/templates/architecture/services/service-template.md +1 -1
  138. package/templates/dashboard/assets/app-src/00-state.js +5 -1
  139. package/templates/dashboard/assets/app-src/10-router.js +7 -0
  140. package/templates/dashboard/assets/app-src/20-overview.js +8 -8
  141. package/templates/dashboard/assets/app-src/30-tasks.js +132 -40
  142. package/templates/dashboard/assets/app-src/32-task-swimlane.js +314 -0
  143. package/templates/dashboard/assets/app-src/35-task-detail.js +35 -5
  144. package/templates/dashboard/assets/app-src/40-modules.js +257 -41
  145. package/templates/dashboard/assets/app-src/45-review.js +127 -1
  146. package/templates/dashboard/assets/app-src/90-bindings.js +185 -2
  147. package/templates/dashboard/assets/app.css +928 -53
  148. package/templates/dashboard/assets/app.css.manifest.json +2 -0
  149. package/templates/dashboard/assets/app.js +1071 -98
  150. package/templates/dashboard/assets/app.manifest.json +1 -0
  151. package/templates/dashboard/assets/css-src/00-foundation.css +12 -6
  152. package/templates/dashboard/assets/css-src/10-panels-flow.css +2 -2
  153. package/templates/dashboard/assets/css-src/30-task-index.css +21 -13
  154. package/templates/dashboard/assets/css-src/31-archive.css +94 -0
  155. package/templates/dashboard/assets/css-src/32-task-swimlane.css +487 -0
  156. package/templates/dashboard/assets/css-src/35-review-workspace.css +78 -0
  157. package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +191 -14
  158. package/templates/dashboard/assets/css-src/50-responsive-overrides.css +23 -0
  159. package/templates/dashboard/assets/i18n.js +166 -2
  160. package/templates/development/README.md +9 -9
  161. package/templates/development/cross-repo-debugging.md +3 -3
  162. package/templates/development/external-context/service-template.md +1 -1
  163. package/templates/development/external-source-packs/README.md +2 -2
  164. package/templates/integrations/README.md +4 -4
  165. package/templates/integrations/api-contract.md +1 -1
  166. package/templates/integrations/event-contract.md +1 -1
  167. package/templates/integrations/third-party/vendor-template.md +1 -1
  168. package/templates/integrations/webhook-contract.md +1 -1
  169. package/templates/ledger/Harness-Ledger.md +1 -1
  170. package/templates/modules/module_brief.md +50 -0
  171. package/templates/modules/module_plan.md +49 -0
  172. package/templates/modules/registry_view.md +9 -0
  173. package/templates/modules/session_prompt_pack.md +55 -0
  174. package/templates/planning/brief.md +32 -8
  175. package/templates/planning/module_brief.md +28 -3
  176. package/templates/planning/module_plan.md +26 -11
  177. package/templates/planning/module_session_prompt.md +11 -2
  178. package/templates/planning/optional/slices/_slice-template/brief.md +28 -0
  179. package/templates/planning/review.md +1 -1
  180. package/templates/planning/visual_map.md +1 -1
  181. package/templates/reference/docs-library-standard.md +7 -7
  182. package/templates/reference/execution-workflow-standard.md +13 -0
  183. package/templates/reference/external-source-intake-standard.md +10 -10
  184. package/templates/reference/repo-governance-standard.md +1 -1
  185. package/templates/reference/review-routing-standard.md +4 -0
  186. package/templates/ssot/Module-Registry.md +4 -38
  187. package/templates/walkthrough/walkthrough-template.md +1 -1
  188. package/templates-zh-CN/AGENTS.md.template +27 -25
  189. package/templates-zh-CN/CLAUDE.md.template +1 -1
  190. package/templates-zh-CN/architecture/README.md +2 -2
  191. package/templates-zh-CN/architecture/service-catalog.md +2 -2
  192. package/templates-zh-CN/architecture/services/service-template.md +1 -1
  193. package/templates-zh-CN/development/README.md +9 -9
  194. package/templates-zh-CN/development/cross-repo-debugging.md +3 -3
  195. package/templates-zh-CN/development/external-context/service-template.md +1 -1
  196. package/templates-zh-CN/development/external-source-packs/README.md +2 -2
  197. package/templates-zh-CN/integrations/README.md +4 -4
  198. package/templates-zh-CN/integrations/api-contract.md +1 -1
  199. package/templates-zh-CN/integrations/event-contract.md +1 -1
  200. package/templates-zh-CN/integrations/third-party/vendor-template.md +1 -1
  201. package/templates-zh-CN/integrations/webhook-contract.md +1 -1
  202. package/templates-zh-CN/ledger/Harness-Ledger.md +1 -1
  203. package/templates-zh-CN/lessons/lesson-arch-process-change.md +1 -1
  204. package/templates-zh-CN/lessons/lesson-new-doc.md +3 -3
  205. package/templates-zh-CN/lessons/lesson-ref-change.md +4 -4
  206. package/templates-zh-CN/modules/module_brief.md +47 -0
  207. package/templates-zh-CN/modules/module_plan.md +48 -0
  208. package/templates-zh-CN/modules/registry_view.md +9 -0
  209. package/templates-zh-CN/modules/session_prompt_pack.md +50 -0
  210. package/templates-zh-CN/planning/INDEX.md +1 -0
  211. package/templates-zh-CN/planning/brief.md +26 -7
  212. package/templates-zh-CN/planning/module_brief.md +24 -2
  213. package/templates-zh-CN/planning/module_plan.md +35 -29
  214. package/templates-zh-CN/planning/module_session_prompt.md +15 -11
  215. package/templates-zh-CN/planning/optional/slices/_slice-template/brief.md +28 -11
  216. package/templates-zh-CN/planning/review.md +1 -1
  217. package/templates-zh-CN/reference/adversarial-review-standard.md +1 -1
  218. package/templates-zh-CN/reference/delivery-operating-model-standard.md +3 -3
  219. package/templates-zh-CN/reference/docs-library-standard.md +27 -27
  220. package/templates-zh-CN/reference/execution-workflow-standard.md +12 -2
  221. package/templates-zh-CN/reference/external-source-intake-standard.md +10 -10
  222. package/templates-zh-CN/reference/harness-ledger-standard.md +3 -3
  223. package/templates-zh-CN/reference/regression-ssot-governance.md +2 -2
  224. package/templates-zh-CN/reference/repo-governance-standard.md +1 -1
  225. package/templates-zh-CN/reference/review-routing-standard.md +3 -0
  226. package/templates-zh-CN/reference/walkthrough-standard.md +2 -2
  227. package/templates-zh-CN/reference/worktree-standard.md +1 -1
  228. package/templates-zh-CN/regression/Cadence-Ledger.md +2 -2
  229. package/templates-zh-CN/ssot/Delivery-SSoT.md +2 -2
  230. package/templates-zh-CN/ssot/Module-Registry.md +5 -44
  231. package/templates-zh-CN/ssot/Regression-SSoT.md +2 -2
  232. package/templates-zh-CN/walkthrough/walkthrough-template.md +4 -4
@@ -1,7 +1,5 @@
1
1
  # {{TASK_TITLE}}
2
2
 
3
- ## Brief
4
-
5
3
  ## Task ID
6
4
 
7
5
  `{{TASK_ID}}`
@@ -10,9 +8,25 @@
10
8
 
11
9
  {{DATE}}
12
10
 
13
- ## 目标结果
11
+ ## 一句话结果
12
+
13
+ 用一句话说明这个任务完成后会产生什么具体结果。
14
+
15
+ ## 完成后能得到什么
16
+
17
+ 用 100-300 字说明这个任务完成后,用户、项目或下一轮 agent 能直接拿到什么结果。
18
+ 说明这个结果能用于什么决策、交付、验证或继续开发。聚焦可用结果,不要展开实现过程,
19
+ 除非实现方式本身就是交付物。
20
+
21
+ ## 交付物
14
22
 
15
- 说明这个任务完成后,用户或项目能直接看到的结果。
23
+ - 可见产物:
24
+ - 修改位置:
25
+ - 验证证据:
26
+
27
+ ## 第一眼应该看什么
28
+
29
+ 写明人或下一轮 agent 打开任务后,应该先读哪些文件、证据或生成产物。
16
30
 
17
31
  ## 边界
18
32
 
@@ -20,13 +34,18 @@
20
34
  - 范围外:不能顺手塞进来的工作。
21
35
  - 停止条件:遇到不确定性、风险或缺少权限时,必须回到 coordinator 或用户确认。
22
36
 
37
+ ## 完成判断
38
+
39
+ 列出 3-5 条能证明目标结果已经达成的具体条件。完整执行计划保留在 `task_plan.md`。
40
+
23
41
  ## 执行合同
24
42
 
25
43
  - Owner:coordinator
26
44
  - 生命周期状态:未开始
27
- - 必需文件:`INDEX.md`、`task_plan.md`、`execution_strategy.md`、`visual_map.md`、`progress.md`、`findings.md`、`review.md`
45
+ - 必需文件:`INDEX.md`、`task_plan.md`、`execution_strategy.md`、`visual_map.md`、
46
+ `progress.md`、`findings.md`、`review.md`
28
47
  - 完成条件:验证证据必须记录到 `progress.md`
29
48
 
30
- ## 第一步
49
+ ## 当前下一步
31
50
 
32
- 开始实现前,把这里替换成第一个具体动作。
51
+ 写明开始实现前的第一个具体动作。
@@ -1,7 +1,5 @@
1
1
  # {{TASK_TITLE}} 模块
2
2
 
3
- ## Brief
4
-
5
3
  ## 模块 Key
6
4
 
7
5
  `{{TASK_ID}}`
@@ -10,6 +8,26 @@
10
8
 
11
9
  {{DATE}}
12
10
 
11
+ ## 一句话结果
12
+
13
+ 用一句话说明这个模块持续维护什么结果。
14
+
15
+ ## 完成后能得到什么
16
+
17
+ 用 100-300 字说明这个模块健康运行时,用户、项目、coordinator 或 worker agents
18
+ 能得到什么。说明它能改善哪些决策、交付协调、验证或交接工作。聚焦模块带来的运行结果,
19
+ 不要展开内部流程。
20
+
21
+ ## 交付物
22
+
23
+ - 可见产物:
24
+ - 负责范围:
25
+ - 验证证据:
26
+
27
+ ## 第一眼应该看什么
28
+
29
+ 写明人打开模块后应该先读哪个 module plan、任务列表、证据或生成产物。
30
+
13
31
  ## 模块职责
14
32
 
15
33
  说明这个模块负责什么,以及为什么需要独立管理。
@@ -20,6 +38,10 @@
20
38
  - 共享面:需要 coordinator 同步的文件。
21
39
  - 不负责:相邻模块或未声明的全局文件。
22
40
 
41
+ ## 完成判断
42
+
43
+ 列出能证明这个模块 brief 仍然反映当前模块合同的条件。执行细节保留在 `module_plan.md`。
44
+
23
45
  ## 当前工作
24
46
 
25
47
  列出当前模块任务,或指向 `module_plan.md`。
@@ -1,43 +1,49 @@
1
- # [模块名] Module Plan
1
+ # {{TASK_TITLE}} 模块计划
2
2
 
3
- ## 基本信息
3
+ ## 模块身份
4
4
 
5
- - Key:[module key]
6
- - PREFIX:[step ID prefix]
7
- - Branch:[长期分支名,例如 `codex/reader`]
8
- - 写入范围:[该模块可修改的目录或文件范围]
9
- - Shared surfaces:[与其他模块共享、需要协调的文件或能力面;无则写“无”]
5
+ - 模块 Key:`{{TASK_ID}}`
6
+ - 负责人:coordinator
7
+ - 分支:
8
+ - 写入范围:
9
+ - 共享面:
10
+ - 依赖模块:
10
11
 
11
- ## 步骤序列
12
+ ## 边界
13
+
14
+ - 可以编辑:
15
+ - 禁止编辑:
16
+ - 外部依赖:
17
+
18
+ ## 步骤
12
19
 
13
20
  | 步骤 ID | 名称 | 状态 | 任务计划 | 依赖 |
14
21
  | --- | --- | --- | --- | --- |
15
- | XXX-01 | [步骤名] | planned | | |
16
- | XXX-02 | [步骤名] | planned | — | XXX-01 |
22
+ | MOD-01 | 定义模块运行合同 | planned | none | none |
17
23
 
18
- ## 执行与可视化文件
24
+ ## 活跃任务
19
25
 
20
- 模块级 `execution_strategy.md` `visual_map.md` 应放在本模块目录,与 `module_plan.md` 同级,不嵌入本文件。
21
-
22
- | 合同文件 | 是否必需 | 用途 |
23
- | --- | --- | --- |
24
- | `execution_strategy.md` | yes | 模块执行模式、写入边界、subagent 使用、全局同步 owner、验证深度 |
25
- | `visual_map.md` | yes | 模块图表集合、阶段图、状态、完成度、证据状态、阻塞风险 |
26
-
27
- 旧模块目录可以保留历史嵌入式段落作为 fallback;新模块目录必须使用独立文件。
26
+ | 任务 | 状态 | 负责人 | 证据 | 备注 |
27
+ | --- | --- | --- | --- | --- |
28
+ | none | planned | coordinator | none | 有模块任务后替换此行。 |
28
29
 
29
- ## 状态定义
30
+ ## 验证
30
31
 
31
- - `planned`:尚未开始
32
- - `in-progress`:正在开发
33
- - `done`:已完成并合并
34
- - `blocked`:被依赖或外部条件阻塞
35
- - `superseded`:已被其他步骤替代
32
+ | 检查 | 命令或证据 | 必需 |
33
+ | --- | --- | --- |
34
+ | 模块任务合同 | `harness check --profile target-project .` | yes |
36
35
 
37
- ## 当前状态
36
+ ## 交接
38
37
 
39
- [用 1-3 句话描述当前进度,供新会话快速接手。每次会话结束时更新。]
38
+ - 分支:
39
+ - Commit SHA:
40
+ - 检查:
41
+ - 变更文件:
42
+ - 残余风险:
43
+ - 需要 coordinator 同步:
40
44
 
41
- ## 完成标准
45
+ ## 模板边界
42
46
 
43
- [写清模块整体完成条件。所有步骤 `done` 不等于模块完成,可能仍需集成测试、性能验证、文档收口或 coordinator 同步。]
47
+ 这份 planning 模板仅为兼容旧安装保留。新的模块根目录从 `templates/modules/**`
48
+ 生成,默认只拥有 `brief.md` 和 `module_plan.md`。`execution_strategy.md`、
49
+ `visual_map.md`、`review.md`、`walkthrough.md` 等执行合同属于具体任务目录。
@@ -1,4 +1,8 @@
1
- # 模块会话提示词(Module Session Prompt)
1
+ # 模块会话提示词包
2
+
3
+ 这份 planning 模板作为兼容旧安装的别名保留。新的安装使用全局
4
+ `templates/modules/session_prompt_pack.md`;CLI 默认不会创建每个模块自己的
5
+ `session_prompt.md`。
2
6
 
3
7
  用于为模块并行项目启动一个长程模块会话。交给新 agent 前,coordinator 必须先用真实项目事实替换占位符。
4
8
 
@@ -12,14 +16,14 @@
12
16
  - Coordinator 负责集成 worker commit 并运行最终门禁;不要在一个 checkout 中混合多个 worker 的未提交改动。
13
17
 
14
18
  目标:
15
- - 执行 coding-agent-harness/planning/modules/Module-Registry.md 与 coding-agent-harness/planning/modules/<module-key>/module_plan.md 中为 <module-key> 标记的当前步骤。
19
+ - 执行 {{paths.harnessRoot}}/planning/modules/Module-Registry.md 与 {{paths.harnessRoot}}/planning/modules/<module-key>/module_plan.md 中为 <module-key> 标记的当前步骤。
16
20
  - 除非触发 stop condition,否则持续推进到该步骤已实现、已验证、已记录,并可进入审查。
17
21
 
18
22
  冷启动:
19
23
  1. 阅读 AGENTS.md。
20
- 2. 阅读 coding-agent-harness/planning/modules/Module-Registry.md。
21
- 3. 阅读 coding-agent-harness/planning/modules/Session-Prompt-Pack.md 或 coding-agent-harness/planning/modules/<module-key>/session_prompt.md
22
- 4. 阅读 coding-agent-harness/planning/modules/<module-key>/module_plan.md。
24
+ 2. 阅读 {{paths.harnessRoot}}/planning/modules/Module-Registry.md。
25
+ 3. 阅读 {{paths.harnessRoot}}/planning/modules/Session-Prompt-Pack.md。
26
+ 4. 阅读 {{paths.harnessRoot}}/planning/modules/<module-key>/module_plan.md。
23
27
  5. 按项目任务阅读矩阵读取本任务涉及文件对应的标准文档。
24
28
 
25
29
  启动门禁:
@@ -27,9 +31,9 @@
27
31
  - 确认当前 checkout/worktree path 是 <worktree-path>,当前分支是 <branch-name>。
28
32
  - 编辑前检查 dirty state,不要 revert 无关改动。
29
33
  - 如果另一个活跃会话拥有该模块或必需共享文件,停止并记录冲突。
30
- - 代码编辑前,基于项目 planning 模板创建或更新 coding-agent-harness/planning/modules/<module-key>/tasks/<current-step>-<short-name>/task_plan.md,写清范围、验收、验证、分支/worktree 和共享协调。
34
+ - 代码编辑前,基于项目 planning 模板创建或更新 {{paths.harnessRoot}}/planning/modules/<module-key>/tasks/<current-step>-<short-name>/task_plan.md,写清范围、验收、验证、分支/worktree 和共享协调。
31
35
  - 代码编辑前,确认模块任务目录含有 `execution_strategy.md` 与 `visual_map.md`。如缺失,先补齐再实现。
32
- - 如果 coding-agent-harness/planning/modules/<module-key>/ 缺少模块级 `execution_strategy.md` `visual_map.md`,在派发 worker 前补齐或更新。
36
+ - 模块根目录默认只维护 `brief.md` `module_plan.md`;不要把任务执行合同放到模块根目录。
33
37
 
34
38
  分支与工作树:
35
39
  - Worktree path: <worktree-path>.
@@ -41,7 +45,7 @@
41
45
  写入范围:
42
46
  - 允许:<module-write-scope>.
43
47
  - 未明确协调前禁止:<shared-or-forbidden-scope>.
44
- - 共享协调产物:coding-agent-harness/planning/modules/_shared/tasks/<id>/task_plan.md,或模块任务计划中的“共享协调”段,必须写明 owner、涉及文件、允许改动、reviewer 和 merge 顺序。
48
+ - 共享协调产物:{{paths.harnessRoot}}/planning/modules/_shared/tasks/<id>/task_plan.md,或模块任务计划中的“共享协调”段,必须写明 owner、涉及文件、允许改动、reviewer 和 merge 顺序。
45
49
  - 如果实现需要触碰允许范围之外的文件,停止并记录所需协调,不要直接编辑。
46
50
 
47
51
  验证:
@@ -52,12 +56,12 @@
52
56
 
53
57
  收口:
54
58
  - 更新模块计划和模块任务进度。
55
- - 除非 coordinator 明确分配共享锁,worker session 不得更新 coding-agent-harness/planning/modules/Module-Registry.md、coding-agent-harness/governance/generated/Harness-Ledger.md、Closeout Index、Regression SSoT 或 Cadence Ledger。
59
+ - 除非 coordinator 明确分配共享锁,worker session 不得更新 {{paths.harnessRoot}}/planning/modules/Module-Registry.md、{{paths.harnessRoot}}/governance/generated/Harness-Ledger.md、Closeout Index、Regression SSoT 或 Cadence Ledger。
56
60
  - 如果需要全局表更新,在 task_plan.md 或 progress.md 写 Coordinator 交接,并标记 `Global sync status: pending-coordinator-pass`。
57
- - 只有 coordinator pass 或明确的 shared-lock owner 可以更新 coding-agent-harness/planning/modules/Module-Registry.md。
61
+ - 只有 coordinator pass 或明确的 shared-lock owner 可以更新 {{paths.harnessRoot}}/planning/modules/Module-Registry.md。
58
62
  - 汇报状态时区分 `task.state`、`lifecycleState`、`reviewStatus` 和 `closeoutStatus`;`done` 只表示实现步骤完成,不等于 `closed`。
59
63
  - 把当前任务 `visual_map.md` 阶段表作为生命周期地图。切片结束时检查当前 gate phase;只有 `Actor` 为 `agent` 的 `Exit Command` 才由 Agent 执行。
60
- - 更新 coding-agent-harness/planning/modules/<module-key>/module_plan.md。
64
+ - 更新 {{paths.harnessRoot}}/planning/modules/<module-key>/module_plan.md。
61
65
  - 写 review.md,或记录 review skipped-with-reason。需要人工确认审查完成时,必须通过本地 dashboard workbench,或由 coordinator 执行 `harness review-confirm`;存在开放 P0/P1/P2 finding 时不得确认。
62
66
  - 步骤完成时写 walkthrough,并包含 Lessons 反思。
63
67
  - Coordinator pass 在任务关闭时更新 Closeout Index 和 Lessons 检查。
@@ -1,14 +1,29 @@
1
1
  # 切片简报
2
2
 
3
- ## 切片 ID
3
+ ## 一句话结果
4
4
 
5
- SL-001
5
+ 用一句话说明这个切片完成后会产生什么具体结果。
6
6
 
7
- ## 所属阶段(Parent Phase)
7
+ ## 完成后能得到什么
8
+
9
+ 用 100-300 字说明这个切片完成后,父任务、coordinator 或下游 worker 能得到什么。
10
+ 说明它能解锁哪个决策、集成、验证或下一切片。实现细节保留在切片计划或证据文件里。
11
+
12
+ ## 交付物
13
+
14
+ - 可见产物:
15
+ - 修改位置:
16
+ - 验证证据:
17
+
18
+ ## 第一眼应该看什么
19
+
20
+ 写明人应该先看哪些切片证据、改动文件或交接说明。
21
+
22
+ ## 身份
8
23
 
9
24
  | 父阶段 ID | 依赖 | 状态 | 负责人 / 交接 |
10
25
  | --- | --- | --- | --- |
11
- | PH-01 | none | planned | coordinator |
26
+ | PH-01 | none | planned | [owner] |
12
27
 
13
28
  ## 目标
14
29
 
@@ -20,16 +35,18 @@ SL-001
20
35
  - 明确排除:[不属于本切片的内容]
21
36
  - 共享协调:[涉及共享文件时写 owner、锁和 merge 顺序;如无写“无”]
22
37
 
23
- ## 输入(Inputs)
38
+ ## 完成判断
24
39
 
25
- - [引用 `references/INDEX.md`、`artifacts/INDEX.md`、任务计划或上游切片 ID]
40
+ - [ ] 一句话结果已经实现。
41
+ - [ ] 必需证据已经登记。
42
+ - [ ] 共享更新或残余风险已经交给 coordinator。
26
43
 
27
44
  ## 必需证据
28
45
 
29
- - [ ] [该切片关闭前必须提供的命令、diff、截图、review 或报告]
46
+ | 证据 | 命令 / 路径 | 必需 |
47
+ | --- | --- | --- |
48
+ | [check] | [command or path] | yes |
30
49
 
31
- ## 关闭条件
50
+ ## 交接要求
32
51
 
33
- - [ ] 范围内工作完成。
34
- - [ ] 必需证据已登记到 `evidence.md`。
35
- - [ ] 如需审查,`review.md` 无 open blocking finding。
52
+ 切片 owner 必须报告变更文件、已运行检查、残余风险,以及需要 coordinator 处理的共享更新。
@@ -93,7 +93,7 @@ Scanner 会根据必需文件、章节、证据和这个严格提交块派生 `m
93
93
  | Blocked | yes / no | 存在 open blocking finding、非法状态转换、审计失败或需要人工 waiver。 | blocker 被修复、关闭或明确豁免。 |
94
94
  | Lessons | yes / no | Lesson candidate 需要拒绝、留在任务内、dry-run promotion 或创建沉淀任务。 | 人工决定候选路由;除非明确批准,promotion 仍是单独维护任务。 |
95
95
  | Confirmed / Finalized | yes / no | 已有人工确认;可能仍待结项或治理收口。 | Closeout、ledger 和 lesson routing 都完成。 |
96
- | Soft-deleted / Superseded | yes / no | 任务有 tombstone、superseded-byarchiveduplicate abandoned 状态。 | reopen 或作为只读审计历史保留。 |
96
+ | Soft-deleted / Superseded | yes / no | 任务有 tombstone、superseded-byarchive 状态;duplicate / abandoned 等语义写在 `Reason`。 | reopen 或作为只读审计历史保留。 |
97
97
 
98
98
  ## 后续路由(Follow-Up Routing)
99
99
 
@@ -7,7 +7,7 @@
7
7
  审查报告默认写入:
8
8
 
9
9
  ```text
10
- coding-agent-harness/planning/tasks/<YYYY-MM-DD-任务名>/review.md
10
+ {{paths.harnessRoot}}/planning/tasks/<YYYY-MM-DD-任务名>/review.md
11
11
  ```
12
12
 
13
13
  审查路由由 `review-routing-standard.md` 决定;本文件只规定审查报告怎么写、什么结论可以收口。
@@ -21,8 +21,8 @@
21
21
  | 层级 | 负责人 | 主要产物 | 规则 |
22
22
  | --- | --- | --- | --- |
23
23
  | 路线图 | product / tech lead / owner | roadmap、release plan | 只放阶段目标,不替代任务计划。 |
24
- | 功能块 | coordinator / feature lead | `coding-agent-harness/planning/Delivery-SSoT.md` 或功能 SSoT | 标明 owner、依赖、集成顺序。 |
25
- | 任务 | task owner | `coding-agent-harness/planning/tasks/<task>/task_plan.md` | 每个任务有目标、范围、证据和 stop condition。 |
24
+ | 功能块 | coordinator / feature lead | `{{paths.harnessRoot}}/planning/Delivery-SSoT.md` 或功能 SSoT | 标明 owner、依赖、集成顺序。 |
25
+ | 任务 | task owner | `{{paths.harnessRoot}}/planning/tasks/<task>/task_plan.md` | 每个任务有目标、范围、证据和 stop condition。 |
26
26
  | 审查 | reviewer / subagent / human | `review.md` 或 PR review | 按审查路由执行,不只留在聊天里。 |
27
27
  | 集成 | coordinator / maintainer | PR、integration branch、release branch | 由集成 owner 决定 merge 顺序和最终 gates。 |
28
28
 
@@ -40,7 +40,7 @@
40
40
 
41
41
  ## 交付单一事实源要求
42
42
 
43
- 以下任一条件成立时,必须维护 `coding-agent-harness/planning/Delivery-SSoT.md`:
43
+ 以下任一条件成立时,必须维护 `{{paths.harnessRoot}}/planning/Delivery-SSoT.md`:
44
44
 
45
45
  - 多人或多 agent 并行开发。
46
46
  - 多仓或前后端分离协作。
@@ -2,21 +2,21 @@
2
2
 
3
3
  ## 职责
4
4
 
5
- 本标准定义 `coding-agent-harness/` 文档库的目录、命名、归档和引用规则。文档库服务于 agent 执行,不是资料堆;每个文件都应有明确职责、当前事实和可追溯证据。
5
+ 本标准定义 `{{paths.harnessRoot}}/` 文档库的目录、命名、归档和引用规则。文档库服务于 agent 执行,不是资料堆;每个文件都应有明确职责、当前事实和可追溯证据。
6
6
 
7
7
  ## 目录职责
8
8
 
9
9
  | 位置 | 职责 |
10
10
  | --- | --- |
11
- | `coding-agent-harness/governance/generated/Harness-Ledger.md` | 全局上下文维护总账,记录非平凡任务是否完成计划、审查、回归、Lessons 和收口回写。 |
12
- | `coding-agent-harness/governance/` | promoted lesson 详情、治理记录、归档。 |
13
- | `coding-agent-harness/context/architecture/` | ADR、架构设计、接口决策、关键技术方案。 |
14
- | `coding-agent-harness/context/development/` | 本地开发、代码地图、外部服务开发上下文、mock/stub、跨仓调试。 |
15
- | `coding-agent-harness/governance/regression/` | Regression SSoT、Cadence Ledger、测试策略和回归证据索引。 |
16
- | `coding-agent-harness/planning/` | Delivery SSoT、Module Registry、任务目录、模块计划。 |
17
- | `coding-agent-harness/planning/tasks/` | 每个任务一个目录,包含 task plan、progress、findings、review。 |
18
- | `coding-agent-harness/planning/tasks/<task>/` | 收口记录和 Closeout Index。 |
19
- | `coding-agent-harness/governance/standards/` | agent 按需加载的标准文件,控制行为而不是记录流水账。 |
11
+ | `{{paths.harnessRoot}}/governance/generated/Harness-Ledger.md` | 全局上下文维护总账,记录非平凡任务是否完成计划、审查、回归、Lessons 和收口回写。 |
12
+ | `{{paths.harnessRoot}}/governance/` | promoted lesson 详情、治理记录、归档。 |
13
+ | `{{paths.harnessRoot}}/context/architecture/` | ADR、架构设计、接口决策、关键技术方案。 |
14
+ | `{{paths.harnessRoot}}/context/development/` | 本地开发、代码地图、外部服务开发上下文、mock/stub、跨仓调试。 |
15
+ | `{{paths.harnessRoot}}/governance/regression/` | Regression SSoT、Cadence Ledger、测试策略和回归证据索引。 |
16
+ | `{{paths.harnessRoot}}/planning/` | Delivery SSoT、Module Registry、任务目录、模块计划。 |
17
+ | `{{paths.harnessRoot}}/planning/tasks/` | 每个任务一个目录,包含 task plan、progress、findings、review。 |
18
+ | `{{paths.harnessRoot}}/planning/tasks/<task>/` | 收口记录和 Closeout Index。 |
19
+ | `{{paths.harnessRoot}}/governance/standards/` | agent 按需加载的标准文件,控制行为而不是记录流水账。 |
20
20
  | `docs/99-TMP/` | 临时材料,定期清理,不作为长期事实来源。 |
21
21
 
22
22
  ## 03 / 04 / 06 路由规则
@@ -29,16 +29,16 @@
29
29
 
30
30
  | 目录 | 负责 | 不负责 | 必需 schema 信号 |
31
31
  | --- | --- | --- | --- |
32
- | `coding-agent-harness/context/architecture/` | 系统结构、服务职责、owner、service catalog、critical flows、ADR | endpoint payload、mock 指南、任务日志 | `Context Doc Type`, `Source Evidence`, `Last Verified`, `Confidence` |
33
- | `coding-agent-harness/context/development/` | local setup、codebase map、external development context、external source packs、mock/stub、cross-repo debugging | 长期架构事实、API payload 合同、未经摘要的外部资料堆 | `Context Doc Type`, `Development Use`, `Do Not Assume`, `Mocks / Stubs`, `Source Evidence`, `Last Verified`, `Confidence` |
34
- | `coding-agent-harness/context/integrations/` | API/event/webhook/SDK/third-party contract、auth、payload、errors、contract tests | 全局拓扑、service ownership catalog、调试笔记 | `Context Doc Type`, `Contract Type`, `Auth`, `Payload`, `Errors`, `Contract Tests`, `Source Evidence`, `Last Verified`, `Confidence` |
32
+ | `{{paths.harnessRoot}}/context/architecture/` | 系统结构、服务职责、owner、service catalog、critical flows、ADR | endpoint payload、mock 指南、任务日志 | `Context Doc Type`, `Source Evidence`, `Last Verified`, `Confidence` |
33
+ | `{{paths.harnessRoot}}/context/development/` | local setup、codebase map、external development context、external source packs、mock/stub、cross-repo debugging | 长期架构事实、API payload 合同、未经摘要的外部资料堆 | `Context Doc Type`, `Development Use`, `Do Not Assume`, `Mocks / Stubs`, `Source Evidence`, `Last Verified`, `Confidence` |
34
+ | `{{paths.harnessRoot}}/context/integrations/` | API/event/webhook/SDK/third-party contract、auth、payload、errors、contract tests | 全局拓扑、service ownership catalog、调试笔记 | `Context Doc Type`, `Contract Type`, `Auth`, `Payload`, `Errors`, `Contract Tests`, `Source Evidence`, `Last Verified`, `Confidence` |
35
35
 
36
36
  具体分工:
37
37
 
38
- - `coding-agent-harness/context/architecture/service-catalog.md` 只写服务摘要和链接。
39
- - `coding-agent-harness/context/integrations/<service>-api-contract.md` 才写 payload、auth、errors、contract tests。
40
- - `coding-agent-harness/context/development/external-context/<service>.md` 写 mock/stub、不安全假设和调试说明。
41
- - `coding-agent-harness/context/development/external-source-packs/` 只写外部资料索引、digest 和投影状态;最终事实必须回写到 `context/{architecture,development,integrations}`。
38
+ - `{{paths.harnessRoot}}/context/architecture/service-catalog.md` 只写服务摘要和链接。
39
+ - `{{paths.harnessRoot}}/context/integrations/<service>-api-contract.md` 才写 payload、auth、errors、contract tests。
40
+ - `{{paths.harnessRoot}}/context/development/external-context/<service>.md` 写 mock/stub、不安全假设和调试说明。
41
+ - `{{paths.harnessRoot}}/context/development/external-source-packs/` 只写外部资料索引、digest 和投影状态;最终事实必须回写到 `context/{architecture,development,integrations}`。
42
42
 
43
43
  ## 外部资料摄取规则
44
44
 
@@ -54,7 +54,7 @@ Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
54
54
 
55
55
  ## 命名规则
56
56
 
57
- - 目录可使用编号前缀,例如 `coding-agent-harness/planning`、`coding-agent-harness/governance/standards`。
57
+ - 目录可使用编号前缀,例如 `{{paths.harnessRoot}}/planning`、`{{paths.harnessRoot}}/governance/standards`。
58
58
  - 标准文件使用 kebab-case,例如 `testing-standard.md`。
59
59
  - 时序文档使用日期前缀,例如 `2026-05-19-runtime-cleanup-walkthrough.md`。
60
60
  - 模板目录或模板文件用 `_` 前缀,例如 `_task-template/`。
@@ -64,15 +64,15 @@ Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
64
64
 
65
65
  | 类型 | 推荐位置 | 要求 |
66
66
  | --- | --- | --- |
67
- | 任务计划 | `coding-agent-harness/planning/tasks/<task>/task_plan.md` | 写目标、范围、证据、stop condition。 |
68
- | 进度记录 | `coding-agent-harness/planning/tasks/<task>/progress.md` | 记录阶段状态、阻塞、决策和验证。 |
69
- | 研究发现 | `coding-agent-harness/planning/tasks/<task>/findings.md` | 记录调查证据,不替代审查报告。 |
70
- | 审查报告 | `coding-agent-harness/planning/tasks/<task>/review.md` | 记录 Confidence Challenge、material findings、evidence、residual。 |
71
- | 收口记录 | `coding-agent-harness/planning/tasks/<task>/<date>-<name>.md` | 给下一轮 agent 的可追溯交接。 |
72
- | Closeout Index | `coding-agent-harness/governance/generated/Closeout-Index.md` | closed task 的 walkthrough 路径和跳过原因索引。 |
73
- | Regression SSoT | `coding-agent-harness/governance/regression/Regression-SSoT.md` | 管回归 surface、evidence depth、residual。 |
67
+ | 任务计划 | `{{paths.harnessRoot}}/planning/tasks/<task>/task_plan.md` | 写目标、范围、证据、stop condition。 |
68
+ | 进度记录 | `{{paths.harnessRoot}}/planning/tasks/<task>/progress.md` | 记录阶段状态、阻塞、决策和验证。 |
69
+ | 研究发现 | `{{paths.harnessRoot}}/planning/tasks/<task>/findings.md` | 记录调查证据,不替代审查报告。 |
70
+ | 审查报告 | `{{paths.harnessRoot}}/planning/tasks/<task>/review.md` | 记录 Confidence Challenge、material findings、evidence、residual。 |
71
+ | 收口记录 | `{{paths.harnessRoot}}/planning/tasks/<task>/<date>-<name>.md` | 给下一轮 agent 的可追溯交接。 |
72
+ | Closeout Index | `{{paths.harnessRoot}}/governance/generated/Closeout-Index.md` | closed task 的 walkthrough 路径和跳过原因索引。 |
73
+ | Regression SSoT | `{{paths.harnessRoot}}/governance/regression/Regression-SSoT.md` | 管回归 surface、evidence depth、residual。 |
74
74
  | Harness Ledger | `Harness-Ledger.md` | 管上下文维护合规性,不复制业务事实。 |
75
- | Reference 标准 | `coding-agent-harness/governance/standards/*.md` | 管长期规则,避免写成任务日志。 |
75
+ | Reference 标准 | `{{paths.harnessRoot}}/governance/standards/*.md` | 管长期规则,避免写成任务日志。 |
76
76
 
77
77
  ## 归档规则
78
78
 
@@ -81,7 +81,7 @@ Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
81
81
  - 归档不删除原始 ID,不破坏 task plan、walkthrough、SSoT、Ledger 之间的引用。
82
82
  - 活跃文件必须留下归档指针,说明历史记录在哪里。
83
83
  - `review.md` 留在对应任务目录,不移动到 walkthrough 或根目录。
84
- - `coding-agent-harness/governance/generated/Harness-Ledger.md` 由 CLI 生成,不应手写。
84
+ - `{{paths.harnessRoot}}/governance/generated/Harness-Ledger.md` 由 CLI 生成,不应手写。
85
85
  - `docs/99-TMP/` 下超过 7 天未更新的文件应清理或迁移到正式位置。
86
86
 
87
87
  ## 写作原则
@@ -10,7 +10,7 @@
10
10
  2. 读取功能 SSoT 或 Delivery SSoT,确认任务状态、owner 和依赖。
11
11
  3. 读取 `task_plan.md`,确认目标、范围、证据、stop condition 和允许修改的路径。
12
12
  4. 读取 `delivery-operating-model-standard.md`,判断本轮是 solo、team、split-repo、program、waterfall 还是 kanban 交付形态。
13
- 5. 多人、多 agent、多仓、共享文件或阶段交付任务必须更新 `coding-agent-harness/planning/Delivery-SSoT.md`。
13
+ 5. 多人、多 agent、多仓、共享文件或阶段交付任务必须更新 `{{paths.harnessRoot}}/planning/Delivery-SSoT.md`。
14
14
  6. 判断是否属于长程任务;如属于,按 `long-running-task-standard.md` 补齐合同。
15
15
  7. 判断是否需要对抗性审查;如需要,按 `adversarial-review-standard.md` 创建或更新 `review.md`。
16
16
  8. planned task 默认需要 closeout review;先读取 `review-routing-standard.md`。
@@ -54,11 +54,21 @@
54
54
 
55
55
  Preset 包不能新增或替换根级 base scaffold 文档。Preset 只能追加固定基础文档的受控 section,或把隔离资源写入 `references/**` 和 `artifacts/**`。resource rows 只能登记在 `references/INDEX.md` 和 `artifacts/INDEX.md`;根 `INDEX.md` 最多显示系统渲染的 preset summary 字段。
56
56
 
57
+ ## 模块包边界
58
+
59
+ 已注册模块写在根 `harness.yaml` 的 `modules.items`。生成的
60
+ `planning/modules/Module-Registry.md` 是阅读视图,不是可编辑事实源。
61
+
62
+ 使用 `harness module register` 或 `harness module scaffold`,不要手工复制模块文件。
63
+ 模块根目录默认只拥有 `brief.md` 和 `module_plan.md`。`execution_strategy.md`、
64
+ `visual_map.md`、`review.md`、`walkthrough.md` 等执行合同属于具体任务目录,包括
65
+ `planning/modules/<key>/tasks/<task-id>/`。
66
+
57
67
  ## 完成任务后
58
68
 
59
69
  1. 按 `testing-standard.md` 和 Regression SSoT 运行对应检查。
60
70
  2. 确认 repo governance、CI/CD required checks 已执行、更新或 residualized。
61
- 3. 更新功能 SSoT;多人、多仓、多模块任务同时更新 Delivery SSoT Module Registry
71
+ 3. 更新功能 SSoT;多人、多仓、多模块任务同时更新 Delivery SSoT,模块注册变化通过 `harness.yaml` 的 `modules.items` 并重新生成 Module Registry 视图。
62
72
  4. 更新 Regression SSoT 和 Cadence Ledger(如适用)。
63
73
  5. 确认 `review.md` 没有 open P0/P1 finding;material P2 已修复或写为 `accepted-risk` 并路由。
64
74
  6. planned task 必须完成 closeout review,或写明 `skipped-with-reason`。
@@ -10,7 +10,7 @@
10
10
  外部原始资料 -> source pack 索引 -> digest 摘要 -> context/{architecture,development,integrations} 执行投影
11
11
  ```
12
12
 
13
- `context/architecture`、`context/development`、`context/integrations` 只保存已经提炼并可用于执行的事实。外部团队丢来的原文、长文档、截图、聊天记录、导出包和历史资料先进入 `coding-agent-harness/context/development/external-source-packs/`,不能直接污染执行文档。
13
+ `context/architecture`、`context/development`、`context/integrations` 只保存已经提炼并可用于执行的事实。外部团队丢来的原文、长文档、截图、聊天记录、导出包和历史资料先进入 `{{paths.harnessRoot}}/context/development/external-source-packs/`,不能直接污染执行文档。
14
14
 
15
15
  ## 何时询问用户
16
16
 
@@ -33,14 +33,14 @@
33
33
  | 场景 | 存储方式 |
34
34
  | --- | --- |
35
35
  | 只有 1-4 个稳定外部文档 | 不必建独立 source pack;在对应 `context/{architecture,development,integrations}` 的 `Source Evidence` 中链接即可 |
36
- | 外部资料超过 5 份、跨多个主题、或会持续增长 | 创建 `coding-agent-harness/context/development/external-source-packs/<source-key>/` |
36
+ | 外部资料超过 5 份、跨多个主题、或会持续增长 | 创建 `{{paths.harnessRoot}}/context/development/external-source-packs/<source-key>/` |
37
37
  | 资料含敏感信息、密钥、客户数据或不能进仓 | 不复制原文;在 source pack README 记录外部路径、owner、访问条件和摘要 |
38
38
  | 资料是可公开或可入仓的原始文档 | 可放 `raw/`,但仍要经过 digest 后才能投影到执行文档 |
39
39
 
40
40
  建议结构:
41
41
 
42
42
  ```text
43
- coding-agent-harness/context/development/external-source-packs/<source-key>/
43
+ {{paths.harnessRoot}}/context/development/external-source-packs/<source-key>/
44
44
  ├── README.md # 资料索引和投影状态
45
45
  ├── digests/ # 每份或每组资料的摘要
46
46
  ├── raw/ # 可入仓原文;禁止放密钥、隐私或客户数据
@@ -49,10 +49,10 @@ coding-agent-harness/context/development/external-source-packs/<source-key>/
49
49
 
50
50
  不要为每个微服务复制一套完整 `context/{architecture,development,integrations}` 目录。source pack 是资料入口;稳定执行入口仍然是:
51
51
 
52
- - `coding-agent-harness/context/architecture/service-catalog.md`
53
- - `coding-agent-harness/context/architecture/services/<service-key>.md`
54
- - `coding-agent-harness/context/development/external-context/<service-key>.md`
55
- - `coding-agent-harness/context/integrations/<contract>.md`
52
+ - `{{paths.harnessRoot}}/context/architecture/service-catalog.md`
53
+ - `{{paths.harnessRoot}}/context/architecture/services/<service-key>.md`
54
+ - `{{paths.harnessRoot}}/context/development/external-context/<service-key>.md`
55
+ - `{{paths.harnessRoot}}/context/integrations/<contract>.md`
56
56
 
57
57
  ## 摄取流程
58
58
 
@@ -68,9 +68,9 @@ coding-agent-harness/context/development/external-source-packs/<source-key>/
68
68
 
69
69
  | 资料内容 | 投影位置 |
70
70
  | --- | --- |
71
- | 服务职责、上下游、owner、数据归属、系统拓扑 | `coding-agent-harness/context/architecture/service-catalog.md` 或 `services/<service-key>.md` |
72
- | 本仓开发时如何 mock、stub、启动、联调、排查 | `coding-agent-harness/context/development/external-context/<service-key>.md` |
73
- | endpoint、payload、auth、error、event、webhook、SDK、contract test | `coding-agent-harness/context/integrations/<contract>.md` |
71
+ | 服务职责、上下游、owner、数据归属、系统拓扑 | `{{paths.harnessRoot}}/context/architecture/service-catalog.md` 或 `services/<service-key>.md` |
72
+ | 本仓开发时如何 mock、stub、启动、联调、排查 | `{{paths.harnessRoot}}/context/development/external-context/<service-key>.md` |
73
+ | endpoint、payload、auth、error、event、webhook、SDK、contract test | `{{paths.harnessRoot}}/context/integrations/<contract>.md` |
74
74
  | 仍未确认、来源冲突、过期或只作为背景参考 | 留在 source pack README / digest,不进入执行文档 |
75
75
 
76
76
  ## 禁止事项
@@ -2,10 +2,10 @@
2
2
 
3
3
  ## 职责
4
4
 
5
- Harness Ledger 是 `coding-agent-harness/` 骨架的全局上下文维护总账,固定位置为:
5
+ Harness Ledger 是 `{{paths.harnessRoot}}/` 骨架的全局上下文维护总账,固定位置为:
6
6
 
7
7
  ```text
8
- coding-agent-harness/governance/generated/Harness-Ledger.md
8
+ {{paths.harnessRoot}}/governance/generated/Harness-Ledger.md
9
9
  ```
10
10
 
11
11
  它记录每个非平凡任务是否完成了 task plan、progress、review、功能 SSoT、Delivery SSoT、Regression SSoT、lesson candidates/detail docs、walkthrough、Closeout Index、reference/template 和 CI/CD 治理回写。它不复制业务事实,只记录上下文维护是否合规。
@@ -88,7 +88,7 @@ coding-agent-harness/governance/generated/Harness-Ledger.md
88
88
  活跃表保留最近 50 条。更早的 `closed` 或 `superseded` 条目按季度归档:
89
89
 
90
90
  ```text
91
- coding-agent-harness/governance/archive/Harness-Ledger-archive-YYYY-QN.md
91
+ {{paths.harnessRoot}}/governance/archive/Harness-Ledger-archive-YYYY-QN.md
92
92
  ```
93
93
 
94
94
  归档后,活跃表必须留下归档位置说明。
@@ -7,7 +7,7 @@ Regression SSoT 是项目回归控制塔,管理所有 regression surface 的 g
7
7
  默认位置:
8
8
 
9
9
  ```text
10
- coding-agent-harness/governance/regression/Regression-SSoT.md
10
+ {{paths.harnessRoot}}/governance/regression/Regression-SSoT.md
11
11
  ```
12
12
 
13
13
  ## 维护时机
@@ -61,7 +61,7 @@ coding-agent-harness/governance/regression/Regression-SSoT.md
61
61
 
62
62
  ## 废弃回归门禁
63
63
 
64
- 1. 将 gate 移入 `coding-agent-harness/governance/regression/_archive/Regression-SSoT-archive-YYYY-QN.md`。
64
+ 1. 将 gate 移入 `{{paths.harnessRoot}}/governance/regression/_archive/Regression-SSoT-archive-YYYY-QN.md`。
65
65
  2. 写明废弃原因、替代 gate 和最后状态。
66
66
  3. 同步更新 Cadence Ledger。
67
67
  4. 在 walkthrough 和 Harness Ledger 记录本次治理变化。
@@ -33,7 +33,7 @@
33
33
  | --- | --- |
34
34
  | 是否必须 PR | yes / no / local-only |
35
35
  | PR 标题格式 | 通常与 commit 规范一致 |
36
- | PR 描述要求 | 遵守 `coding-agent-harness/governance/standards/pull-request-standard.md`;写清改动、原因、版本影响、验证、residual、关联 task / SSoT / review |
36
+ | PR 描述要求 | 遵守 `{{paths.harnessRoot}}/governance/standards/pull-request-standard.md`;写清改动、原因、版本影响、验证、residual、关联 task / SSoT / review |
37
37
  | 必需审查者 | reviewer、外部 agent、人类 owner 或代码 owner |
38
38
  | 必需审查类型 | self-review、subagent review、human review、security review |
39
39
  | merge method | merge commit、squash、rebase、fast-forward |
@@ -42,6 +42,9 @@ Worker 必须走 `worktree-standard.md`,并先在 `execution_strategy.md` 记
42
42
  - 同一任务、同一范围、同一 worktree/branch 内可复用该授权;范围变化时重新请求授权。
43
43
  - 如果 worker subagent 对任务有明显帮助但尚未授权,coordinator 必须用白话主动向用户申请一次授权;可以直接说 worker subagent,但不要等用户知道或提醒使用 subagent。
44
44
  - 如果独立切片已经明显但精确文件路径还不清楚,先确认文件路径,然后在 implementation 前立刻申请独立执行助手授权。
45
+
46
+ Subagent 授权是任务级合同。不要寻找模块根目录的 `execution_strategy.md`;模块根目录只使用
47
+ `brief.md` 和 `module_plan.md`,worker 授权属于具体任务目录。
45
48
  - 一旦 `Would a worker subagent materially help?` 的决策是 `ask-user`,必须暂停 implementation,直到 `User Authorization Decision` 记录 `authorized`、`denied` 或 `not-needed`。
46
49
 
47
50
  禁止把多个 worker 的未提交改动混在 coordinator 当前 checkout,再由 coordinator 一次性提交。
@@ -7,13 +7,13 @@
7
7
  默认位置:
8
8
 
9
9
  ```text
10
- coding-agent-harness/planning/tasks/<task>/walkthrough.md
10
+ {{paths.harnessRoot}}/planning/tasks/<task>/walkthrough.md
11
11
  ```
12
12
 
13
13
  Closeout Index 固定位置:
14
14
 
15
15
  ```text
16
- coding-agent-harness/governance/generated/Closeout-Index.md
16
+ {{paths.harnessRoot}}/governance/generated/Closeout-Index.md
17
17
  ```
18
18
 
19
19
  ## 何时必须写
@@ -42,7 +42,7 @@ worktree 目录推荐:
42
42
  - `fix/`:缺陷修复。
43
43
  - `refactor/`:重构。
44
44
  - `test/`:测试相关。
45
- - `coding-agent-harness/`:文档相关。
45
+ - `{{paths.harnessRoot}}/`:文档相关。
46
46
  - `codex/`:agent 任务分支。
47
47
 
48
48
  示例: