coding-agent-harness 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.en-US.md +14 -0
  3. package/README.md +111 -86
  4. package/README.zh-CN.md +270 -0
  5. package/SKILL.md +116 -189
  6. package/docs-release/README.md +72 -5
  7. package/docs-release/architecture/overview.md +286 -28
  8. package/docs-release/architecture/overview.zh-CN.md +288 -0
  9. package/docs-release/assets/dashboard-overview-en.png +0 -0
  10. package/docs-release/assets/harness-architecture.svg +163 -0
  11. package/docs-release/assets/harness-workflow.svg +64 -0
  12. package/docs-release/guides/agent-installation.en-US.md +214 -0
  13. package/docs-release/guides/agent-installation.md +123 -26
  14. package/docs-release/guides/document-audience-and-surfaces.en-US.md +112 -0
  15. package/docs-release/guides/document-audience-and-surfaces.md +112 -0
  16. package/docs-release/guides/full-legacy-migration-subagent-strategy.md +334 -0
  17. package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +334 -0
  18. package/docs-release/guides/legacy-migration-agent-prompt.md +384 -0
  19. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +361 -0
  20. package/docs-release/guides/migration-playbook.en-US.md +325 -0
  21. package/docs-release/guides/migration-playbook.md +329 -0
  22. package/docs-release/guides/parent-control-repository-pattern.en-US.md +252 -0
  23. package/docs-release/guides/parent-control-repository-pattern.md +252 -0
  24. package/docs-release/guides/repository-operating-models.en-US.md +196 -0
  25. package/docs-release/guides/repository-operating-models.md +196 -0
  26. package/docs-release/intl/README.md +15 -0
  27. package/docs-release/intl/de-DE.md +18 -0
  28. package/docs-release/intl/en-US.md +18 -0
  29. package/docs-release/intl/es-ES.md +18 -0
  30. package/docs-release/intl/fr-FR.md +18 -0
  31. package/docs-release/intl/ja-JP.md +18 -0
  32. package/docs-release/intl/ko-KR.md +18 -0
  33. package/docs-release/intl/zh-CN.md +18 -0
  34. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/brief.md +13 -0
  35. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/lesson_candidates.md +24 -0
  36. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/progress.md +1 -1
  37. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/task_plan.md +4 -2
  38. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/{visual_roadmap.md → visual_map.md} +9 -1
  39. package/package.json +22 -1
  40. package/references/agents-md-pattern.md +3 -3
  41. package/references/docs-directory-standard.md +47 -3
  42. package/references/external-source-intake-standard.md +75 -0
  43. package/references/harness-ledger.md +5 -3
  44. package/references/legacy-12-phase-bootstrap.md +41 -0
  45. package/references/lessons-governance.md +23 -6
  46. package/references/planning-loop.md +41 -3
  47. package/references/project-onboarding-audit.md +10 -0
  48. package/references/repo-governance-standard.md +2 -0
  49. package/references/testing-standard.md +50 -0
  50. package/references/walkthrough-closeout.md +6 -5
  51. package/scripts/check-harness.mjs +76 -35
  52. package/scripts/harness.mjs +303 -12
  53. package/scripts/lib/capability-registry.mjs +533 -0
  54. package/scripts/lib/check-profiles.mjs +510 -0
  55. package/scripts/lib/core-shared.mjs +186 -0
  56. package/scripts/lib/dashboard-data.mjs +389 -0
  57. package/scripts/lib/dashboard-workbench.mjs +217 -0
  58. package/scripts/lib/dashboard-writer.mjs +93 -2
  59. package/scripts/lib/harness-core.mjs +10 -1318
  60. package/scripts/lib/lesson-maintenance.mjs +145 -0
  61. package/scripts/lib/markdown-utils.mjs +158 -0
  62. package/scripts/lib/migration-planner.mjs +478 -0
  63. package/scripts/lib/migration-support.mjs +312 -0
  64. package/scripts/lib/task-lifecycle.mjs +755 -0
  65. package/scripts/lib/task-scanner.mjs +682 -0
  66. package/scripts/smoke-dashboard.mjs +22 -0
  67. package/scripts/test-harness.mjs +928 -15
  68. package/templates/AGENTS.md.template +41 -30
  69. package/templates/architecture/Architecture-SSoT.md +21 -0
  70. package/templates/architecture/README.md +49 -0
  71. package/templates/architecture/critical-flows.md +22 -0
  72. package/templates/architecture/local-repo-context.md +20 -0
  73. package/templates/architecture/service-catalog.md +17 -0
  74. package/templates/architecture/services/service-template.md +31 -0
  75. package/templates/architecture/system-map.md +22 -0
  76. package/templates/dashboard/assets/app-src/00-state.js +41 -0
  77. package/templates/dashboard/assets/app-src/10-router.js +76 -0
  78. package/templates/dashboard/assets/app-src/20-overview.js +235 -0
  79. package/templates/dashboard/assets/app-src/30-tasks.js +563 -0
  80. package/templates/dashboard/assets/app-src/40-modules.js +58 -0
  81. package/templates/dashboard/assets/app-src/45-review.js +128 -0
  82. package/templates/dashboard/assets/app-src/50-migration.js +169 -0
  83. package/templates/dashboard/assets/app-src/60-shared.js +61 -0
  84. package/templates/dashboard/assets/app-src/90-bindings.js +382 -0
  85. package/templates/dashboard/assets/app.css +2575 -310
  86. package/templates/dashboard/assets/app.js +1498 -307
  87. package/templates/dashboard/assets/app.manifest.json +11 -0
  88. package/templates/dashboard/assets/i18n.js +429 -44
  89. package/templates/dashboard/assets/mermaid-renderer.js +58 -8
  90. package/templates/development/README.md +52 -0
  91. package/templates/development/codebase-map.md +11 -0
  92. package/templates/development/cross-repo-debugging.md +18 -0
  93. package/templates/development/external-context/service-template.md +33 -0
  94. package/templates/development/external-source-packs/README.md +24 -0
  95. package/templates/development/external-source-packs/digest-template.md +28 -0
  96. package/templates/development/local-setup.md +16 -0
  97. package/templates/development/stubs-and-mocks.md +11 -0
  98. package/templates/integrations/README.md +40 -0
  99. package/templates/integrations/api-contract.md +42 -0
  100. package/templates/integrations/event-contract.md +46 -0
  101. package/templates/integrations/third-party/vendor-template.md +42 -0
  102. package/templates/integrations/webhook-contract.md +41 -0
  103. package/templates/planning/brief.md +32 -0
  104. package/templates/planning/lesson_candidates.md +58 -0
  105. package/templates/planning/long-running-task-contract.md +7 -0
  106. package/templates/planning/module_brief.md +25 -0
  107. package/templates/planning/module_session_prompt.md +6 -0
  108. package/templates/planning/task_plan.md +7 -5
  109. package/templates/planning/{visual_roadmap.md → visual_map.md} +24 -2
  110. package/templates/reference/docs-library-standard.md +31 -0
  111. package/templates/reference/execution-workflow-standard.md +4 -2
  112. package/templates/reference/external-source-intake-standard.md +82 -0
  113. package/templates/reference/harness-ledger-standard.md +1 -0
  114. package/templates/reference/repo-governance-standard.md +6 -4
  115. package/templates/reference/walkthrough-standard.md +2 -1
  116. package/templates/walkthrough/walkthrough-template.md +2 -2
  117. package/templates-zh-CN/AGENTS.md.template +69 -70
  118. package/templates-zh-CN/architecture/Architecture-SSoT.md +21 -0
  119. package/templates-zh-CN/architecture/README.md +51 -0
  120. package/templates-zh-CN/architecture/critical-flows.md +24 -0
  121. package/templates-zh-CN/architecture/local-repo-context.md +20 -0
  122. package/templates-zh-CN/architecture/service-catalog.md +17 -0
  123. package/templates-zh-CN/architecture/services/service-template.md +31 -0
  124. package/templates-zh-CN/architecture/system-map.md +22 -0
  125. package/templates-zh-CN/development/README.md +54 -0
  126. package/templates-zh-CN/development/codebase-map.md +11 -0
  127. package/templates-zh-CN/development/cross-repo-debugging.md +18 -0
  128. package/templates-zh-CN/development/external-context/service-template.md +33 -0
  129. package/templates-zh-CN/development/external-source-packs/README.md +24 -0
  130. package/templates-zh-CN/development/external-source-packs/digest-template.md +28 -0
  131. package/templates-zh-CN/development/local-setup.md +16 -0
  132. package/templates-zh-CN/development/stubs-and-mocks.md +11 -0
  133. package/templates-zh-CN/integrations/README.md +42 -0
  134. package/templates-zh-CN/integrations/api-contract.md +42 -0
  135. package/templates-zh-CN/integrations/event-contract.md +46 -0
  136. package/templates-zh-CN/integrations/third-party/vendor-template.md +42 -0
  137. package/templates-zh-CN/integrations/webhook-contract.md +41 -0
  138. package/templates-zh-CN/planning/brief.md +32 -0
  139. package/templates-zh-CN/planning/lesson_candidates.md +58 -0
  140. package/templates-zh-CN/planning/long-running-task-contract.md +1 -1
  141. package/templates-zh-CN/planning/module_brief.md +25 -0
  142. package/templates-zh-CN/planning/module_plan.md +2 -2
  143. package/templates-zh-CN/planning/module_session_prompt.md +4 -3
  144. package/templates-zh-CN/planning/task_plan.md +10 -4
  145. package/templates-zh-CN/planning/{visual_roadmap.md → visual_map.md} +21 -2
  146. package/templates-zh-CN/reference/docs-library-standard.md +35 -0
  147. package/templates-zh-CN/reference/execution-workflow-standard.md +9 -2
  148. package/templates-zh-CN/reference/external-source-intake-standard.md +82 -0
  149. package/templates-zh-CN/reference/harness-ledger-standard.md +5 -2
  150. package/templates-zh-CN/reference/repo-governance-standard.md +2 -0
  151. package/templates-zh-CN/reference/walkthrough-standard.md +4 -4
  152. package/templates-zh-CN/walkthrough/Closeout-SSoT.md +2 -2
  153. package/templates-zh-CN/walkthrough/walkthrough-template.md +2 -2
  154. package/templates-zh-CN/dashboard/assets/app.css +0 -399
  155. package/templates-zh-CN/dashboard/assets/app.js +0 -435
  156. package/templates-zh-CN/dashboard/assets/i18n.js +0 -47
  157. package/templates-zh-CN/dashboard/assets/markdown-reader.js +0 -116
  158. package/templates-zh-CN/dashboard/assets/mermaid-renderer.js +0 -59
  159. package/templates-zh-CN/dashboard/index.html +0 -18
