coding-agent-harness 1.0.2 → 1.0.5

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 (219) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CONTRIBUTING.md +98 -0
  3. package/LICENSE +661 -21
  4. package/LICENSE-EXCEPTION.md +37 -0
  5. package/README.md +244 -87
  6. package/README.zh-CN.md +77 -35
  7. package/SKILL.md +32 -24
  8. package/docs-release/README.md +9 -5
  9. package/docs-release/architecture/overview.md +17 -5
  10. package/docs-release/architecture/overview.zh-CN.md +9 -5
  11. package/docs-release/architecture/system-explainer/01-system-overview.md +217 -0
  12. package/docs-release/architecture/system-explainer/02-module-dependency.md +257 -0
  13. package/docs-release/architecture/system-explainer/03-task-lifecycle.md +304 -0
  14. package/docs-release/architecture/system-explainer/04-check-and-governance.md +239 -0
  15. package/docs-release/architecture/system-explainer/05-data-flow.md +276 -0
  16. package/docs-release/architecture/system-explainer/06-preset-and-migration.md +303 -0
  17. package/docs-release/architecture/system-explainer/README.md +67 -0
  18. package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +226 -0
  19. package/docs-release/architecture/system-explainer/en-US/02-module-dependency.md +263 -0
  20. package/docs-release/architecture/system-explainer/en-US/03-task-lifecycle.md +319 -0
  21. package/docs-release/architecture/system-explainer/en-US/04-check-and-governance.md +250 -0
  22. package/docs-release/architecture/system-explainer/en-US/05-data-flow.md +290 -0
  23. package/docs-release/architecture/system-explainer/en-US/06-preset-and-migration.md +323 -0
  24. package/docs-release/architecture/system-explainer/en-US/README.md +70 -0
  25. package/docs-release/assets/dashboard-overview.png +0 -0
  26. package/docs-release/guides/agent-installation.en-US.md +39 -15
  27. package/docs-release/guides/agent-installation.md +43 -16
  28. package/docs-release/guides/contributing.md +100 -0
  29. package/docs-release/guides/contributing.zh-CN.md +99 -0
  30. package/docs-release/guides/document-audience-and-surfaces.en-US.md +3 -2
  31. package/docs-release/guides/document-audience-and-surfaces.md +3 -2
  32. package/docs-release/guides/full-legacy-migration-subagent-strategy.md +2 -2
  33. package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +2 -2
  34. package/docs-release/guides/legacy-migration-agent-prompt.md +0 -11
  35. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +0 -11
  36. package/docs-release/guides/migration-playbook.en-US.md +14 -15
  37. package/docs-release/guides/migration-playbook.md +14 -15
  38. package/docs-release/guides/parent-control-repository-pattern.en-US.md +7 -5
  39. package/docs-release/guides/parent-control-repository-pattern.md +7 -5
  40. package/docs-release/guides/preset-development.md +238 -0
  41. package/docs-release/guides/repository-operating-models.en-US.md +5 -4
  42. package/docs-release/guides/repository-operating-models.md +5 -4
  43. package/docs-release/guides/task-state-machine.en-US.md +224 -0
  44. package/docs-release/guides/task-state-machine.md +231 -0
  45. package/docs-release/intl/en-US.md +1 -1
  46. package/docs-release/intl/zh-CN.md +1 -1
  47. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/INDEX.md +60 -0
  48. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/findings.md +7 -0
  49. package/package.json +10 -4
  50. package/presets/legacy-migration/checks/preset-check.mjs +3 -0
  51. package/presets/legacy-migration/preset.yaml +134 -0
  52. package/presets/legacy-migration/scripts/plan-work-queue.mjs +4 -0
  53. package/presets/legacy-migration/scripts/scaffold-task-contracts.mjs +4 -0
  54. package/presets/legacy-migration/templates/execution_strategy.append.md +18 -0
  55. package/presets/legacy-migration/templates/findings.seed.md +17 -0
  56. package/presets/legacy-migration/templates/review.seed.md +12 -0
  57. package/presets/legacy-migration/templates/task_plan.append.md +9 -0
  58. package/presets/legacy-migration/templates/visual_map.append.md +12 -0
  59. package/presets/legacy-migration/workbench/dashboard-panels.yaml +2 -0
  60. package/presets/legacy-migration/workbench/migration-queue.schema.json +23 -0
  61. package/presets/lesson-sedimentation/preset.yaml +23 -0
  62. package/presets/lesson-sedimentation/templates/prompt.md +23 -0
  63. package/presets/module/preset.yaml +25 -0
  64. package/presets/module/templates/execution_strategy.append.md +8 -0
  65. package/presets/module/templates/task_plan.append.md +17 -0
  66. package/presets/standard-task/preset.yaml +31 -0
  67. package/presets/standard-task/templates/task_plan.append.md +7 -0
  68. package/references/adversarial-review-standard.md +2 -2
  69. package/references/agents-md-pattern.md +2 -2
  70. package/references/delivery-operating-model-standard.md +3 -3
  71. package/references/docs-directory-standard.md +6 -7
  72. package/references/harness-ledger.md +53 -96
  73. package/references/lessons-governance.md +88 -93
  74. package/references/module-parallel-standard.md +14 -14
  75. package/references/planning-loop.md +12 -6
  76. package/references/pull-request-standard.md +118 -0
  77. package/references/repo-governance-standard.md +11 -2
  78. package/references/review-routing-standard.md +7 -1
  79. package/references/ssot-governance.md +67 -59
  80. package/references/taskr-gap-analysis.md +600 -0
  81. package/references/walkthrough-closeout.md +7 -7
  82. package/scripts/check-harness.mjs +40 -301
  83. package/scripts/commands/dashboard-command.mjs +67 -0
  84. package/scripts/commands/migration-command.mjs +126 -0
  85. package/scripts/commands/preset-command.mjs +73 -0
  86. package/scripts/commands/task-command.mjs +328 -0
  87. package/scripts/harness.mjs +59 -260
  88. package/scripts/lib/capability-registry.mjs +82 -28
  89. package/scripts/lib/check-module-parallel.mjs +230 -0
  90. package/scripts/lib/check-profiles.mjs +90 -228
  91. package/scripts/lib/check-task-contracts.mjs +55 -0
  92. package/scripts/lib/core-shared.mjs +65 -2
  93. package/scripts/lib/dashboard-data.mjs +155 -24
  94. package/scripts/lib/dashboard-workbench.mjs +131 -12
  95. package/scripts/lib/dashboard-writer.mjs +20 -4
  96. package/scripts/lib/git-status-summary.mjs +46 -0
  97. package/scripts/lib/governance-index-generator.mjs +174 -0
  98. package/scripts/lib/governance-sync.mjs +611 -0
  99. package/scripts/lib/governance-table-boundary.mjs +175 -0
  100. package/scripts/lib/harness-core.mjs +6 -0
  101. package/scripts/lib/lesson-maintenance.mjs +36 -29
  102. package/scripts/lib/markdown-utils.mjs +33 -0
  103. package/scripts/lib/migration-planner.mjs +4 -6
  104. package/scripts/lib/migration-support.mjs +1 -1
  105. package/scripts/lib/phase-kind.mjs +50 -0
  106. package/scripts/lib/preset-audit-contracts.mjs +37 -0
  107. package/scripts/lib/preset-engine.mjs +494 -0
  108. package/scripts/lib/preset-registry.mjs +776 -0
  109. package/scripts/lib/preset-resource-contracts.mjs +83 -0
  110. package/scripts/lib/review-confirm-git-gate.mjs +248 -0
  111. package/scripts/lib/status-builder.mjs +88 -0
  112. package/scripts/lib/status-dashboard-renderer.mjs +105 -0
  113. package/scripts/lib/subagent-authorization-audit.mjs +196 -0
  114. package/scripts/lib/task-audit-metadata.mjs +385 -0
  115. package/scripts/lib/task-audit-migration.mjs +350 -0
  116. package/scripts/lib/task-completion-consistency.mjs +26 -0
  117. package/scripts/lib/task-index.mjs +93 -0
  118. package/scripts/lib/task-lesson-candidates.mjs +242 -0
  119. package/scripts/lib/task-lesson-sedimentation.mjs +326 -0
  120. package/scripts/lib/task-lifecycle/create-task-helpers.mjs +67 -0
  121. package/scripts/lib/task-lifecycle/phase-sync.mjs +88 -0
  122. package/scripts/lib/task-lifecycle/review-confirm.mjs +112 -0
  123. package/scripts/lib/task-lifecycle/review-gates.mjs +73 -0
  124. package/scripts/lib/task-lifecycle/review-submission.mjs +63 -0
  125. package/scripts/lib/task-lifecycle/scaffold-provenance.mjs +49 -0
  126. package/scripts/lib/task-lifecycle/template-files.mjs +53 -0
  127. package/scripts/lib/task-lifecycle/text-utils.mjs +24 -0
  128. package/scripts/lib/task-lifecycle.mjs +338 -477
  129. package/scripts/lib/task-metadata.mjs +118 -0
  130. package/scripts/lib/task-review-model.mjs +455 -0
  131. package/scripts/lib/task-scanner.mjs +193 -372
  132. package/scripts/lib/task-tombstone-commands.mjs +140 -0
  133. package/scripts/postinstall.mjs +14 -0
  134. package/skills/preset-creator/SKILL.md +179 -0
  135. package/skills/preset-creator/references/complex-task-skeleton/README.md +31 -0
  136. package/skills/preset-creator/references/complex-task-skeleton/artifacts/INDEX.md +12 -0
  137. package/skills/preset-creator/references/complex-task-skeleton/brief.md +43 -0
  138. package/skills/preset-creator/references/complex-task-skeleton/execution_strategy.md +71 -0
  139. package/skills/preset-creator/references/complex-task-skeleton/findings.md +24 -0
  140. package/skills/preset-creator/references/complex-task-skeleton/lesson_candidates.md +70 -0
  141. package/skills/preset-creator/references/complex-task-skeleton/long-running-task-contract.md +76 -0
  142. package/skills/preset-creator/references/complex-task-skeleton/progress.md +33 -0
  143. package/skills/preset-creator/references/complex-task-skeleton/references/INDEX.md +13 -0
  144. package/skills/preset-creator/references/complex-task-skeleton/review.md +107 -0
  145. package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +111 -0
  146. package/skills/preset-creator/references/complex-task-skeleton/visual_map.md +50 -0
  147. package/skills/preset-creator/references/preset-package-skeleton.md +296 -0
  148. package/templates/AGENTS.md.template +24 -18
  149. package/templates/dashboard/assets/app-src/00-state.js +13 -0
  150. package/templates/dashboard/assets/app-src/10-router.js +5 -1
  151. package/templates/dashboard/assets/app-src/20-overview.js +18 -8
  152. package/templates/dashboard/assets/app-src/30-tasks.js +92 -246
  153. package/templates/dashboard/assets/app-src/35-task-detail.js +286 -0
  154. package/templates/dashboard/assets/app-src/45-review.js +241 -22
  155. package/templates/dashboard/assets/app-src/50-migration.js +24 -10
  156. package/templates/dashboard/assets/app-src/55-presets.js +375 -0
  157. package/templates/dashboard/assets/app-src/60-shared.js +3 -1
  158. package/templates/dashboard/assets/app-src/90-bindings.js +302 -29
  159. package/templates/dashboard/assets/app.css +1501 -376
  160. package/templates/dashboard/assets/app.css.manifest.json +10 -0
  161. package/templates/dashboard/assets/app.js +1240 -101
  162. package/templates/dashboard/assets/app.manifest.json +2 -0
  163. package/templates/dashboard/assets/css-src/00-foundation.css +346 -0
  164. package/templates/dashboard/assets/css-src/10-panels-flow.css +236 -0
  165. package/templates/dashboard/assets/css-src/20-briefs-controls.css +398 -0
  166. package/templates/dashboard/assets/css-src/30-task-index.css +739 -0
  167. package/templates/dashboard/assets/css-src/35-review-workspace.css +507 -0
  168. package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +489 -0
  169. package/templates/dashboard/assets/css-src/45-presets.css +516 -0
  170. package/templates/dashboard/assets/css-src/50-responsive-overrides.css +551 -0
  171. package/templates/dashboard/assets/i18n.js +263 -23
  172. package/templates/ledger/Harness-Ledger.md +13 -25
  173. package/templates/lessons/lesson-arch-process-change.md +1 -1
  174. package/templates/lessons/lesson-new-doc.md +1 -1
  175. package/templates/lessons/lesson-ref-change.md +1 -1
  176. package/templates/planning/INDEX.md +87 -0
  177. package/templates/planning/brief.md +1 -1
  178. package/templates/planning/execution_strategy.md +31 -0
  179. package/templates/planning/lesson_candidates.md +18 -6
  180. package/templates/planning/module_session_prompt.md +1 -0
  181. package/templates/planning/optional/artifacts/INDEX.md +3 -3
  182. package/templates/planning/optional/references/INDEX.md +3 -3
  183. package/templates/planning/review.md +41 -0
  184. package/templates/planning/task_plan.md +5 -21
  185. package/templates/planning/visual_map.md +13 -9
  186. package/templates/planning/visual_map.simple.md +52 -0
  187. package/templates/reference/execution-workflow-standard.md +31 -3
  188. package/templates/reference/pull-request-standard.md +80 -0
  189. package/templates/reference/repo-governance-standard.md +7 -6
  190. package/templates/reference/review-routing-standard.md +6 -0
  191. package/templates/reference/walkthrough-standard.md +2 -1
  192. package/templates/verifier/verifier-output.md +1 -1
  193. package/templates-zh-CN/AGENTS.md.template +25 -19
  194. package/templates-zh-CN/ledger/Harness-Ledger.md +17 -40
  195. package/templates-zh-CN/planning/INDEX.md +87 -0
  196. package/templates-zh-CN/planning/brief.md +1 -1
  197. package/templates-zh-CN/planning/execution_strategy.md +30 -0
  198. package/templates-zh-CN/planning/lesson_candidates.md +18 -6
  199. package/templates-zh-CN/planning/module_session_prompt.md +1 -0
  200. package/templates-zh-CN/planning/review.md +41 -1
  201. package/templates-zh-CN/planning/task_plan.md +4 -44
  202. package/templates-zh-CN/planning/visual_map.md +14 -7
  203. package/templates-zh-CN/planning/visual_map.simple.md +48 -0
  204. package/templates-zh-CN/reference/adversarial-review-standard.md +1 -1
  205. package/templates-zh-CN/reference/docs-library-standard.md +1 -1
  206. package/templates-zh-CN/reference/execution-workflow-standard.md +33 -7
  207. package/templates-zh-CN/reference/harness-ledger-standard.md +2 -2
  208. package/templates-zh-CN/reference/pull-request-standard.md +106 -0
  209. package/templates-zh-CN/reference/repo-governance-standard.md +4 -3
  210. package/templates-zh-CN/reference/review-routing-standard.md +8 -1
  211. package/templates-zh-CN/reference/walkthrough-standard.md +3 -2
  212. package/templates-zh-CN/walkthrough/Closeout-SSoT.md +1 -1
  213. package/docs-release/assets/dashboard-overview-en.png +0 -0
  214. package/scripts/smoke-dashboard.mjs +0 -92
  215. package/scripts/test-harness.mjs +0 -1395
  216. package/templates/ssot/Feature-SSoT.md +0 -43
  217. package/templates/ssot/Lessons-SSoT.md +0 -44
  218. package/templates-zh-CN/ssot/Feature-SSoT.md +0 -49
  219. package/templates-zh-CN/ssot/Lessons-SSoT.md +0 -49
