coding-agent-harness 1.0.5 → 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/CONTRIBUTING.md +2 -2
- package/README.md +63 -3
- package/README.zh-CN.md +52 -3
- package/SKILL.md +43 -43
- 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 +2 -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 +44 -46
- 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 +12 -12
- package/docs-release/architecture/overview.zh-CN.md +12 -12
- package/docs-release/architecture/system-explainer/01-system-overview.md +15 -14
- package/docs-release/architecture/system-explainer/02-module-dependency.md +8 -8
- package/docs-release/architecture/system-explainer/03-task-lifecycle.md +3 -3
- package/docs-release/architecture/system-explainer/04-check-and-governance.md +9 -7
- package/docs-release/architecture/system-explainer/05-data-flow.md +5 -5
- package/docs-release/architecture/system-explainer/06-preset-and-migration.md +1 -4
- package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +15 -14
- package/docs-release/architecture/system-explainer/en-US/02-module-dependency.md +8 -8
- package/docs-release/architecture/system-explainer/en-US/03-task-lifecycle.md +3 -3
- package/docs-release/architecture/system-explainer/en-US/04-check-and-governance.md +10 -8
- package/docs-release/architecture/system-explainer/en-US/05-data-flow.md +5 -5
- package/docs-release/architecture/system-explainer/en-US/06-preset-and-migration.md +1 -4
- package/docs-release/guides/agent-installation.en-US.md +14 -8
- package/docs-release/guides/agent-installation.md +14 -8
- 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 +2 -2
- 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 +5 -5
- package/docs-release/guides/task-state-machine.md +5 -5
- 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/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 +20 -12
- 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 +5 -5
- 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/task_plan.md +1 -1
- package/skills/preset-creator/references/preset-package-skeleton.md +5 -5
- package/templates/AGENTS.md.template +26 -26
- 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/20-overview.js +11 -5
- package/templates/dashboard/assets/app-src/40-modules.js +1 -1
- package/templates/dashboard/assets/app.js +12 -6
- package/templates/dashboard/assets/i18n.js +4 -2
- 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 +1 -0
- package/templates/planning/module_session_prompt.md +1 -1
- package/templates/planning/task_plan.md +1 -1
- package/templates/planning/walkthrough.md +47 -0
- package/templates/reference/docs-library-standard.md +8 -8
- 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 +26 -26
- 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/module_session_prompt.md +11 -11
- 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 +1 -1
- 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 -126
- package/scripts/commands/preset-command.mjs +0 -73
- package/scripts/commands/task-command.mjs +0 -328
- package/scripts/harness.mjs +0 -291
- package/scripts/lib/capability-registry.mjs +0 -587
- package/scripts/lib/check-module-parallel.mjs +0 -230
- package/scripts/lib/check-profiles.mjs +0 -372
- package/scripts/lib/check-task-contracts.mjs +0 -55
- package/scripts/lib/core-shared.mjs +0 -249
- package/scripts/lib/dashboard-data.mjs +0 -520
- package/scripts/lib/dashboard-workbench.mjs +0 -336
- package/scripts/lib/dashboard-writer.mjs +0 -202
- 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 -611
- package/scripts/lib/governance-table-boundary.mjs +0 -175
- package/scripts/lib/lesson-maintenance.mjs +0 -152
- package/scripts/lib/markdown-utils.mjs +0 -191
- package/scripts/lib/migration-planner.mjs +0 -476
- package/scripts/lib/migration-support.mjs +0 -312
- package/scripts/lib/phase-kind.mjs +0 -50
- package/scripts/lib/preset-audit-contracts.mjs +0 -37
- package/scripts/lib/preset-engine.mjs +0 -494
- package/scripts/lib/preset-registry.mjs +0 -776
- package/scripts/lib/preset-resource-contracts.mjs +0 -83
- package/scripts/lib/review-confirm-git-gate.mjs +0 -248
- package/scripts/lib/status-builder.mjs +0 -88
- package/scripts/lib/subagent-authorization-audit.mjs +0 -196
- package/scripts/lib/task-audit-metadata.mjs +0 -385
- package/scripts/lib/task-audit-migration.mjs +0 -350
- package/scripts/lib/task-completion-consistency.mjs +0 -26
- 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/create-task-helpers.mjs +0 -67
- package/scripts/lib/task-lifecycle/phase-sync.mjs +0 -88
- package/scripts/lib/task-lifecycle/review-confirm.mjs +0 -112
- package/scripts/lib/task-lifecycle/review-gates.mjs +0 -73
- package/scripts/lib/task-lifecycle/review-submission.mjs +0 -63
- package/scripts/lib/task-lifecycle/scaffold-provenance.mjs +0 -49
- package/scripts/lib/task-lifecycle/template-files.mjs +0 -53
- package/scripts/lib/task-lifecycle/text-utils.mjs +0 -24
- package/scripts/lib/task-lifecycle.mjs +0 -616
- package/scripts/lib/task-metadata.mjs +0 -118
- package/scripts/lib/task-review-model.mjs +0 -455
- package/scripts/lib/task-scanner.mjs +0 -503
- 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/INDEX.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
|
@@ -30,13 +30,13 @@ product-control-repo/
|
|
|
30
30
|
docs/
|
|
31
31
|
01-GOVERNANCE/
|
|
32
32
|
02-PRODUCT/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
coding-agent-harness/context/architecture/
|
|
34
|
+
coding-agent-harness/context/development/
|
|
35
|
+
coding-agent-harness/governance/regression/
|
|
36
|
+
coding-agent-harness/context/integrations/
|
|
37
|
+
coding-agent-harness/planning/
|
|
38
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
39
|
+
coding-agent-harness/governance/standards/
|
|
40
40
|
tools/
|
|
41
41
|
check-harness.mjs
|
|
42
42
|
internal-ci.mjs
|
|
@@ -59,16 +59,16 @@ The parent repository is the control plane.
|
|
|
59
59
|
It should contain:
|
|
60
60
|
|
|
61
61
|
- `AGENTS.md`: the single agent startup entrypoint and reading matrix.
|
|
62
|
-
- `
|
|
63
|
-
- `
|
|
64
|
-
- `
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
67
|
-
- `
|
|
68
|
-
- `
|
|
69
|
-
- `
|
|
70
|
-
- `
|
|
71
|
-
- `
|
|
62
|
+
- `coding-agent-harness/context/architecture/repository-topology.md`: repository topology, owners, boundaries, dependency direction.
|
|
63
|
+
- `coding-agent-harness/context/development/local-development.md`: cross-repo local startup, integration workflow, dependency setup.
|
|
64
|
+
- `coding-agent-harness/context/integrations/`: cross-service APIs, events, SDKs, databases, permissions, and external contracts.
|
|
65
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md`: generated global task lifecycle index from task files.
|
|
66
|
+
- `coding-agent-harness/planning/Delivery-SSoT.md`: cross-repo feature blocks, dependencies, and release orchestration.
|
|
67
|
+
- `coding-agent-harness/planning/tasks/`: cross-repo task contracts.
|
|
68
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md`: cross-repo regression gates.
|
|
69
|
+
- `coding-agent-harness/governance/regression/Cadence-Ledger.md`: which changes trigger which checks.
|
|
70
|
+
- `coding-agent-harness/planning/tasks/<task>/`: cross-repo closeout and human confirmation.
|
|
71
|
+
- `coding-agent-harness/governance/standards/`: local standards for using Harness in this project.
|
|
72
72
|
|
|
73
73
|
The parent repository should also provide a check command, for example:
|
|
74
74
|
|
|
@@ -138,7 +138,7 @@ Do not let agents start cross-repo tasks from random child repositories. They wi
|
|
|
138
138
|
Cross-repo tasks should be created in the parent repository:
|
|
139
139
|
|
|
140
140
|
```text
|
|
141
|
-
|
|
141
|
+
coding-agent-harness/planning/tasks/2026-05-22-example-cross-repo-feature/
|
|
142
142
|
brief.md
|
|
143
143
|
task_plan.md
|
|
144
144
|
execution_strategy.md
|
|
@@ -164,7 +164,7 @@ In the parent-control model, the parent repository must document more external c
|
|
|
164
164
|
|
|
165
165
|
### Architecture
|
|
166
166
|
|
|
167
|
-
`
|
|
167
|
+
`coding-agent-harness/context/architecture/` explains how the system is split across repositories:
|
|
168
168
|
|
|
169
169
|
- Repo topology.
|
|
170
170
|
- Service boundaries.
|
|
@@ -175,7 +175,7 @@ In the parent-control model, the parent repository must document more external c
|
|
|
175
175
|
|
|
176
176
|
### Development
|
|
177
177
|
|
|
178
|
-
`
|
|
178
|
+
`coding-agent-harness/context/development/` explains cross-repo development:
|
|
179
179
|
|
|
180
180
|
- How to clone or initialize all child repositories.
|
|
181
181
|
- How to install dependencies.
|
|
@@ -185,7 +185,7 @@ In the parent-control model, the parent repository must document more external c
|
|
|
185
185
|
|
|
186
186
|
### Integration
|
|
187
187
|
|
|
188
|
-
`
|
|
188
|
+
`coding-agent-harness/context/integrations/` explains how repositories connect:
|
|
189
189
|
|
|
190
190
|
- API contract.
|
|
191
191
|
- SDK contract.
|
|
@@ -241,10 +241,10 @@ Avoid:
|
|
|
241
241
|
To adopt the parent-control model, start with:
|
|
242
242
|
|
|
243
243
|
- Parent `AGENTS.md` states that this is the control repository.
|
|
244
|
-
- `
|
|
245
|
-
- `
|
|
246
|
-
- `
|
|
247
|
-
- `
|
|
244
|
+
- `coding-agent-harness/context/architecture/repository-topology.md` lists all child repositories.
|
|
245
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md` is generated from task files as the global task lifecycle index.
|
|
246
|
+
- `coding-agent-harness/planning/Delivery-SSoT.md` is maintained only when cross-repo release or block orchestration is needed.
|
|
247
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md` defines local, contract, integration, and release gates.
|
|
248
248
|
- Each child repository has only a short local `AGENTS.md`.
|
|
249
249
|
- New cross-repo tasks are created only in the parent repository.
|
|
250
250
|
- Child commits, PRs, and test output are recorded as parent task evidence.
|
|
@@ -30,13 +30,13 @@ product-control-repo/
|
|
|
30
30
|
docs/
|
|
31
31
|
01-GOVERNANCE/
|
|
32
32
|
02-PRODUCT/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
coding-agent-harness/context/architecture/
|
|
34
|
+
coding-agent-harness/context/development/
|
|
35
|
+
coding-agent-harness/governance/regression/
|
|
36
|
+
coding-agent-harness/context/integrations/
|
|
37
|
+
coding-agent-harness/planning/
|
|
38
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
39
|
+
coding-agent-harness/governance/standards/
|
|
40
40
|
tools/
|
|
41
41
|
check-harness.mjs
|
|
42
42
|
internal-ci.mjs
|
|
@@ -59,16 +59,16 @@ product-control-repo/
|
|
|
59
59
|
它应该包含:
|
|
60
60
|
|
|
61
61
|
- `AGENTS.md`:Agent 的唯一启动入口和读文件矩阵。
|
|
62
|
-
- `
|
|
63
|
-
- `
|
|
64
|
-
- `
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
67
|
-
- `
|
|
68
|
-
- `
|
|
69
|
-
- `
|
|
70
|
-
- `
|
|
71
|
-
- `
|
|
62
|
+
- `coding-agent-harness/context/architecture/repository-topology.md`:仓库拓扑、owner、边界、依赖方向。
|
|
63
|
+
- `coding-agent-harness/context/development/local-development.md`:跨仓本地启动、联调、依赖安装。
|
|
64
|
+
- `coding-agent-harness/context/integrations/`:跨服务 API、事件、SDK、数据库、权限、外部系统契约。
|
|
65
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md`:由任务文件生成的全局任务生命周期索引。
|
|
66
|
+
- `coding-agent-harness/planning/Delivery-SSoT.md`:跨仓 feature block、依赖和 release 编排。
|
|
67
|
+
- `coding-agent-harness/planning/tasks/`:跨仓任务合同。
|
|
68
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md`:跨仓 regression gates。
|
|
69
|
+
- `coding-agent-harness/governance/regression/Cadence-Ledger.md`:哪些变更触发哪些检查。
|
|
70
|
+
- `coding-agent-harness/planning/tasks/<task>/`:跨仓 closeout 和人工确认。
|
|
71
|
+
- `coding-agent-harness/governance/standards/`:本项目使用 Harness 的本地标准。
|
|
72
72
|
|
|
73
73
|
父仓库还应该有一个检查命令,例如:
|
|
74
74
|
|
|
@@ -138,7 +138,7 @@ npm test
|
|
|
138
138
|
跨仓任务应该在父仓库创建:
|
|
139
139
|
|
|
140
140
|
```text
|
|
141
|
-
|
|
141
|
+
coding-agent-harness/planning/tasks/2026-05-22-example-cross-repo-feature/
|
|
142
142
|
brief.md
|
|
143
143
|
task_plan.md
|
|
144
144
|
execution_strategy.md
|
|
@@ -164,7 +164,7 @@ docs/09-PLANNING/TASKS/2026-05-22-example-cross-repo-feature/
|
|
|
164
164
|
|
|
165
165
|
### Architecture
|
|
166
166
|
|
|
167
|
-
`
|
|
167
|
+
`coding-agent-harness/context/architecture/` 说明系统如何被拆成多个仓库:
|
|
168
168
|
|
|
169
169
|
- repo topology。
|
|
170
170
|
- 服务边界。
|
|
@@ -175,7 +175,7 @@ docs/09-PLANNING/TASKS/2026-05-22-example-cross-repo-feature/
|
|
|
175
175
|
|
|
176
176
|
### Development
|
|
177
177
|
|
|
178
|
-
`
|
|
178
|
+
`coding-agent-harness/context/development/` 说明如何跨仓工作:
|
|
179
179
|
|
|
180
180
|
- 如何 clone 或初始化所有子仓库。
|
|
181
181
|
- 如何安装依赖。
|
|
@@ -185,7 +185,7 @@ docs/09-PLANNING/TASKS/2026-05-22-example-cross-repo-feature/
|
|
|
185
185
|
|
|
186
186
|
### Integration
|
|
187
187
|
|
|
188
|
-
`
|
|
188
|
+
`coding-agent-harness/context/integrations/` 说明仓库之间如何对接:
|
|
189
189
|
|
|
190
190
|
- API contract。
|
|
191
191
|
- SDK contract。
|
|
@@ -241,10 +241,10 @@ Agent 不需要在启动时读 100 个仓库的所有文档。它先读父任务
|
|
|
241
241
|
采用主控仓库模式时,先做到这些:
|
|
242
242
|
|
|
243
243
|
- 父仓库 `AGENTS.md` 写清楚它是 control repo。
|
|
244
|
-
- `
|
|
245
|
-
- `
|
|
246
|
-
- `
|
|
247
|
-
- `
|
|
244
|
+
- `coding-agent-harness/context/architecture/repository-topology.md` 列出所有子仓库。
|
|
245
|
+
- `coding-agent-harness/governance/generated/Harness-Ledger.md` 由任务文件生成全局任务生命周期索引。
|
|
246
|
+
- `coding-agent-harness/planning/Delivery-SSoT.md` 只在需要跨仓 release / block 编排时维护。
|
|
247
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md` 定义局部、契约、集成、发布 gate。
|
|
248
248
|
- 每个子仓库只有短的局部 `AGENTS.md`。
|
|
249
249
|
- 新跨仓任务只在父仓库创建。
|
|
250
250
|
- 子仓库 commit、PR、test output 都作为父任务 evidence。
|
|
@@ -78,7 +78,7 @@ task:
|
|
|
78
78
|
entrypoints:
|
|
79
79
|
newTask:
|
|
80
80
|
type: template
|
|
81
|
-
writes: [
|
|
81
|
+
writes: [coding-agent-harness/planning/tasks/**]
|
|
82
82
|
audit: true
|
|
83
83
|
templates:
|
|
84
84
|
taskPlanAppend: templates/task_plan.append.md
|
|
@@ -106,7 +106,7 @@ audit:
|
|
|
106
106
|
evidenceFiles: [preset-audit.json, preset-manifest.json, write-scope.json]
|
|
107
107
|
writeScopes:
|
|
108
108
|
taskDocs:
|
|
109
|
-
path:
|
|
109
|
+
path: coding-agent-harness/planning/tasks/**
|
|
110
110
|
access: write
|
|
111
111
|
```
|
|
112
112
|
|
|
@@ -14,9 +14,9 @@ This guide explains three common models:
|
|
|
14
14
|
|
|
15
15
|
| Model | Fits | Does not fit | Harness source of truth |
|
|
16
16
|
| --- | --- | --- | --- |
|
|
17
|
-
| Single repo | One product, one code repository, clear team boundary | A system already split across independently released repositories | Current repo `AGENTS.md` + `
|
|
18
|
-
| Independent multi-repo | Frontend, backend, SDK, or services evolve independently and cross-repo work is rare | Frequent cross-repo features and one shared release plan | Each repo's own `AGENTS.md` + `
|
|
19
|
-
| Parent-control repo | Microservices, many subsystems, shared roadmap, cross-repo releases, agents need one startup point | Small projects or short-lived script repositories | Parent repo `AGENTS.md` + `
|
|
17
|
+
| Single repo | One product, one code repository, clear team boundary | A system already split across independently released repositories | Current repo `AGENTS.md` + `coding-agent-harness/` |
|
|
18
|
+
| Independent multi-repo | Frontend, backend, SDK, or services evolve independently and cross-repo work is rare | Frequent cross-repo features and one shared release plan | Each repo's own `AGENTS.md` + `coding-agent-harness/` |
|
|
19
|
+
| Parent-control repo | Microservices, many subsystems, shared roadmap, cross-repo releases, agents need one startup point | Small projects or short-lived script repositories | Parent repo `AGENTS.md` + `coding-agent-harness/` |
|
|
20
20
|
|
|
21
21
|
## Single-Repo Model
|
|
22
22
|
|
|
@@ -26,12 +26,12 @@ The single-repo model is the simplest. Code, plans, regression state, and walkth
|
|
|
26
26
|
product-repo/
|
|
27
27
|
AGENTS.md
|
|
28
28
|
docs/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
coding-agent-harness/context/architecture/
|
|
30
|
+
coding-agent-harness/context/development/
|
|
31
|
+
coding-agent-harness/governance/regression/
|
|
32
|
+
coding-agent-harness/planning/
|
|
33
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
34
|
+
coding-agent-harness/governance/standards/
|
|
35
35
|
src/
|
|
36
36
|
tests/
|
|
37
37
|
```
|
|
@@ -82,10 +82,10 @@ Independent multi-repo mode is not just "copy the template into every repo." If
|
|
|
82
82
|
|
|
83
83
|
Each repository should document its external boundary in:
|
|
84
84
|
|
|
85
|
-
- `
|
|
86
|
-
- `
|
|
87
|
-
- `
|
|
88
|
-
- `
|
|
85
|
+
- `coding-agent-harness/context/architecture/`: where this repository sits in the overall system.
|
|
86
|
+
- `coding-agent-harness/context/development/`: sibling repo dependencies and local integration startup.
|
|
87
|
+
- `coding-agent-harness/context/integrations/`: APIs, events, SDKs, queues, databases, auth, and other contracts.
|
|
88
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md`: which checks cover this repository only and which require integration across repositories.
|
|
89
89
|
- `AGENTS.md`: whether agents should stop, switch repositories, or ask humans when a task crosses repository boundaries.
|
|
90
90
|
|
|
91
91
|
### Risk
|
|
@@ -106,13 +106,13 @@ The parent-control model puts the harness in a parent repository. Child reposito
|
|
|
106
106
|
product-control-repo/
|
|
107
107
|
AGENTS.md
|
|
108
108
|
docs/
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
coding-agent-harness/context/architecture/
|
|
110
|
+
coding-agent-harness/context/development/
|
|
111
|
+
coding-agent-harness/governance/regression/
|
|
112
|
+
coding-agent-harness/context/integrations/
|
|
113
|
+
coding-agent-harness/planning/
|
|
114
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
115
|
+
coding-agent-harness/governance/standards/
|
|
116
116
|
tools/
|
|
117
117
|
frontend/ -> child repository
|
|
118
118
|
backend/ -> child repository
|
|
@@ -164,7 +164,7 @@ See `docs-release/guides/parent-control-repository-pattern.en-US.md` for the ful
|
|
|
164
164
|
|
|
165
165
|
### Single Repo To Multi-Repo
|
|
166
166
|
|
|
167
|
-
When a single repository splits into frontend, backend, or SDK repositories, do not copy the same `
|
|
167
|
+
When a single repository splits into frontend, backend, or SDK repositories, do not copy the same `coding-agent-harness/` tree into every repository.
|
|
168
168
|
|
|
169
169
|
Decide first:
|
|
170
170
|
|
|
@@ -14,9 +14,9 @@ Coding Agent Harness 可以落在不同的仓库组织方式里。选择错了
|
|
|
14
14
|
|
|
15
15
|
| 模式 | 适合 | 不适合 | Harness 事实源 |
|
|
16
16
|
| --- | --- | --- | --- |
|
|
17
|
-
| 单仓模式 | 单产品、单代码仓库、团队边界清楚 | 已经拆成多个独立发布仓库 | 当前仓库 `AGENTS.md` + `
|
|
18
|
-
| 多仓独立模式 | 前端、后端、SDK 等仓库长期独立迭代,跨仓任务少 | 大量跨仓 feature 和统一 release 计划 | 每个仓库自己的 `AGENTS.md` + `
|
|
19
|
-
| 主控仓库模式 | 微服务、多子系统、多仓统一路线图、跨仓 release、Agent 需要从一个地方启动 | 小项目,或只有一个短期脚本仓库 | 父仓库 `AGENTS.md` + `
|
|
17
|
+
| 单仓模式 | 单产品、单代码仓库、团队边界清楚 | 已经拆成多个独立发布仓库 | 当前仓库 `AGENTS.md` + `coding-agent-harness/` |
|
|
18
|
+
| 多仓独立模式 | 前端、后端、SDK 等仓库长期独立迭代,跨仓任务少 | 大量跨仓 feature 和统一 release 计划 | 每个仓库自己的 `AGENTS.md` + `coding-agent-harness/` |
|
|
19
|
+
| 主控仓库模式 | 微服务、多子系统、多仓统一路线图、跨仓 release、Agent 需要从一个地方启动 | 小项目,或只有一个短期脚本仓库 | 父仓库 `AGENTS.md` + `coding-agent-harness/` |
|
|
20
20
|
|
|
21
21
|
## 单仓模式
|
|
22
22
|
|
|
@@ -26,12 +26,12 @@ Coding Agent Harness 可以落在不同的仓库组织方式里。选择错了
|
|
|
26
26
|
product-repo/
|
|
27
27
|
AGENTS.md
|
|
28
28
|
docs/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
coding-agent-harness/context/architecture/
|
|
30
|
+
coding-agent-harness/context/development/
|
|
31
|
+
coding-agent-harness/governance/regression/
|
|
32
|
+
coding-agent-harness/planning/
|
|
33
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
34
|
+
coding-agent-harness/governance/standards/
|
|
35
35
|
src/
|
|
36
36
|
tests/
|
|
37
37
|
```
|
|
@@ -82,10 +82,10 @@ sdk-repo/
|
|
|
82
82
|
|
|
83
83
|
每个仓库至少要在这些位置写清楚外部边界:
|
|
84
84
|
|
|
85
|
-
- `
|
|
86
|
-
- `
|
|
87
|
-
- `
|
|
88
|
-
- `
|
|
85
|
+
- `coding-agent-harness/context/architecture/`:本仓库在整体系统中的位置。
|
|
86
|
+
- `coding-agent-harness/context/development/`:依赖哪些 sibling repo、本地联调怎么启动。
|
|
87
|
+
- `coding-agent-harness/context/integrations/`:API、事件、SDK、队列、数据库、鉴权等外部契约。
|
|
88
|
+
- `coding-agent-harness/governance/regression/Regression-SSoT.md`:哪些检查只覆盖本仓库,哪些需要跨仓联调。
|
|
89
89
|
- `AGENTS.md`:遇到跨仓任务时,Agent 应该停下来、切仓库,还是交给人协调。
|
|
90
90
|
|
|
91
91
|
### 风险
|
|
@@ -106,13 +106,13 @@ sdk-repo/
|
|
|
106
106
|
product-control-repo/
|
|
107
107
|
AGENTS.md
|
|
108
108
|
docs/
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
109
|
+
coding-agent-harness/context/architecture/
|
|
110
|
+
coding-agent-harness/context/development/
|
|
111
|
+
coding-agent-harness/governance/regression/
|
|
112
|
+
coding-agent-harness/context/integrations/
|
|
113
|
+
coding-agent-harness/planning/
|
|
114
|
+
coding-agent-harness/planning/tasks/<task>/
|
|
115
|
+
coding-agent-harness/governance/standards/
|
|
116
116
|
tools/
|
|
117
117
|
frontend/ -> child repository
|
|
118
118
|
backend/ -> child repository
|
|
@@ -164,7 +164,7 @@ product-control-repo/
|
|
|
164
164
|
|
|
165
165
|
### 单仓到多仓
|
|
166
166
|
|
|
167
|
-
当一个单仓拆出前端、后端、SDK 时,不要直接复制 `
|
|
167
|
+
当一个单仓拆出前端、后端、SDK 时,不要直接复制 `coding-agent-harness/` 到每个仓库。
|
|
168
168
|
|
|
169
169
|
先决定:
|
|
170
170
|
|
|
@@ -8,7 +8,7 @@ Coding Agent Harness does not model task state as a single field. The Dashboard
|
|
|
8
8
|
- `review.md` stores Agent Review Submission, material findings, and review evidence.
|
|
9
9
|
- `INDEX.md` stores Task Audit Metadata, including task creation and human review confirmation audit fields.
|
|
10
10
|
- `lesson_candidates.md` records lesson candidate decisions and sedimentation routing.
|
|
11
|
-
- `
|
|
11
|
+
- `coding-agent-harness/governance/generated/Closeout-Index.md` records closeout status and links walkthrough evidence.
|
|
12
12
|
- Tombstone / supersede metadata records whether a task was soft-deleted, merged, archived, or replaced.
|
|
13
13
|
- The scanner derives `lifecycleState`, `reviewStatus`, `closeoutStatus`, `taskQueues[]`, `queueReasons[]`, and `repairPrompt` from those files.
|
|
14
14
|
|
|
@@ -58,7 +58,7 @@ flowchart TB
|
|
|
58
58
|
Index["INDEX.md<br/>Task Audit Metadata"]
|
|
59
59
|
Review["review.md<br/>Agent Review Submission + findings + evidence"]
|
|
60
60
|
Lessons["lesson_candidates.md<br/>decision + sedimentation route"]
|
|
61
|
-
Closeout["Closeout-
|
|
61
|
+
Closeout["Closeout-Index.md<br/>closeout row + walkthrough"]
|
|
62
62
|
Tombstone["tombstone / supersede metadata"]
|
|
63
63
|
Scanner["scanner"]
|
|
64
64
|
|
|
@@ -81,7 +81,7 @@ flowchart TB
|
|
|
81
81
|
| --- | --- | --- |
|
|
82
82
|
| `task.state` | `progress.md` | Raw execution stage. |
|
|
83
83
|
| `reviewStatus` | `INDEX.md` Task Audit Metadata + `review.md` findings/submission | Separates missing review, agent-submitted review, blockers, and human confirmation. |
|
|
84
|
-
| `closeoutStatus` | `Closeout-
|
|
84
|
+
| `closeoutStatus` | `Closeout-Index.md` | Separates missing, pending, and closed closeout. |
|
|
85
85
|
| `lifecycleState` | scanner-derived | Main Dashboard lifecycle meaning. |
|
|
86
86
|
| `taskQueues[]` | scanner-derived | Which lifecycle queues include the task. A task can be visible in more than one governance queue. |
|
|
87
87
|
| `queueReasons[]` | scanner-derived | Why the task entered a queue, including source file, field, and repair action. |
|
|
@@ -153,11 +153,11 @@ Global governance tables only keep index, state, route, and audit summary. They
|
|
|
153
153
|
|
|
154
154
|
| Layer | Should record | Should not record |
|
|
155
155
|
| --- | --- | --- |
|
|
156
|
-
| Global tables: Harness Ledger, Closeout
|
|
156
|
+
| Global tables: Harness Ledger, Closeout Index, Regression SSoT, Cadence Ledger, Delivery SSoT | Current state, owner, task/module/detail links, regression gate, delivery sequence, closeout or audit summary | Module-internal steps, undecided lesson candidates, full command output, long evidence paragraphs, review transcripts, temporary repair prompts |
|
|
157
157
|
| Module layer: Module Registry, `module_plan.md` | Module boundary, module steps, handoff, current blockers, and local evidence indexes | Final promoted lesson body or cross-module release audit ledger |
|
|
158
158
|
| Task layer: `brief.md`, `task_plan.md`, `progress.md`, `review.md`, `lesson_candidates.md`, `lessons/LC-*.md`, `artifacts/INDEX.md` | Execution detail, evidence, agent review, candidate lessons, task-local lesson detail, repair prompts, and raw artifact routing | Cross-task ledgers or promoted lesson detail bodies |
|
|
159
159
|
|
|
160
|
-
The checker enforces this boundary for new global table rows. Overloaded rows that already existed before 2026-05-24 are surfaced in Dashboard migration advice as `legacy-report-only`; they are not automatically deleted or bulk-rewritten. New rows that continue placing task/module-local detail in global tables are reported as `governance-table-entropy` failures. Lesson candidates stay in `lesson_candidates.md`; candidates that enter `needs-promotion` must link a task-local `lessons/LC-*.md` detail artifact, and accepted reusable lessons live in `
|
|
160
|
+
The checker enforces this boundary for new global table rows. Overloaded rows that already existed before 2026-05-24 are surfaced in Dashboard migration advice as `legacy-report-only`; they are not automatically deleted or bulk-rewritten. New rows that continue placing task/module-local detail in global tables are reported as `governance-table-entropy` failures. Lesson candidates stay in `lesson_candidates.md`; candidates that enter `needs-promotion` must link a task-local `lessons/LC-*.md` detail artifact, and accepted reusable lessons live in `coding-agent-harness/governance/lessons/*.md`. The fix is to keep the global summary row and move detail into module/task/detail documents linked from that row.
|
|
161
161
|
|
|
162
162
|
## Human Confirmation Loop
|
|
163
163
|
|
|
@@ -8,7 +8,7 @@ Coding Agent Harness 的任务状态不是一个单字段。Dashboard 里看到
|
|
|
8
8
|
- `review.md` 记录 Agent Review Submission、material findings 和审查证据。
|
|
9
9
|
- `INDEX.md` 记录任务审计元数据,包括任务创建和人工确认审计字段。
|
|
10
10
|
- `lesson_candidates.md` 记录 lesson candidate 的人工判定和后续沉淀路由。
|
|
11
|
-
- `
|
|
11
|
+
- `coding-agent-harness/governance/generated/Closeout-Index.md` 记录任务是否完成收口,并链接 walkthrough。
|
|
12
12
|
- Tombstone / supersede 信息记录任务是否被软删除、合并、归档或替代。
|
|
13
13
|
- Scanner 从这些文件推导 `lifecycleState`、`reviewStatus`、`closeoutStatus`、`taskQueues[]`、`queueReasons[]` 和 `repairPrompt`。
|
|
14
14
|
|
|
@@ -58,7 +58,7 @@ flowchart TB
|
|
|
58
58
|
Index["INDEX.md<br/>Task Audit Metadata"]
|
|
59
59
|
Review["review.md<br/>Agent Review Submission + findings + evidence"]
|
|
60
60
|
Lessons["lesson_candidates.md<br/>decision + sedimentation route"]
|
|
61
|
-
Closeout["Closeout-
|
|
61
|
+
Closeout["Closeout-Index.md<br/>closeout row + walkthrough"]
|
|
62
62
|
Tombstone["tombstone / supersede metadata"]
|
|
63
63
|
Scanner["scanner"]
|
|
64
64
|
|
|
@@ -81,7 +81,7 @@ flowchart TB
|
|
|
81
81
|
| --- | --- | --- |
|
|
82
82
|
| `task.state` | `progress.md` | 原始执行阶段。 |
|
|
83
83
|
| `reviewStatus` | `INDEX.md` Task Audit Metadata + `review.md` findings/submission | 区分缺审查、Agent 已提交审查、阻塞、人工确认。 |
|
|
84
|
-
| `closeoutStatus` | `Closeout-
|
|
84
|
+
| `closeoutStatus` | `Closeout-Index.md` | 区分收口缺失、待处理、已关闭。 |
|
|
85
85
|
| `lifecycleState` | scanner 派生 | Dashboard 的主生命周期语义。 |
|
|
86
86
|
| `taskQueues[]` | scanner 派生 | 任务属于哪些生命周期队列。一个任务可同时在多个治理队列中可见。 |
|
|
87
87
|
| `queueReasons[]` | scanner 派生 | 为什么进入队列,以及对应源文件、字段和修复动作。 |
|
|
@@ -154,7 +154,7 @@ Review 队列只等人确认。缺材料、阻塞、lesson 沉淀、已确认待
|
|
|
154
154
|
|
|
155
155
|
| 层级 | 应该记录什么 | 不应该记录什么 |
|
|
156
156
|
| --- | --- | --- |
|
|
157
|
-
| 全局表:Harness Ledger、Closeout
|
|
157
|
+
| 全局表:Harness Ledger、Closeout Index、Regression SSoT、Cadence Ledger、Delivery SSoT | 当前状态、负责人、任务/模块/详情文档链接、回归 gate、交付顺序、收口或审计摘要 | 模块内步骤、未判定 lesson candidate、完整命令输出、长证据段落、review transcript、临时 repair prompt |
|
|
158
158
|
| 模块层:Module Registry、`module_plan.md` | 模块边界、模块内步骤、handoff、当前阻塞和局部证据索引 | 已 promotion 的全局 lesson 正文、跨模块发布审计总账 |
|
|
159
159
|
| 任务层:`brief.md`、`task_plan.md`、`progress.md`、`review.md`、`lesson_candidates.md`、`lessons/LC-*.md`、`artifacts/INDEX.md` | 执行细节、证据、agent review、候选 lesson、task-local lesson 详情、修复提示和 raw artifact 路由 | 跨任务总账或 promoted lesson 详情正文 |
|
|
160
160
|
|
|
@@ -163,7 +163,7 @@ Checker 对新增全局表行执行该边界。2026-05-24 之前已经存在的
|
|
|
163
163
|
新增行如果把 task/module 局部细节继续塞进全局表,会作为 `governance-table-entropy`
|
|
164
164
|
失败项报告。Lesson candidate 留在 `lesson_candidates.md`;进入 `needs-promotion`
|
|
165
165
|
的候选必须链接任务本地 `lessons/LC-*.md` 详情文件,已接受的经验再写入
|
|
166
|
-
`
|
|
166
|
+
`coding-agent-harness/governance/lessons/*.md` promoted 详情文档。修复方式是保留必要全局摘要行,
|
|
167
167
|
把细节移动到 module/task/detail 文档并在全局表中链接过去。
|
|
168
168
|
|
|
169
169
|
## 人工确认闭环
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# TypeScript Runtime Migration Closeout
|
|
2
|
+
|
|
3
|
+
This closeout records the public package rule after the progressive JavaScript to
|
|
4
|
+
TypeScript runtime migration. The package now executes committed
|
|
5
|
+
`dist/**/*.mjs` artifacts, while `scripts/**/*.mts` and `tests/**/*.mts` are the
|
|
6
|
+
source ownership surfaces. Historical checked-in `scripts/**/*.mjs` and
|
|
7
|
+
`tests/**/*.mjs` shims have been removed after the dist observation gates passed.
|
|
8
|
+
|
|
9
|
+
## Current State
|
|
10
|
+
|
|
11
|
+
All Node runtime and test sources under `scripts/` and `tests/` are now
|
|
12
|
+
TypeScript-first:
|
|
13
|
+
|
|
14
|
+
- `scripts/**/*.mts` builds to committed `dist/**/*.mjs` artifacts.
|
|
15
|
+
- `tests/**/*.mts` runs through the built test runner.
|
|
16
|
+
- `dist/**/*.mjs` is the package runtime surface for npm bin, npm scripts, and
|
|
17
|
+
postinstall.
|
|
18
|
+
- `scripts/**/*.mjs` and `tests/**/*.mjs` have a final inventory of zero.
|
|
19
|
+
|
|
20
|
+
The npm package publishes `dist/` and no longer publishes `scripts/` or `tests/`.
|
|
21
|
+
This keeps installed execution independent from TypeScript source files and from
|
|
22
|
+
the deleted historical shims.
|
|
23
|
+
|
|
24
|
+
## Final Closeout Evidence
|
|
25
|
+
|
|
26
|
+
The TS-first runtime closeout is based on the PR-28 deletion gate plus the PR-29
|
|
27
|
+
final inventory:
|
|
28
|
+
|
|
29
|
+
- final `scripts/` and `tests/` JavaScript shim inventory is zero;
|
|
30
|
+
- packed package file inventory includes `dist/` and excludes `scripts/` and
|
|
31
|
+
`tests/`;
|
|
32
|
+
- Node 24 tarball smoke proved installed `harness` commands execute from
|
|
33
|
+
`dist/` with a temporary `HOME` and PATH isolated to the temp consumer
|
|
34
|
+
`node_modules/.bin`;
|
|
35
|
+
- source-package and target-project checks pass through `dist/harness.mjs`;
|
|
36
|
+
- snapshot matrix reported no blocking drift after shim deletion.
|
|
37
|
+
|
|
38
|
+
That means remaining package-included JavaScript is not unfinished CLI/test
|
|
39
|
+
runtime migration work. The remaining files are the documented preset and
|
|
40
|
+
dashboard exceptions below.
|
|
41
|
+
|
|
42
|
+
## Runtime Contract
|
|
43
|
+
|
|
44
|
+
The package is an ESM package and its current public runtime contract points at
|
|
45
|
+
the committed dist build output:
|
|
46
|
+
|
|
47
|
+
- `package.json` maps the `harness` executable to `dist/harness.mjs`.
|
|
48
|
+
- npm postinstall runs `dist/postinstall.mjs`.
|
|
49
|
+
- npm helper scripts such as `check`, `status`, and dashboard generation run
|
|
50
|
+
through `dist/harness.mjs`.
|
|
51
|
+
- Runtime modules import sibling `.mjs` files inside `dist/`, so installed
|
|
52
|
+
package execution does not depend on TypeScript loaders.
|
|
53
|
+
|
|
54
|
+
The PR-27 observation gate proved the package was dist-primary before deletion.
|
|
55
|
+
The PR-28 deletion gate keeps that proof executable by requiring final inventory
|
|
56
|
+
counts of zero for `scripts/**/*.mjs` and `tests/**/*.mjs`, package dry-run with
|
|
57
|
+
no `scripts/**` or `tests/**`, snapshot matrix, and Node 24 tarball smoke.
|
|
58
|
+
|
|
59
|
+
## Documented Exceptions
|
|
60
|
+
|
|
61
|
+
The following package-included JavaScript files are not part of the Node runtime
|
|
62
|
+
source-twin cleanup target.
|
|
63
|
+
|
|
64
|
+
| Path | Reason To Keep |
|
|
65
|
+
| --- | --- |
|
|
66
|
+
| `presets/legacy-migration/checks/preset-check.mjs` | Preset executable hook. It belongs to the preset extension surface, not core runtime migration. |
|
|
67
|
+
| `presets/legacy-migration/scripts/plan-work-queue.mjs` | Preset helper script loaded as packaged preset material. |
|
|
68
|
+
| `presets/legacy-migration/scripts/scaffold-task-contracts.mjs` | Preset helper script loaded as packaged preset material. |
|
|
69
|
+
| `templates/dashboard/assets/app-src/*.js` | Browser dashboard source assets. They are shipped as template assets, not Node runtime modules. |
|
|
70
|
+
| `templates/dashboard/assets/app.js` | Built browser dashboard bundle. Keep until a separate dashboard asset pipeline replaces it. |
|
|
71
|
+
| `templates/dashboard/assets/i18n.js` | Browser dashboard localization asset. |
|
|
72
|
+
| `templates/dashboard/assets/markdown-reader.js` | Browser dashboard helper asset. |
|
|
73
|
+
| `templates/dashboard/assets/mermaid-renderer.js` | Browser dashboard helper asset. |
|
|
74
|
+
|
|
75
|
+
These files should not be deleted by a runtime `.mjs` cleanup PR. If they are
|
|
76
|
+
migrated later, use a dedicated preset or dashboard asset migration plan with its
|
|
77
|
+
own package and browser checks.
|
|
78
|
+
|
|
79
|
+
## Future Cleanup Gate
|
|
80
|
+
|
|
81
|
+
Any future PR that removes or migrates the remaining preset/dashboard JavaScript
|
|
82
|
+
exceptions must prove all of the following for its own surface:
|
|
83
|
+
|
|
84
|
+
- package `bin` and `postinstall` still work from a packed tarball;
|
|
85
|
+
- installed package execution works with a temp `HOME` and PATH isolated to the
|
|
86
|
+
temp consumer `node_modules/.bin`;
|
|
87
|
+
- `npm pack --dry-run --json` includes the intended runtime files and excludes
|
|
88
|
+
private, temporary, and test-only material;
|
|
89
|
+
- snapshot matrix has no blocking drift;
|
|
90
|
+
- real target smoke passes;
|
|
91
|
+
- the PR is independently revertible without reverting the earlier dist runtime
|
|
92
|
+
cutover or the PR-28 historical shim deletion.
|
|
93
|
+
|
|
94
|
+
`dist/**/*.mjs` remains the supported package execution surface. Preset `.mjs`
|
|
95
|
+
hooks and dashboard browser `.js` assets remain documented exceptions, not
|
|
96
|
+
unfinished CLI runtime migration work.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# Minimal Harness Example
|
|
2
2
|
|
|
3
|
-
Use `
|
|
4
|
-
task execution records.
|
|
3
|
+
Use `coding-agent-harness/governance/standards/` for project rules and
|
|
4
|
+
`coding-agent-harness/planning/tasks/` for task execution records.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
locale: en-US
|
|
3
|
+
capabilities:
|
|
4
|
+
- core
|
|
5
|
+
- dashboard
|
|
6
|
+
structure:
|
|
7
|
+
harnessRoot: coding-agent-harness
|
|
8
|
+
planningRoot: coding-agent-harness/planning
|
|
9
|
+
tasksRoot: coding-agent-harness/planning/tasks
|
|
10
|
+
modulesRoot: coding-agent-harness/planning/modules
|
|
11
|
+
externalRoot: coding-agent-harness/planning/external
|
|
12
|
+
governanceRoot: coding-agent-harness/governance
|
|
13
|
+
generatedRoot: coding-agent-harness/governance/generated
|
|
14
|
+
regressionRoot: coding-agent-harness/governance/regression
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Demo Task - Progress
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
in-progress
|
|
6
|
+
|
|
7
|
+
## Updates
|
|
8
|
+
|
|
9
|
+
| Date | Update | Evidence |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| 2026-05-18 | Created example visual map | report:TARGET:coding-agent-harness/planning/tasks/demo-task/visual_map.md:example phase table |
|
|
@@ -14,7 +14,7 @@ No material finding for this example.
|
|
|
14
14
|
|
|
15
15
|
| Evidence ID | Type | Path | Summary |
|
|
16
16
|
| --- | --- | --- | --- |
|
|
17
|
-
| E-001 | review | TARGET:
|
|
17
|
+
| E-001 | review | TARGET:coding-agent-harness/planning/tasks/demo-task/task_plan.md | Visual map table exists |
|
|
18
18
|
|
|
19
19
|
## Findings
|
|
20
20
|
|