@@ -0,0 +1,196 @@
1
+ # 仓库运行模式选择指南
2
+
3
+ English mirror: `docs-release/guides/repository-operating-models.en-US.md`
4
+
5
+ Coding Agent Harness 可以落在不同的仓库组织方式里。选择错了,后面最常见的问题不是“文档少”,而是 Harness 自己变成新的混乱源。
6
+
7
+ 这份指南解释三种常见模式:
8
+
9
+ - 单仓模式:一个代码仓库,一套 Harness。
10
+ - 多仓独立模式:多个代码仓库,每个仓库有自己的 Harness。
11
+ - 主控仓库模式:一个父级控制仓库管理 Harness,多个子仓库只承载代码执行事实。
12
+
13
+ ## 快速选择
14
+
15
+ | 模式 | 适合 | 不适合 | Harness 事实源 |
16
+ | --- | --- | --- | --- |
17
+ | 单仓模式 | 单产品、单代码仓库、团队边界清楚 | 已经拆成多个独立发布仓库 | 当前仓库 `AGENTS.md` + `docs/` |
18
+ | 多仓独立模式 | 前端、后端、SDK 等仓库长期独立迭代,跨仓任务少 | 大量跨仓 feature 和统一 release 计划 | 每个仓库自己的 `AGENTS.md` + `docs/` |
19
+ | 主控仓库模式 | 微服务、多子系统、多仓统一路线图、跨仓 release、Agent 需要从一个地方启动 | 小项目,或只有一个短期脚本仓库 | 父仓库 `AGENTS.md` + `docs/` |
20
+
21
+ ## 单仓模式
22
+
23
+ 单仓模式最简单。代码、计划、回归、walkthrough 都在同一个仓库里。
24
+
25
+ ```text
26
+ product-repo/
27
+ AGENTS.md
28
+ docs/
29
+ 03-ARCHITECTURE/
30
+ 04-DEVELOPMENT/
31
+ 05-TEST-QA/
32
+ 09-PLANNING/
33
+ 10-WALKTHROUGH/
34
+ 11-REFERENCE/
35
+ src/
36
+ tests/
37
+ ```
38
+
39
+ Agent 从仓库根目录启动,读 `AGENTS.md`,然后进入任务文件和代码。
40
+
41
+ ### 什么时候选
42
+
43
+ - 应用、服务、脚本或库都在一个仓库里。
44
+ - Feature 通常只改这个仓库。
45
+ - 回归命令可以在一个 checkout 内完成。
46
+ - 团队希望快速接入 Harness,不想先改组织结构。
47
+
48
+ ### 风险
49
+
50
+ 当项目后来拆出多个仓库时,单仓 Harness 容易失去全局视野。前端、后端、SDK 各自都有状态,但没有一个地方能说明跨仓任务到底完成到哪一步。
51
+
52
+ ## 多仓独立模式
53
+
54
+ 多仓独立模式让每个仓库都有自己的 Harness。
55
+
56
+ ```text
57
+ frontend-repo/
58
+ AGENTS.md
59
+ docs/
60
+
61
+ backend-repo/
62
+ AGENTS.md
63
+ docs/
64
+
65
+ sdk-repo/
66
+ AGENTS.md
67
+ docs/
68
+ ```
69
+
70
+ 每个仓库的 Agent 入口只管本仓库。前端任务在前端仓库计划和收口,后端任务在后端仓库计划和收口。
71
+
72
+ ### 什么时候选
73
+
74
+ - 仓库之间组织上确实独立。
75
+ - 每个仓库有自己的 owner、release 节奏和 review 规则。
76
+ - 跨仓任务少,或者跨仓任务由人手动协调。
77
+ - 某个仓库的 Harness 不应该知道另一个仓库的内部状态。
78
+
79
+ ### 必须补的外围文档
80
+
81
+ 多仓独立模式不能只给每个仓库复制一套模板。否则跨仓上下文会断。
82
+
83
+ 每个仓库至少要在这些位置写清楚外部边界:
84
+
85
+ - `docs/03-ARCHITECTURE/`:本仓库在整体系统中的位置。
86
+ - `docs/04-DEVELOPMENT/`:依赖哪些 sibling repo、本地联调怎么启动。
87
+ - `docs/06-INTEGRATIONS/`:API、事件、SDK、队列、数据库、鉴权等外部契约。
88
+ - `docs/05-TEST-QA/Regression-SSoT.md`:哪些检查只覆盖本仓库,哪些需要跨仓联调。
89
+ - `AGENTS.md`:遇到跨仓任务时,Agent 应该停下来、切仓库,还是交给人协调。
90
+
91
+ ### 风险
92
+
93
+ 多仓独立模式的风险是 Harness 分裂:
94
+
95
+ - 前端 Feature SSoT 认为任务完成,后端 Regression SSoT 仍是红灯。
96
+ - SDK 的 breaking change 没有投影到产品 shell。
97
+ - Agent 从子仓库启动后,只看到局部事实,误以为全局任务已经结束。
98
+
99
+ 如果这种情况频繁发生,应升级到主控仓库模式。
100
+
101
+ ## 主控仓库模式
102
+
103
+ 主控仓库模式把 Harness 放在父仓库。子仓库只承载代码执行事实。
104
+
105
+ ```text
106
+ product-control-repo/
107
+ AGENTS.md
108
+ docs/
109
+ 03-ARCHITECTURE/
110
+ 04-DEVELOPMENT/
111
+ 05-TEST-QA/
112
+ 06-INTEGRATIONS/
113
+ 09-PLANNING/
114
+ 10-WALKTHROUGH/
115
+ 11-REFERENCE/
116
+ tools/
117
+ frontend/ -> child repository
118
+ backend/ -> child repository
119
+ sdk/ -> child repository
120
+ service-a/ -> child repository
121
+ service-b/ -> child repository
122
+ ```
123
+
124
+ 父仓库是 control plane。它管理:
125
+
126
+ - 总体架构和 repo topology。
127
+ - 跨仓 Feature SSoT。
128
+ - 任务计划、review、walkthrough。
129
+ - Regression SSoT 和跨仓 cadence。
130
+ - Agent 启动入口和读文件矩阵。
131
+ - 子仓库 commit、分支、submodule pointer 或 release version 的证据。
132
+
133
+ 子仓库是 execution plane。它们管理:
134
+
135
+ - 代码实现。
136
+ - 本仓库依赖和 lockfile。
137
+ - 本仓库局部测试和 CI。
138
+ - 本仓库局部 `AGENTS.md`。
139
+ - 具体提交和 PR。
140
+
141
+ ### 什么时候选
142
+
143
+ - 一个产品由多个仓库共同交付。
144
+ - Feature 经常跨前端、后端、SDK、微服务。
145
+ - 你希望 Agent 永远从同一个入口启动。
146
+ - 你需要统一的任务状态、review 门禁和 release closeout。
147
+ - 微服务数量很多,不能让每个仓库各自维护一套全局计划。
148
+
149
+ ### 核心好处
150
+
151
+ 主控仓库模式把“全局事实”固定在一个地方。即使有 100 个子仓库,Agent 也先读父仓库的任务合同,然后再进入具体子仓库执行。
152
+
153
+ 这能避免:
154
+
155
+ - 多个 Feature SSoT 互相冲突。
156
+ - 每个子仓库都声称自己已经完成,但 release 仍不能发。
157
+ - Agent 从错误仓库启动,只看到局部上下文。
158
+ - 跨仓 review 和 regression 证据散落在不同地方。
159
+
160
+ 完整方法见 `docs-release/guides/parent-control-repository-pattern.md`。
161
+
162
+ ## 从一种模式迁移到另一种
163
+
164
+ ### 单仓到多仓
165
+
166
+ 当一个单仓拆出前端、后端、SDK 时,不要直接复制 `docs/` 到每个仓库。
167
+
168
+ 先决定:
169
+
170
+ - 哪些任务仍是全局任务?
171
+ - 哪些任务变成子仓库局部任务?
172
+ - 原来的 Regression SSoT 是保留在父层,还是拆成局部 gate?
173
+ - Agent 未来从哪里启动?
174
+
175
+ 如果跨仓 feature 仍然很多,优先创建主控仓库。
176
+
177
+ ### 多仓独立到主控仓库
178
+
179
+ 迁移顺序:
180
+
181
+ 1. 创建父仓库 `AGENTS.md` 和 repo topology。
182
+ 2. 把全局 Feature SSoT、Regression SSoT、walkthrough index 收到父仓库。
183
+ 3. 子仓库保留局部 `AGENTS.md`,但把全局计划指向父仓库。
184
+ 4. 新跨仓任务只在父仓库创建 task。
185
+ 5. 子仓库提交只作为父任务的 evidence。
186
+
187
+ 不要一次性重写所有历史任务。先把当前 release 和活跃 feature 接到父仓库。
188
+
189
+ ## 推荐默认值
190
+
191
+ - 新的小项目:单仓模式。
192
+ - 已经有多个强独立团队:多仓独立模式。
193
+ - 一个产品、多个代码仓库、一个 release 目标:主控仓库模式。
194
+ - 微服务很多但需要统一 Agent 协作:主控仓库模式。
195
+
196
+ 真正的判断标准不是仓库数量,而是全局决策是否需要一个唯一事实源。
@@ -0,0 +1,15 @@
1
+ # International Introductions
2
+
3
+ Coding Agent Harness uses English as the canonical public language and maintains full executable templates in English and Simplified Chinese.
4
+
5
+ These lightweight introductions help international readers understand the project quickly. For implementation details, use the English docs first.
6
+
7
+ | Language | Intro | Support Level |
8
+ | --- | --- | --- |
9
+ | English | [`en-US.md`](en-US.md) | Full docs and templates |
10
+ | Simplified Chinese | [`zh-CN.md`](zh-CN.md) | Full docs and templates |
11
+ | Japanese | [`ja-JP.md`](ja-JP.md) | Intro only |
12
+ | Korean | [`ko-KR.md`](ko-KR.md) | Intro only |
13
+ | French | [`fr-FR.md`](fr-FR.md) | Intro only |
14
+ | Spanish | [`es-ES.md`](es-ES.md) | Intro only |
15
+ | German | [`de-DE.md`](de-DE.md) | Intro only |
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness legt die Arbeit von Coding Agents im Repository ab, nicht nur im Chatverlauf. Plaene, Fortschritt, Reviews, Migrationsnotizen und Dashboard-Zustaende bleiben beim Code.
4
+
5
+ Die vollstaendige UI und die ausfuehrbaren Templates werden derzeit in English und Simplified Chinese gepflegt.
6
+
7
+ ## So funktioniert es
8
+
9
+ 1. Installieren Sie den Skill oder starten Sie die CLI mit `npx`.
10
+ 2. Der Agent analysiert das Repository und schlaegt einen Initialisierungs- oder Migrationsplan vor.
11
+ 3. Das lokale Dashboard zeigt Aufgaben, Warnungen, Nachweise und Review-Status.
12
+ 4. Vor der Uebergabe laufen die harness checks.
13
+
14
+ ## Sprachunterstuetzung
15
+
16
+ Ausfuehrbare Templates und vollstaendige Dokumentation werden derzeit in English und Simplified Chinese gepflegt. Diese Seite ist eine kurze Einfuehrung.
17
+
18
+ Start here: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness keeps coding-agent work inside the repository instead of leaving it buried in chat history. Plans, progress, reviews, migration notes, and dashboard snapshots stay with the code.
4
+
5
+ ![Dashboard overview](../assets/dashboard-overview-en.png)
6
+
7
+ ## How It Works
8
+
9
+ 1. Install the Skill or run the CLI with `npx`.
10
+ 2. Let the agent diagnose the repository and propose an initialization or migration plan.
11
+ 3. Review tasks, warnings, evidence, and handoff state in the local Dashboard.
12
+ 4. Run harness checks before delivery.
13
+
14
+ ## Language Support
15
+
16
+ English and Simplified Chinese have full README, guide, and executable template support. Other languages currently provide short introductions and route users to the English documentation.
17
+
18
+ Start with the canonical README: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness deja el trabajo de los agentes de programacion dentro del repositorio, no solo en el historial del chat. Planes, progreso, revisiones, notas de migracion y estados del Dashboard quedan junto al codigo.
4
+
5
+ La interfaz completa y las plantillas ejecutables se mantienen actualmente en English y Simplified Chinese.
6
+
7
+ ## Como funciona
8
+
9
+ 1. Instala el Skill o ejecuta la CLI con `npx`.
10
+ 2. El agente diagnostica el repositorio y propone un plan de inicializacion o migracion.
11
+ 3. El Dashboard local muestra tareas, advertencias, evidencia y estado de revision.
12
+ 4. Ejecuta las verificaciones de harness antes de entregar.
13
+
14
+ ## Idiomas
15
+
16
+ Las plantillas ejecutables y la documentacion completa se mantienen en English y Simplified Chinese. Esta pagina es una introduccion breve.
17
+
18
+ Start here: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness garde le travail des agents de code dans le depot, pas seulement dans l'historique de discussion. Plans, progression, revues, notes de migration et etats du Dashboard restent avec le code.
4
+
5
+ L'interface complete et les modeles executables sont actuellement maintenus en English et Simplified Chinese.
6
+
7
+ ## Fonctionnement
8
+
9
+ 1. Installez le Skill ou lancez le CLI avec `npx`.
10
+ 2. L'agent analyse le depot et propose un plan d'initialisation ou de migration.
11
+ 3. Le Dashboard local affiche les taches, alertes, preuves et etats de revue.
12
+ 4. Les verifications harness confirment l'etat avant livraison.
13
+
14
+ ## Langues
15
+
16
+ Les modeles executables et la documentation complete sont maintenus en English et Simplified Chinese. Cette page est une introduction courte.
17
+
18
+ Start here: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness は、コーディングエージェントの作業をチャット履歴ではなくリポジトリに残すための仕組みです。計画、進捗、レビュー、移行メモ、Dashboard の状態がコードと一緒に残ります。
4
+
5
+ UI と実行可能なテンプレートは、現在 English と Simplified Chinese を中心に保守されています。
6
+
7
+ ## 使い方
8
+
9
+ 1. Skill をインストールするか、`npx` で CLI を実行します。
10
+ 2. エージェントがリポジトリを診断し、初期化または移行計画を提示します。
11
+ 3. ローカル Dashboard でタスク、警告、証拠、レビュー状態を確認します。
12
+ 4. 受け渡し前に harness check を実行します。
13
+
14
+ ## 言語サポート
15
+
16
+ 実行可能なテンプレートと詳細ドキュメントは、現在 English と Simplified Chinese を中心に保守されています。このページは概要紹介です。
17
+
18
+ Start here: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness는 코딩 에이전트의 작업을 채팅 기록이 아니라 저장소 안에 남기기 위한 도구입니다. 계획, 진행 상황, 리뷰, 마이그레이션 메모, Dashboard 상태가 코드와 함께 남습니다.
4
+
5
+ 전체 UI와 실행 가능한 템플릿은 현재 English와 Simplified Chinese를 중심으로 유지됩니다.
6
+
7
+ ## 사용 방식
8
+
9
+ 1. Skill을 설치하거나 `npx`로 CLI를 실행합니다.
10
+ 2. 에이전트가 저장소를 진단하고 초기화 또는 마이그레이션 계획을 제안합니다.
11
+ 3. 로컬 Dashboard에서 작업, 경고, 증거, 리뷰 상태를 확인합니다.
12
+ 4. 전달 전에 harness check를 실행합니다.
13
+
14
+ ## 언어 지원
15
+
16
+ 실행 가능한 템플릿과 자세한 문서는 현재 English와 Simplified Chinese를 중심으로 유지됩니다. 이 페이지는 간단한 소개입니다.
17
+
18
+ Start here: [`../../README.md`](../../README.md).
@@ -0,0 +1,18 @@
1
+ # Coding Agent Harness
2
+
3
+ Coding Agent Harness 把 Coding Agent 的计划、进度、审查、迁移记录和 Dashboard 快照留在仓库里,而不是散在聊天记录里。
4
+
5
+ ![Dashboard overview](../assets/dashboard-overview-en.png)
6
+
7
+ ## 怎么用
8
+
9
+ 1. 安装 Skill,或用 `npx` 运行 CLI。
10
+ 2. 让 Agent 先诊断仓库,再给出初始化或迁移计划。
11
+ 3. 在本地 Dashboard 里查看任务、风险、证据和审查状态。
12
+ 4. 交付前运行 harness 检查。
13
+
14
+ ## 语言支持
15
+
16
+ 英文和简体中文提供完整 README、指南和可执行模板。其他语言目前是简介和入口页,具体实施请优先阅读英文文档。
17
+
18
+ 中文 README:[`../../README.zh-CN.md`](../../README.zh-CN.md)。
@@ -0,0 +1,13 @@
1
+ # Demo task
2
+
3
+ ## Brief
4
+
5
+ Minimal example task used by the dashboard smoke tests.
6
+
7
+ ## Task ID
8
+
9
+ `demo-task`
10
+
11
+ ## Outcome
12
+
13
+ Show a readable task summary in the static dashboard without requiring an editor.
@@ -0,0 +1,24 @@
1
+ # Demo Task - Lesson Candidates
2
+
3
+ ## Candidate Status
4
+
5
+ | Field | Value |
6
+ | --- | --- |
7
+ | Schema version | lesson-candidate-v1 |
8
+ | Task-level status | no-candidate-accepted |
9
+ | Review gate | candidate-file-present |
10
+ | Review decision | accepted-no-candidate |
11
+ | Promotion state | not-promoted |
12
+ | Closeout token | checked-candidate:LC-20260101-000 |
13
+ | Source task | demo-task |
14
+ | Owner | coordinator |
15
+ | Last updated | 2026-01-01 |
16
+
17
+ ## Candidates
18
+
19
+ | ID | Row Status | Title | Why It Might Matter | Review Decision | Promotion Target |
20
+ | --- | --- | --- | --- | --- | --- |
21
+
22
+ ## No-Candidate Reason
23
+
24
+ The example task exists only to demonstrate dashboard parsing and does not produce a reusable governance lesson.
@@ -8,4 +8,4 @@ in-progress
8
8
 