@@ -0,0 +1,118 @@
1
+ # Pull Request Standard
2
+
3
+ ## Purpose
4
+
5
+ Every non-trivial PR must be reviewable without reading the full agent
6
+ conversation. The PR body is a handoff packet for maintainers: what changed,
7
+ why it changed, how it was verified, which version is affected, and what risks
8
+ remain.
9
+
10
+ ## Required Shape
11
+
12
+ Use a bilingual PR body when the repository has Chinese and English users or
13
+ the task discussion is Chinese. English comes first for public GitHub readers,
14
+ then Simplified Chinese.
15
+
16
+ The PR body must include:
17
+
18
+ 1. Summary / 摘要
19
+ 2. What Changed / 改动内容
20
+ 3. Version Impact / 版本影响
21
+ 4. Verification / 验证
22
+ 5. Review Evidence / 审查证据
23
+ 6. Residual Risk / 残余风险
24
+ 7. References / 关联材料
25
+
26
+ ## Content Rules
27
+
28
+ - State the target version explicitly. If `package.json` changes from `1.0.3`
29
+ to `1.0.4`, say so in Version Impact.
30
+ - List changed surfaces by user-visible area or module, not by dumping every
31
+ file path.
32
+ - Verification must name the real commands, browser checks, CI runs, or
33
+ evidence artifacts. If a check was not run, say why.
34
+ - Review Evidence must mention self-review, subagent review, human review, or
35
+ code-quality review status. Release-blocking findings must be closed or
36
+ routed before merge.
37
+ - Residual Risk must distinguish accepted risk, deferred follow-up, and
38
+ unrelated local/private debt.
39
+ - References must link relevant task docs, SSoT rows, review files, commits,
40
+ issues, or PRs.
41
+
42
+ ## Template
43
+
44
+ ```markdown
45
+ ## Summary
46
+
47
+ [One or two sentences explaining the intent and outcome.]
48
+
49
+ ## What Changed
50
+
51
+ - [User-facing or module-level change.]
52
+ - [Governance, CLI, dashboard, docs, or template change.]
53
+
54
+ ## Version Impact
55
+
56
+ - Package version: `[old]` -> `[new]`
57
+ - Release notes: [CHANGELOG entry or reason no release note is needed]
58
+
59
+ ## Verification
60
+
61
+ - `[command]`: pass
62
+ - `[browser/runtime/CI evidence]`: pass
63
+ - Not run: [reason]
64
+
65
+ ## Review Evidence
66
+
67
+ - Self-review: [summary]
68
+ - Additional review: [reviewer/subagent/human result]
69
+ - Blocking findings: [none / closed / routed]
70
+
71
+ ## Residual Risk
72
+
73
+ - [none / accepted / deferred / unrelated debt]
74
+
75
+ ## References
76
+
77
+ - Task: [path or issue]
78
+ - Review: [path or PR review]
79
+ - Evidence: [path, commit, screenshot, workflow, or dashboard]
80
+
81
+ ---
82
+
83
+ ## 摘要
84
+
85
+ [用一两句话说明目标和结果。]
86
+
87
+ ## 改动内容
88
+
89
+ - [面向用户或模块级改动。]
90
+ - [治理、CLI、Dashboard、文档或模板改动。]
91
+
92
+ ## 版本影响
93
+
94
+ - 包版本:`[旧版本]` -> `[新版本]`
95
+ - 发布说明:[CHANGELOG 条目或无需发布说明的原因]
96
+
97
+ ## 验证
98
+
99
+ - `[命令]`:通过
100
+ - `[浏览器 / 运行时 / CI 证据]`:通过
101
+ - 未运行:[原因]
102
+
103
+ ## 审查证据
104
+
105
+ - 自查:[摘要]
106
+ - 额外审查:[reviewer / subagent / human 结果]
107
+ - 阻塞发现:[无 / 已关闭 / 已路由]
108
+
109
+ ## 残余风险
110
+
111
+ - [无 / 已接受 / 已延期 / 无关债务]
112
+
113
+ ## 关联材料
114
+
115
+ - 任务:[路径或 issue]
116
+ - 审查:[路径或 PR review]
117
+ - 证据:[路径、commit、截图、workflow 或 dashboard]
118
+ ```
@@ -46,7 +46,9 @@ docs/11-REFERENCE/ci-cd-standard.md
46
46
 
