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.
- package/CHANGELOG.md +32 -0
- package/CONTRIBUTING.md +98 -0
- package/LICENSE +661 -21
- package/LICENSE-EXCEPTION.md +37 -0
- package/README.md +244 -87
- package/README.zh-CN.md +77 -35
- package/SKILL.md +32 -24
- package/docs-release/README.md +9 -5
- package/docs-release/architecture/overview.md +17 -5
- package/docs-release/architecture/overview.zh-CN.md +9 -5
- package/docs-release/architecture/system-explainer/01-system-overview.md +217 -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 +239 -0
- package/docs-release/architecture/system-explainer/05-data-flow.md +276 -0
- package/docs-release/architecture/system-explainer/06-preset-and-migration.md +303 -0
- package/docs-release/architecture/system-explainer/README.md +67 -0
- package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +226 -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 +250 -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 +323 -0
- package/docs-release/architecture/system-explainer/en-US/README.md +70 -0
- package/docs-release/assets/dashboard-overview.png +0 -0
- package/docs-release/guides/agent-installation.en-US.md +39 -15
- package/docs-release/guides/agent-installation.md +43 -16
- package/docs-release/guides/contributing.md +100 -0
- package/docs-release/guides/contributing.zh-CN.md +99 -0
- package/docs-release/guides/document-audience-and-surfaces.en-US.md +3 -2
- package/docs-release/guides/document-audience-and-surfaces.md +3 -2
- package/docs-release/guides/full-legacy-migration-subagent-strategy.md +2 -2
- package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +2 -2
- package/docs-release/guides/legacy-migration-agent-prompt.md +0 -11
- package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +0 -11
- package/docs-release/guides/migration-playbook.en-US.md +14 -15
- package/docs-release/guides/migration-playbook.md +14 -15
- package/docs-release/guides/parent-control-repository-pattern.en-US.md +7 -5
- package/docs-release/guides/parent-control-repository-pattern.md +7 -5
- package/docs-release/guides/preset-development.md +238 -0
- package/docs-release/guides/repository-operating-models.en-US.md +5 -4
- package/docs-release/guides/repository-operating-models.md +5 -4
- package/docs-release/guides/task-state-machine.en-US.md +224 -0
- package/docs-release/guides/task-state-machine.md +231 -0
- package/docs-release/intl/en-US.md +1 -1
- package/docs-release/intl/zh-CN.md +1 -1
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/INDEX.md +60 -0
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/findings.md +7 -0
- package/package.json +10 -4
- package/presets/legacy-migration/checks/preset-check.mjs +3 -0
- package/presets/legacy-migration/preset.yaml +134 -0
- package/presets/legacy-migration/scripts/plan-work-queue.mjs +4 -0
- package/presets/legacy-migration/scripts/scaffold-task-contracts.mjs +4 -0
- package/presets/legacy-migration/templates/execution_strategy.append.md +18 -0
- package/presets/legacy-migration/templates/findings.seed.md +17 -0
- package/presets/legacy-migration/templates/review.seed.md +12 -0
- package/presets/legacy-migration/templates/task_plan.append.md +9 -0
- package/presets/legacy-migration/templates/visual_map.append.md +12 -0
- package/presets/legacy-migration/workbench/dashboard-panels.yaml +2 -0
- package/presets/legacy-migration/workbench/migration-queue.schema.json +23 -0
- package/presets/lesson-sedimentation/preset.yaml +23 -0
- package/presets/lesson-sedimentation/templates/prompt.md +23 -0
- package/presets/module/preset.yaml +25 -0
- package/presets/module/templates/execution_strategy.append.md +8 -0
- package/presets/module/templates/task_plan.append.md +17 -0
- package/presets/standard-task/preset.yaml +31 -0
- package/presets/standard-task/templates/task_plan.append.md +7 -0
- package/references/adversarial-review-standard.md +2 -2
- package/references/agents-md-pattern.md +2 -2
- package/references/delivery-operating-model-standard.md +3 -3
- package/references/docs-directory-standard.md +6 -7
- package/references/harness-ledger.md +53 -96
- package/references/lessons-governance.md +88 -93
- package/references/module-parallel-standard.md +14 -14
- package/references/planning-loop.md +12 -6
- package/references/pull-request-standard.md +118 -0
- package/references/repo-governance-standard.md +11 -2
- package/references/review-routing-standard.md +7 -1
- package/references/ssot-governance.md +67 -59
- package/references/taskr-gap-analysis.md +600 -0
- package/references/walkthrough-closeout.md +7 -7
- package/scripts/check-harness.mjs +40 -301
- package/scripts/commands/dashboard-command.mjs +67 -0
- package/scripts/commands/migration-command.mjs +126 -0
- package/scripts/commands/preset-command.mjs +73 -0
- package/scripts/commands/task-command.mjs +328 -0
- package/scripts/harness.mjs +59 -260
- package/scripts/lib/capability-registry.mjs +82 -28
- package/scripts/lib/check-module-parallel.mjs +230 -0
- package/scripts/lib/check-profiles.mjs +90 -228
- package/scripts/lib/check-task-contracts.mjs +55 -0
- package/scripts/lib/core-shared.mjs +65 -2
- package/scripts/lib/dashboard-data.mjs +155 -24
- package/scripts/lib/dashboard-workbench.mjs +131 -12
- package/scripts/lib/dashboard-writer.mjs +20 -4
- package/scripts/lib/git-status-summary.mjs +46 -0
- package/scripts/lib/governance-index-generator.mjs +174 -0
- package/scripts/lib/governance-sync.mjs +611 -0
- package/scripts/lib/governance-table-boundary.mjs +175 -0
- package/scripts/lib/harness-core.mjs +6 -0
- package/scripts/lib/lesson-maintenance.mjs +36 -29
- package/scripts/lib/markdown-utils.mjs +33 -0
- package/scripts/lib/migration-planner.mjs +4 -6
- package/scripts/lib/migration-support.mjs +1 -1
- package/scripts/lib/phase-kind.mjs +50 -0
- package/scripts/lib/preset-audit-contracts.mjs +37 -0
- package/scripts/lib/preset-engine.mjs +494 -0
- package/scripts/lib/preset-registry.mjs +776 -0
- package/scripts/lib/preset-resource-contracts.mjs +83 -0
- package/scripts/lib/review-confirm-git-gate.mjs +248 -0
- package/scripts/lib/status-builder.mjs +88 -0
- package/scripts/lib/status-dashboard-renderer.mjs +105 -0
- package/scripts/lib/subagent-authorization-audit.mjs +196 -0
- package/scripts/lib/task-audit-metadata.mjs +385 -0
- package/scripts/lib/task-audit-migration.mjs +350 -0
- package/scripts/lib/task-completion-consistency.mjs +26 -0
- package/scripts/lib/task-index.mjs +93 -0
- package/scripts/lib/task-lesson-candidates.mjs +242 -0
- package/scripts/lib/task-lesson-sedimentation.mjs +326 -0
- package/scripts/lib/task-lifecycle/create-task-helpers.mjs +67 -0
- package/scripts/lib/task-lifecycle/phase-sync.mjs +88 -0
- package/scripts/lib/task-lifecycle/review-confirm.mjs +112 -0
- package/scripts/lib/task-lifecycle/review-gates.mjs +73 -0
- package/scripts/lib/task-lifecycle/review-submission.mjs +63 -0
- package/scripts/lib/task-lifecycle/scaffold-provenance.mjs +49 -0
- package/scripts/lib/task-lifecycle/template-files.mjs +53 -0
- package/scripts/lib/task-lifecycle/text-utils.mjs +24 -0
- package/scripts/lib/task-lifecycle.mjs +338 -477
- package/scripts/lib/task-metadata.mjs +118 -0
- package/scripts/lib/task-review-model.mjs +455 -0
- package/scripts/lib/task-scanner.mjs +193 -372
- package/scripts/lib/task-tombstone-commands.mjs +140 -0
- package/scripts/postinstall.mjs +14 -0
- package/skills/preset-creator/SKILL.md +179 -0
- package/skills/preset-creator/references/complex-task-skeleton/README.md +31 -0
- package/skills/preset-creator/references/complex-task-skeleton/artifacts/INDEX.md +12 -0
- package/skills/preset-creator/references/complex-task-skeleton/brief.md +43 -0
- package/skills/preset-creator/references/complex-task-skeleton/execution_strategy.md +71 -0
- package/skills/preset-creator/references/complex-task-skeleton/findings.md +24 -0
- package/skills/preset-creator/references/complex-task-skeleton/lesson_candidates.md +70 -0
- package/skills/preset-creator/references/complex-task-skeleton/long-running-task-contract.md +76 -0
- package/skills/preset-creator/references/complex-task-skeleton/progress.md +33 -0
- package/skills/preset-creator/references/complex-task-skeleton/references/INDEX.md +13 -0
- package/skills/preset-creator/references/complex-task-skeleton/review.md +107 -0
- package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +111 -0
- package/skills/preset-creator/references/complex-task-skeleton/visual_map.md +50 -0
- package/skills/preset-creator/references/preset-package-skeleton.md +296 -0
- package/templates/AGENTS.md.template +24 -18
- package/templates/dashboard/assets/app-src/00-state.js +13 -0
- package/templates/dashboard/assets/app-src/10-router.js +5 -1
- package/templates/dashboard/assets/app-src/20-overview.js +18 -8
- package/templates/dashboard/assets/app-src/30-tasks.js +92 -246
- package/templates/dashboard/assets/app-src/35-task-detail.js +286 -0
- package/templates/dashboard/assets/app-src/45-review.js +241 -22
- package/templates/dashboard/assets/app-src/50-migration.js +24 -10
- 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 +302 -29
- package/templates/dashboard/assets/app.css +1501 -376
- package/templates/dashboard/assets/app.css.manifest.json +10 -0
- package/templates/dashboard/assets/app.js +1240 -101
- package/templates/dashboard/assets/app.manifest.json +2 -0
- package/templates/dashboard/assets/css-src/00-foundation.css +346 -0
- package/templates/dashboard/assets/css-src/10-panels-flow.css +236 -0
- package/templates/dashboard/assets/css-src/20-briefs-controls.css +398 -0
- package/templates/dashboard/assets/css-src/30-task-index.css +739 -0
- package/templates/dashboard/assets/css-src/35-review-workspace.css +507 -0
- package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +489 -0
- package/templates/dashboard/assets/css-src/45-presets.css +516 -0
- package/templates/dashboard/assets/css-src/50-responsive-overrides.css +551 -0
- package/templates/dashboard/assets/i18n.js +263 -23
- package/templates/ledger/Harness-Ledger.md +13 -25
- package/templates/lessons/lesson-arch-process-change.md +1 -1
- package/templates/lessons/lesson-new-doc.md +1 -1
- package/templates/lessons/lesson-ref-change.md +1 -1
- package/templates/planning/INDEX.md +87 -0
- package/templates/planning/brief.md +1 -1
- package/templates/planning/execution_strategy.md +31 -0
- package/templates/planning/lesson_candidates.md +18 -6
- package/templates/planning/module_session_prompt.md +1 -0
- package/templates/planning/optional/artifacts/INDEX.md +3 -3
- package/templates/planning/optional/references/INDEX.md +3 -3
- package/templates/planning/review.md +41 -0
- package/templates/planning/task_plan.md +5 -21
- package/templates/planning/visual_map.md +13 -9
- package/templates/planning/visual_map.simple.md +52 -0
- package/templates/reference/execution-workflow-standard.md +31 -3
- package/templates/reference/pull-request-standard.md +80 -0
- package/templates/reference/repo-governance-standard.md +7 -6
- package/templates/reference/review-routing-standard.md +6 -0
- package/templates/reference/walkthrough-standard.md +2 -1
- package/templates/verifier/verifier-output.md +1 -1
- package/templates-zh-CN/AGENTS.md.template +25 -19
- package/templates-zh-CN/ledger/Harness-Ledger.md +17 -40
- package/templates-zh-CN/planning/INDEX.md +87 -0
- package/templates-zh-CN/planning/brief.md +1 -1
- package/templates-zh-CN/planning/execution_strategy.md +30 -0
- package/templates-zh-CN/planning/lesson_candidates.md +18 -6
- package/templates-zh-CN/planning/module_session_prompt.md +1 -0
- package/templates-zh-CN/planning/review.md +41 -1
- package/templates-zh-CN/planning/task_plan.md +4 -44
- 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/reference/adversarial-review-standard.md +1 -1
- package/templates-zh-CN/reference/docs-library-standard.md +1 -1
- package/templates-zh-CN/reference/execution-workflow-standard.md +33 -7
- package/templates-zh-CN/reference/harness-ledger-standard.md +2 -2
- package/templates-zh-CN/reference/pull-request-standard.md +106 -0
- package/templates-zh-CN/reference/repo-governance-standard.md +4 -3
- package/templates-zh-CN/reference/review-routing-standard.md +8 -1
- package/templates-zh-CN/reference/walkthrough-standard.md +3 -2
- package/templates-zh-CN/walkthrough/Closeout-SSoT.md +1 -1
- package/docs-release/assets/dashboard-overview-en.png +0 -0
- package/scripts/smoke-dashboard.mjs +0 -92
- package/scripts/test-harness.mjs +0 -1395
- package/templates/ssot/Feature-SSoT.md +0 -43
- package/templates/ssot/Lessons-SSoT.md +0 -44
- package/templates-zh-CN/ssot/Feature-SSoT.md +0 -49
- package/templates-zh-CN/ssot/Lessons-SSoT.md +0 -49
package/README.zh-CN.md
CHANGED
|
@@ -4,22 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
[English](README.md) | 简体中文 | [日本語](docs-release/intl/ja-JP.md) | [한국어](docs-release/intl/ko-KR.md) | [Français](docs-release/intl/fr-FR.md) | [Español](docs-release/intl/es-ES.md) | [Deutsch](docs-release/intl/de-DE.md)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+