9
9
  | Date | Update | Evidence |
10
10
  | --- | --- | --- |
11
- | 2026-05-18 | Created example roadmap | report:TARGET:docs/09-PLANNING/TASKS/demo-task/visual_roadmap.md:example phase table |
11
+ | 2026-05-18 | Created example visual map | report:TARGET:docs/09-PLANNING/TASKS/demo-task/visual_map.md:example phase table |
@@ -1,8 +1,10 @@
1
1
  # Demo Task
2
2
 
3
+ Task Contract: harness-task/v1
4
+
3
5
  ## Goal
4
6
 
5
- Show the v1.0 visual roadmap contract.
7
+ Show the v1.0 visual map contract.
6
8
 
7
9
  ## Scope
8
10
 
@@ -11,4 +13,4 @@ Public example only.
11
13
  ## Execution & Visualization Files
12
14
 
13
15
  - `execution_strategy.md`
14
- - `visual_roadmap.md`
16
+ - `visual_map.md`
@@ -1,4 +1,12 @@
1
- # Visual Roadmap
1
+ # Visual Map
2
+
3
+ Visual Map Contract: v1.0
4
+
5
+ ## Map Index
6
+
7
+ | ID | Type | Purpose | Required For Understanding | Source Evidence | Promotion Candidate |
8
+ | --- | --- | --- | --- | --- | --- |
9
+ | MAP-01 | phase | Show the demo task phase relationship | yes | `task_plan.md` | no |
2
10
 