47
47
  - PR required before merge: [yes / no]
48
48
  - PR title format
49
- - PR body requirements
49
+ - PR body requirements. Use `docs/11-REFERENCE/pull-request-standard.md` for
50
+ the required bilingual structure, version impact, verification, review
51
+ evidence, residual risk, and references.
50
52
  - Required reviewers
51
53
  - Required review type: [self / subagent / external / human]
52
54
  - Merge method: [squash / merge commit / rebase]
@@ -91,7 +93,7 @@ Required fields:
91
93
  - Branch pattern
92
94
  - Ownership rule
93
95
  - Subagent worker rule: each code-changing worker uses its own worktree / branch and hands off a commit SHA
94
- - Checkpoint commit rule: verified, meaningful slices are committed proactively; deferred commits require an explicit reason
96
+ - Checkpoint commit rule: verified, meaningful slices are committed proactively; deferred commits require an explicit no-commit reason, owner, and next step
95
97
  - Merge ordering rule
96
98
  - Cleanup rule
97
99
 
@@ -131,3 +133,10 @@ Bootstrap is not complete unless repository governance is at least:
131
133
  - Worktree concurrency: `implemented`
132
134
  - Harness checker: passing or blocked-with-owner with explicit residual
133
135
  - Checkpoint commit rule: `implemented`