|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
> 开源、文档驱动、开箱即用的 Agent Harness。让 Codex、Claude Code、Gemini CLI 等 Coding Agent 在长程开发中保持上下文清晰、过程透明、结果可审查。
|
|
10
10
|
|
|
11
|
-
Coding Agent Harness
|
|
12
|
-
|
|
13
|
-

|
|
14
|
-
|
|
15
|
-
## 先看它怎么玩
|
|
16
|
-
|
|
17
|
-
| 步骤 | 人看到什么 | Agent / CLI 做什么 |
|
|
18
|
-
| --- | --- | --- |
|
|
19
|
-
| 1. 安装入口 | 把 Harness 入口发给 Agent | `npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness` |
|
|
20
|
-
| 2. 初始化或迁移 | Agent 先诊断仓库,再给计划 | `init` / `migrate-plan` |
|
|
21
|
-
| 3. 打开 Dashboard | 看任务、风险、审查和证据 | `npx --yes coding-agent-harness dev .` |
|
|
22
|
-
| 4. 交付前检查 | 用检查结果证明状态 | `check --profile target-project` |
|
|
11
|
+

|
|
23
12
|
|
|
24
13
|
## 一眼看懂
|
|
25
14
|
|
|
@@ -32,6 +21,8 @@ Coding Agent Harness 不是另一个聊天提示词集合。它把 Agent 长程
|
|
|
32
21
|
- CLI 和 Dashboard 把状态、风险、迁移计划和审查证据暴露出来。
|
|
33
22
|
- 下一个 Agent 不靠上一轮聊天记忆,而是从仓库事实继续。
|
|
34
23
|
|
|
24
|
+

