coding-agent-harness 1.0.2 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/CONTRIBUTING.md +98 -0
  3. package/LICENSE +661 -21
  4. package/LICENSE-EXCEPTION.md +37 -0
  5. package/README.md +244 -87
  6. package/README.zh-CN.md +77 -35
  7. package/SKILL.md +32 -24
  8. package/docs-release/README.md +9 -5
  9. package/docs-release/architecture/overview.md +17 -5
  10. package/docs-release/architecture/overview.zh-CN.md +9 -5
  11. package/docs-release/architecture/system-explainer/01-system-overview.md +217 -0
  12. package/docs-release/architecture/system-explainer/02-module-dependency.md +257 -0
  13. package/docs-release/architecture/system-explainer/03-task-lifecycle.md +304 -0
  14. package/docs-release/architecture/system-explainer/04-check-and-governance.md +239 -0
  15. package/docs-release/architecture/system-explainer/05-data-flow.md +276 -0
  16. package/docs-release/architecture/system-explainer/06-preset-and-migration.md +303 -0
  17. package/docs-release/architecture/system-explainer/README.md +67 -0
  18. package/docs-release/architecture/system-explainer/en-US/01-system-overview.md +226 -0
  19. package/docs-release/architecture/system-explainer/en-US/02-module-dependency.md +263 -0
  20. package/docs-release/architecture/system-explainer/en-US/03-task-lifecycle.md +319 -0
  21. package/docs-release/architecture/system-explainer/en-US/04-check-and-governance.md +250 -0
  22. package/docs-release/architecture/system-explainer/en-US/05-data-flow.md +290 -0
  23. package/docs-release/architecture/system-explainer/en-US/06-preset-and-migration.md +323 -0
  24. package/docs-release/architecture/system-explainer/en-US/README.md +70 -0
  25. package/docs-release/assets/dashboard-overview.png +0 -0
  26. package/docs-release/guides/agent-installation.en-US.md +39 -15
  27. package/docs-release/guides/agent-installation.md +43 -16
  28. package/docs-release/guides/contributing.md +100 -0
  29. package/docs-release/guides/contributing.zh-CN.md +99 -0
  30. package/docs-release/guides/document-audience-and-surfaces.en-US.md +3 -2
  31. package/docs-release/guides/document-audience-and-surfaces.md +3 -2
  32. package/docs-release/guides/full-legacy-migration-subagent-strategy.md +2 -2
  33. package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +2 -2
  34. package/docs-release/guides/legacy-migration-agent-prompt.md +0 -11
  35. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +0 -11
  36. package/docs-release/guides/migration-playbook.en-US.md +14 -15
  37. package/docs-release/guides/migration-playbook.md +14 -15
  38. package/docs-release/guides/parent-control-repository-pattern.en-US.md +7 -5
  39. package/docs-release/guides/parent-control-repository-pattern.md +7 -5
  40. package/docs-release/guides/preset-development.md +238 -0
  41. package/docs-release/guides/repository-operating-models.en-US.md +5 -4
  42. package/docs-release/guides/repository-operating-models.md +5 -4
  43. package/docs-release/guides/task-state-machine.en-US.md +224 -0
  44. package/docs-release/guides/task-state-machine.md +231 -0
  45. package/docs-release/intl/en-US.md +1 -1
  46. package/docs-release/intl/zh-CN.md +1 -1
  47. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/INDEX.md +60 -0
  48. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/findings.md +7 -0
  49. package/package.json +10 -4
  50. package/presets/legacy-migration/checks/preset-check.mjs +3 -0
  51. package/presets/legacy-migration/preset.yaml +134 -0
  52. package/presets/legacy-migration/scripts/plan-work-queue.mjs +4 -0
  53. package/presets/legacy-migration/scripts/scaffold-task-contracts.mjs +4 -0
  54. package/presets/legacy-migration/templates/execution_strategy.append.md +18 -0
  55. package/presets/legacy-migration/templates/findings.seed.md +17 -0
  56. package/presets/legacy-migration/templates/review.seed.md +12 -0
  57. package/presets/legacy-migration/templates/task_plan.append.md +9 -0
  58. package/presets/legacy-migration/templates/visual_map.append.md +12 -0
  59. package/presets/legacy-migration/workbench/dashboard-panels.yaml +2 -0
  60. package/presets/legacy-migration/workbench/migration-queue.schema.json +23 -0
  61. package/presets/lesson-sedimentation/preset.yaml +23 -0
  62. package/presets/lesson-sedimentation/templates/prompt.md +23 -0
  63. package/presets/module/preset.yaml +25 -0
  64. package/presets/module/templates/execution_strategy.append.md +8 -0
  65. package/presets/module/templates/task_plan.append.md +17 -0
  66. package/presets/standard-task/preset.yaml +31 -0
  67. package/presets/standard-task/templates/task_plan.append.md +7 -0
  68. package/references/adversarial-review-standard.md +2 -2
  69. package/references/agents-md-pattern.md +2 -2
  70. package/references/delivery-operating-model-standard.md +3 -3
  71. package/references/docs-directory-standard.md +6 -7
  72. package/references/harness-ledger.md +53 -96
  73. package/references/lessons-governance.md +88 -93
  74. package/references/module-parallel-standard.md +14 -14
  75. package/references/planning-loop.md +12 -6
  76. package/references/pull-request-standard.md +118 -0
  77. package/references/repo-governance-standard.md +11 -2
  78. package/references/review-routing-standard.md +7 -1
  79. package/references/ssot-governance.md +67 -59
  80. package/references/taskr-gap-analysis.md +600 -0
  81. package/references/walkthrough-closeout.md +7 -7
  82. package/scripts/check-harness.mjs +40 -301
  83. package/scripts/commands/dashboard-command.mjs +67 -0
  84. package/scripts/commands/migration-command.mjs +126 -0
  85. package/scripts/commands/preset-command.mjs +73 -0
  86. package/scripts/commands/task-command.mjs +328 -0
  87. package/scripts/harness.mjs +59 -260
  88. package/scripts/lib/capability-registry.mjs +82 -28
  89. package/scripts/lib/check-module-parallel.mjs +230 -0
  90. package/scripts/lib/check-profiles.mjs +90 -228
  91. package/scripts/lib/check-task-contracts.mjs +55 -0
  92. package/scripts/lib/core-shared.mjs +65 -2
  93. package/scripts/lib/dashboard-data.mjs +155 -24
  94. package/scripts/lib/dashboard-workbench.mjs +131 -12
  95. package/scripts/lib/dashboard-writer.mjs +20 -4
  96. package/scripts/lib/git-status-summary.mjs +46 -0
  97. package/scripts/lib/governance-index-generator.mjs +174 -0
  98. package/scripts/lib/governance-sync.mjs +611 -0
  99. package/scripts/lib/governance-table-boundary.mjs +175 -0
  100. package/scripts/lib/harness-core.mjs +6 -0
  101. package/scripts/lib/lesson-maintenance.mjs +36 -29
  102. package/scripts/lib/markdown-utils.mjs +33 -0
  103. package/scripts/lib/migration-planner.mjs +4 -6
  104. package/scripts/lib/migration-support.mjs +1 -1
  105. package/scripts/lib/phase-kind.mjs +50 -0
  106. package/scripts/lib/preset-audit-contracts.mjs +37 -0
  107. package/scripts/lib/preset-engine.mjs +494 -0
  108. package/scripts/lib/preset-registry.mjs +776 -0
  109. package/scripts/lib/preset-resource-contracts.mjs +83 -0
  110. package/scripts/lib/review-confirm-git-gate.mjs +248 -0
  111. package/scripts/lib/status-builder.mjs +88 -0
  112. package/scripts/lib/status-dashboard-renderer.mjs +105 -0
  113. package/scripts/lib/subagent-authorization-audit.mjs +196 -0
  114. package/scripts/lib/task-audit-metadata.mjs +385 -0
  115. package/scripts/lib/task-audit-migration.mjs +350 -0
  116. package/scripts/lib/task-completion-consistency.mjs +26 -0
  117. package/scripts/lib/task-index.mjs +93 -0
  118. package/scripts/lib/task-lesson-candidates.mjs +242 -0
  119. package/scripts/lib/task-lesson-sedimentation.mjs +326 -0
  120. package/scripts/lib/task-lifecycle/create-task-helpers.mjs +67 -0
  121. package/scripts/lib/task-lifecycle/phase-sync.mjs +88 -0
  122. package/scripts/lib/task-lifecycle/review-confirm.mjs +112 -0
  123. package/scripts/lib/task-lifecycle/review-gates.mjs +73 -0
  124. package/scripts/lib/task-lifecycle/review-submission.mjs +63 -0
  125. package/scripts/lib/task-lifecycle/scaffold-provenance.mjs +49 -0
  126. package/scripts/lib/task-lifecycle/template-files.mjs +53 -0
  127. package/scripts/lib/task-lifecycle/text-utils.mjs +24 -0
  128. package/scripts/lib/task-lifecycle.mjs +338 -477
  129. package/scripts/lib/task-metadata.mjs +118 -0
  130. package/scripts/lib/task-review-model.mjs +455 -0
  131. package/scripts/lib/task-scanner.mjs +193 -372
  132. package/scripts/lib/task-tombstone-commands.mjs +140 -0
  133. package/scripts/postinstall.mjs +14 -0
  134. package/skills/preset-creator/SKILL.md +179 -0
  135. package/skills/preset-creator/references/complex-task-skeleton/README.md +31 -0
  136. package/skills/preset-creator/references/complex-task-skeleton/artifacts/INDEX.md +12 -0
  137. package/skills/preset-creator/references/complex-task-skeleton/brief.md +43 -0
  138. package/skills/preset-creator/references/complex-task-skeleton/execution_strategy.md +71 -0
  139. package/skills/preset-creator/references/complex-task-skeleton/findings.md +24 -0
  140. package/skills/preset-creator/references/complex-task-skeleton/lesson_candidates.md +70 -0
  141. package/skills/preset-creator/references/complex-task-skeleton/long-running-task-contract.md +76 -0
  142. package/skills/preset-creator/references/complex-task-skeleton/progress.md +33 -0
  143. package/skills/preset-creator/references/complex-task-skeleton/references/INDEX.md +13 -0
  144. package/skills/preset-creator/references/complex-task-skeleton/review.md +107 -0
  145. package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +111 -0
  146. package/skills/preset-creator/references/complex-task-skeleton/visual_map.md +50 -0
  147. package/skills/preset-creator/references/preset-package-skeleton.md +296 -0
  148. package/templates/AGENTS.md.template +24 -18
  149. package/templates/dashboard/assets/app-src/00-state.js +13 -0
  150. package/templates/dashboard/assets/app-src/10-router.js +5 -1
  151. package/templates/dashboard/assets/app-src/20-overview.js +18 -8
  152. package/templates/dashboard/assets/app-src/30-tasks.js +92 -246
  153. package/templates/dashboard/assets/app-src/35-task-detail.js +286 -0
  154. package/templates/dashboard/assets/app-src/45-review.js +241 -22
  155. package/templates/dashboard/assets/app-src/50-migration.js +24 -10
  156. package/templates/dashboard/assets/app-src/55-presets.js +375 -0
  157. package/templates/dashboard/assets/app-src/60-shared.js +3 -1
  158. package/templates/dashboard/assets/app-src/90-bindings.js +302 -29
  159. package/templates/dashboard/assets/app.css +1501 -376
  160. package/templates/dashboard/assets/app.css.manifest.json +10 -0
  161. package/templates/dashboard/assets/app.js +1240 -101
  162. package/templates/dashboard/assets/app.manifest.json +2 -0
  163. package/templates/dashboard/assets/css-src/00-foundation.css +346 -0
  164. package/templates/dashboard/assets/css-src/10-panels-flow.css +236 -0
  165. package/templates/dashboard/assets/css-src/20-briefs-controls.css +398 -0
  166. package/templates/dashboard/assets/css-src/30-task-index.css +739 -0
  167. package/templates/dashboard/assets/css-src/35-review-workspace.css +507 -0
  168. package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +489 -0
  169. package/templates/dashboard/assets/css-src/45-presets.css +516 -0
  170. package/templates/dashboard/assets/css-src/50-responsive-overrides.css +551 -0
  171. package/templates/dashboard/assets/i18n.js +263 -23
  172. package/templates/ledger/Harness-Ledger.md +13 -25
  173. package/templates/lessons/lesson-arch-process-change.md +1 -1
  174. package/templates/lessons/lesson-new-doc.md +1 -1
  175. package/templates/lessons/lesson-ref-change.md +1 -1
  176. package/templates/planning/INDEX.md +87 -0
  177. package/templates/planning/brief.md +1 -1
  178. package/templates/planning/execution_strategy.md +31 -0
  179. package/templates/planning/lesson_candidates.md +18 -6
  180. package/templates/planning/module_session_prompt.md +1 -0
  181. package/templates/planning/optional/artifacts/INDEX.md +3 -3
  182. package/templates/planning/optional/references/INDEX.md +3 -3
  183. package/templates/planning/review.md +41 -0
  184. package/templates/planning/task_plan.md +5 -21
  185. package/templates/planning/visual_map.md +13 -9
  186. package/templates/planning/visual_map.simple.md +52 -0
  187. package/templates/reference/execution-workflow-standard.md +31 -3
  188. package/templates/reference/pull-request-standard.md +80 -0
  189. package/templates/reference/repo-governance-standard.md +7 -6
  190. package/templates/reference/review-routing-standard.md +6 -0
  191. package/templates/reference/walkthrough-standard.md +2 -1
  192. package/templates/verifier/verifier-output.md +1 -1
  193. package/templates-zh-CN/AGENTS.md.template +25 -19
  194. package/templates-zh-CN/ledger/Harness-Ledger.md +17 -40
  195. package/templates-zh-CN/planning/INDEX.md +87 -0
  196. package/templates-zh-CN/planning/brief.md +1 -1
  197. package/templates-zh-CN/planning/execution_strategy.md +30 -0
  198. package/templates-zh-CN/planning/lesson_candidates.md +18 -6
  199. package/templates-zh-CN/planning/module_session_prompt.md +1 -0
  200. package/templates-zh-CN/planning/review.md +41 -1
  201. package/templates-zh-CN/planning/task_plan.md +4 -44
  202. package/templates-zh-CN/planning/visual_map.md +14 -7
  203. package/templates-zh-CN/planning/visual_map.simple.md +48 -0
  204. package/templates-zh-CN/reference/adversarial-review-standard.md +1 -1
  205. package/templates-zh-CN/reference/docs-library-standard.md +1 -1
  206. package/templates-zh-CN/reference/execution-workflow-standard.md +33 -7
  207. package/templates-zh-CN/reference/harness-ledger-standard.md +2 -2
  208. package/templates-zh-CN/reference/pull-request-standard.md +106 -0
  209. package/templates-zh-CN/reference/repo-governance-standard.md +4 -3
  210. package/templates-zh-CN/reference/review-routing-standard.md +8 -1
  211. package/templates-zh-CN/reference/walkthrough-standard.md +3 -2
  212. package/templates-zh-CN/walkthrough/Closeout-SSoT.md +1 -1
  213. package/docs-release/assets/dashboard-overview-en.png +0 -0
  214. package/scripts/smoke-dashboard.mjs +0 -92
  215. package/scripts/test-harness.mjs +0 -1395
  216. package/templates/ssot/Feature-SSoT.md +0 -43
  217. package/templates/ssot/Lessons-SSoT.md +0 -44
  218. package/templates-zh-CN/ssot/Feature-SSoT.md +0 -49
  219. package/templates-zh-CN/ssot/Lessons-SSoT.md +0 -49