136
+ - Dirty-state visibility: `implemented` means status/dashboard/checker expose dirty paths that can block CLI-owned auto-commit; unresolved dirty state must have an owner or no-commit reason
137
+
138
+ ## Related Standards
139
+
140
+ - `docs/11-REFERENCE/pull-request-standard.md` — PR body structure, bilingual
141
+ requirements, version impact, verification, review evidence, residual risk,
142
+ and references.
@@ -38,16 +38,22 @@
38
38
 
39
39
  ## Subagent Worker Routing
40
40
 
41
+ 任务开始时,先读取当前任务 `execution_strategy.md` 的 Subagent Authorization 和 Subagent Delegation Decision,并向用户说明当前授权状态和分工判断。用户不需要知道或主动要求 subagent;coordinator 必须从用户目标主动评估。
42
+
41
43
  本标准默认把 subagent 当 reviewer:只读审查、写 `review.md`、报告 material findings。
44
+ Reviewer subagent 在单个任务内默认允许,可重复用于只读审查。
42
45
 
43
46
  如果 subagent 被要求直接改代码、测试、产品文档或 harness 文档,它就不是 reviewer,
44
47
  而是 worker。Worker 必须按 `worktree-parallel.md` / 项目级 `worktree-standard.md`
45
- 执行:
48
+ 执行,并先在 `execution_strategy.md` 记录一次用户授权:
46
49
 