|
|
25
|
+
|
|
35
26
|
## 这是什么
|
|
36
27
|
|
|
37
28
|
Coding Agent Harness 是一套给 AI Coding Agent 使用的项目工程框架。
|
|
@@ -76,6 +67,22 @@ Harness 覆盖长程开发里的持续性问题:任务生命周期、Brief、E
|
|
|
76
67
|
|
|
77
68
|
它让 Agent 每一步都有上下文、证据和收口标准。
|
|
78
69
|
|
|
70
|
+
### 面向任务族的可复用 Preset
|
|
71
|
+
|
|
72
|
+
Preset 是一个可版本化、声明式的任务方法包。它不是安装一个新 Agent,也不是替代
|
|
73
|
+
Harness;它告诉 `harness new-task` 如何为某一类可重复工作创建任务:应该设置什么
|
|
74
|
+
Task Kind、需要询问哪些输入、要把哪些共享 Reference 或 Artifact 复制进任务、Agent
|
|
75
|
+
必须先读哪些文件,以及要生成哪些 audit / evidence 文件来证明任务创建正确。
|
|
76
|
+
|
|
77
|
+
当一组任务共享同一套启动上下文时,就适合用 Preset。比如多个接口任务都依赖同一个
|
|
78
|
+
上游微服务 contract、fixture packet、runbook 和验证清单,就不应该每次都把这些内容塞进
|
|
79
|
+
prompt;应该把它们放进 Preset,然后用
|
|
80
|
+
`harness new-task --preset <preset-id> ...` 创建每个任务。
|
|
81
|
+
|
|
82
|
+
Harness 自带内置 Preset,`harness init` 会把它们 seed 到目标项目,团队也可以在
|
|
83
|
+
`.coding-agent-harness/presets/` 下维护项目级 Preset。`preset-creator` Skill 用来制作
|
|
84
|
+
这些 Preset 包;真正检查、安装、列出和应用 Preset 的是 Harness CLI。
|
|
85
|
+
|
|
79
86
|
### 旧项目也能迁移
|
|
80
87
|
|
|
81
88
|
旧项目迁移不是直接套模板。标准流程是:先扫描项目,生成迁移计划,推荐迁移模式,向用户提问确认,再执行迁移,最后用 Dashboard 和检查结果证明迁移状态。
|
|
@@ -92,15 +99,22 @@ Coding Agent Harness 适合:
|
|
|
92
99
|
|
|
93
100
|
## 快速开始
|
|
94
101
|
|
|
95
|
-
### 安装
|
|
102
|
+
### 安装 Skills
|
|
96
103
|
|
|
97
|
-
如果你的 Agent 支持 Skills
|
|
104
|
+
如果你的 Agent 支持 Skills,可以用 `npx` 查看本仓库提供的 Skill。因为本仓库既有根
|
|
105
|
+
Skill,也有嵌套 Skill;要看到或安装 `preset-creator`,需要加 `--full-depth`:
|
|
98
106
|
|
|
99
107
|
```bash
|
|
100
|
-
npx skills add FairladyZ625/coding-agent-harness --list
|
|
108
|
+
npx skills add FairladyZ625/coding-agent-harness --list --full-depth
|
|
101
109
|
npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness
|
|
110
|
+
npx skills add FairladyZ625/coding-agent-harness --skill preset-creator --full-depth
|
|
102
111
|
```
|
|
103
112
|
|
|
113
|
+
两个 Skill 的用途不同:
|
|
114
|
+
|
|
115
|
+
- `coding-agent-harness`:用于在目标项目中安装、迁移、运行和审查 Harness。
|
|
116
|
+
- `preset-creator`:用于给一组重复任务制作可复用 Harness Preset。适合这些任务共享同一套方法、外部 Reference、Artifact、Evidence 要求,或需要在 Complex Task 骨架上叠加 Preset。这个 Skill 自带 Complex Task 骨架参考,所以 Agent 不需要预先理解 Harness 内部结构,也能做出正确的 Preset。
|
|
117
|
+
|
|
104
118
|
安装到 Codex 全局 Skill 目录:
|
|
105
119
|
|
|
106
120
|
```bash
|
|
@@ -111,6 +125,17 @@ npx skills add FairladyZ625/coding-agent-harness \
|
|
|
111
125
|
-y
|
|
112
126
|
```
|
|
113
127
|
|
|
128
|
+
安装 Preset Creator Skill:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npx skills add FairladyZ625/coding-agent-harness \
|
|
132
|
+
--skill preset-creator \
|
|
133
|
+
--full-depth \
|
|
134
|
+
--agent codex \
|
|
135
|
+
--global \
|
|
136
|
+
-y
|
|
137
|
+
```
|
|
138
|
+
|
|
114
139
|
CLI 不会自动写进目标项目依赖。需要运行 Harness 命令时,用 `npx` 即可;第一次执行会从 npm 拉取包到本机 npm 缓存,不会写入目标项目:
|
|
115
140
|
|
|
116
141
|
```bash
|
|
@@ -126,6 +151,11 @@ npm install -g coding-agent-harness
|
|
|
126
151
|
harness --help
|
|
127
152
|
```
|
|
128
153
|
|
|
154
|
+
npm 安装会把内置 Preset seed 到 `~/.coding-agent-harness/presets/`。
|
|
155
|
+
`harness init` 也会把这些 Preset seed 到目标项目的
|
|
156
|
+
`.coding-agent-harness/presets/`,所以 Agent 可以用
|
|
157
|
+
`harness preset list --json` 发现稳定的任务方法。
|
|
158
|
+
|
|
129
159
|
Agent 不应静默执行全局安装。只有用户明确同意修改全局 npm 环境后,Agent 才能运行 `npm install -g coding-agent-harness`;否则继续使用 `npx --yes coding-agent-harness ...`。
|
|
130
160
|
|
|
131
161
|
### 人看的常用命令
|
|
@@ -164,9 +194,6 @@ npx --yes coding-agent-harness check --profile target-project .
|
|
|
164
194
|
|
|
165
195
|
npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness
|
|
166
196
|
|
|
167
|
-
注意:这一步会在目标仓写入 .agents/skills/coding-agent-harness/ 和 skills-lock.json。
|
|
168
|
-
如果本轮只允许零写入扫描,请先跳过本步,直接使用 npx --yes coding-agent-harness ... 扫描;获准写入后再安装 Skill。
|
|
169
|
-
|
|
170
197
|
先检查当前环境是否有 harness 命令。
|
|
171
198
|
|
|
172
199
|
如果没有,不要静默全局安装。请先问我:
|
|
@@ -176,10 +203,10 @@ npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness
|
|
|
176
203
|
|
|
177
204
|
只有我明确同意后,才运行:
|
|
178
205
|
npm install -g coding-agent-harness
|
|
206
|
+
harness preset list --json
|
|
179
207
|
|
|
180
208
|
如果我不同意或没有回复,后续 CLI 都用:
|
|
181
209
|
npx --yes coding-agent-harness <command>
|
|
182
|
-
这是“全局 npm 安装确认”,和后面的“初始化计划确认”是两个不同确认点。
|
|
183
210
|
|
|
184
211
|
在当前项目上搭建 Coding Agent Harness。
|
|
185
212
|
默认使用中文模板;如果项目明确是英文团队或英文文档,请先询问我是否改用英文。
|
|
@@ -188,9 +215,9 @@ npx --yes coding-agent-harness <command>
|
|
|
188
215
|
如果项目是微服务、多仓、前后端分仓,或依赖外部系统,请主动询问我是否有外部架构文档、接口文档、流程图、会议纪要、链接或导出包。
|
|
189
216
|
外部资料很多时,请先建立 external-source-packs 索引和摘要,再把稳定结论投影到 03-ARCHITECTURE / 04-DEVELOPMENT / 06-INTEGRATIONS。
|
|
190
217
|
确认后,按照 Diagnose → Decide → Scaffold → Configure → Verify → Deliver 六阶段执行。
|
|
191
|
-
这里的确认是“初始化计划确认”;如果我已经在本消息里明确要求直接搭建,可视为已确认。
|
|
192
218
|
执行初始化时使用:
|
|
193
219
|
npx --yes coding-agent-harness init --locale zh-CN --capabilities core,dashboard .
|
|
220
|
+
npx --yes coding-agent-harness preset list --json .
|
|
194
221
|
|
|
195
222
|
初始化完成后,日常查看和人工确认使用动态网页:
|
|
196
223
|
npx --yes coding-agent-harness dev .
|
|
@@ -209,9 +236,6 @@ npx --yes coding-agent-harness dashboard --out-dir tmp/harness-dashboard .
|
|
|
209
236
|
|
|
210
237
|
npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness
|
|
211
238
|
|
|
212
|
-
注意:这一步会在目标仓写入 .agents/skills/coding-agent-harness/ 和 skills-lock.json。
|
|
213
|
-
如果本轮只允许零写入扫描,请先跳过本步,直接使用 npx --yes coding-agent-harness ... 扫描;获准写入后再安装 Skill。
|
|
214
|
-
|
|
215
239
|
先检查当前环境是否有 harness 命令。
|
|
216
240
|
|
|
217
241
|
如果没有,不要静默全局安装。请先问我:
|
|
@@ -221,12 +245,12 @@ npx skills add FairladyZ625/coding-agent-harness --skill coding-agent-harness
|
|
|
221
245
|
|
|
222
246
|
只有我明确同意后,才运行:
|
|
223
247
|
npm install -g coding-agent-harness
|
|
248
|
+
harness preset list --json
|
|
224
249
|
|
|
225
250
|
如果我不同意或没有回复,后续 CLI 都用:
|
|
226
251
|
npx --yes coding-agent-harness <command>
|
|
227
|
-
这是“全局 npm 安装确认”,和后面的“迁移计划确认”是两个不同确认点。
|
|
228
252
|
|
|
229
|
-
这个项目已有旧版 Harness
|
|
253
|
+
这个项目已有旧版 Harness。先不要改文件。
|
|
230
254
|
|
|
231
255
|
请先执行详尽扫描,并给我一个迁移计划:
|
|
232
256
|
1. 检查当前 git 状态、Harness 状态、任务数量、brief 覆盖、visual_map 覆盖、warning/action/residual、strict 状态和 dashboard 可用性。
|
|
@@ -237,29 +261,43 @@ npx --yes coding-agent-harness <command>
|
|
|
237
261
|
- full-semantic-rewrite:全量重写任务的 brief / execution_strategy / visual_map,让旧项目整体变成 v1.0 可读项目。
|
|
238
262
|
4. 给出推荐模式、原因、预计改动范围、预计 token/时间成本、风险和是否需要 subagent。
|
|
239
263
|
5. 向我提出需要确认的问题,等我确认后再开始写文件。
|
|
240
|
-
这里的确认是“迁移计划确认”,不是全局 npm 安装确认。
|
|
241
264
|
|
|
242
265
|
扫描阶段至少运行:
|
|
243
266
|
npx --yes coding-agent-harness status --json .
|
|
244
267
|
npx --yes coding-agent-harness migrate-plan --json --limit 1000 .
|
|
245
268
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
npx --yes coding-agent-harness migrate-verify /tmp/cah-migration-project/session.json
|
|
249
|
-
npx --yes coding-agent-harness new-task --budget complex --preset legacy-migration --from-session /tmp/cah-migration-project/session.json
|
|
269
|
+
最终迁移完成时,必须给出动态 workbench 入口或静态 dashboard HTML、session.json、normal/strict check、migrate-plan summary,以及 full-cutover 验证是否通过。需要人工确认审查时,必须通过本地网页 workbench 暴露确认操作;静态 dashboard 只作为只读证据快照。
|
|
270
|
+
```
|
|
250
271
|
|
|
251
|
-
|
|
272
|
+
## 参与贡献
|
|
252
273
|
|
|
253
|
-
|
|
274
|
+
外部贡献者请先阅读 [`CONTRIBUTING.md`](CONTRIBUTING.md)。它说明仓库结构、PR 要求、根包检查、Dashboard smoke test、npm package dry run 和 GUI 子模块验证。中文详细流程见 [`docs-release/guides/contributing.zh-CN.md`](docs-release/guides/contributing.zh-CN.md)。
|
|
275
|
+
|
|
276
|
+
如果你想让自己的 Coding Agent 帮你改这个仓库,可以把下面这段发给它:
|
|
277
|
+
|
|
278
|
+
```text
|
|
279
|
+
我想给 FairladyZ625/coding-agent-harness 贡献一个聚焦改动。
|
|
280
|
+
|
|
281
|
+
请从最新 main 分支开始,新建一个 feature branch。先阅读 README.md 和 CONTRIBUTING.md。改文件前,先检查相关代码/文档,并给我一个简短计划。
|
|
282
|
+
|
|
283
|
+
改动要保持聚焦。只使用公开仓库文件;不要依赖维护者本地状态、隐藏工作流、凭据、生成的 Dashboard、临时文件或被 ignore 的本地专用文件。
|
|
284
|
+
|
|
285
|
+
根据改动范围运行检查。仅文档改动至少运行 git diff --check。根包相关改动按需运行 npm install、npm test、npm run smoke:dashboard、npm run check、node scripts/harness.mjs check --profile target-project examples/minimal-project、npm run pack:dry-run 和 git diff --check。如果改到 harness-gui,还要运行 cd harness-gui && npm ci && npm run typecheck && npm test && npm run build。
|
|
286
|
+
|
|
287
|
+
完成后,请总结改了什么,列出验证结果,说明任何未运行检查及原因,并按仓库 PR 模板准备 PR。
|
|
254
288
|
```
|
|
255
289
|
|
|
256
290
|
## 了解更多
|
|
257
291
|
|
|
292
|
+
- 贡献者指南:[`CONTRIBUTING.md`](CONTRIBUTING.md)
|
|
293
|
+
- 中文贡献者详细指南:[`docs-release/guides/contributing.zh-CN.md`](docs-release/guides/contributing.zh-CN.md)
|
|
258
294
|
- Agent 安装指南:[`docs-release/guides/agent-installation.md`](docs-release/guides/agent-installation.md)
|
|
259
295
|
- 新项目安装冒烟:[`examples/minimal-project/`](examples/minimal-project/)
|
|
260
296
|
- 旧项目迁移指南:[`docs-release/guides/migration-playbook.md`](docs-release/guides/migration-playbook.md)
|
|
261
297
|
- 完整旧项目迁移策略:[`docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md`](docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md)
|
|
262
298
|
- 架构说明:[`docs-release/architecture/overview.md`](docs-release/architecture/overview.md)
|
|
299
|
+
- 深度架构解析(中文):[`docs-release/architecture/system-explainer/`](docs-release/architecture/system-explainer/) — 系统设计、模块依赖、任务生命周期、检查体系、数据流、Preset 与迁移引擎,含设计决策背景
|
|
300
|
+
- Deep architecture explainer (en-US): [`docs-release/architecture/system-explainer/en-US/`](docs-release/architecture/system-explainer/en-US/)
|
|
263
301
|
|
|
264
302
|
## Star History
|
|
265
303
|
|
|
@@ -267,4 +305,8 @@ npx --yes coding-agent-harness new-task --budget complex --preset legacy-migrati
|
|
|
267
305
|
|
|
268
306
|
## License
|
|
269
307
|
|
|
270
|
-
|
|
308
|
+
AGPL-3.0-or-later,并附带 Generated Harness Materials 额外许可。
|
|
309
|
+
|
|
310
|
+
详见 [`LICENSE`](LICENSE) 和 [`LICENSE-EXCEPTION.md`](LICENSE-EXCEPTION.md)。
|
|
311
|
+
该额外许可确保 Harness 生成或安装到目标项目里的文件,不会仅仅因为由
|
|
312
|
+
Coding Agent Harness 创建或更新,就自动变成 AGPL 覆盖范围。
|
package/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ description: >
|
|
|
5
5
|
做长程项目开发的团队,在用户的项目上构建一套完整的 harness 工程体系。
|
|
6
6
|
包括:项目诊断、AGENTS.md + CLAUDE.md 入口文件生成、docs/ 目录搭建、Planning Loop、SSoT 治理、
|
|
7
7
|
Delivery Operating Model、Repository Governance、CI/CD、Long-Running Task Protocol、Adversarial Review Report、Review Routing、Worktree 并行开发、
|
|
8
|
-
Regression SSoT 与 Evidence Depth 分级回归、Walkthrough / Closeout SSoT 收口、Cadence Ledger
|
|
8
|
+
Regression SSoT 与 Evidence Depth 分级回归、Walkthrough / Closeout SSoT 收口、Cadence Ledger、任务本地 lesson 候选与 promoted lesson 详情文档、
|
|
9
9
|
Harness Ledger 全局上下文回写总账。
|
|
10
10
|
当用户要求设置 coding agent 的开发流程、建立回归测试体系、设计 AGENTS.md / CLAUDE.md、
|
|
11
11
|
规划长程 agent 任务的执行框架、子代理审查循环、对抗性 review 报告、搭建 harness、或者提到 harness engineering 时,使用此技能。
|
|
@@ -42,12 +42,13 @@ coding-agent-harness",不要重新 bootstrap 覆盖整个项目。先执行增
|
|
|
42
42
|
2. 扫描目标项目现有 `AGENTS.md`、`CLAUDE.md`、`docs/` 和 SSoT / Ledger 文件。
|
|
43
43
|
3. 输出 delta plan:哪些 harness 骨架、reference、template、SSoT、Ledger 项缺失或过期。
|
|
44
44
|
4. 只补齐新增标准和缺失结构;不得用模板覆盖已有业务事实、历史 walkthrough、
|
|
45
|
-
task progress、
|
|
45
|
+
task progress、generated ledger、Regression SSoT 或 lesson detail docs。
|
|
46
46
|
5. 对已有文档采用 merge / append / residual-with-reason;只有全新缺失文件才从模板创建。
|
|
47
|
-
6. 如果引入
|
|
47
|
+
6. 如果引入 Harness Ledger、lesson detail docs 或新的 reference/template,同步更新入口索引。
|
|
48
48
|
7. 收口时写 walkthrough,必须包含 Lessons Reflection;新任务先写并审查
|
|
49
|
-
`lesson_candidates.md
|
|
50
|
-
|
|
49
|
+
`lesson_candidates.md`。如人工标记值得沉淀,默认先用 dry-run 或后续
|
|
50
|
+
lesson sedimentation 任务完成分类、冲突检查和建议 diff;只有人工明确批准后,
|
|
51
|
+
维护命令才写 `docs/01-GOVERNANCE/lessons/` 详情文档;最后在
|
|
51
52
|
`docs/Harness-Ledger.md` 与 `docs/10-WALKTHROUGH/Closeout-SSoT.md` 记录本次 harness update 的 delta 和 Lessons Check。
|
|
52
53
|
|
|
53
54
|
一句话:harness update 是 delta merge,不是重新搭一遍。
|
|
@@ -151,22 +152,32 @@ Project、Verify、Residual。`external-source-packs/` 只保存资料索引、
|
|
|
151
152
|
初始化或迁移完成后,活跃任务必须通过 CLI 创建和推进,避免 agent 手工复制模板造成漂移:
|
|
152
153
|
|
|
153
154
|
```bash
|
|
154
|
-
harness new-task
|
|
155
|
-
harness task-start <task-id> --message "<what started>" /path/to/project
|
|
156
|
-
harness task-log <task-id> --message "<what changed>" --evidence "command:TARGET:path:summary" /path/to/project
|
|
157
|
-
harness task-block <task-id> --message "<blocker>" /path/to/project
|
|
158
|
-
harness task-review <task-id> --message "<ready for review>" /path/to/project
|
|
159
|
-
harness task-
|
|
155
|
+
harness new-task --title "<title>" --locale zh-CN|en-US /path/to/project
|
|
156
|
+
harness task-start <task-id-from-new-task-output> --message "<what started>" /path/to/project
|
|
157
|
+
harness task-log <task-id-from-new-task-output> --message "<what changed>" --evidence "command:TARGET:path:summary" /path/to/project
|
|
158
|
+
harness task-block <task-id-from-new-task-output> --message "<blocker>" /path/to/project
|
|
159
|
+
harness task-review <task-id-from-new-task-output> --message "<ready for review>" /path/to/project
|
|
160
|
+
harness review-confirm <task-id-from-new-task-output> --confirm <task-id-from-new-task-output> --message "<human confirmation>" /path/to/project
|
|
161
|
+
harness task-complete <task-id-from-new-task-output> --message "<closeout>" /path/to/project
|
|
162
|
+
harness lesson-promote <task-id-from-new-task-output> <candidate-id> --dry-run /path/to/project
|
|
160
163
|
harness task-list --json /path/to/project
|
|
161
164
|
```
|
|
162
165
|
|
|
163
166
|
- `new-task --budget simple` 创建轻量任务目录:`brief.md`、`task_plan.md`、`visual_map.md`、`progress.md`。
|
|
164
167
|
- `new-task` 默认 `standard`,创建完整任务目录,包括 `brief.md`、计划、策略、路线图、进度、发现和审查文件。
|
|
165
168
|
- `new-task --budget complex` 在完整任务文件之外创建 optional references/artifacts 索引。
|
|
169
|
+
- `new-task --title "<title>"` 默认生成 `YYYY-MM-DD-<title-slug>-<8hex>` 任务 ID,降低多人和多 agent 同仓创建任务时的重名概率;只有 coordinator 需要固定兼容 ID 时才传显式 `<task-id>`。
|
|
166
170
|
- 已存在任务不会被覆盖;旧项目迁移时先 `task-list --json`,再决定复用旧任务还是开新任务。
|
|
167
171
|
- 状态推进只写 `progress.md`,不得重写历史 `task_plan.md`。
|
|
168
172
|
- `simple` 任务可以直接 `in_progress -> done`;`standard` / `complex` 必须 `in_progress -> review -> done`,不能跳过 `task-review`。
|
|
169
|
-
- `review
|
|
173
|
+
- `task-review` 只表示 Agent Review Submission:agent/coordinator 认为材料包已准备好并提交待审。它不是人工确认。
|
|
174
|
+
- `review-confirm` 是唯一的 Human Review Confirmation 门禁。它只确认人工 review evidence / findings,不代表 closeout;closeout 仍走 walkthrough / Closeout SSoT。
|
|
175
|
+
- Review queue 只收录已提交 review packet、材料齐全、无 blocker、等待人工确认的任务。
|
|
176
|
+
- 缺文件、缺章节、缺证据、缺 lesson decision 或未执行 `task-review` 的任务进入 Missing Materials 队列,不进入 Review queue。
|
|
177
|
+
- open blocking finding、状态矛盾、审计失败或需要 human waiver 的任务进入 Blocked 队列,不进入 Review queue。
|
|
178
|
+
- 已 Human Review Confirmation 但 closeout / ledger / lesson routing 未完成的任务属于 Confirmed / Finalized 队列,不应显示成“仍在审查”。
|
|
179
|
+
- lesson candidate 进入 Lessons 队列后,默认先 dry-run 或创建后续沉淀任务;不要在 Dashboard 或普通 closeout 中直接写共享 Lessons 表。
|
|
180
|
+
- soft delete / supersede / archive 是只读可追溯生命周期,默认不 hard delete 任务目录;保留 tombstone、替代任务、原因和审计记录。
|
|
170
181
|
- 证据必须进入 `task-log` 或 `progress.md`,并继续遵守 `type:PATH:summary` 格式。
|
|
171
182
|
|
|
172
183
|
### Phase 5: Verify / 验证
|
|
@@ -240,7 +251,6 @@ harness bootstrap 完成后,项目中至少应存在以下文件:
|
|
|
240
251
|
- [ ] `docs/05-TEST-QA/Cadence-Ledger.md`
|
|
241
252
|
- [ ] `docs/10-WALKTHROUGH/_walkthrough-template.md`
|
|
242
253
|
- [ ] `docs/10-WALKTHROUGH/Closeout-SSoT.md`
|
|
243
|
-
- [ ] `docs/01-GOVERNANCE/Lessons-SSoT.md`
|
|
244
254
|
- [ ] `docs/01-GOVERNANCE/lessons/`(空目录 + .gitkeep)
|
|
245
255
|
- [ ] `docs/01-GOVERNANCE/_archive/`(空目录 + .gitkeep)
|
|
246
256
|
- [ ] `docs/Harness-Ledger.md`
|
|
@@ -256,7 +266,6 @@ harness bootstrap 完成后,项目中至少应存在以下文件:
|
|
|
256
266
|
- [ ] 如启用模块并行:每个 active module 有 `docs/09-PLANNING/MODULES/<key>/module_plan.md`
|
|
257
267
|
- [ ] 如启用模块并行:模块 task template / shared lock / dependency readiness 规则已落地
|
|
258
268
|
- [ ] Harness checker 已通过,或 residual 写明 owner/action/status
|
|
259
|
-
- [ ] Feature SSoT 文件(位置由项目决定)
|
|
260
269
|
- [ ] Bootstrap Summary 已输出给用户
|
|
261
270
|
|
|
262
271
|
---
|
|
@@ -269,17 +278,17 @@ harness 搭建完成后,每个 feature 从想法到代码的标准流程:
|
|
|
269
278
|
2. **Planning with Files** — 建任务目录,task plan / findings / progress / review 文件
|
|
270
279
|
3. **Long-Running Contract(如适用)** — 明确连续执行权限、review loop、evidence、stop condition
|
|
271
280
|
4. **Delivery Operating Model** — 确认本轮属于 solo / team / split-repo / program / stage-gate / kanban 哪种交付形态
|
|
272
|
-
5.
|
|
281
|
+
5. **任务生命周期事实** — 更新任务本地事实文件;任务生命周期总表由 CLI 生成。模块并行时 worker 回写 module_plan + Coordinator Handoff,coordinator pass 回写 Module Registry;多人/多仓时维护 Delivery SSoT
|
|
273
282
|
6. **Repo Governance / CI-CD** — 确认 PR policy、required checks、branch protection、worktree concurrency
|
|
274
283
|
7. **Worktree / Branch 并行开发** — 按 operating model 决定 worktree、feature branch、contract branch 或 release branch
|
|
275
284
|
8. **Subagent Worker Handoff(如适用)** — coordinator 分配独立 worktree / branch / write scope;worker 提交自己的 commit 并 handoff commit SHA / checks / residuals
|
|
276
|
-
9. **Adversarial Review Report(如适用)** — 在任务目录写 `review.md`,记录 material findings / no-finding / residual risk
|
|
277
|
-
10. **Review Routing** — planned task 收口前自动触发 subagent / reviewer 审查,或记录 skip reason
|
|
285
|
+
9. **Adversarial Review Report(如适用)** — 在任务目录写 `review.md`,记录 Agent Review Submission、material findings / no-finding / residual risk;这一步只表示提交待审,不等于人工批准
|
|
286
|
+
10. **Review Routing** — planned task 收口前自动触发 subagent / reviewer 审查,或记录 skip reason;Review queue 只等待 Human Review Confirmation,缺材料和 blocker 分别进入 Missing Materials / Blocked 队列
|
|
278
287
|
11. **Merge + 自动回归** — Cadence Ledger 触发对应回归面;coordinator 只集成 worker commit,不混合多个 worker 的未提交改动
|
|
279
288
|
12. **Walkthrough 收口** — 写收口记录并引用 review report
|
|
280
289
|
13. **Closeout SSoT 回写** — 每个 closed 任务必须记录 walkthrough 路径或受控 skip reason
|
|
281
|
-
14. **Lessons Reflection** — 写 walkthrough 时主动反思共性/反复问题;新任务用 `lesson_candidates.md` 承载人工判定,`queued-promotion`
|
|
282
|
-
15. **
|
|
290
|
+
14. **Lessons Reflection** — 写 walkthrough 时主动反思共性/反复问题;新任务用 `lesson_candidates.md` 承载人工判定,`queued-promotion` 进入 Lessons 队列;默认先 dry-run 或创建沉淀任务,不直接写共享 Lessons 表;`checked-created` 必须有 promoted lesson 详情文档,旧任务兼容的 `checked-none` 必须写明原因
|
|
291
|
+
15. **Generated Ledger 刷新** — 由 lifecycle CLI 或 `harness governance rebuild` 生成任务生命周期总索引
|
|
283
292
|
16. **Worktree 清理** — 删除已 merge 的 worktree
|
|
284
293
|
|
|
285
294
|
---
|
|
@@ -302,9 +311,9 @@ harness 搭建完成后,每个 feature 从想法到代码的标准流程:
|
|
|
302
311
|
| Long-Running Task | `references/long-running-task-standard.md` | 任务需要连续执行、长上下文或 stop condition 时 |
|
|
303
312
|
| Adversarial Review | `references/adversarial-review-standard.md` | 需要独立审查报告、信心挑战或 material finding 分级时 |
|
|
304
313
|
| Review Routing | `references/review-routing-standard.md` | 决定 self-review、subagent、外部 reviewer 或人工审查时 |
|
|
305
|
-
| SSoT 治理 | `references/ssot-governance.md` | 维护
|
|
314
|
+
| SSoT 治理 | `references/ssot-governance.md` | 维护 Delivery / Regression 等非任务生命周期事实时 |
|
|
306
315
|
| 经验沉淀 | `references/lessons-governance.md` | walkthrough 收口后判断是否沉淀 lesson 时 |
|
|
307
|
-
| Harness Ledger | `references/harness-ledger.md` |
|
|
316
|
+
| Harness Ledger | `references/harness-ledger.md` | 理解 generated task lifecycle ledger 与非任务治理表边界时 |
|
|
308
317
|
| Regression | `references/regression-system.md` | 设计或更新回归面、evidence depth 和 gate 时 |
|
|
309
318
|
| Cadence Ledger | `references/cadence-ledger.md` | 根据改动类型触发回归批次时 |
|
|
310
319
|
| Walkthrough | `references/walkthrough-closeout.md` | 收口、Closeout SSoT 和交付说明时 |
|
|
@@ -316,11 +325,9 @@ harness 搭建完成后,每个 feature 从想法到代码的标准流程:
|
|
|
316
325
|
|------|------|------|
|
|
317
326
|
| AGENTS.md | `templates/AGENTS.md.template` | 目标项目 agent 入口:宪章 + 阅读矩阵 |
|
|
318
327
|
| CLAUDE.md | `templates/CLAUDE.md.template` | Claude Code 兼容 shim,指向 AGENTS.md |
|
|
319
|
-
| Feature SSoT | `templates/ssot/Feature-SSoT.md` | 功能、wave、当前实施状态 |
|
|
320
328
|
| Regression SSoT | `templates/ssot/Regression-SSoT.md` | 回归面、证据深度、gate 状态 |
|
|
321
|
-
| Lessons SSoT | `templates/ssot/Lessons-SSoT.md` | 经验沉淀候选、审批和归档 |
|
|
322
329
|
| Delivery SSoT | `templates/ssot/Delivery-SSoT.md` | 多人、多仓、阶段性交付计划 |
|
|
323
|
-
| Harness Ledger | `templates/ledger/Harness-Ledger.md` |
|
|
330
|
+
| Harness Ledger | `templates/ledger/Harness-Ledger.md` | CLI 生成的任务生命周期总索引 |
|
|
324
331
|
| Lesson (ref-change) | `templates/lessons/lesson-ref-change.md` | Walkthrough 收口后 |
|
|
325
332
|
| Lesson (new-doc) | `templates/lessons/lesson-new-doc.md` | Walkthrough 收口后 |
|
|
326
333
|
| Lesson (arch/process) | `templates/lessons/lesson-arch-process-change.md` | Walkthrough 收口后 |
|
|
@@ -337,6 +344,7 @@ harness 搭建完成后,每个 feature 从想法到代码的标准流程:
|
|
|
337
344
|
| Execution Workflow | `templates/reference/execution-workflow-standard.md` | 执行、提交、PR 和证据记录 |
|
|
338
345
|
| Delivery Operating Model Standard | `templates/reference/delivery-operating-model-standard.md` | 交付组织模型选择 |
|
|
339
346
|
| Repository Governance Standard | `templates/reference/repo-governance-standard.md` | repo、分支、PR、worktree 规则 |
|
|
347
|
+
| Pull Request Standard | `templates/reference/pull-request-standard.md` | PR 描述、中英双语、版本影响、验证和引用 |
|
|
340
348
|
| CI/CD Standard | `templates/reference/ci-cd-standard.md` | CI/CD、required checks、release residual |
|
|
341
349
|
| Long-Running Task Standard | `templates/reference/long-running-task-standard.md` | 长程任务协议 |
|
|
342
350
|
| Adversarial Review Standard | `templates/reference/adversarial-review-standard.md` | 对抗性审查协议 |
|
package/docs-release/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Coding Agent Harness Docs Release
|
|
2
2
|
|
|
3
3
|
This directory is the public-facing documentation library for Coding Agent Harness.
|
|
4
|
-
It is separate from this source repository
|
|
4
|
+
It is separate from maintainer-only operating records for this source repository.
|
|
5
5
|
|
|
6
6
|
简体中文说明:这个目录只放可公开发布的方法论、架构和使用指南。它不记录本仓库自己的私有任务计划、审查草稿、ledger 或本地运行状态。
|
|
7
7
|
|
|
@@ -27,8 +27,8 @@ Public docs in this directory explain the product architecture, concepts, and re
|
|
|
27
27
|
roadmap. They must not contain private task ledgers, local review drafts, internal
|
|
28
28
|
handoffs, or user/project-specific operating state.
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
Maintainer-only operating state for this repository is kept outside the public
|
|
31
|
+
documentation tree and outside the public release package.
|
|
32
32
|
|
|
33
33
|
## How To Read This Library / 如何阅读
|
|
34
34
|
|
|
@@ -40,6 +40,8 @@ Not every document is written for the same reader.
|
|
|
40
40
|
| --- | --- | --- |
|
|
41
41
|
| Product / engineering leaders 产品和工程负责人 | `guides/repository-operating-models.md` / `guides/repository-operating-models.en-US.md` | Choose single-repo, independent multi-repo, or parent-control repository mode. 选择单仓、多仓独立或主控仓库模式。 |
|
|
42
42
|
| Architects / tech leads 架构负责人 | `architecture/overview.md` / `architecture/overview.zh-CN.md` | Understand the product architecture and task lifecycle. 理解产品架构和任务生命周期。 |
|
|
43
|
+
| Review owners / maintainers 审查负责人和维护者 | `guides/task-state-machine.md` / `guides/task-state-machine.en-US.md` | Understand task state, review status, closeout, and review queue semantics. 理解任务状态、审查状态、收口和审查队列语义。 |
|
|
44
|
+
| External contributors 外部贡献者 | `../CONTRIBUTING.md`, `guides/contributing.md` / `guides/contributing.zh-CN.md` | Prepare a focused PR with the right local checks and CI expectations. 按正确的本地检查和 CI 预期提交聚焦 PR。 |
|
|
43
45
|
| Teams adopting Harness 项目接入团队 | `guides/agent-installation.md` / `guides/agent-installation.en-US.md` | Install and operate the agent entrypoint in a target project. 在目标项目中安装和运行 Agent 入口。 |
|
|
44
46
|
| Agents running a migration 执行迁移的 Agent | `guides/legacy-migration-agent-prompt.md` / `guides/legacy-migration-agent-prompt.zh-CN.md` | Follow an executable migration contract. 按可执行迁移合同工作。 |
|
|
45
47
|
| Maintainers deciding what to publish 维护者 | `guides/document-audience-and-surfaces.md` / `guides/document-audience-and-surfaces.en-US.md` | Separate human docs, agent docs, and private operating state. 区分人读文档、Agent 执行文档和私有运行状态。 |
|
|
@@ -57,9 +59,11 @@ Not every document is written for the same reader.
|
|
|
57
59
|
|
|
58
60
|
### Methodology / 方法论
|
|
59
61
|
|
|
62
|
+
- `guides/contributing.md` / `guides/contributing.zh-CN.md` — public contributor workflow, local checks, PR expectations, and GUI submodule validation. 公开贡献者流程、本地检查、PR 要求和 GUI 子模块验证。
|
|
60
63
|
- `guides/document-audience-and-surfaces.md` / `guides/document-audience-and-surfaces.en-US.md` — explains which docs are for humans, which docs are for agents, and which state must stay out of public release docs. 说明哪些文档给人看,哪些给 Agent 执行,以及哪些状态不能进入公开发布文档。
|
|
61
64
|
- `guides/repository-operating-models.md` / `guides/repository-operating-models.en-US.md` — compares single-repo, independent multi-repo, and parent-control repository operating models. 对比单仓、多仓独立、主控仓库三种运行模式。
|
|
62
65
|
- `guides/parent-control-repository-pattern.md` / `guides/parent-control-repository-pattern.en-US.md` — describes the control-plane pattern for products with many child repositories, services, SDKs, or upstream references. 解释多子仓库、多服务、SDK、上游参考仓库场景下的控制面模式。
|
|
66
|
+
- `guides/task-state-machine.md` / `guides/task-state-machine.en-US.md` — explains task state, derived lifecycle, review status, closeout, review queue buckets, and human confirmation flow. 解释任务状态、派生生命周期、审查状态、收口、审查队列分桶和人工确认流程。
|
|
63
67
|
|
|
64
68
|
### Adoption And Migration / 接入与迁移
|
|
65
69
|
|
|
@@ -86,7 +90,7 @@ The parent-control pattern is the recommended default when one product spans man
|
|
|
86
90
|
|
|
87
91
|
Release roadmaps, staged plans, task execution strategy, final-check walkthroughs,
|
|
88
92
|
and maintainer publishing notes are project operating state. Keep them in
|
|
89
|
-
|
|
93
|
+
maintainer-only operating records, not in this public documentation tree.
|
|
90
94
|
|
|
91
95
|
## Release Rule
|
|
92
96
|
|
|
@@ -94,4 +98,4 @@ If a document tells users how the harness works, it belongs here or under
|
|
|
94
98
|
`references/`.
|
|
95
99
|
|
|
96
100
|
If a document records how this repository is being operated, reviewed, migrated, or
|
|
97
|
-
closed out, it
|
|
101
|
+
closed out, keep it outside the public documentation tree.
|
|
@@ -103,7 +103,7 @@ The target repository can be organized in three ways:
|
|
|
103
103
|
| Parent-control repository | A parent repository owns the global Harness control plane. | Child repositories own implementation code and local checks. |
|
|
104
104
|
|
|
105
105
|
For products split across frontend, backend, SDKs, services, and upstream references,
|
|
106
|
-
the parent-control model keeps the agent startup point,
|
|
106
|
+
the parent-control model keeps the agent startup point, generated task lifecycle Ledger, regression
|
|
107
107
|
state, and closeout evidence in one place. See
|
|
108
108
|
`docs-release/guides/repository-operating-models.en-US.md` and
|
|
109
109
|
`docs-release/guides/parent-control-repository-pattern.en-US.md`.
|
|
@@ -173,19 +173,23 @@ stateDiagram-v2
|
|
|
173
173
|
closed --> [*]
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
The scanner keeps raw task state
|
|
176
|
+
The scanner keeps raw task state, review status, closeout status, and derived
|
|
177
|
+
lifecycle state separate:
|
|
177
178
|
|
|
178
|
-
| Raw task state | Derived lifecycle meaning |
|
|
179
|
+
| Raw task state / evidence | Derived lifecycle meaning |
|
|
179
180
|
| --- | --- |
|
|
180
181
|
| `not_started` / `planned` | `ready` |
|
|
181
182
|
| `in_progress` | `active` |
|
|
182
183
|
| `blocked` | `blocked` |
|
|
183
|
-
| `
|
|
184
|
+
| `reviewStatus = blocked-open-findings` | `review-blocked` |
|
|
184
185
|
| `review` without blocking findings | `in_review` |
|
|
185
186
|
| `done` without closeout | `closing` |
|
|
186
|
-
|
|
|
187
|
+
| `closeoutStatus = closed` and missing human confirmation | `closed-review-pending` |
|
|
188
|
+
| `closeoutStatus = closed` and `reviewStatus = confirmed` | `closed` |
|
|
187
189
|
|
|
188
190
|
This prevents a task from looking finished just because one file says `done`.
|
|
191
|
+
See `docs-release/guides/task-state-machine.en-US.md` for the full state and
|
|
192
|
+
review queue matrix.
|
|
189
193
|
|
|
190
194
|
## Review And Closeout Gate
|
|
191
195
|
|
|
@@ -216,6 +220,14 @@ flowchart TB
|
|
|
216
220
|
Standard and complex tasks must show progress, evidence, lesson resolution,
|
|
217
221
|
review confirmation, and closeout linkage before they are treated as closed.
|
|
218
222
|
|
|
223
|
+
The Review queue is only for submitted review packets that are ready for human
|
|
224
|
+
confirmation. Tasks with missing packets, incomplete evidence, lesson-routing
|
|
225
|
+
work, blocking findings, or historical closeout debt are routed to separate
|
|
226
|
+
lifecycle queues: Missing Materials, Blocked, Lessons, Confirmed / Finalized,
|
|
227
|
+
and Soft-deleted / Superseded. Agent-authored submissions can request review,
|
|
228
|
+
but only committed Task Audit Metadata in `INDEX.md` marks the task as
|
|
229
|
+
`confirmed`.
|
|
230
|
+
|
|
219
231
|
## Migration Rails
|
|
220
232
|
|
|
221
233
|
```mermaid
|
|
@@ -93,7 +93,7 @@ flowchart TB
|
|
|
93
93
|
| 多仓独立模式 | 每个仓库都有自己的局部 `AGENTS.md` 和 `docs/`。 | 每个仓库独立执行。 |
|
|
94
94
|
| 主控仓库模式 | 父仓库管理全局 Harness 控制面。 | 子仓库管理实现代码和局部检查。 |
|
|
95
95
|
|
|
96
|
-
如果一个产品拆成前端、后端、SDK、微服务和上游参考仓库,主控仓库模式可以把 Agent
|
|
96
|
+
如果一个产品拆成前端、后端、SDK、微服务和上游参考仓库,主控仓库模式可以把 Agent 启动入口、生成的任务生命周期 Ledger、回归状态和收口证据固定在一个地方。详见 `docs-release/guides/repository-operating-models.md` 和 `docs-release/guides/parent-control-repository-pattern.md`。
|
|
97
97
|
|
|
98
98
|
## CLI 命令面
|
|
99
99
|
|
|
@@ -158,19 +158,21 @@ stateDiagram-v2
|
|
|
158
158
|
closed --> [*]
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
扫描器会区分原始任务状态、审查状态、收口状态和派生生命周期状态:
|
|
162
162
|
|
|
163
|
-
| 原始任务状态 | 派生生命周期含义 |
|
|
163
|
+
| 原始任务状态 / 证据 | 派生生命周期含义 |
|
|
164
164
|
| --- | --- |
|
|
165
165
|
| `not_started` / `planned` | `ready` |
|
|
166
166
|
| `in_progress` | `active` |
|
|
167
167
|
| `blocked` | `blocked` |
|
|
168
|
-
| `
|
|
168
|
+
| `reviewStatus = blocked-open-findings` | `review-blocked` |
|
|
169
169
|
| `review` 且无阻塞 finding | `in_review` |
|
|
170
170
|
| `done` 但缺少 closeout | `closing` |
|
|
171
|
-
|
|
|
171
|
+
| `closeoutStatus = closed` 且缺少人工确认 | `closed-review-pending` |
|
|
172
|
+
| `closeoutStatus = closed` 且 `reviewStatus = confirmed` | `closed` |
|
|
172
173
|
|
|
173
174
|
这样可以避免一个文件里写了 `done`,任务就被误认为真正完成。
|
|
175
|
+
完整状态机和审查队列矩阵见 `docs-release/guides/task-state-machine.md`。
|
|
174
176
|
|
|
175
177
|
## Review 与 Closeout 门禁
|
|
176
178
|
|
|
@@ -200,6 +202,8 @@ flowchart TB
|
|
|
200
202
|
|
|
201
203
|
standard 和 complex 任务必须具备进度、证据、lesson 决议、人工确认和收口链接,才会被视为真正关闭。
|
|
202
204
|
|
|
205
|
+
Review 队列只展示已经提交审查材料包、并且可以等待人工确认的任务。缺少审查提交、证据不完整、仍有 Lesson 路由、存在阻塞发现,或历史收口债务的任务,会进入独立的生命周期队列:Missing Materials、Blocked、Lessons、Confirmed / Finalized、Soft-deleted / Superseded。Agent 写入的提交只能请求审查;只有 `INDEX.md` 中已提交的 Task Audit Metadata 才能把任务标记为 `confirmed`。
|
|
206
|
+
|
|
203
207
|
## 迁移轨道
|
|
204
208
|
|
|
205
209
|
```mermaid
|