@@ -0,0 +1,134 @@
1
+ id: legacy-migration
2
+ version: 2
3
+ compatibleBudgets: [complex]
4
+ localeSupport: [en-US, zh-CN]
5
+ purpose: migrate legacy Harness projects into v1 task readability and cutover gates
6
+ task:
7
+ kind: project-migration
8
+ defaultTaskId: harness-v1-migration
9
+ defaultOutcome: Create a controlled Harness v1 migration task from the recorded migrate-run session without rewriting history automatically.
10
+ requiresFromSession: true
11
+ projectLevelOnly: true
12
+ migrationTargetLevel: migration-baseline
13
+ inputs:
14
+ session:
15
+ type: json-file
16
+ flag: --from-session
17
+ required: true
18
+ validateOperation: migrate-run
19
+ rejectPlanOnly: true
20
+ requireTarget: true
21
+ targetFromSession: true
22
+ templateValues:
23
+ preset:
24
+ value: legacy-migration
25
+ presetVersion:
26
+ value: 2
27
+ evidenceBundle:
28
+ from: computed.evidenceBundle
29
+ migrationTargetLevel:
30
+ from: computed.migrationTargetLevel
31
+ migrationAchievedLevel:
32
+ from: computed.migrationAchievedLevel
33
+ strictDeferred:
34
+ from: computed.strictDeferred
35
+ fullCutoverClaimAllowed:
36
+ from: computed.fullCutoverClaimAllowed
37
+ warnings:
38
+ from: computed.warnings
39
+ taskActions:
40
+ from: computed.taskActions
41
+ legacyResiduals:
42
+ from: computed.legacyResiduals
43
+ entrypoints:
44
+ newTask:
45
+ type: template
46
+ writes: [docs/09-PLANNING/TASKS/**]
47
+ reads: [session.json]
48
+ audit: true
49
+ templates:
50
+ taskPlanAppend: templates/task_plan.append.md
51
+ executionStrategyAppend: templates/execution_strategy.append.md
52
+ visualMapAppend: templates/visual_map.append.md
53
+ findingsSeed: templates/findings.seed.md
54
+ reviewSeed: templates/review.seed.md
55
+ plan:
56
+ type: script
57
+ command: scripts/plan-work-queue.mjs
58
+ writes: [docs/09-PLANNING/TASKS/**]
59
+ reads: [docs/**, .git/**]
60
+ audit: true
61
+ scaffold:
62
+ type: script
63
+ command: scripts/scaffold-task-contracts.mjs
64
+ writes: [docs/09-PLANNING/TASKS/**]
65
+ reads: [docs/**]
66
+ audit: true
67
+ check:
68
+ type: check
69
+ command: checks/preset-check.mjs
70
+ writes: [docs/09-PLANNING/TASKS/**]
71
+ reads: [docs/**]
72
+ audit: true
73
+ workbench:
74
+ panels: workbench/dashboard-panels.yaml
75
+ migrationQueueSchema: workbench/migration-queue.schema.json
76
+ evidence:
77
+ bundleDir: evidence
78
+ files:
79
+ session:
80
+ path: session.json
81
+ type: input-json
82
+ value: inputs.session
83
+ migratePlan:
84
+ path: migrate-plan.json
85
+ type: json
86
+ value: inputs.session.plan
87
+ normalCheck:
88
+ path: normal-check.json
89
+ type: json
90
+ value: inputs.session.checks.normal
91
+ strictCheck:
92
+ path: strict-check.json
93
+ type: json
94
+ value: inputs.session.checks.strict
95
+ migrateVerify:
96
+ path: migrate-verify.json
97
+ type: migration-verify
98
+ migrationLedger:
99
+ path: migration-ledger.json
100
+ type: migration-ledger
101
+ presetManifest:
102
+ path: preset-manifest.json
103
+ type: preset-manifest
104
+ presetAudit:
105
+ path: preset-audit.json
106
+ type: preset-audit
107
+ writeScope:
108
+ path: write-scope.json
109
+ type: write-scope
110
+ dashboardHash:
111
+ path: dashboard.hash.txt
112
+ type: dashboard-hash
113
+ targetGitStatus:
114
+ path: target-git-status.txt
115
+ type: target-git-status
116
+ targetCommit:
117
+ path: target-commit.txt
118
+ type: target-commit
119
+ harnessVersion:
120
+ path: harness-version.txt
121
+ type: harness-version
122
+ generatedAt:
123
+ path: generated-at.txt
124
+ type: generated-at
125
+ review:
126
+ required: true
127
+ materialFindingPolicy: block-open-p0-p2
128
+ audit:
129
+ manifestRequired: true
130
+ evidenceFiles: [preset-manifest.json, preset-audit.json, write-scope.json]
131
+ writeScopes:
132
+ taskArtifacts:
133
+ path: docs/09-PLANNING/TASKS/**
134
+ access: write
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+
3
+ console.error("legacy-migration plan entrypoint is declared for audit and will be implemented in the v2 package slice.");
4
+ process.exit(2);
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+
3
+ console.error("legacy-migration scaffold entrypoint is declared for audit and will be implemented in the v2 package slice.");
4
+ process.exit(2);
@@ -0,0 +1,18 @@
1
+ ## Legacy Migration Preset Strategy
2
+
3
+ This preset keeps migration inside the Complex Task contract.
4
+
5
+ | Area | Rule |
6
+ | --- | --- |
7
+ | Write boundary | Do not rewrite historical task bodies unless the user explicitly confirms that phase. |
8
+ | Evidence source | Use `{{evidenceBundle}}/` as the handoff bundle. Absolute session paths are origin data only. |
9
+ | Target level | `{{migrationTargetLevel}}` |
10
+ | Achieved level | `{{migrationAchievedLevel}}` |
11
+
12
+ ## Subagent Lane Table
13
+
14
+ Declare lanes before dispatching workers.
15
+
16
+ | Lane ID | Allowed globs | Forbidden globs | Shared file owner | Worktree / branch | Handoff path | Merge order | Verification command |
17
+ | --- | --- | --- | --- | --- | --- | --- | --- |
18
+ | coordinator | docs/09-PLANNING/TASKS/** | AGENTS.md, CLAUDE.md, docs/Harness-Ledger.md until closeout | coordinator | current | progress.md | 1 | harness check --profile target-project . |
@@ -0,0 +1,17 @@
1
+ ## Legacy Migration Action Buckets
2
+
3
+ | Bucket | Count | Owner | Status | Next Action |
4
+ | --- | ---: | --- | --- | --- |
5
+ | warnings | {{warnings}} | coordinator | open | Triage before increasing target level |
6
+ | taskActions | {{taskActions}} | coordinator | open | Upgrade only current/reopened/current-evidence tasks |
7
+ | legacyResiduals | {{legacyResiduals}} | coordinator | open | Assign real owner before full cutover |
8
+
9
+ ## Residual Policy
10
+
11
+ Residuals require reason, owner, trigger, next action, and reviewer. Placeholder owner `migration-owner` is not a real owner.
12
+
13
+ ## Status Conflict Table
14
+
15
+ | Item | Competing Evidence | Chosen Classification | Confidence | Human Needed |
16
+ | --- | --- | --- | --- | --- |
17
+ | pending | session / SSoT / progress / git | pending | medium | yes |
@@ -0,0 +1,12 @@
1
+ ## Legacy Migration Preset Gate
2
+
3
+ `migration-full-cutover` can only be claimed when the final session proves all gates:
4
+
5
+ - final session result is `complete`
6
+ - strict check passes
7
+ - `migrate-verify --full-cutover` passes
8
+ - warnings/actions/residuals/strictDeferred are zero
9
+ - dashboard evidence is readable
10
+ - review has no open P0/P1/P2 blocker
11
+
12
+ Current achieved level: `{{migrationAchievedLevel}}`.
@@ -0,0 +1,9 @@
1
+ ## Legacy Migration Preset
2
+
3
+ This Complex Task uses the `{{preset}}` preset package. The preset only scaffolds the migration task and records evidence at creation time. It does not run migration, rewrite historical task bodies, stage files, or commit changes.
4
+
5
+ - Preset version: `{{presetVersion}}`
6
+ - Baseline session: `{{evidenceBundle}}/session.json`
7
+ - Migration plan: `{{evidenceBundle}}/migrate-plan.json`
8
+ - Strict deferred: {{strictDeferred}}
9
+ - Full-cutover claim allowed now: {{fullCutoverClaimAllowed}}
@@ -0,0 +1,12 @@
1
+ ## Legacy Migration Preset Flow
2
+
3
+ ```mermaid
4
+ flowchart TD
5
+ A["Recorded migrate-run session"] --> B["Create Complex Task preset"]
6
+ B --> C["Baseline usable"]
7
+ C --> D{"User confirms deeper cutover?"}
8
+ D -- no --> E["Keep residuals owned"]
9
+ D -- yes --> F["Current work cutover"]
10
+ F --> G["Historical consolidation"]
11
+ G --> H["Strict / full-cutover verify"]
12
+ ```
@@ -0,0 +1,2 @@
1
+ id: legacy-migration
2
+ panels: [migration-queue, task-evidence, human-confirmation]
@@ -0,0 +1,23 @@
1
+ {
2
+ "schemaVersion": "legacy-migration-queue/v2",
3
+ "staticDashboardRole": "evidence-snapshot",
4
+ "workbenchRole": "human-confirmation-control-plane",
5
+ "requiredItemFields": [
6
+ "taskId",
7
+ "phase",
8
+ "mechanicalState",
9
+ "semanticState",
10
+ "evidenceSources",
11
+ "reviewState",
12
+ "confirmationState",
13
+ "owner",
14
+ "residual"
15
+ ],
16
+ "allowedPhases": [
17
+ "baseline",
18
+ "mechanical-scaffold",
19
+ "semantic-reconstruction",
20
+ "cutover-review"
21
+ ],
22
+ "semanticRule": "Semantic reconstruction requires evidenceSources and cannot be marked complete by scaffold-only automation."
23
+ }
@@ -0,0 +1,23 @@
1
+ id: lesson-sedimentation
2
+ version: 1
3
+ purpose: Create a follow-up task for reviewing and sedimenting an accepted lesson candidate into a promoted detail doc.
4
+ compatibleBudgets: [standard, complex]
5
+ localeSupport: [en-US, zh-CN]
6
+ task:
7
+ kind: lesson-sedimentation
8
+ projectLevelOnly: true
9
+ entrypoints:
10
+ newTask:
11
+ type: template
12
+ writes: [docs/09-PLANNING/TASKS/**]
13
+ reads: [docs/09-PLANNING/TASKS/**/lesson_candidates.md]
14
+ audit: true
15
+ templates:
16
+ prompt: templates/prompt.md
17
+ writeScopes:
18
+ taskDocs:
19
+ path: docs/09-PLANNING/TASKS/**
20
+ access: write
21
+ audit:
22
+ manifestRequired: true
23
+ evidenceFiles: [preset-audit.json]
@@ -0,0 +1,23 @@
1
+ You are executing a lesson sedimentation follow-up task.
2
+
3
+ Source task: {{sourceTaskId}}
4
+ Source candidate: {{candidateId}} - {{candidateTitle}}
5
+ Follow-up task: {{followUpTaskId}}
6
+
7
+ Candidate scope: {{candidateScope}}
8
+ Candidate module key: {{candidateModuleKey}}
9
+ Detail artifact: {{detailArtifact}}
10
+ Boundary reason: {{boundaryReason}}
11
+ Why it might matter: {{whyItMightMatter}}
12
+ Promotion target: {{promotionTarget}}
13
+ Conflict check: {{conflictCheck}}
14
+ Required standard update: {{requiredStandardUpdate}}
15
+
16
+ Instructions:
17
+
18
+ 1. Read the source task, its review, findings, progress, lesson_candidates.md, and the task-local detail artifact.
19
+ 2. Classify whether the lesson is task-local, module-local, or global; if module-local, preserve the module key/path.
20
+ 3. Check for conflicts with existing lesson candidates, promoted lesson detail docs, public docs, and relevant standards.
21
+ 4. Propose the smallest diff needed to preserve the lesson.
22
+ 5. Do not write a shared Lessons table; accepted candidates become promoted lesson detail docs or target standard updates.
23
+ 6. Record evidence and residual risks in the follow-up task before asking for review.
@@ -0,0 +1,25 @@
1
+ id: module
2
+ version: 1
3
+ purpose: Create module-scoped tasks with module context entry points and auditable preset metadata.
4
+ compatibleBudgets: [simple, standard, complex]
5
+ localeSupport: [en-US, zh-CN]
6
+ task:
7
+ kind: module-task
8
+ entrypoints:
9
+ newTask:
10
+ type: template
11
+ writes: [docs/09-PLANNING/**]
12
+ audit: true
13
+ templates:
14
+ taskPlanAppend: templates/task_plan.append.md
15
+ executionStrategyAppend: templates/execution_strategy.append.md
16
+ templateValues:
17
+ moduleKey:
18
+ from: task.moduleKey
19
+ audit:
20
+ manifestRequired: true
21
+ evidenceFiles: [preset-audit.json]
22
+ writeScopes:
23
+ planningDocs:
24
+ path: docs/09-PLANNING/**
25
+ access: write
@@ -0,0 +1,8 @@
1
+ ## Module Preset Strategy
2
+
3
+ | Field | Value |
4
+ | --- | --- |
5
+ | Module Key | {{moduleKey}} |
6
+ | Module Plan | docs/09-PLANNING/MODULES/{{moduleKey}}/module_plan.md |
7
+
8
+ Keep shared module decisions in the module plan or module context files. Keep task-specific evidence in this task directory.
@@ -0,0 +1,17 @@
1
+ ## Module Preset
2
+
3
+ This module task was created through the `module` preset.
4
+
5
+ | Field | Value |
6
+ | --- | --- |
7
+ | Module Key | {{moduleKey}} |
8
+
9
+ ## Module Context Entry Points
10
+
11
+ Read these module-level entry points before changing shared module behavior. Continue into narrower context only when the task surface requires it.
12
+
13
+ | Reference | Path | Why / When |
14
+ | --- | --- | --- |
15
+ | Module brief | docs/09-PLANNING/MODULES/{{moduleKey}}/brief.md | Start here for the module purpose and current scope. |
16
+ | Module plan | docs/09-PLANNING/MODULES/{{moduleKey}}/module_plan.md | Use this for module steps, active task links, and handoff state. |
17
+ | Module visual map | docs/09-PLANNING/MODULES/{{moduleKey}}/visual_map.md | Inspect when the change affects module sequencing or dependencies. |
@@ -0,0 +1,31 @@
1
+ id: standard-task
2
+ version: 1
3
+ purpose: Create a standard task using the generic declarative preset engine.
4
+ compatibleBudgets: [standard, complex]
5
+ localeSupport: [en-US, zh-CN]
6
+ task:
7
+ kind: standard-task
8
+ defaultTaskId: standard-task
9
+ entrypoints:
10
+ newTask:
11
+ type: template
12
+ writes: [docs/09-PLANNING/TASKS/**]
13
+ audit: true
14
+ templates:
15
+ taskPlanAppend: templates/task_plan.append.md
16
+ templateValues:
17
+ title:
18
+ from: task.title
19
+ evidence:
20
+ bundleDir: artifacts/preset
21
+ files:
22
+ presetAudit:
23
+ path: preset-audit.json
24
+ type: preset-audit
25
+ audit:
26
+ manifestRequired: true
27
+ evidenceFiles: [preset-audit.json]
28
+ writeScopes:
29
+ taskDocs:
30
+ path: docs/09-PLANNING/TASKS/**
31
+ access: write
@@ -0,0 +1,7 @@
1
+ ## Standard Task Preset
2
+
3
+ This task was created through the declarative `standard-task` preset.
4
+
5
+ | Field | Value |
6
+ | --- | --- |
7
+ | Preset Title | {{title}} |
@@ -102,7 +102,7 @@ Reviewer 必须以找问题为目标,而不是证明实现正确。
102
102
  - Progress:
103
103
  - Findings:
104
104
  - Regression SSoT:
105
- - Lessons SSoT:
105
+ - Lesson Candidates / Detail Docs:
106
106
  - Walkthrough:
107
107
  ```
108
108
 
@@ -150,7 +150,7 @@ Review loop 的固定执行形态:
150
150
  - `progress.md` 记录审查发生的时间和处理结果摘要
151
151
  - `findings.md` 记录审查中产生的技术决策或研究发现
152
152
  - `Regression-SSoT.md` 记录新增或调整的 regression surface
153
- - `Lessons-SSoT.md` 记录可复用的流程、架构或标准改进建议
153
+ - `lesson_candidates.md` 和 `docs/01-GOVERNANCE/lessons/*.md` 记录可复用的流程、架构或标准改进建议
154
154
  - `walkthrough` 收口时引用 `review.md` 的 material finding 状态和 no-finding 结论
155
155
  - `Harness Ledger` 记录本轮是否完成 review report
156
156
 
@@ -40,7 +40,7 @@ AGENTS.md 只包含两类内容:
40
40
  先读 docs/11-REFERENCE/harness-ledger-standard.md
41
41
 
42
42
  - Walkthrough / Closeout / Lessons 收口:
43
- 先读 docs/11-REFERENCE/walkthrough-standard.md,然后读 docs/01-GOVERNANCE/Lessons-SSoT.md 和 docs/10-WALKTHROUGH/Closeout-SSoT.md
43
+ 先读 docs/11-REFERENCE/walkthrough-standard.md,然后读 docs/10-WALKTHROUGH/Closeout-SSoT.md、任务本地 lesson_candidates.md 和 docs/01-GOVERNANCE/lessons/
44
44
 
45
45
  - 开发执行 / 回写流程:
46
46
  先读 docs/11-REFERENCE/execution-workflow-standard.md
@@ -100,7 +100,7 @@ CLAUDE.md 控制在 **10-50 行**。它只做 Claude Code 兼容入口,不应
100
100
  - agent 做后端重构时,不会被前端规范干扰
101
101
  - agent 做测试时,不会被文档治理规则分心
102
102
  - 每种任务类型只加载它需要的上下文
103
- - agent 写 walkthrough 时会被入口显式路由回 Lessons SSoT,但 Lessons 全文不会塞进 AGENTS.md
103
+ - agent 写 walkthrough 时会被入口显式路由回 lesson candidate / detail doc 流程,但 Lessons 全文不会塞进 AGENTS.md
104
104
 
105
105
  这跟 OpenAI 在 Harness Engineering 实践中得出的结论一致:给 agent 一张地图,不给一本千页手册。
106
106
 
@@ -39,7 +39,7 @@ Define who breaks roadmap work into feature blocks:
39
39
  | Level | Owner | Artifact | Rule |
40
40
  |-------|-------|----------|------|
41
41
  | Roadmap | [owner] | [SSoT / issue tracker] | [how priority is chosen] |
42
- | Feature block | [owner] | `Delivery-SSoT.md` / Feature SSoT | [how blocks are bounded] |
42
+ | Feature block | [owner] | `Delivery-SSoT.md` / generated Harness Ledger | [how blocks are bounded] |
43
43
  | Task | [owner] | `docs/09-PLANNING/TASKS/<task>/task_plan.md` | [who can start work] |
44
44
  | Review | [owner] | `review.md` / PR review | [required reviewers] |
45
45
  | Integration | [owner] | PR / release branch / integration branch | [merge order] |
@@ -50,14 +50,14 @@ Define who breaks roadmap work into feature blocks:
50
50
 
51
51
  Use when one human directs multiple agents across worktrees.
52
52
 
53
- - One primary Feature SSoT is enough for linear phase work.
53
+ - One generated Harness Ledger is enough for ordinary task lifecycle tracking.
54
54
  - Worktree concurrency is central.
55
55
  - Merge order is human-decided.
56
56
  - Cross-task conflicts are managed by task ownership and shared-file notices.
57
57
 
58
58
  **模块并行扩展**:当项目有 2+ 个可独立演进的功能域时,启用模块并行开发(见 `references/module-parallel-standard.md`)。此时:
59
59
 
60
- - Module Registry 替代 Feature SSoT 作为进度追踪的主要工具
60
+ - Module Registry 管模块边界;Harness Ledger 生成全局任务生命周期索引
61
61
  - 每个模块一个长期 worktree(`codex/<module-key>`)
62
62
  - 模块间通过 write scope 声明避免冲突
63
63
  - 跨模块修改走独立的基础设施 task
@@ -8,12 +8,11 @@
8
8
 
9
9
  ```
10
10
  docs/
11
- ├── Harness-Ledger.md ← 全局 harness 上下文回写总账
11
+ ├── Harness-Ledger.md ← CLI 生成的任务生命周期总账
12
12
  ├── 00-RAW-PRDS/ ← 原始需求文档、PRD、用户故事
13
13
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
14
14
  ├── 01-GOVERNANCE/ ← 项目治理规则、决策记录、经验沉淀
15
- │ ├── Lessons-SSoT.md 经验沉淀建议表
16
- │ ├── lessons/ ← 具体沉淀内容
15
+ │ ├── lessons/ promoted lesson 详情文档
17
16
  │ └── _archive/ ← 已处理条目归档
18
17
  ├── 02-PRODUCT/ ← 产品设计、用户流程、功能规格
19
18
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
@@ -34,9 +33,8 @@ docs/
34
33
  │ │ └── _task-template/ ← 任务模板
35
34
  │ ├── MODULES/ ← 模块并行开发计划(启用时)
36
35
  │ │ └── _archive/ ← 已完成 / 暂停过久模块归档
37
- │ ├── _archive/ ← 历史任务、旧 Feature SSoT 明细、过期排期归档
36
+ │ ├── _archive/ ← 历史任务、旧生命周期表明细、过期排期归档
38
37
  │ ├── Delivery-SSoT.md ← 多人 / 多仓 / 传统流程下的交付排期和集成顺序
39
- │ └── [Feature-SSoT].md ← 实施排期表
40
38
  ├── 10-WALKTHROUGH/ ← Walkthrough 收口记录与 Closeout SSoT
41
39
  │ └── _archive/ ← 历史 walkthrough 批量归档(迁移 / 年度收束时)
42
40
  ├── 11-REFERENCE/ ← 标准文件(agent 按需加载)
@@ -133,11 +131,11 @@ Checker 规则:
133
131
 
134
132
  | 对象 | 触发条件 | 归档位置 |
135
133
  |------|----------|----------|
136
- | Feature SSoT Active | 模块并行切换、release 完成、或 completed rows 超过 20 条 | `09-PLANNING/_archive/` |
134
+ | Legacy Feature / Private Feature 生命周期表 | 迁移到 ledger-only 版本 | `09-PLANNING/_archive/` |
137
135
  | Delivery SSoT | 集成 wave 结束或 completed/superseded blocks 超过 20 条 | `09-PLANNING/_archive/` |
138
136
  | Module Registry / module_plan | 模块 completed 或 paused 超过 60 天 | `09-PLANNING/MODULES/_archive/<key>/` |
139
137
  | Regression SSoT | gate 废弃或长期不再运行 | `05-TEST-QA/_archive/` |
140
- | Lessons SSoT | merged/rejected 条目超过 20 条 | `01-GOVERNANCE/_archive/` |
138
+ | Lesson detail docs | merged/rejected/superseded 详情文档超过 20 条 | `01-GOVERNANCE/_archive/` |
141
139
  | Harness Ledger | closed/superseded 超过 50 条 | `01-GOVERNANCE/_archive/` |
142
140
  | Walkthrough | 年度/阶段迁移或目录过大 | `10-WALKTHROUGH/_archive/` |
143
141
 
@@ -151,6 +149,7 @@ Checker 规则:
151
149
  | execution-workflow-standard.md | 开发执行流程、commit 规范、PR 流程 | 是 |
152
150
  | delivery-operating-model-standard.md | 工程组织形态、feature block 拆分、跨仓/团队协作模型 | 是 |
153
151
  | repo-governance-standard.md | repo platform、branch protection、PR policy、required checks、worktree concurrency | 是 |
152
+ | pull-request-standard.md | PR 描述结构、中英双语要求、版本影响、验证、审查证据、残余风险和引用 | 是 |
154
153
  | ci-cd-standard.md | CI/CD profile、workflow、required checks、release/CD residual | 是 |
155
154
  | long-running-task-standard.md | 长程任务合同、连续执行权限、review loop、停止条件 | 是 |
156
155
  | adversarial-review-standard.md | 对抗性 review 报告、finding 分级、no-finding 结论、residual 路由 | 是 |