47
50
  - coordinator 先分配独立 worktree / branch、任务目录和 write scope
48
51
  - worker 只在自己的 worktree 内实现、验证并提交
49
52
  - handoff 必须包含 worktree path、branch、commit SHA、checks、residual risks
50
53
  - coordinator 负责 merge / conflict resolution / final gates
54
+ - 同一任务、同一范围、同一 worktree/branch 内可复用该授权;范围变化时重新请求授权
55
+ - 如果 worker subagent 对任务有明显帮助但尚未授权,coordinator 必须用白话主动向用户申请一次授权;可以直接说 worker subagent,但不要等用户知道或提醒使用 subagent
56
+ - 如果独立切片已经明显但精确文件路径还不清楚,先确认文件路径,然后在 implementation 前立刻申请独立执行助手授权
51
57
 
52
58
  禁止把多个 worker 的未提交改动混在 coordinator 当前 checkout,再由 coordinator 一次性提交。
53
59
 
@@ -2,11 +2,9 @@
2
2
 
3
3
  ## 核心思路
4
4
 
5
- SSoT(Single Source of Truth,单一事实源)是长程项目的命脉。没有 SSoT,agent 和人都会在多个版本的"真相"之间迷失。
5
+ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生命周期状态现在由任务本地文件承载,并由 Harness CLI 生成 `docs/Harness-Ledger.md`,避免 Agent 或人手写多张重复进度表。
6
6
 