3
11
  ```mermaid
4
12
  flowchart LR
package/package.json CHANGED
@@ -1,8 +1,27 @@
1
1
  {
2
2
  "name": "coding-agent-harness",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Document governance kernel for long-running coding agents.",
5
5
  "type": "module",
6
+ "keywords": [
7
+ "agent",
8
+ "coding-agent",
9
+ "codex",
10
+ "claude-code",
11
+ "gemini-cli",
12
+ "harness",
13
+ "ai-engineering",
14
+ "workflow",
15
+ "governance"
16
+ ],
17
+ "homepage": "https://github.com/FairladyZ625/coding-agent-harness#readme",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/FairladyZ625/coding-agent-harness.git"
21
+ },
22
+ "bugs": {
23
+ "url": "https://github.com/FairladyZ625/coding-agent-harness/issues"
24
+ },
6
25
  "bin": {
7
26
  "harness": "scripts/harness.mjs"
8
27
  },
@@ -17,6 +36,8 @@
17
36
  },
18
37
  "files": [
19
38
  "README.md",
39
+ "README.en-US.md",
40
+ "README.zh-CN.md",
20
41
  "CHANGELOG.md",
21
42
  "SKILL.md",
22
43
  "LICENSE",
@@ -68,7 +68,7 @@ AGENTS.md 只包含两类内容:
68
68
 
69
69
  ```
