coding-agent-harness 1.0.4 → 1.0.6
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.
- package/CHANGELOG.md +7 -0
- package/CONTRIBUTING.md +2 -2
- package/LICENSE +661 -21
- package/LICENSE-EXCEPTION.md +37 -0
- package/README.md +96 -4
- package/README.zh-CN.md +75 -4
- package/SKILL.md +52 -51
- package/dist/build-dist.mjs +189 -0
- package/dist/check-dist-observation.mjs +428 -0
- package/dist/check-harness.mjs +489 -0
- package/dist/check-import-graph.mjs +511 -0
- package/dist/check-runtime-emit.mjs +304 -0
- package/dist/check-type-boundaries.mjs +139 -0
- package/dist/commands/dashboard-command.mjs +80 -0
- package/dist/commands/migration-command.mjs +152 -0
- package/dist/commands/preset-command.mjs +91 -0
- package/dist/commands/task-command.mjs +324 -0
- package/dist/harness.mjs +304 -0
- package/dist/lib/capability-registry.mjs +643 -0
- package/dist/lib/check-module-parallel.mjs +227 -0
- package/dist/lib/check-profiles.mjs +414 -0
- package/dist/lib/check-task-contracts.mjs +54 -0
- package/dist/lib/core-shared.mjs +254 -0
- package/dist/lib/dashboard-data.mjs +608 -0
- package/dist/lib/dashboard-workbench.mjs +334 -0
- package/dist/lib/dashboard-writer.mjs +200 -0
- package/dist/lib/git-status-summary.mjs +45 -0
- package/dist/lib/governance-index-generator.mjs +236 -0
- package/dist/lib/governance-sync.mjs +617 -0
- package/dist/lib/governance-table-boundary.mjs +161 -0
- package/{scripts → dist}/lib/harness-core.mjs +3 -0
- package/dist/lib/harness-paths.mjs +338 -0
- package/dist/lib/lesson-maintenance.mjs +139 -0
- package/dist/lib/markdown-utils.mjs +193 -0
- package/dist/lib/migration-planner.mjs +439 -0
- package/dist/lib/migration-support.mjs +317 -0
- package/dist/lib/phase-kind.mjs +46 -0
- package/dist/lib/preset-audit-contracts.mjs +40 -0
- package/dist/lib/preset-engine.mjs +516 -0
- package/dist/lib/preset-registry.mjs +831 -0
- package/dist/lib/preset-resource-contracts.mjs +83 -0
- package/dist/lib/review-confirm-git-gate.mjs +244 -0
- package/dist/lib/status-builder.mjs +87 -0
- package/{scripts → dist}/lib/status-dashboard-renderer.mjs +48 -47
- package/dist/lib/structure-migration.mjs +404 -0
- package/dist/lib/subagent-authorization-audit.mjs +198 -0
- package/dist/lib/task-audit-metadata.mjs +376 -0
- package/dist/lib/task-audit-migration.mjs +355 -0
- package/dist/lib/task-completion-consistency.mjs +29 -0
- package/dist/lib/task-index.mjs +133 -0
- package/dist/lib/task-lesson-candidates.mjs +239 -0
- package/dist/lib/task-lesson-sedimentation.mjs +300 -0
- package/dist/lib/task-lifecycle/create-task-helpers.mjs +84 -0
- package/dist/lib/task-lifecycle/phase-sync.mjs +82 -0
- package/dist/lib/task-lifecycle/review-confirm.mjs +93 -0
- package/dist/lib/task-lifecycle/review-gates.mjs +62 -0
- package/dist/lib/task-lifecycle/review-submission.mjs +52 -0
- package/dist/lib/task-lifecycle/scaffold-provenance.mjs +54 -0
- package/dist/lib/task-lifecycle/template-files.mjs +52 -0
- package/dist/lib/task-lifecycle/text-utils.mjs +26 -0
- package/dist/lib/task-lifecycle.mjs +611 -0
- package/dist/lib/task-metadata.mjs +116 -0
- package/dist/lib/task-review-model.mjs +474 -0
- package/dist/lib/task-scanner.mjs +439 -0
- package/dist/lib/task-tombstone-commands.mjs +125 -0
- package/dist/postinstall.mjs +14 -0
- package/dist/run-built-tests.mjs +84 -0
- package/docs-release/README.md +1 -0
- package/docs-release/architecture/overview.md +13 -13
- package/docs-release/architecture/overview.zh-CN.md +13 -13
- package/docs-release/architecture/system-explainer/01-system-overview.md +218 -0
- package/docs-release/architecture/system-explainer/02-module-dependency.md +257 -0
- package/docs-release/architecture/system-explainer/03-task-lifecycle.md +304 -0
- package/docs-release/architecture/system-explainer/04-check-and-governance.md +241 -0
- package/docs-release/architecture/system-explainer/05-data-flow.md +276 -0
- package/docs-release/architecture/system-explainer/06-preset-and-migration.md +300 -0
- package/docs-release/architecture/system-explainer/README.md +67 -0
- package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +227 -0
- package/docs-release/architecture/system-explainer/en-US/02-module-dependency.md +263 -0
- package/docs-release/architecture/system-explainer/en-US/03-task-lifecycle.md +319 -0
- package/docs-release/architecture/system-explainer/en-US/04-check-and-governance.md +252 -0
- package/docs-release/architecture/system-explainer/en-US/05-data-flow.md +290 -0
- package/docs-release/architecture/system-explainer/en-US/06-preset-and-migration.md +320 -0
- package/docs-release/architecture/system-explainer/en-US/README.md +70 -0
- package/docs-release/guides/agent-installation.en-US.md +22 -15
- package/docs-release/guides/agent-installation.md +23 -15
- package/docs-release/guides/contributing.md +3 -3
- package/docs-release/guides/contributing.zh-CN.md +3 -3
- package/docs-release/guides/document-audience-and-surfaces.en-US.md +10 -10
- package/docs-release/guides/document-audience-and-surfaces.md +10 -10
- package/docs-release/guides/legacy-migration-agent-prompt.md +25 -2
- package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +25 -2
- package/docs-release/guides/migration-playbook.en-US.md +63 -1
- package/docs-release/guides/migration-playbook.md +59 -1
- package/docs-release/guides/parent-control-repository-pattern.en-US.md +25 -25
- package/docs-release/guides/parent-control-repository-pattern.md +25 -25
- package/docs-release/guides/preset-development.md +28 -4
- package/docs-release/guides/repository-operating-models.en-US.md +21 -21
- package/docs-release/guides/repository-operating-models.md +21 -21
- package/docs-release/guides/task-state-machine.en-US.md +35 -18
- package/docs-release/guides/task-state-machine.md +35 -18
- package/docs-release/guides/typescript-runtime-migration-closeout.md +96 -0
- package/examples/minimal-project/AGENTS.md +2 -2
- package/examples/minimal-project/coding-agent-harness/harness.yaml +14 -0
- package/examples/minimal-project/coding-agent-harness/planning/tasks/demo-task/INDEX.md +60 -0
- package/examples/minimal-project/coding-agent-harness/planning/tasks/demo-task/progress.md +11 -0
- package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/review.md +1 -1
- package/package.json +22 -13
- package/presets/legacy-migration/preset.yaml +5 -5
- package/presets/legacy-migration/templates/execution_strategy.append.md +1 -1
- package/presets/lesson-sedimentation/preset.yaml +3 -3
- package/presets/module/preset.yaml +2 -2
- package/presets/module/templates/execution_strategy.append.md +1 -1
- package/presets/module/templates/task_plan.append.md +3 -3
- package/presets/standard-task/preset.yaml +2 -2
- package/references/adversarial-review-standard.md +2 -2
- package/references/agents-md-pattern.md +14 -14
- package/references/cadence-ledger.md +1 -1
- package/references/ci-cd-standard.md +1 -1
- package/references/delivery-operating-model-standard.md +4 -4
- package/references/docs-directory-standard.md +65 -159
- package/references/external-source-intake-standard.md +10 -10
- package/references/harness-ledger.md +6 -6
- package/references/legacy-12-phase-bootstrap.md +2 -2
- package/references/lessons-governance.md +15 -15
- package/references/long-running-task-standard.md +6 -6
- package/references/module-parallel-standard.md +34 -34
- package/references/planning-loop.md +6 -6
- package/references/project-onboarding-audit.md +4 -4
- package/references/regression-system.md +2 -2
- package/references/repo-governance-standard.md +4 -4
- package/references/review-routing-standard.md +1 -1
- package/references/ssot-governance.md +19 -19
- package/references/taskr-gap-analysis.md +5 -5
- package/references/walkthrough-closeout.md +14 -14
- package/references/worktree-parallel.md +3 -3
- package/skills/preset-creator/references/complex-task-skeleton/brief.md +11 -0
- package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +1 -1
- package/skills/preset-creator/references/preset-package-skeleton.md +5 -5
- package/templates/AGENTS.md.template +31 -29
- package/templates/architecture/README.md +4 -4
- package/templates/architecture/service-catalog.md +2 -2
- package/templates/architecture/services/service-template.md +1 -1
- package/templates/dashboard/assets/app-src/00-state.js +12 -0
- package/templates/dashboard/assets/app-src/10-router.js +3 -0
- package/templates/dashboard/assets/app-src/20-overview.js +13 -3
- package/templates/dashboard/assets/app-src/35-task-detail.js +46 -6
- package/templates/dashboard/assets/app-src/40-modules.js +1 -1
- package/templates/dashboard/assets/app-src/55-presets.js +375 -0
- package/templates/dashboard/assets/app-src/60-shared.js +3 -1
- package/templates/dashboard/assets/app-src/90-bindings.js +131 -0
- package/templates/dashboard/assets/app.css +583 -0
- package/templates/dashboard/assets/app.css.manifest.json +1 -0
- package/templates/dashboard/assets/app.js +585 -11
- package/templates/dashboard/assets/app.manifest.json +1 -0
- package/templates/dashboard/assets/css-src/00-foundation.css +4 -0
- package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +62 -0
- package/templates/dashboard/assets/css-src/45-presets.css +516 -0
- package/templates/dashboard/assets/i18n.js +144 -4
- package/templates/development/README.md +10 -10
- package/templates/development/cross-repo-debugging.md +3 -3
- package/templates/development/external-context/service-template.md +2 -2
- package/templates/development/external-source-packs/README.md +4 -4
- package/templates/integrations/README.md +4 -4
- package/templates/integrations/api-contract.md +2 -2
- package/templates/integrations/event-contract.md +2 -2
- package/templates/integrations/third-party/vendor-template.md +2 -2
- package/templates/integrations/webhook-contract.md +2 -2
- package/templates/ledger/Harness-Ledger.md +1 -1
- package/templates/planning/INDEX.md +88 -0
- package/templates/planning/brief.md +1 -1
- package/templates/planning/module_session_prompt.md +2 -1
- package/templates/planning/review.md +0 -18
- package/templates/planning/task_plan.md +5 -44
- package/templates/planning/visual_map.md +13 -9
- package/templates/planning/visual_map.simple.md +52 -0
- package/templates/planning/walkthrough.md +47 -0
- package/templates/reference/docs-library-standard.md +8 -8
- package/templates/reference/execution-workflow-standard.md +29 -2
- package/templates/reference/external-source-intake-standard.md +15 -15
- package/templates/reference/repo-governance-standard.md +1 -1
- package/templates/ssot/Module-Registry.md +1 -1
- package/templates/walkthrough/walkthrough-template.md +2 -2
- package/templates-zh-CN/AGENTS.md.template +31 -29
- package/templates-zh-CN/CLAUDE.md.template +1 -1
- package/templates-zh-CN/architecture/README.md +4 -4
- package/templates-zh-CN/architecture/service-catalog.md +2 -2
- package/templates-zh-CN/architecture/services/service-template.md +1 -1
- package/templates-zh-CN/development/README.md +10 -10
- package/templates-zh-CN/development/cross-repo-debugging.md +3 -3
- package/templates-zh-CN/development/external-context/service-template.md +2 -2
- package/templates-zh-CN/development/external-source-packs/README.md +4 -4
- package/templates-zh-CN/integrations/README.md +4 -4
- package/templates-zh-CN/integrations/api-contract.md +2 -2
- package/templates-zh-CN/integrations/event-contract.md +2 -2
- package/templates-zh-CN/integrations/third-party/vendor-template.md +2 -2
- package/templates-zh-CN/integrations/webhook-contract.md +2 -2
- package/templates-zh-CN/ledger/Harness-Ledger.md +1 -1
- package/templates-zh-CN/lessons/lesson-arch-process-change.md +1 -1
- package/templates-zh-CN/lessons/lesson-new-doc.md +3 -3
- package/templates-zh-CN/lessons/lesson-ref-change.md +4 -4
- package/templates-zh-CN/planning/INDEX.md +87 -0
- package/templates-zh-CN/planning/brief.md +1 -1
- package/templates-zh-CN/planning/module_session_prompt.md +12 -11
- package/templates-zh-CN/planning/review.md +0 -18
- package/templates-zh-CN/planning/task_plan.md +3 -63
- package/templates-zh-CN/planning/visual_map.md +14 -7
- package/templates-zh-CN/planning/visual_map.simple.md +48 -0
- package/templates-zh-CN/planning/walkthrough.md +47 -0
- package/templates-zh-CN/reference/adversarial-review-standard.md +2 -2
- package/templates-zh-CN/reference/delivery-operating-model-standard.md +3 -3
- package/templates-zh-CN/reference/docs-library-standard.md +28 -28
- package/templates-zh-CN/reference/execution-workflow-standard.md +32 -7
- package/templates-zh-CN/reference/external-source-intake-standard.md +16 -16
- package/templates-zh-CN/reference/harness-ledger-standard.md +6 -6
- package/templates-zh-CN/reference/regression-ssot-governance.md +2 -2
- package/templates-zh-CN/reference/repo-governance-standard.md +1 -1
- package/templates-zh-CN/reference/review-routing-standard.md +1 -1
- package/templates-zh-CN/reference/walkthrough-standard.md +7 -7
- package/templates-zh-CN/reference/worktree-standard.md +1 -1
- package/templates-zh-CN/regression/Cadence-Ledger.md +2 -2
- package/templates-zh-CN/ssot/Delivery-SSoT.md +3 -3
- package/templates-zh-CN/ssot/Module-Registry.md +3 -3
- package/templates-zh-CN/ssot/Regression-SSoT.md +2 -2
- package/templates-zh-CN/walkthrough/walkthrough-template.md +5 -5
- package/tsconfig.dist.json +16 -0
- package/tsconfig.json +25 -0
- package/tsconfig.runtime.json +24 -0
- package/examples/minimal-project/.harness-capabilities.json +0 -8
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/progress.md +0 -11
- package/scripts/check-harness.mjs +0 -508
- package/scripts/commands/dashboard-command.mjs +0 -67
- package/scripts/commands/migration-command.mjs +0 -96
- package/scripts/commands/preset-command.mjs +0 -73
- package/scripts/commands/task-command.mjs +0 -327
- package/scripts/harness.mjs +0 -287
- package/scripts/lib/capability-registry.mjs +0 -591
- package/scripts/lib/check-module-parallel.mjs +0 -237
- package/scripts/lib/check-profiles.mjs +0 -418
- package/scripts/lib/check-task-contracts.mjs +0 -47
- package/scripts/lib/core-shared.mjs +0 -196
- package/scripts/lib/dashboard-data.mjs +0 -412
- package/scripts/lib/dashboard-workbench.mjs +0 -257
- package/scripts/lib/dashboard-writer.mjs +0 -198
- package/scripts/lib/git-status-summary.mjs +0 -46
- package/scripts/lib/governance-index-generator.mjs +0 -174
- package/scripts/lib/governance-sync.mjs +0 -514
- package/scripts/lib/governance-table-boundary.mjs +0 -175
- package/scripts/lib/lesson-maintenance.mjs +0 -152
- package/scripts/lib/markdown-utils.mjs +0 -158
- package/scripts/lib/migration-planner.mjs +0 -478
- package/scripts/lib/migration-support.mjs +0 -312
- package/scripts/lib/preset-audit-contracts.mjs +0 -37
- package/scripts/lib/preset-engine.mjs +0 -497
- package/scripts/lib/preset-registry.mjs +0 -627
- package/scripts/lib/preset-resource-contracts.mjs +0 -83
- package/scripts/lib/review-confirm-git-gate.mjs +0 -248
- package/scripts/lib/subagent-authorization-audit.mjs +0 -196
- package/scripts/lib/task-completion-consistency.mjs +0 -16
- package/scripts/lib/task-index.mjs +0 -93
- package/scripts/lib/task-lesson-candidates.mjs +0 -242
- package/scripts/lib/task-lesson-sedimentation.mjs +0 -326
- package/scripts/lib/task-lifecycle/review-confirm.mjs +0 -101
- package/scripts/lib/task-lifecycle/review-gates.mjs +0 -70
- package/scripts/lib/task-lifecycle/text-utils.mjs +0 -24
- package/scripts/lib/task-lifecycle.mjs +0 -649
- package/scripts/lib/task-review-model.mjs +0 -469
- package/scripts/lib/task-scanner.mjs +0 -576
- package/scripts/lib/task-tombstone-commands.mjs +0 -140
- package/scripts/postinstall.mjs +0 -14
- package/templates/walkthrough/Closeout-SSoT.md +0 -43
- package/templates-zh-CN/walkthrough/Closeout-SSoT.md +0 -42
- /package/examples/minimal-project/{docs → coding-agent-harness/governance/generated}/Harness-Ledger.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/brief.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/execution_strategy.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/findings.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/lesson_candidates.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/task_plan.md +0 -0
- /package/examples/minimal-project/{docs/09-PLANNING/TASKS → coding-agent-harness/planning/tasks}/demo-task/visual_map.md +0 -0
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
必须先升级为 worker 并补齐 worktree 合同。
|
|
106
106
|
|
|
107
107
|
如果 review loop 使用 reviewer agent、subagent 或外部审查者,必须在任务目录写
|
|
108
|
-
`review.md`,并按 `
|
|
108
|
+
`review.md`,并按 `coding-agent-harness/governance/standards/adversarial-review-standard.md` 记录 material findings、
|
|
109
109
|
no-finding statement、evidence checked 和 residual risk。
|
|
110
110
|
|
|
111
111
|
### Evidence Depth
|
|
@@ -200,10 +200,10 @@ no-finding statement、evidence checked 和 residual risk。
|
|
|
200
200
|
|
|
201
201
|
一个项目安装 harness 后,应做到:
|
|
202
202
|
|
|
203
|
-
- `AGENTS.md` 的 Task-Type Reading Matrix 指向 `
|
|
204
|
-
- `
|
|
205
|
-
- `
|
|
206
|
-
- `
|
|
203
|
+
- `AGENTS.md` 的 Task-Type Reading Matrix 指向 `coding-agent-harness/governance/standards/long-running-task-standard.md`
|
|
204
|
+
- `coding-agent-harness/planning/tasks/_task-template/` 包含 long-running task contract 模板
|
|
205
|
+
- `coding-agent-harness/planning/tasks/_task-template/` 包含 `review.md` 模板
|
|
206
|
+
- `coding-agent-harness/governance/standards/adversarial-review-standard.md` 定义 reviewer 报告规范
|
|
207
207
|
- `execution-workflow-standard.md` 在开始任务前要求判断是否属于长程任务
|
|
208
208
|
- regression / testing 标准能提供可复查证据,而不是只依赖主观判断
|
|
209
|
-
- `
|
|
209
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md` 记录长程任务是否完成必要的上下文回写
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
## 模块注册表(Module Registry)
|
|
27
27
|
|
|
28
|
-
安装位置:`
|
|
28
|
+
安装位置:`coding-agent-harness/planning/modules/Module-Registry.md`
|
|
29
29
|
|
|
30
30
|
使用模板:`templates/ssot/Module-Registry.md`
|
|
31
31
|
|
|
@@ -43,20 +43,20 @@
|
|
|
43
43
|
|
|
44
44
|
## 模块计划(Module Plan)
|
|
45
45
|
|
|
46
|
-
安装位置:`
|
|
46
|
+
安装位置:`coding-agent-harness/planning/modules/<key>/module_plan.md`
|
|
47
47
|
|
|
48
48
|
使用模板:`templates/planning/module_plan.md`
|
|
49
49
|
|
|
50
50
|
职责:
|
|
51
51
|
- 记录该模块的步骤序列、当前进度、完成标准
|
|
52
|
-
- 每个步骤对应一个 task_plan(在模块的
|
|
52
|
+
- 每个步骤对应一个 task_plan(在模块的 tasks/ 子目录下)
|
|
53
53
|
|
|
54
54
|
## 模块会话启动 Prompt(Module Session Prompt)
|
|
55
55
|
|
|
56
56
|
安装位置由项目选择,推荐二选一:
|
|
57
57
|
|
|
58
|
-
- 单文件 Prompt Pack:`
|
|
59
|
-
- 每模块 Prompt:`
|
|
58
|
+
- 单文件 Prompt Pack:`coding-agent-harness/planning/modules/Session-Prompt-Pack.md`
|
|
59
|
+
- 每模块 Prompt:`coding-agent-harness/planning/modules/<key>/session_prompt.md`
|
|
60
60
|
|
|
61
61
|
使用模板:`templates/planning/module_session_prompt.md`
|
|
62
62
|
|
|
@@ -73,16 +73,16 @@
|
|
|
73
73
|
- Prompt 必须写清楚至少一个项目级 check 和该模块的 targeted checks。
|
|
74
74
|
- Prompt 必须包含 start gate:校验 registry 当前步骤、branch/worktree、dirty state、共享锁和过期 prompt。
|
|
75
75
|
- Prompt 必须要求开始改代码前创建或更新模块 task_plan,并记录 scope、acceptance、verification、worktree 和 shared coordination。
|
|
76
|
-
- Prompt 必须包含 closeout:review.md 或 skipped-with-reason、walkthrough Lessons Reflection、Closeout
|
|
76
|
+
- Prompt 必须包含 closeout:review.md 或 skipped-with-reason、walkthrough Lessons Reflection、Closeout Index、Lessons Check、Regression SSoT / Harness Ledger 条件更新。
|
|
77
77
|
- Prompt 中不得要求 agent 修改其他模块代码;需要跨模块文件时,必须先进入 `_shared` task 或指定单一 owner。
|
|
78
78
|
|
|
79
79
|
## 模块目录结构
|
|
80
80
|
|
|
81
81
|
```
|
|
82
|
-
|
|
82
|
+
coding-agent-harness/planning/modules/<key>/
|
|
83
83
|
├── module_plan.md ← 模块总览和步骤序列
|
|
84
84
|
├── session_prompt.md ← 可选:该模块专用启动 prompt
|
|
85
|
-
└──
|
|
85
|
+
└── tasks/ ← 该模块的所有 task
|
|
86
86
|
├── <PREFIX>-NN-<name>/
|
|
87
87
|
│ ├── task_plan.md
|
|
88
88
|
│ ├── progress.md
|
|
@@ -90,13 +90,13 @@ docs/09-PLANNING/MODULES/<key>/
|
|
|
90
90
|
│ └── review.md (如需要)
|
|
91
91
|
└── ...
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
task-local walkthrough.md/
|
|
94
94
|
├── <module-key>/
|
|
95
95
|
│ ├── <PREFIX>-NN-walkthrough.md
|
|
96
96
|
│ └── ...
|
|
97
97
|
└── _shared/ ← 跨模块基础设施 task 的 walkthrough
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
coding-agent-harness/planning/modules/_shared/tasks/
|
|
100
100
|
└── YYYY-MM-DD-<name>/ ← 跨模块/基础设施 task
|
|
101
101
|
└── ...
|
|
102
102
|
```
|
|
@@ -113,25 +113,25 @@ docs/09-PLANNING/MODULES/_shared/TASKS/
|
|
|
113
113
|
新会话的读取顺序:
|
|
114
114
|
|
|
115
115
|
1. `AGENTS.md` — 获取项目总览和模块并行指引
|
|
116
|
-
2. `
|
|
117
|
-
3. `
|
|
118
|
-
4. 目标模块的 `
|
|
116
|
+
2. `coding-agent-harness/planning/modules/Module-Registry.md` — 了解全局模块状态
|
|
117
|
+
3. `coding-agent-harness/planning/modules/Session-Prompt-Pack.md` 或目标模块的 `session_prompt.md` — 获取会话启动合同
|
|
118
|
+
4. 目标模块的 `coding-agent-harness/planning/modules/<key>/module_plan.md` — 了解模块进度
|
|
119
119
|
5. 当前步骤的 `task_plan.md` — 了解具体任务
|
|
120
120
|
|
|
121
121
|
会话开始时,用户告知目标模块(如"做 Reader"),agent 据此定位。
|
|
122
122
|
|
|
123
123
|
会话结束时必须更新:
|
|
124
124
|
- module_plan.md 的步骤状态和"当前状态"段落
|
|
125
|
-
- 模块
|
|
126
|
-
- 模块
|
|
125
|
+
- 模块 tasks 下的 progress / findings / review / walkthrough 相关引用
|
|
126
|
+
- 模块 tasks 下的 Coordinator Handoff,列出需要 coordinator 同步到总表的 registry / ledger / closeout 项
|
|
127
127
|
|
|
128
128
|
模块 worker 默认不得写全局总表:
|
|
129
129
|
|
|
130
|
-
- `
|
|
131
|
-
- `
|
|
132
|
-
- `
|
|
133
|
-
- `
|
|
134
|
-
- `
|
|
130
|
+
- `coding-agent-harness/planning/modules/Module-Registry.md`
|
|
131
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md`
|
|
132
|
+
- `coding-agent-harness/governance/generated/Closeout-Index.md`
|
|
133
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md`
|
|
134
|
+
- `coding-agent-harness/governance/regression/Cadence-Ledger.md`
|
|
135
135
|
|
|
136
136
|
这些文件只有 coordinator pass 或显式 shared lock owner 能写。模块 worker 需要总表同步时,只在模块任务的
|
|
137
137
|
`progress.md` / `task_plan.md` 中写 `Coordinator Handoff`,状态使用
|
|
@@ -144,9 +144,9 @@ docs/09-PLANNING/MODULES/_shared/TASKS/
|
|
|
144
144
|
|
|
145
145
|
本项目启用了模块并行开发。开始任何模块工作前:
|
|
146
146
|
|
|
147
|
-
1. 读
|
|
148
|
-
2. 读
|
|
149
|
-
3. 读目标模块的
|
|
147
|
+
1. 读 coding-agent-harness/planning/modules/Module-Registry.md 了解全局状态
|
|
148
|
+
2. 读 coding-agent-harness/planning/modules/Session-Prompt-Pack.md 或目标模块的 session_prompt.md
|
|
149
|
+
3. 读目标模块的 coding-agent-harness/planning/modules/<key>/module_plan.md
|
|
150
150
|
4. 在模块对应的 worktree 上工作
|
|
151
151
|
5. 不跨模块修改文件(不修改 write scope 之外的代码)
|
|
152
152
|
6. 如果作为 worker subagent 改代码/测试/文档,必须在 coordinator 分配的独立 worktree / branch 中工作,提交自己的 commit,并 handoff commit SHA / checks / residual risks
|
|
@@ -163,7 +163,7 @@ docs/09-PLANNING/MODULES/_shared/TASKS/
|
|
|
163
163
|
- 发布 = git tag + merge 到 main 的一批模块步骤
|
|
164
164
|
- 在 git tag message 中列出包含的步骤 ID
|
|
165
165
|
- 示例:`git tag -a v0.3.0 -m "Release 3: RDR-01, RDR-02, GRF-01, MOT-01"`
|
|
166
|
-
- 如需更正式的发布管理,可选创建 `
|
|
166
|
+
- 如需更正式的发布管理,可选创建 `coding-agent-harness/planning/releases/` 目录
|
|
167
167
|
|
|
168
168
|
## 共享文件冲突规则
|
|
169
169
|
|
|
@@ -188,10 +188,10 @@ shell、data layer、design system 等共享基础设施的修改:
|
|
|
188
188
|
|
|
189
189
|
最小协调产物:
|
|
190
190
|
|
|
191
|
-
- `_shared` task:`
|
|
191
|
+
- `_shared` task:`coding-agent-harness/planning/modules/_shared/tasks/<id>/task_plan.md`
|
|
192
192
|
- 或模块 task_plan 中的 `Shared Coordination` 段落,必须写明 owner、touched files、allowed change、reviewer、merge order。
|
|
193
193
|
|
|
194
|
-
Module Registry 本身也是 shared lock。活跃模块会话默认更新自己的 module_plan 和
|
|
194
|
+
Module Registry 本身也是 shared lock。活跃模块会话默认更新自己的 module_plan 和 tasks;Registry 的 Current Step / Status 只在持锁或 coordinator pass 中更新,避免多个会话同时改同一个表。
|
|
195
195
|
|
|
196
196
|
Checker 必须反向扫描模块任务目录:
|
|
197
197
|
|
|
@@ -203,7 +203,7 @@ Checker 必须反向扫描模块任务目录:
|
|
|
203
203
|
严格模式命令:
|
|
204
204
|
|
|
205
205
|
```bash
|
|
206
|
-
HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node
|
|
206
|
+
HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node dist/check-harness.mjs <repo-path>
|
|
207
207
|
```
|
|
208
208
|
|
|
209
209
|
这条规则的目的不是让每个 worker 都改总表,而是让总表同步变成单一 owner 的串行步骤。
|
|
@@ -218,7 +218,7 @@ HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node scripts/check-harness.mjs <repo-path>
|
|
|
218
218
|
4. 各模块 worktree rebase 到最新主干
|
|
219
219
|
5. 可选:在 Module Registry 标注 `infra-task-pending: true`,提醒各模块会话 rebase
|
|
220
220
|
|
|
221
|
-
基础设施 task 的文件放在 `
|
|
221
|
+
基础设施 task 的文件放在 `coding-agent-harness/planning/modules/_shared/tasks/` 下。
|
|
222
222
|
|
|
223
223
|
## 模块级 Worktree
|
|
224
224
|
|
|
@@ -253,7 +253,7 @@ HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node scripts/check-harness.mjs <repo-path>
|
|
|
253
253
|
|
|
254
254
|
切换时必须归档 legacy 生命周期表:
|
|
255
255
|
|
|
256
|
-
- `Feature-SSoT.md` / `Private-Feature-SSoT.md` 移到 `
|
|
256
|
+
- `Feature-SSoT.md` / `Private-Feature-SSoT.md` 移到 `coding-agent-harness/planning/_archive/`。
|
|
257
257
|
- Phase 历史和 completed 明细作为历史证据保留,不再作为 active 表继续维护。
|
|
258
258
|
- 使用 `harness governance rebuild --archive --apply` 从 task / module 文件重建 Harness Ledger、module plan 和 visual map 索引。
|
|
259
259
|
- 不允许把历史大表留在 active 生命周期入口底部作为"文件内归档";这会让 Agent 继续读取旧状态。
|
|
@@ -263,8 +263,8 @@ HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node scripts/check-harness.mjs <repo-path>
|
|
|
263
263
|
### 归档
|
|
264
264
|
|
|
265
265
|
- 模块所有步骤完成后,状态改为 `completed`
|
|
266
|
-
- 将模块目录移入 `
|
|
267
|
-
- 对应的 walkthrough 保留在 `
|
|
266
|
+
- 将模块目录移入 `coding-agent-harness/planning/modules/_archive/<key>/`
|
|
267
|
+
- 对应的 walkthrough 保留在 `walkthrough.md/`(不归档)
|
|
268
268
|
|
|
269
269
|
### 过期检测
|
|
270
270
|
|
|
@@ -277,9 +277,9 @@ HARNESS_REQUIRE_GLOBAL_MODULE_SYNC=1 node scripts/check-harness.mjs <repo-path>
|
|
|
277
277
|
对已有线性 Phase 历史的项目:
|
|
278
278
|
|
|
279
279
|
1. 冻结 legacy 生命周期表当前状态,标注"后续工作按模块推进"
|
|
280
|
-
2. 将 `Feature-SSoT.md` / `Private-Feature-SSoT.md` 历史明细移入 `
|
|
281
|
-
3. 将历史 `
|
|
282
|
-
4. 将历史 walkthrough 移入 `
|
|
280
|
+
2. 将 `Feature-SSoT.md` / `Private-Feature-SSoT.md` 历史明细移入 `coding-agent-harness/planning/_archive/`
|
|
281
|
+
3. 将历史 `coding-agent-harness/planning/tasks/` 移入 `coding-agent-harness/planning/_archive/`
|
|
282
|
+
4. 将历史 walkthrough 移入 `coding-agent-harness/governance/archive/legacy-walkthrough/`
|
|
283
283
|
5. 从最后一个 Phase 的未完成项中识别模块
|
|
284
284
|
6. 创建 Module Registry 和各模块的 module_plan.md
|
|
285
285
|
7. 创建 Module Session Prompt Pack 或每模块 `session_prompt.md`
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
`trivial` 不进入 CLI:小到不值得建立任务目录的修改,可以直接执行并在 commit 或交付说明中写清楚原因。
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
|
|
20
|
+
coding-agent-harness/planning/tasks/<YYYY-MM-DD-任务名>/
|
|
21
21
|
├── task_plan.md ← 计划:目标、范围、步骤、验收标准
|
|
22
22
|
├── execution_strategy.md ← 执行策略:模式、subagent、冲突控制、验证深度、handoff
|
|
23
23
|
├── visual_map.md ← 图表集合:阶段图、架构图、时序图、数据流、状态机、完成度、证据状态
|
|
@@ -118,11 +118,11 @@ the same contract.
|
|
|
118
118
|
|
|
119
119
|
当项目启用模块并行开发(见 `references/module-parallel-standard.md`)时:
|
|
120
120
|
|
|
121
|
-
- 任务目录位于模块内:`
|
|
122
|
-
- 跨模块基础设施任务位于:`
|
|
121
|
+
- 任务目录位于模块内:`coding-agent-harness/planning/modules/<key>/tasks/<PREFIX>-NN-<name>/`
|
|
122
|
+
- 跨模块基础设施任务位于:`coding-agent-harness/planning/modules/_shared/tasks/YYYY-MM-DD-<name>/`
|
|
123
123
|
- task_plan.md 应填写"模块关联"段(Module、Step、Module Plan link)
|
|
124
124
|
- 会话结束时除了更新 progress.md,还需更新 module_plan.md。
|
|
125
|
-
- 模块 worker 不直接写 Module Registry / Harness Ledger / Closeout
|
|
125
|
+
- 模块 worker 不直接写 Module Registry / Harness Ledger / Closeout Index。需要总表同步时,在 task_plan.md 或 progress.md 的 `Coordinator Handoff` 段标记 `pending-coordinator-pass`,由 coordinator 串行同步。
|
|
126
126
|
- coordinator pass 完成后,才更新 Module Registry、Harness Ledger、必要的 Closeout / Regression 表,并把 handoff 标记为 `synced`。
|
|
127
127
|
|
|
128
128
|
## 为什么这套东西有效
|
|
@@ -214,7 +214,7 @@ standard / complex:
|
|
|
214
214
|
|
|
215
215
|
每次状态变更时,必须更新 task-local facts,例如 `progress.md`、`review.md` 或 `lesson_candidates.md`。任务生命周期总表由 lifecycle CLI 或 `harness governance rebuild` 生成,不手工维护 Feature lifecycle 表。
|
|
216
216
|
|
|
217
|
-
任务完成时,必须在 `
|
|
217
|
+
任务完成时,必须在 `coding-agent-harness/governance/generated/Harness-Ledger.md` 中记录本轮 task plan、SSoT、
|
|
218
218
|
walkthrough、Lessons 检查等上下文回写结果。
|
|
219
219
|
|
|
220
220
|
## Commit Convention
|
|
@@ -228,7 +228,7 @@ walkthrough、Lessons 检查等上下文回写结果。
|
|
|
228
228
|
```text
|
|
229
229
|
feat: implement task review gate
|
|
230
230
|
|
|
231
|
-
Harness:
|
|
231
|
+
Harness: tasks/2026-05-21-task-review-gate
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
格式:`Harness: <task-id>`,其中 task-id 是 `task-list --json` 输出的 `id` 字段。
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
### 3. 现有文档
|
|
24
24
|
- 有没有 AGENTS.md / CLAUDE.md / COPILOT.md?
|
|
25
|
-
- 有没有
|
|
25
|
+
- 有没有 coding-agent-harness/ 目录?结构如何?
|
|
26
26
|
- 有没有 README 以外的开发文档?
|
|
27
27
|
- 有没有架构设计文档?
|
|
28
28
|
- 如果项目属于微服务、多仓或前后端分仓,用户是否有外部服务文档、接口文档、架构图、会议纪要、链接或导出包?
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
- 是否是前后端分仓、app/service 分仓或 program 多仓?
|
|
59
59
|
- 前端 agent 是否只能看到 API 文档 / mock / schema?后端 agent 是否只能看到消费合同?
|
|
60
60
|
- 当前使用敏捷 sprint、kanban 连续流、瀑布 stage-gate,还是个人连续执行?
|
|
61
|
-
- 是否需要 `
|
|
61
|
+
- 是否需要 `coding-agent-harness/planning/Delivery-SSoT.md` 记录 feature block owner、依赖、集成顺序和 acceptance gates?
|
|
62
62
|
|
|
63
63
|
### 6b. Repo Governance
|
|
64
64
|
- repo platform 是 GitHub / GitLab / local-only / 其他?
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
| 维度 | 现状 | 评级 |
|
|
92
92
|
|------|------|------|
|
|
93
93
|
| AGENTS.md | [有/无/需改造] | 🟢/🟡/🔴 |
|
|
94
|
-
|
|
|
94
|
+
| coding-agent-harness/ 目录 | [有/无/需改造] | 🟢/🟡/🔴 |
|
|
95
95
|
| Reference 标准 | [有/无/需改造] | 🟢/🟡/🔴 |
|
|
96
96
|
| Planning Loop | [有/无/需改造] | 🟢/🟡/🔴 |
|
|
97
97
|
| Delivery Operating Model | [solo/team/split-repo/program/waterfall/kanban/需确认] | 🟢/🟡/🔴 |
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
|
|
140
140
|
最小配置:
|
|
141
141
|
- AGENTS.md
|
|
142
|
-
-
|
|
142
|
+
- coding-agent-harness/governance/standards/ 下 2-3 个标准文件
|
|
143
143
|
- Delivery Operating Model 标准,明确是否为 `solo-orchestrator`
|
|
144
144
|
- Planning task plan / findings / progress / review 模板
|
|
145
145
|
- repo governance / CI-CD 标准和 residual
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
|
|
50
50
|
| Archive | Range | Notes |
|
|
51
51
|
|---------|-------|-------|
|
|
52
|
-
| `
|
|
52
|
+
| `coding-agent-harness/governance/regression/_archive/Regression-SSoT-archive-YYYY-QN.md` | RG-XXX-RG-YYY | retired gates |
|
|
53
53
|
```
|
|
54
54
|
|
|
55
55
|
## Cadence Ledger
|
|
@@ -86,4 +86,4 @@ Harness Ledger 只在当前任务收口时记录 `Regression=updated`、`Regress
|
|
|
86
86
|
6. 持续迭代:每次新增 surface 或 evidence depth 提升时更新 SSoT
|
|
87
87
|
|
|
88
88
|
废弃 gate 或过期 shared batch 明细不要长期堆在 Active 表底部;移动到
|
|
89
|
-
`
|
|
89
|
+
`coding-agent-harness/governance/regression/_archive/`,并在 Regression SSoT 中保留 Archive Index。
|
|
@@ -13,13 +13,13 @@ Harness 不是只生成文档骨架。每个项目必须有项目级 repository
|
|
|
13
13
|
标准文件:
|
|
14
14
|
|
|
15
15
|
```text
|
|
16
|
-
|
|
16
|
+
coding-agent-harness/governance/standards/repo-governance-standard.md
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
如果项目需要更详细的 CI/CD 说明,另见:
|
|
20
20
|
|
|
21
21
|
```text
|
|
22
|
-
|
|
22
|
+
coding-agent-harness/governance/standards/ci-cd-standard.md
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
## 必填字段
|
|
@@ -46,7 +46,7 @@ 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. Use `
|
|
49
|
+
- PR body requirements. Use `coding-agent-harness/governance/standards/pull-request-standard.md` for
|
|
50
50
|
the required bilingual structure, version impact, verification, review
|
|
51
51
|
evidence, residual risk, and references.
|
|
52
52
|
- Required reviewers
|
|
@@ -137,6 +137,6 @@ Bootstrap is not complete unless repository governance is at least:
|
|
|
137
137
|
|
|
138
138
|
## Related Standards
|
|
139
139
|
|
|
140
|
-
- `
|
|
140
|
+
- `coding-agent-harness/governance/standards/pull-request-standard.md` — PR body structure, bilingual
|
|
141
141
|
requirements, version impact, verification, review evidence, residual risk,
|
|
142
142
|
and references.
|
|
@@ -63,7 +63,7 @@ Reviewer subagent 在单个任务内默认允许,可重复用于只读审查
|
|
|
63
63
|
|
|
64
64
|
1. 在当前任务的 `review.md` 记录触发来源和审查范围。
|
|
65
65
|
2. 如果是一次性审查,按本轮任务执行。
|
|
66
|
-
3. 如果用户希望长期遵循,创建或更新项目级 `
|
|
66
|
+
3. 如果用户希望长期遵循,创建或更新项目级 `coding-agent-harness/governance/standards/review-routing-standard.md`。
|
|
67
67
|
4. 在 `AGENTS.md` 的 Task-Type Reading Matrix 中加入 reviewer routing 入口。
|
|
68
68
|
5. 在 Harness Ledger 记录该规则变更。
|
|
69
69
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 核心思路
|
|
4
4
|
|
|
5
|
-
SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生命周期状态现在由任务本地文件承载,并由 Harness CLI 生成 `
|
|
5
|
+
SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生命周期状态现在由任务本地文件承载,并由 Harness CLI 生成 `coding-agent-harness/governance/generated/Harness-Ledger.md`,避免 Agent 或人手写多张重复进度表。
|
|
6
6
|
|
|
7
7
|
## 当前治理表
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
10
10
|
|
|
11
11
|
管理多人、多 agent、多仓或传统流程下的 feature block 分配、依赖和集成顺序。
|
|
12
12
|
|
|
13
|
-
- 文件:`
|
|
13
|
+
- 文件:`coding-agent-harness/planning/Delivery-SSoT.md`
|
|
14
14
|
- 职责:谁负责哪个 feature block、agent 能看哪些上下文、依赖和 merge 顺序是什么
|
|
15
15
|
- 规则:多人、多仓、split-repo、program、waterfall 或 kanban 团队流程必须维护
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
18
18
|
|
|
19
19
|
管理所有 regression surface 的状态、证据深度和残项。
|
|
20
20
|
|
|
21
|
-
- 文件:`
|
|
21
|
+
- 文件:`coding-agent-harness/governance/regression/Regression-SSoT.md`
|
|
22
22
|
- 职责:哪些回归面存在、每条的标准入口、当前证据深度、residual
|
|
23
23
|
- 规则:新增固定 gate 或 evidence depth 变化时必须更新
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
26
26
|
|
|
27
27
|
管理需要周期性复查的回归、release、migration 或环境检查。
|
|
28
28
|
|
|
29
|
-
- 文件:`
|
|
29
|
+
- 文件:`coding-agent-harness/governance/regression/Cadence-Ledger.md`
|
|
30
30
|
- 职责:哪些检查需要按节奏重跑、最近一次证据是什么、下一次应该何时触发
|
|
31
31
|
- 规则:新增或改变周期性 gate 时必须更新
|
|
32
32
|
|
|
@@ -34,15 +34,15 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
34
34
|
|
|
35
35
|
管理模块边界、owner、worktree 和写入范围。
|
|
36
36
|
|
|
37
|
-
- 文件:`
|
|
37
|
+
- 文件:`coding-agent-harness/planning/modules/Module-Registry.md`
|
|
38
38
|
- 职责:模块 key、路径范围、负责人、状态、worktree、模块计划和依赖
|
|
39
39
|
- 规则:启用模块并行时必须维护;模块内步骤进度由 module plan / module visual map 的生成索引表达
|
|
40
40
|
|
|
41
|
-
### Closeout
|
|
41
|
+
### Closeout Index(收口表)
|
|
42
42
|
|
|
43
43
|
管理任务是否有 walkthrough、Lessons Check 和受控 skip reason。
|
|
44
44
|
|
|
45
|
-
- 文件:`
|
|
45
|
+
- 文件:`coding-agent-harness/governance/generated/Closeout-Index.md`
|
|
46
46
|
- 职责:任务收口状态、walkthrough 路径、lesson 结果和 residual
|
|
47
47
|
- 规则:非平凡任务完成或关闭时必须维护
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
50
50
|
|
|
51
51
|
管理 Agent 在开发过程中发现的经验、改进建议和规范演进。
|
|
52
52
|
|
|
53
|
-
- 文件:任务本地 `lesson_candidates.md` 与 `
|
|
53
|
+
- 文件:任务本地 `lesson_candidates.md` 与 `coding-agent-harness/governance/lessons/*.md`
|
|
54
54
|
- 职责:哪些经验值得沉淀、人工如何判定、哪些 lesson 已提升为详情文档
|
|
55
55
|
- 规则:Walkthrough 收口后检查是否有沉淀建议;promotion 前必须查重 candidate 和 detail doc
|
|
56
56
|
- 详细治理规范:`references/lessons-governance.md`
|
|
@@ -59,7 +59,7 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
59
59
|
|
|
60
60
|
管理任务生命周期的可扫描汇总。
|
|
61
61
|
|
|
62
|
-
- 文件:`
|
|
62
|
+
- 文件:`coding-agent-harness/governance/generated/Harness-Ledger.md`
|
|
63
63
|
- 职责:从任务本地事实生成 scope、module、task、state、queues、plan、review、lesson、closeout、residual
|
|
64
64
|
- 规则:由 Harness CLI 生成;不要手写任务生命周期行
|
|
65
65
|
- 详细规范:`references/harness-ledger.md`
|
|
@@ -71,8 +71,8 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
71
71
|
## 分工规则
|
|
72
72
|
|
|
73
73
|
- Delivery SSoT 不替代 Regression SSoT;它管交付组织和集成顺序。
|
|
74
|
-
- Regression SSoT 不替代 Closeout
|
|
75
|
-
- Closeout
|
|
74
|
+
- Regression SSoT 不替代 Closeout Index;它管验证面和证据深度。
|
|
75
|
+
- Closeout Index 不替代 task-local `lesson_candidates.md`;它只记录收口状态。
|
|
76
76
|
- Module Registry 不替代 module plan;它登记模块边界和 owner。
|
|
77
77
|
- Harness Ledger 不替代上述治理表;它只生成任务生命周期索引。
|
|
78
78
|
- 任务生命周期状态不要同时维护在旧 Feature 表和新 Ledger 中。
|
|
@@ -92,14 +92,14 @@ SSoT(Single Source of Truth,单一事实源)保存当前事实。任务生
|
|
|
92
92
|
|
|
93
93
|
| 表 | Active 保留 | 归档触发 | 归档位置 |
|
|
94
94
|
|------|-------------|----------|----------|
|
|
95
|
-
| Legacy Feature / Private Feature 生命周期表 | 不再作为 active 表保留 | 迁移到 ledger-only 版本 | `
|
|
96
|
-
| Delivery SSoT | 当前交付 block、集成顺序和阻塞项 | wave 结束或 completed/superseded blocks 超过 20 条 | `
|
|
97
|
-
| Module Registry | 活跃 / 暂停不久的模块 | 模块 completed 或 paused 超过 60 天 | `
|
|
98
|
-
| Regression SSoT | active gates | gate 废弃或长期不再运行 | `
|
|
99
|
-
| Cadence Ledger | active cadence checks | cadence 废弃或合并到其他 gate | `
|
|
100
|
-
| Closeout
|
|
101
|
-
| Lesson detail docs | pending / approved / superseded 详情文档 | merged/rejected 超过 20 条 | `
|
|
102
|
-
| Harness Ledger | 当前生成索引 | 重新生成前 archive 旧快照 | `
|
|
95
|
+
| Legacy Feature / Private Feature 生命周期表 | 不再作为 active 表保留 | 迁移到 ledger-only 版本 | `coding-agent-harness/planning/_archive/` |
|
|
96
|
+
| Delivery SSoT | 当前交付 block、集成顺序和阻塞项 | wave 结束或 completed/superseded blocks 超过 20 条 | `coding-agent-harness/planning/_archive/` |
|
|
97
|
+
| Module Registry | 活跃 / 暂停不久的模块 | 模块 completed 或 paused 超过 60 天 | `coding-agent-harness/planning/modules/_archive/<key>/` |
|
|
98
|
+
| Regression SSoT | active gates | gate 废弃或长期不再运行 | `coding-agent-harness/governance/regression/_archive/` |
|
|
99
|
+
| Cadence Ledger | active cadence checks | cadence 废弃或合并到其他 gate | `coding-agent-harness/governance/regression/_archive/` |
|
|
100
|
+
| Closeout Index | 当前 closeout 索引 | closed/superseded 超过保留窗口 | `coding-agent-harness/governance/archive/legacy-walkthrough/` |
|
|
101
|
+
| Lesson detail docs | pending / approved / superseded 详情文档 | merged/rejected 超过 20 条 | `coding-agent-harness/governance/_archive/` |
|
|
102
|
+
| Harness Ledger | 当前生成索引 | 重新生成前 archive 旧快照 | `coding-agent-harness/governance/_archive/` 或迁移会话 archive |
|
|
103
103
|
|
|
104
104
|
归档不改变 ID,不删除证据文件;Active 文件必须留下 archive index 或指向归档文件。
|
|
105
105
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
| 定位 | Repo-local **任务协议** + 轻量工作流 | 项目级 **工程方法论** + 完整 harness 体系 |
|
|
17
17
|
| 粒度 | 单任务卡片级别(一个 md 文件 = 一个任务) | 项目 / wave / feature 级别(多文件协作体系) |
|
|
18
18
|
| 目标用户 | 任何用 AI coding agent 的人 | 需要长程项目工程化支撑的团队 |
|
|
19
|
-
| 核心产出 | `.taskr/tasks/*.md` | `
|
|
19
|
+
| 核心产出 | `.taskr/tasks/*.md` | `coding-agent-harness/` 完整骨架 + SSoT + Ledger + Walkthrough |
|
|
20
20
|
| 产品形态 | Skill + npm CLI + 本地看板 + VS Code 插件 | Skill(纯文档协议,无代码工具) |
|
|
21
21
|
| 默认重量 | **轻量优先**(checklist 够了就不加仪式) | **完整优先**(12 个 Phase 全走一遍) |
|
|
22
22
|
|
|
@@ -211,7 +211,7 @@ verification:
|
|
|
211
211
|
**建议吸收方式**:
|
|
212
212
|
扩展为 Harness 级别的 doctor,检查项包括:
|
|
213
213
|
- `AGENTS.md` / `CLAUDE.md` 存在且非空
|
|
214
|
-
- `
|
|
214
|
+
- `coding-agent-harness/` 目录结构是否符合标准
|
|
215
215
|
- 三张 SSoT 文件存在
|
|
216
216
|
- Harness Ledger 存在
|
|
217
217
|
- 任务目录下的 task_plan 是否通过 validate
|
|
@@ -345,9 +345,9 @@ verification:
|
|
|
345
345
|
|
|
346
346
|
**建议吸收方式**(两条路选一条):
|
|
347
347
|
|
|
348
|
-
**路线 A(轻量)**:扩展现有 `harness-dashboard.html`,增加任务视图页签,读 `
|
|
348
|
+
**路线 A(轻量)**:扩展现有 `harness-dashboard.html`,增加任务视图页签,读 `coding-agent-harness/planning/tasks/` 目录下的任务文件。
|
|
349
349
|
|
|
350
|
-
**路线 B(对齐)**:把 Taskr 的 board 直接集成进来,让它同时读 `.taskr/` 和我们的 `
|
|
350
|
+
**路线 B(对齐)**:把 Taskr 的 board 直接集成进来,让它同时读 `.taskr/` 和我们的 `coding-agent-harness/planning/tasks/`。Taskr 是 MIT 开源,可以直接用。
|
|
351
351
|
|
|
352
352
|
**注意**:Board 是 nice-to-have,不是核心方法论差异。核心价值在 3.1-3.6。
|
|
353
353
|
|
|
@@ -504,7 +504,7 @@ Footer 格式:`Taskr: <task-id>`(注意不是旧的 `[taskr:<id>]` subject-l
|
|
|
504
504
|
|
|
505
505
|
| Taskr 特性 | 不吸收的原因 |
|
|
506
506
|
|------------|-------------|
|
|
507
|
-
| `.taskr/` 目录名 | 我们用 `
|
|
507
|
+
| `.taskr/` 目录名 | 我们用 `coding-agent-harness/planning/tasks/`,已是 harness 骨架的一部分,不应再搞一套平行目录 |
|
|
508
508
|
| 6-section 固定结构(Request/AC/Plan/ProgressLog/AgentNotes/CompletionSummary) | 我们的三件套(plan/findings/progress)更细粒度;但可以考虑对齐 section 名 |
|
|
509
509
|
| 无 SSoT / 无 Regression / 无 Lessons | 这是 Taskr 的定位选择(轻量),不代表我们该砍掉已有能力 |
|
|
510
510
|
| HTML-in-Markdown 片段 | 我们的任务文件面向 agent 消费,不需要富渲染 |
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
- 有没有反复出现、跨页面/跨模块/跨阶段的共性问题:[有/无,写一句理由]
|
|
37
37
|
- 有没有下次 agent 也可能重复踩的坑:[有/无,写一句理由]
|
|
38
38
|
- Lessons 结果:[checked-created: L-YYYY-MM-DD-NNN / queued-promotion: LC-YYYYMMDD-NNN / checked-candidate: LC-YYYYMMDD-NNN / checked-none: 一句话原因]
|
|
39
|
-
- Lessons Detail Doc:[如 checked-created,填 `
|
|
39
|
+
- Lessons Detail Doc:[如 checked-created,填 `coding-agent-harness/governance/lessons/...md`;如 queued/checked-candidate,填 `lesson_candidates.md` 和任务本地 `lessons/LC-...md`;否则写"无"]
|
|
40
40
|
|
|
41
41
|
## 相关文件
|
|
42
42
|
- Task Plan: [路径]
|
|
@@ -48,13 +48,13 @@
|
|
|
48
48
|
## 存放位置
|
|
49
49
|
|
|
50
50
|
```
|
|
51
|
-
|
|
51
|
+
walkthrough.md.md
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
Closeout
|
|
54
|
+
Closeout Index:
|
|
55
55
|
|
|
56
56
|
```text
|
|
57
|
-
|
|
57
|
+
coding-agent-harness/governance/generated/Closeout-Index.md
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
## 规则
|
|
@@ -67,15 +67,15 @@ docs/10-WALKTHROUGH/Closeout-SSoT.md
|
|
|
67
67
|
6. **Walkthrough 不是代码注释** — 不需要逐行解释代码,重点是决策、验证和可复用教训
|
|
68
68
|
7. **Walkthrough 完成后必须执行经验沉淀检查** — 见下方“经验沉淀检查”章节
|
|
69
69
|
8. **收口后必须更新 Harness Ledger** — 记录本轮上下文回写是否完成
|
|
70
|
-
9. **收口后必须更新 Closeout
|
|
70
|
+
9. **收口后必须更新 Closeout Index** — 每个 `closed` / `closed-with-residual` / `closed-local-only` 的 Harness Ledger row 必须有 Closeout Index row
|
|
71
71
|
|
|
72
|
-
## Closeout
|
|
72
|
+
## Closeout Index 规则
|
|
73
73
|
|
|
74
|
-
`Closeout-
|
|
74
|
+
`Closeout-Index.md` 是 walkthrough 是否写入的硬门槛,不是目录索引。
|
|
75
75
|
|
|
76
76
|
每个 closed 任务必须满足一项:
|
|
77
77
|
|
|
78
|
-
1. `Walkthrough` 列写入 `
|
|
78
|
+
1. `Walkthrough` 列写入 `walkthrough.md.md`
|
|
79
79
|
2. `Walkthrough` 列写入受控 skip reason
|
|
80
80
|
|
|
81
81
|
允许的 skip reason 只有:
|
|
@@ -106,27 +106,27 @@ docs/10-WALKTHROUGH/Closeout-SSoT.md
|
|
|
106
106
|
|
|
107
107
|
如果任何一条答案是“有”:
|
|
108
108
|
|
|
109
|
-
1. 查找任务本地 `lesson_candidates.md`、任务本地 `lessons/LC-*.md` 和 `
|
|
109
|
+
1. 查找任务本地 `lesson_candidates.md`、任务本地 `lessons/LC-*.md` 和 `coding-agent-harness/governance/lessons/*.md`
|
|
110
110
|
2. 按 `references/lessons-governance.md` 中的规则处理冲突
|
|
111
111
|
3. 先在任务目录 `lesson_candidates.md` 中登记候选;候选进入 `needs-promotion` 时同步写任务本地 `lessons/LC-*.md` 详情文件并在 `Detail Artifact` 链接
|
|
112
|
-
4. 人工确认后,如需沉淀,使用 maintenance CLI 写入 `
|
|
113
|
-
5. 在 Closeout
|
|
112
|
+
4. 人工确认后,如需沉淀,使用 maintenance CLI 写入 `coding-agent-harness/governance/lessons/` promoted 详情文档
|
|
113
|
+
5. 在 Closeout Index 和 Harness Ledger 中记录 `queued-promotion: LC-...` 或 `checked-created: L-YYYY-MM-DD-NNN`
|
|
114
114
|
|
|
115
|
-
如果所有答案都是“没有”,不能静默跳过;在 Closeout
|
|
115
|
+
如果所有答案都是“没有”,不能静默跳过;在 Closeout Index 和 Harness Ledger 中记录
|
|
116
116
|
新任务在 `lesson_candidates.md` 中写 `no-candidate-accepted` 和 No-Candidate Reason;旧任务可记录
|
|
117
117
|
`checked-none: <一句话原因>`。
|
|
118
118
|
|
|
119
119
|
## Harness Ledger 回写
|
|
120
120
|
|
|
121
121
|
写完 Walkthrough、更新 Regression SSoT 或其他本轮实际触达的非任务生命周期 SSoT,并完成 Lessons 检查后,Agent 必须更新
|
|
122
|
-
`
|
|
122
|
+
`coding-agent-harness/governance/generated/Closeout-Index.md`;任务生命周期总账由 CLI 重新生成 `coding-agent-harness/governance/generated/Harness-Ledger.md`:
|
|
123
123
|
|
|
124
124
|
1. 为本轮任务追加或更新对应 `HL-*` 条目
|
|
125
125
|
2. 记录 Task Plan、Regression SSoT、Review Report、Walkthrough、Lessons Check 的结果
|
|
126
126
|
3. 列出本轮触碰的 harness 文档
|
|
127
127
|
4. 如有未完成项,使用 `missing` 或 `skipped-with-reason` 并写明 residual
|
|
128
128
|
|
|
129
|
-
没有 Harness Ledger 条目或 Closeout
|
|
129
|
+
没有 Harness Ledger 条目或 Closeout Index 条目的 wave,不视为完整 closed。
|
|
130
130
|
|
|
131
131
|
## 为什么 Walkthrough 有效
|
|
132
132
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
但 worktree 只是 `solo-orchestrator` 或单仓并行的一种实现。若项目是多人团队、
|
|
8
8
|
前后端分仓、program 多仓或瀑布 stage-gate,必须先读
|
|
9
|
-
`
|
|
9
|
+
`coding-agent-harness/governance/standards/delivery-operating-model-standard.md`,再决定使用 worktree、
|
|
10
10
|
feature branch、contract branch、release branch 或跨仓 paired PR。
|
|
11
11
|
|
|
12
12
|
## 什么时候必须开 worktree
|
|
@@ -39,7 +39,7 @@ feature branch、contract branch、release branch 或跨仓 paired PR。
|
|
|
39
39
|
- `fix/` — Bug 修复
|
|
40
40
|
- `refactor/` — 重构
|
|
41
41
|
- `test/` — 测试相关
|
|
42
|
-
- `
|
|
42
|
+
- `coding-agent-harness/` — 文档相关
|
|
43
43
|
|
|
44
44
|
示例:
|
|
45
45
|
- `feat/user-auth-oauth2`
|
|
@@ -135,7 +135,7 @@ Coordinator 集成规则:
|
|
|
135
135
|
|
|
136
136
|
## 并发上限
|
|
137
137
|
|
|
138
|
-
项目必须在 `
|
|
138
|
+
项目必须在 `coding-agent-harness/governance/standards/repo-governance-standard.md` 的 Worktree Concurrency
|
|
139
139
|
中定义 max active worktrees、merge ordering rule 和 cleanup owner。
|
|
140
140
|
|
|
141
141
|
未定义并发上限时,不应启动多 agent 并行开发。
|
|
@@ -30,3 +30,14 @@ State the user-visible or project-visible result this task must deliver.
|
|
|
30
30
|
## First Next Step
|
|
31
31
|
|
|
32
32
|
Replace this line with the first concrete action before implementation starts.
|
|
33
|
+
|
|
34
|
+
## Scaffold Provenance
|
|
35
|
+
|
|
36
|
+
| Field | Value |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| Created By | {{SCAFFOLD_CREATED_BY}} |
|
|
39
|
+
| Command Shape | {{SCAFFOLD_COMMAND}} |
|
|
40
|
+
| Created At | {{SCAFFOLD_CREATED_AT}} |
|
|
41
|
+
| Budget | {{SCAFFOLD_BUDGET}} |
|
|
42
|
+
| Template Source | {{SCAFFOLD_TEMPLATE_SOURCE}} |
|
|
43
|
+
| Exception Reason | {{SCAFFOLD_EXCEPTION_REASON}} |
|
|
@@ -108,4 +108,4 @@ File purposes:
|
|
|
108
108
|
|
|
109
109
|
- Global sync owner: coordinator / n/a
|
|
110
110
|
- Global sync status: pending-coordinator-pass / synced / n/a
|
|
111
|
-
- Shared updates needed: [Module Registry / Harness Ledger / Closeout
|
|
111
|
+
- Shared updates needed: [Module Registry / Harness Ledger / Closeout Index / Regression SSoT / none]
|