7
- ## 四张 SSoT + 一张 Ledger
8
-
9
- 长程项目需要四张 SSoT 保存当前事实,再用一张全局 Harness Ledger 记录每轮任务是否按 SOP 维护这些事实。
7
+ ## 当前治理表
10
8
 
11
9
  ### Delivery SSoT(交付排期表)
12
10
 
@@ -16,15 +14,6 @@ SSoT(Single Source of Truth,单一事实源)是长程项目的命脉。没
16
14
  - 职责:谁负责哪个 feature block、agent 能看哪些上下文、依赖和 merge 顺序是什么
17
15
  - 规则:多人、多仓、split-repo、program、waterfall 或 kanban 团队流程必须维护
18
16
 
19
- ### Feature SSoT(实施排期表)
20
-
21
- 管理 feature / wave / implementation 的进度和 residual。
22
-
23
- - 文件:`docs/09-PLANNING/Feature-SSoT.md`(按你的项目命名)
24
- - 职责:哪些 feature 在做、做到哪了、还剩什么
25
- - 规则:开始任何非平凡任务前先读,完成后必须回写
26
- - 归档:Active 表只保留未完成或仍需操作的 feature;completed / superseded 历史行超过 20 条、release 收束、或启用模块并行切换时,必须移入 `docs/09-PLANNING/_archive/` 的 Feature SSoT 归档文件
27
-
28
17
  ### Regression SSoT(回归控制塔)
29
18
 
30
19
  管理所有 regression surface 的状态、证据深度和残项。
@@ -33,79 +22,98 @@ SSoT(Single Source of Truth,单一事实源)是长程项目的命脉。没
33
22
  - 职责:哪些回归面存在、每条的标准入口、当前证据深度、residual
34
23
  - 规则:新增固定 gate 或 evidence depth 变化时必须更新
35
24
 
36
- ### Lessons SSoT(经验沉淀)
25
+ ### Cadence Ledger(周期验证表)
26
+
27
+ 管理需要周期性复查的回归、release、migration 或环境检查。
28
+
29
+ - 文件:`docs/05-TEST-QA/Cadence-Ledger.md`
30
+ - 职责:哪些检查需要按节奏重跑、最近一次证据是什么、下一次应该何时触发
31
+ - 规则:新增或改变周期性 gate 时必须更新
32
+
33
+ ### Module Registry(模块登记表)
34
+
35
+ 管理模块边界、owner、worktree 和写入范围。
36
+
37
+ - 文件:`docs/09-PLANNING/Module-Registry.md`
38
+ - 职责:模块 key、路径范围、负责人、状态、worktree、模块计划和依赖
39
+ - 规则:启用模块并行时必须维护;模块内步骤进度由 module plan / module visual map 的生成索引表达
40
+
41
+ ### Closeout SSoT(收口表)
42
+
43
+ 管理任务是否有 walkthrough、Lessons Check 和受控 skip reason。
44
+
45
+ - 文件:`docs/10-WALKTHROUGH/Closeout-SSoT.md`
46
+ - 职责:任务收口状态、walkthrough 路径、lesson 结果和 residual
47
+ - 规则:非平凡任务完成或关闭时必须维护
48
+
49
+ ### Lessons Governance(经验沉淀)
37
50
 