70
70
  项目根目录/
71
- ├── AGENTS.md ← 231 行,canonical 宪章 + 索引
71
+ ├── AGENTS.md ← concise canonical charter + routing index
72
72
  ├── CLAUDE.md ← 轻量 shim,指向 AGENTS.md
73
73
  └── docs/
74
74
  ├── Harness-Ledger.md
@@ -91,7 +91,7 @@ AGENTS.md 只包含两类内容:
91
91
 
92
92
  ### 行数控制
93
93
 
94
- AGENTS.md 控制在 **100-300 行**。超过 300 行说明有内容应该下沉到 reference 文件。
94
+ AGENTS.md 默认控制在 **80-160 行**。超过 160 行时,优先把操作细节下沉到 reference 文件;超过 300 行基本可以判断已经变成百科全书式入口。
95
95
 
96
96
  CLAUDE.md 控制在 **10-50 行**。它只做 Claude Code 兼容入口,不应复制 AGENTS.md 的完整规则,避免两份入口文件漂移。
97
97
 
@@ -112,7 +112,7 @@ CLAUDE.md 控制在 **10-50 行**。它只做 Claude Code 兼容入口,不应
112
112
  4. 填写项目信息区(项目名、技术栈、仓库结构)
113
113
  5. 根据项目模块编写 Task-Type Reading Matrix
114
114
  6. 写入硬规则(核心架构约束、绝对不能违反的原则)
115
- 7. 控制 AGENTS.md 总行数在 100-300
115
+ 7. 控制 AGENTS.md 总行数在 80-160 行,避免把安装教程或操作手册塞进入口
116
116
  8. 用 `templates/CLAUDE.md.template` 生成 CLAUDE.md shim,指向 AGENTS.md
117
117
  9. 不要在 CLAUDE.md 中复制完整规范
118
118
 
@@ -17,13 +17,13 @@ docs/
17
17
  │ └── _archive/ ← 已处理条目归档
18
18
  ├── 02-PRODUCT/ ← 产品设计、用户流程、功能规格
19
19
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
20
- ├── 03-ARCHITECTURE/ ← 架构设计、技术方案、ADR
20
+ ├── 03-ARCHITECTURE/ ← 系统结构事实源:本仓架构、外部系统结构、服务地图、关键跨服务流、ADR
21
21
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
22
- ├── 04-DEVELOPMENT/ ← 开发指南、环境配置、本地开发说明
22
+ ├── 04-DEVELOPMENT/ ← 开发上下文输入包:本地开发、外部服务摘要、外部资料包、mock/stub、跨仓调试
23
23
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
24
24
  ├── 05-TEST-QA/ ← 测试策略、Regression SSoT、Cadence Ledger