38
51
  管理 Agent 在开发过程中发现的经验、改进建议和规范演进。
39
52
 
40
- - 文件:`docs/01-GOVERNANCE/Lessons-SSoT.md`
41
- - 职责:哪些经验值得沉淀、当前审批状态、冲突关系
42
- - 规则:Walkthrough 收口后检查是否有沉淀建议;写之前必须完整读 SSoT
53
+ - 文件:任务本地 `lesson_candidates.md` 与 `docs/01-GOVERNANCE/lessons/*.md`
54
+ - 职责:哪些经验值得沉淀、人工如何判定、哪些 lesson 已提升为详情文档
55
+ - 规则:Walkthrough 收口后检查是否有沉淀建议;promotion 前必须查重 candidate 和 detail doc
43
56
  - 详细治理规范:`references/lessons-governance.md`
44
57
 
45
- ### Harness Ledger(全局上下文回写总账)
58
+ ### Harness Ledger(生成的任务生命周期总账)
46
59
 
47
- 管理每个非平凡任务对 harness 文档骨架的回写情况。
60
+ 管理任务生命周期的可扫描汇总。
48
61
 
49
62
  - 文件:`docs/Harness-Ledger.md`
50
- - 职责:本轮任务是否回写 task plan、Feature SSoTRegression SSoTwalkthroughLessons SSoT 和 reference/template
51
- - 规则:任务收口时最后更新;只记录任务级 compliance,不记录逐行 diff
63
+ - 职责:从任务本地事实生成 scope、module、task、state、queues、plan、reviewlessoncloseoutresidual
64
+ - 规则:由 Harness CLI 生成;不要手写任务生命周期行
52
65
  - 详细规范:`references/harness-ledger.md`
53
66
 
54
- ### 分工规则
67
+ ## Legacy 生命周期表
55
68
 
56
- - Feature SSoT 不替代 Regression SSoT
57
- - Delivery SSoT 不替代 Feature SSoT;它管交付组织和集成顺序,不管功能细节
58
- - Regression SSoT 也不替代 Feature SSoT
59
- - Lessons SSoT 不替代前两者,它管的是规范本身的演进
60
- - Harness Ledger 不替代任何 SSoT,它只记录本轮任务是否维护了对应事实
61
- - 四张 SSoT 和 Harness Ledger 必须各司其职,不能彼此吞并
69
+ `Feature-SSoT.md` 和 `Private-Feature-SSoT.md` 是旧版任务生命周期投影。当前版本不再创建或重建这些表;迁移旧项目时先归档,再用 `harness governance rebuild --archive --apply` 生成新的 Harness Ledger。
62
70
 
63
- ### Module Registry 与 Feature SSoT 的分工
71
+ ## 分工规则
64
72
 
65
- 当项目启用模块并行开发(见 `references/module-parallel-standard.md`)时:
66
-
67
- - **Module Registry + module_plan.md** 追踪模块内步骤进度(替代 Feature SSoT 对模块工作的追踪)
68
- - **Feature SSoT** 只追踪:
69
- - 不属于任何模块的独立功能
70
- - 发布级汇总(哪个 release 包含了哪些模块步骤)
73
+ - Delivery SSoT 不替代 Regression SSoT;它管交付组织和集成顺序。
74
+ - Regression SSoT 不替代 Closeout SSoT;它管验证面和证据深度。
75
+ - Closeout SSoT 不替代 task-local `lesson_candidates.md`;它只记录收口状态。
76
+ - Module Registry 不替代 module plan;它登记模块边界和 owner。
77
+ - Harness Ledger 不替代上述治理表;它只生成任务生命周期索引。
78
+ - 任务生命周期状态不要同时维护在旧 Feature 表和新 Ledger 中。
71
79
 
72
- **禁止**:同一个工作项同时出现在 module_plan 和 Feature SSoT 中。这会造成真相分裂。
80
+ ## 模块并行分工
73
81
 
74
- 模块并行切换后,Feature SSoT 的 Active 表必须变小:
75
-
76
- - Active 表只保留不属于任何模块、且仍未完成的独立功能。
77
- - Phase 历史、completed feature 明细、旧 task 路径明细移入 `docs/09-PLANNING/_archive/`。
78
- - Feature SSoT 主文件只保留冻结边界、当前 active 指针、completed summary 和 archive index。
79
- - 不允许把几百行历史明细继续堆在 Feature SSoT 底部作为“文件内归档”。
82
+ 当项目启用模块并行开发(见 `references/module-parallel-standard.md`)时:
80
83
 