25
25
  │ └── _archive/ ← 废弃 regression gate / 旧 evidence pack 归档
26
- ├── 06-INTEGRATIONS/ ← 第三方集成文档、API 对接说明
26
+ ├── 06-INTEGRATIONS/ ← 接口合同层:API、event、webhook、SDK、第三方接入细节
27
27
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
28
28
  ├── 07-OPERATIONS/ ← 部署、运维、监控、告警
29
29
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
@@ -72,6 +72,49 @@ docs/
72
72
  `docs/10-WALKTHROUGH/Closeout-SSoT.md` 是 closed task 的收口索引和硬门槛;
73
73
  每个 closed Harness Ledger row 必须在这里登记 walkthrough 或受控 skip reason。
74
74
 
75
+ ## 03 / 04 / 06 边界规则
76
+
77
+ 这三个目录共同承载项目和外部系统知识,但职责不能重叠:
78
+
79
+ ```text
80
+ 03 = 它在系统里是什么
81
+ 04 = 我开发当前仓时怎么面对它
82
+ 06 = 我和它具体怎么对接
83
+ ```
84
+
85
+ | 目录 | 放什么 | 不放什么 | 必需机器字段 |
86
+ | --- | --- | --- | --- |
87
+ | `03-ARCHITECTURE/` | system map、service catalog、service responsibility、ownership、critical flows、ADR | endpoint payload、错误码、mock/stub、任务日志 | `Context Doc Type`, `Source Evidence`, `Last Verified`, `Confidence` |
88
+ | `04-DEVELOPMENT/` | local setup、codebase map、external service development summary、external source packs、mocks/stubs、cross-repo debugging | 长期系统事实源、payload 合同、ADR、未经摘要的外部资料堆 | `Context Doc Type`, `Development Use`, `Do Not Assume`, `Mocks / Stubs`, `Source Evidence`, `Last Verified`, `Confidence` |
89
+ | `06-INTEGRATIONS/` | endpoint、payload、错误码、auth、event schema、webhook、SDK、contract tests | 全局拓扑、service ownership catalog、开发调试笔记 | `Context Doc Type`, `Contract Type`, `Auth`, `Payload`, `Errors`, `Contract Tests`, `Source Evidence`, `Last Verified`, `Confidence` |
90
+
91
+ 示例:
92
+
93
+ - `03-ARCHITECTURE/service-catalog.md` 可以写“Billing API: owner=payments, interface=/v1/invoices, link=06-INTEGRATIONS/billing-api-contract.md”。
94
+ - `06-INTEGRATIONS/billing-api-contract.md` 才写 `/v1/invoices` 的 payload、错误码、鉴权和 contract test。
95
+ - `04-DEVELOPMENT/external-context/billing.md` 写本仓开发时如何 mock Billing、如何排查 Billing 失败、哪些 Billing 假设不安全。
96
+ - `04-DEVELOPMENT/external-source-packs/payments/` 只存外部团队资料的索引、摘要和投影状态;最终事实仍要回写到 `03/04/06`。
97
+
98
+ ## 外部资料摄取规则
99
+
100
+ 当项目属于微服务、多仓、前后端分仓或依赖外部团队文档时,Agent 在 Diagnose / Decide 阶段必须询问用户是否有外部资料。资料少时直接作为 `Source Evidence`;资料多、跨主题或持续增长时,按 `external-source-intake-standard.md` 创建 source pack。
101
+
102
+ 外部资料的固定处理顺序:
103
+
104
+ ```text
105
+ Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
106
+ ```
107
+
108
+ 未经过 digest 和 projection 的原始资料不能进入执行事实层。
109
+
110
+ Checker 规则:
111
+
112
+ - 新增 `03/04/06` 文档必须声明 `Context Doc Type`。
113
+ - 结构事实必须有 `Source Evidence`、`Last Verified` 和 `Confidence`。
114
+ - `04-DEVELOPMENT/external-context/*.md` 必须包含 `Development Use`、`Do Not Assume`、`Mocks / Stubs`。
115
+ - `06-INTEGRATIONS/*.md` 必须包含 `Contract Type`、`Auth`、`Payload`、`Errors`、`Contract Tests`。
116
+ - 旧项目 safe-adoption 可先收到 warning;declared canonical 项目应修到 clean。
117
+
75
118
  ## 通用归档规则
76
119
 