81
- 未启用模块并行的项目继续使用 Feature SSoT 追踪所有功能进度。
84
+ - Module Registry 管模块边界、owner、worktree 和写入范围。
85
+ - module plan / module visual map 管模块内步骤和拓扑索引。
86
+ - Harness Ledger 生成模块任务在全局任务生命周期中的位置。
87
+ - Delivery SSoT 只在需要跨模块、跨仓或多人交付编排时维护。
82
88
 
83
- ## SSoT 归档规则
89
+ ## 归档规则
84
90
 
85
- 每张 SSoT 都必须区分 Active 与 Archive。Active 保存当前事实;Archive 保存可追溯历史。
91
+ 每张治理表都必须区分 Active 与 Archive。Active 保存当前事实;Archive 保存可追溯历史。
86
92
 
87
- | SSoT | Active 保留 | 归档触发 | 归档位置 |
93
+ | | Active 保留 | 归档触发 | 归档位置 |
88
94
  |------|-------------|----------|----------|
89
- | Feature SSoT | 未完成 / 仍需操作的 feature | completed/superseded 超过 20 条、release 收束、模块并行切换 | `docs/09-PLANNING/_archive/` |
95
+ | Legacy Feature / Private Feature 生命周期表 | 不再作为 active 表保留 | 迁移到 ledger-only 版本 | `docs/09-PLANNING/_archive/` |
90
96
  | Delivery SSoT | 当前交付 block、集成顺序和阻塞项 | wave 结束或 completed/superseded blocks 超过 20 条 | `docs/09-PLANNING/_archive/` |
91
97
  | Module Registry | 活跃 / 暂停不久的模块 | 模块 completed 或 paused 超过 60 天 | `docs/09-PLANNING/MODULES/_archive/<key>/` |
92
98
  | Regression SSoT | active gates | gate 废弃或长期不再运行 | `docs/05-TEST-QA/_archive/` |
93
- | Lessons SSoT | pending / approved / superseded 条目 | merged/rejected 超过 20 | `docs/01-GOVERNANCE/_archive/` |
94
- | Harness Ledger | 最近 50 active/closed 任务记录 | closed/superseded 超过 50 条 | `docs/01-GOVERNANCE/_archive/` |
99
+ | Cadence Ledger | active cadence checks | cadence 废弃或合并到其他 gate | `docs/05-TEST-QA/_archive/` |
100
+ | Closeout SSoT | 当前 closeout 索引 | closed/superseded 超过保留窗口 | `docs/10-WALKTHROUGH/_archive/` |
101
+ | Lesson detail docs | pending / approved / superseded 详情文档 | merged/rejected 超过 20 条 | `docs/01-GOVERNANCE/_archive/` |
102
+ | Harness Ledger | 当前生成索引 | 重新生成前 archive 旧快照 | `docs/01-GOVERNANCE/_archive/` 或迁移会话 archive |
95
103
 
96
104
  归档不改变 ID,不删除证据文件;Active 文件必须留下 archive index 或指向归档文件。
97
105
 
98
- ## SSoT 与 Planning 的双向绑定
106
+ ## SSoT 与 Planning 的绑定
99
107
 
100
- - 每个 task plan 必须指向 SSoT 中的对应条目
101
- - SSoT 中的每个条目必须指向对应的 task plan
102
- - 完成任务后,SSoT 和 task plan 都必须更新
103
- - 非平凡任务完成后,Harness Ledger 必须记录本轮上下文回写结果
108
+ - 每个非平凡任务必须有任务本地 plan / progress / review / lesson / closeout 事实。
109
+ - Harness Ledger 从这些事实生成,不要求人手写任务生命周期表。
110
+ - 非任务生命周期治理表只在本轮实际触达对应事实时更新。
111
+ - 如果生成索引不对,修复 scanner、generator 或任务本地事实。
104
112
 
105
113
  ## 常见反模式
106
114
 
107
- - 只更新 task plan 不回写 SSoT → SSoT 过时,下一轮 agent 拿到错误信息
108
- - 只更新 SSoT 不更新 task plan → 任务目录变成死文档
109
- - 建多个平行的进度总览 真相分裂,没人知道哪个是对的
110
- - 把业务事实复制进 Harness Ledger 四张 SSoT 被架空
111
- - Harness Ledger 写成逐行 diff 流水账 → 表会快速失控,没人再读
115
+ - 同时维护旧 Feature 生命周期表和生成 Ledger
116
+ - 只更新 task plan,不刷新生成索引
117
+ - 手写生成表来绕过 scanner 问题
118
+ - Regression / Delivery / Closeout 的详细治理事实复制进 Harness Ledger
119
+ - 建多个平行的进度总览,导致 Agent 不知道哪张表可信