77
120
  归档是目录级基础设施,不是单张表的特例。任何会持续增长的目录都应该有同级
@@ -113,6 +156,7 @@ docs/
113
156
  | adversarial-review-standard.md | 对抗性 review 报告、finding 分级、no-finding 结论、residual 路由 | 是 |
114
157
  | review-routing-standard.md | reviewer / subagent / external agent / human review 触发和路由规则 | 是 |
115
158
  | docs-library-standard.md | 文档治理规范、命名规则、归档规则 | 是 |
159
+ | external-source-intake-standard.md | 外部资料摄取、过滤、摘要和投影规则 | 是 |
116
160
  | harness-ledger-standard.md | Harness Ledger 写入规范、closeout 检查 | 是 |
117
161
  | regression-ssot-governance.md | Regression SSoT 治理规范 | Standard+ |
118
162
  | walkthrough-standard.md | Walkthrough 写作规范 | 是 |
@@ -0,0 +1,75 @@
1
+ # 外部资料摄取标准
2
+
3
+ ## 目的
4
+
5
+ 定义目标项目里的 Agent 如何接收、过滤、整理外部项目或微服务团队提供的大量资料。核心原则是:外部资料先进资料包,经过摘要和验证后,再投影到稳定执行文档。
6
+
7
+ ## 核心模型
8
+
9
+ ```text
10
+ 外部原始资料 -> source pack 索引 -> digest 摘要 -> 03/04/06 执行投影
11
+ ```
12
+
13
+ `03-ARCHITECTURE`、`04-DEVELOPMENT`、`06-INTEGRATIONS` 不承载外部资料堆。它们只保存已经提炼、可验证、能指导当前仓库开发的事实。
14
+
15
+ ## Diagnose / Decide 必问条件
16
+
17
+ 只要目标项目满足任一条件,Agent 必须询问用户是否有外部资料:
18
+
19
+ - 当前仓属于多仓系统、微服务系统、前后端分仓或平台子系统。
20
+ - 代码中出现外部服务、SDK、API gateway、message queue、webhook、contract、schema 或 mock。
21
+ - 用户提到其他仓库、上下游、接口文档、业务知识、系统整体设计。
22
+ - Agent 无法只靠当前仓判断服务职责、接口契约或联调方式。
23
+
24
+ 推荐问题:
25
+
26
+ 1. 这个项目是否依赖外部服务或其他仓库?
27
+ 2. 你是否有外部团队提供的架构文档、接口文档、流程图、会议纪要、代码路径、链接或导出包?
28
+ 3. 这些资料能否复制进本仓?如果不能,是否只能保存本地路径或 URL?
29
+ 4. 哪些资料是可信来源,哪些只是历史参考?
30
+
31
+ ## 存储规则
32
+
33
+ | 场景 | 存储方式 |
34
+ | --- | --- |
35
+ | 只有 1-4 个稳定外部文档 | 不必建独立 source pack;在对应 `03/04/06` 的 `Source Evidence` 中链接 |
36
+ | 外部资料超过 5 份、跨多个主题、或会持续增长 | 创建 `docs/04-DEVELOPMENT/external-source-packs/<source-key>/` |
37
+ | 资料含敏感信息、密钥、客户数据或不能进仓 | 不复制原文;只记录外部路径、owner、访问条件和摘要 |
38
+ | 资料可入仓 | 可放 `raw/`,但必须经过 digest 后才能投影到执行文档 |
39
+
40
+ 推荐结构:
41
+
42
+ ```text
43
+ docs/04-DEVELOPMENT/external-source-packs/<source-key>/
44
+ ├── README.md
45
+ ├── digests/
46
+ ├── raw/
47
+ └── raw-index.md
48
+ ```
49
+
50
+ ## 摄取流程
51
+
52
+ 1. Inventory:列出所有资料,记录来源、owner、时间、可信度和是否可入仓。
53
+ 2. Classify:按 architecture、development、integration、security、operations、product、unknown 分类。
54
+ 3. Sanitize:检查密钥、token、客户数据、隐私、内部账号和不可公开链接。
55
+ 4. Digest:提炼事实、疑问、不安全假设和证据。
56
+ 5. Project:把稳定事实投影到 `03/04/06`。
57
+ 6. Verify:尽可能用代码、接口测试、owner 确认或运行证据验证。
58
+ 7. Residual:不能确认的内容留在 source pack 或 `Do Not Assume`,不进入执行事实。
59
+
60
+ ## 投影规则
61
+
62
+ | 资料内容 | 投影位置 |
63
+ | --- | --- |
64
+ | 服务职责、上下游、owner、数据归属、系统拓扑 | `03-ARCHITECTURE/service-catalog.md` 或 `services/<service-key>.md` |
65
+ | 本仓开发时如何 mock、stub、启动、联调、排查 | `04-DEVELOPMENT/external-context/<service-key>.md` |
66
+ | endpoint、payload、auth、error、event、webhook、SDK、contract test | `06-INTEGRATIONS/<contract>.md` |
67
+ | 未确认、来源冲突、过期或背景参考 | 留在 source pack README / digest |
68
+
69
+ ## 禁止事项
70
+
71
+ - 不把几十份外部文档直接复制到 `03-ARCHITECTURE`、`04-DEVELOPMENT` 或 `06-INTEGRATIONS` 根目录。
72
+ - 不把 digest 当成已验证事实。
73
+ - 不在执行文档里保留大段原文、聊天流水或历史会议记录。
74
+ - 不把密钥、token、客户数据、个人隐私或不可公开资料提交进仓。
75
+ - 不为每个微服务复制一套完整目录树。