coding-agent-harness 1.0.1 → 1.0.4

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 (262) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/CONTRIBUTING.md +98 -0
  3. package/README.en-US.md +14 -0
  4. package/README.md +230 -80
  5. package/README.zh-CN.md +290 -0
  6. package/SKILL.md +132 -198
  7. package/docs-release/README.md +80 -9
  8. package/docs-release/architecture/overview.md +298 -28
  9. package/docs-release/architecture/overview.zh-CN.md +292 -0
  10. package/docs-release/assets/dashboard-overview.png +0 -0
  11. package/docs-release/assets/harness-architecture.svg +163 -0
  12. package/docs-release/assets/harness-workflow.svg +64 -0
  13. package/docs-release/guides/agent-installation.en-US.md +237 -0
  14. package/docs-release/guides/agent-installation.md +149 -27
  15. package/docs-release/guides/contributing.md +100 -0
  16. package/docs-release/guides/contributing.zh-CN.md +99 -0
  17. package/docs-release/guides/document-audience-and-surfaces.en-US.md +113 -0
  18. package/docs-release/guides/document-audience-and-surfaces.md +113 -0
  19. package/docs-release/guides/full-legacy-migration-subagent-strategy.md +334 -0
  20. package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +334 -0
  21. package/docs-release/guides/legacy-migration-agent-prompt.md +373 -0
  22. package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +350 -0
  23. package/docs-release/guides/migration-playbook.en-US.md +324 -0
  24. package/docs-release/guides/migration-playbook.md +328 -0
  25. package/docs-release/guides/parent-control-repository-pattern.en-US.md +254 -0
  26. package/docs-release/guides/parent-control-repository-pattern.md +254 -0
  27. package/docs-release/guides/preset-development.md +214 -0
  28. package/docs-release/guides/repository-operating-models.en-US.md +197 -0
  29. package/docs-release/guides/repository-operating-models.md +197 -0
  30. package/docs-release/guides/task-state-machine.en-US.md +207 -0
  31. package/docs-release/guides/task-state-machine.md +214 -0
  32. package/docs-release/intl/README.md +15 -0
  33. package/docs-release/intl/de-DE.md +18 -0
  34. package/docs-release/intl/en-US.md +18 -0
  35. package/docs-release/intl/es-ES.md +18 -0
  36. package/docs-release/intl/fr-FR.md +18 -0
  37. package/docs-release/intl/ja-JP.md +18 -0
  38. package/docs-release/intl/ko-KR.md +18 -0
  39. package/docs-release/intl/zh-CN.md +18 -0
  40. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/brief.md +13 -0
  41. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/findings.md +7 -0
  42. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/lesson_candidates.md +24 -0
  43. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/progress.md +1 -1
  44. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/task_plan.md +4 -2
  45. package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/{visual_roadmap.md → visual_map.md} +9 -1
  46. package/package.json +10 -3
  47. package/presets/legacy-migration/checks/preset-check.mjs +3 -0
  48. package/presets/legacy-migration/preset.yaml +134 -0
  49. package/presets/legacy-migration/scripts/plan-work-queue.mjs +4 -0
  50. package/presets/legacy-migration/scripts/scaffold-task-contracts.mjs +4 -0
  51. package/presets/legacy-migration/templates/execution_strategy.append.md +18 -0
  52. package/presets/legacy-migration/templates/findings.seed.md +17 -0
  53. package/presets/legacy-migration/templates/review.seed.md +12 -0
  54. package/presets/legacy-migration/templates/task_plan.append.md +9 -0
  55. package/presets/legacy-migration/templates/visual_map.append.md +12 -0
  56. package/presets/legacy-migration/workbench/dashboard-panels.yaml +2 -0
  57. package/presets/legacy-migration/workbench/migration-queue.schema.json +23 -0
  58. package/presets/lesson-sedimentation/preset.yaml +23 -0
  59. package/presets/lesson-sedimentation/templates/prompt.md +23 -0
  60. package/presets/module/preset.yaml +25 -0
  61. package/presets/module/templates/execution_strategy.append.md +8 -0
  62. package/presets/module/templates/task_plan.append.md +17 -0
  63. package/presets/standard-task/preset.yaml +31 -0
  64. package/presets/standard-task/templates/task_plan.append.md +7 -0
  65. package/references/adversarial-review-standard.md +2 -2
  66. package/references/agents-md-pattern.md +5 -5
  67. package/references/delivery-operating-model-standard.md +3 -3
  68. package/references/docs-directory-standard.md +53 -10
  69. package/references/external-source-intake-standard.md +75 -0
  70. package/references/harness-ledger.md +53 -94
  71. package/references/legacy-12-phase-bootstrap.md +41 -0
  72. package/references/lessons-governance.md +100 -88
  73. package/references/module-parallel-standard.md +14 -14
  74. package/references/planning-loop.md +51 -7
  75. package/references/project-onboarding-audit.md +10 -0
  76. package/references/pull-request-standard.md +118 -0
  77. package/references/repo-governance-standard.md +12 -1
  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/testing-standard.md +50 -0
  82. package/references/walkthrough-closeout.md +10 -9
  83. package/scripts/check-harness.mjs +111 -331
  84. package/scripts/commands/dashboard-command.mjs +67 -0
  85. package/scripts/commands/migration-command.mjs +96 -0
  86. package/scripts/commands/preset-command.mjs +73 -0
  87. package/scripts/commands/task-command.mjs +327 -0
  88. package/scripts/harness.mjs +106 -20
  89. package/scripts/lib/capability-registry.mjs +591 -0
  90. package/scripts/lib/check-module-parallel.mjs +237 -0
  91. package/scripts/lib/check-profiles.mjs +418 -0
  92. package/scripts/lib/check-task-contracts.mjs +47 -0
  93. package/scripts/lib/core-shared.mjs +196 -0
  94. package/scripts/lib/dashboard-data.mjs +412 -0
  95. package/scripts/lib/dashboard-workbench.mjs +257 -0
  96. package/scripts/lib/dashboard-writer.mjs +107 -4
  97. package/scripts/lib/git-status-summary.mjs +46 -0
  98. package/scripts/lib/governance-index-generator.mjs +174 -0
  99. package/scripts/lib/governance-sync.mjs +514 -0
  100. package/scripts/lib/governance-table-boundary.mjs +175 -0
  101. package/scripts/lib/harness-core.mjs +15 -1318
  102. package/scripts/lib/lesson-maintenance.mjs +152 -0
  103. package/scripts/lib/markdown-utils.mjs +158 -0
  104. package/scripts/lib/migration-planner.mjs +478 -0
  105. package/scripts/lib/migration-support.mjs +312 -0
  106. package/scripts/lib/preset-audit-contracts.mjs +37 -0
  107. package/scripts/lib/preset-engine.mjs +497 -0
  108. package/scripts/lib/preset-registry.mjs +627 -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-dashboard-renderer.mjs +102 -0
  112. package/scripts/lib/subagent-authorization-audit.mjs +196 -0
  113. package/scripts/lib/task-completion-consistency.mjs +16 -0
  114. package/scripts/lib/task-index.mjs +93 -0
  115. package/scripts/lib/task-lesson-candidates.mjs +242 -0
  116. package/scripts/lib/task-lesson-sedimentation.mjs +326 -0
  117. package/scripts/lib/task-lifecycle/review-confirm.mjs +101 -0
  118. package/scripts/lib/task-lifecycle/review-gates.mjs +70 -0
  119. package/scripts/lib/task-lifecycle/text-utils.mjs +24 -0
  120. package/scripts/lib/task-lifecycle.mjs +649 -0
  121. package/scripts/lib/task-review-model.mjs +469 -0
  122. package/scripts/lib/task-scanner.mjs +576 -0
  123. package/scripts/lib/task-tombstone-commands.mjs +140 -0
  124. package/scripts/postinstall.mjs +14 -0
  125. package/skills/preset-creator/SKILL.md +179 -0
  126. package/skills/preset-creator/references/complex-task-skeleton/README.md +31 -0
  127. package/skills/preset-creator/references/complex-task-skeleton/artifacts/INDEX.md +12 -0
  128. package/skills/preset-creator/references/complex-task-skeleton/brief.md +32 -0
  129. package/skills/preset-creator/references/complex-task-skeleton/execution_strategy.md +71 -0
  130. package/skills/preset-creator/references/complex-task-skeleton/findings.md +24 -0
  131. package/skills/preset-creator/references/complex-task-skeleton/lesson_candidates.md +70 -0
  132. package/skills/preset-creator/references/complex-task-skeleton/long-running-task-contract.md +76 -0
  133. package/skills/preset-creator/references/complex-task-skeleton/progress.md +33 -0
  134. package/skills/preset-creator/references/complex-task-skeleton/references/INDEX.md +13 -0
  135. package/skills/preset-creator/references/complex-task-skeleton/review.md +107 -0
  136. package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +111 -0
  137. package/{templates/planning/visual_roadmap.md → skills/preset-creator/references/complex-task-skeleton/visual_map.md} +24 -2
  138. package/skills/preset-creator/references/preset-package-skeleton.md +296 -0
  139. package/templates/AGENTS.md.template +51 -36
  140. package/templates/architecture/Architecture-SSoT.md +21 -0
  141. package/templates/architecture/README.md +49 -0
  142. package/templates/architecture/critical-flows.md +22 -0
  143. package/templates/architecture/local-repo-context.md +20 -0
  144. package/templates/architecture/service-catalog.md +17 -0
  145. package/templates/architecture/services/service-template.md +31 -0
  146. package/templates/architecture/system-map.md +22 -0
  147. package/templates/dashboard/assets/app-src/00-state.js +42 -0
  148. package/templates/dashboard/assets/app-src/10-router.js +77 -0
  149. package/templates/dashboard/assets/app-src/20-overview.js +241 -0
  150. package/templates/dashboard/assets/app-src/30-tasks.js +409 -0
  151. package/templates/dashboard/assets/app-src/35-task-detail.js +246 -0
  152. package/templates/dashboard/assets/app-src/40-modules.js +58 -0
  153. package/templates/dashboard/assets/app-src/45-review.js +347 -0
  154. package/templates/dashboard/assets/app-src/50-migration.js +183 -0
  155. package/templates/dashboard/assets/app-src/60-shared.js +61 -0
  156. package/templates/dashboard/assets/app-src/90-bindings.js +524 -0
  157. package/templates/dashboard/assets/app.css +3107 -300
  158. package/templates/dashboard/assets/app.css.manifest.json +9 -0
  159. package/templates/dashboard/assets/app.js +2068 -306
  160. package/templates/dashboard/assets/app.manifest.json +12 -0
  161. package/templates/dashboard/assets/css-src/00-foundation.css +342 -0
  162. package/templates/dashboard/assets/css-src/10-panels-flow.css +236 -0
  163. package/templates/dashboard/assets/css-src/20-briefs-controls.css +398 -0
  164. package/templates/dashboard/assets/css-src/30-task-index.css +739 -0
  165. package/templates/dashboard/assets/css-src/35-review-workspace.css +507 -0
  166. package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +427 -0
  167. package/templates/dashboard/assets/css-src/50-responsive-overrides.css +551 -0
  168. package/templates/dashboard/assets/i18n.js +531 -44
  169. package/templates/dashboard/assets/mermaid-renderer.js +58 -8
  170. package/templates/development/README.md +52 -0
  171. package/templates/development/codebase-map.md +11 -0
  172. package/templates/development/cross-repo-debugging.md +18 -0
  173. package/templates/development/external-context/service-template.md +33 -0
  174. package/templates/development/external-source-packs/README.md +24 -0
  175. package/templates/development/external-source-packs/digest-template.md +28 -0
  176. package/templates/development/local-setup.md +16 -0
  177. package/templates/development/stubs-and-mocks.md +11 -0
  178. package/templates/integrations/README.md +40 -0
  179. package/templates/integrations/api-contract.md +42 -0
  180. package/templates/integrations/event-contract.md +46 -0
  181. package/templates/integrations/third-party/vendor-template.md +42 -0
  182. package/templates/integrations/webhook-contract.md +41 -0
  183. package/templates/ledger/Harness-Ledger.md +13 -25
  184. package/templates/lessons/lesson-arch-process-change.md +1 -1
  185. package/templates/lessons/lesson-new-doc.md +1 -1
  186. package/templates/lessons/lesson-ref-change.md +1 -1
  187. package/templates/planning/brief.md +32 -0
  188. package/templates/planning/execution_strategy.md +31 -0
  189. package/templates/planning/lesson_candidates.md +70 -0
  190. package/templates/planning/long-running-task-contract.md +7 -0
  191. package/templates/planning/module_brief.md +25 -0
  192. package/templates/planning/module_session_prompt.md +6 -0
  193. package/templates/planning/optional/artifacts/INDEX.md +3 -3
  194. package/templates/planning/optional/references/INDEX.md +3 -3
  195. package/templates/planning/review.md +59 -0
  196. package/templates/planning/task_plan.md +40 -15
  197. package/templates/planning/visual_map.md +50 -0
  198. package/templates/reference/docs-library-standard.md +31 -0
  199. package/templates/reference/execution-workflow-standard.md +5 -2
  200. package/templates/reference/external-source-intake-standard.md +82 -0
  201. package/templates/reference/harness-ledger-standard.md +1 -0
  202. package/templates/reference/pull-request-standard.md +80 -0
  203. package/templates/reference/repo-governance-standard.md +8 -5
  204. package/templates/reference/review-routing-standard.md +6 -0
  205. package/templates/reference/walkthrough-standard.md +3 -1
  206. package/templates/verifier/verifier-output.md +1 -1
  207. package/templates/walkthrough/walkthrough-template.md +2 -2
  208. package/templates-zh-CN/AGENTS.md.template +73 -70
  209. package/templates-zh-CN/architecture/Architecture-SSoT.md +21 -0
  210. package/templates-zh-CN/architecture/README.md +51 -0
  211. package/templates-zh-CN/architecture/critical-flows.md +24 -0
  212. package/templates-zh-CN/architecture/local-repo-context.md +20 -0
  213. package/templates-zh-CN/architecture/service-catalog.md +17 -0
  214. package/templates-zh-CN/architecture/services/service-template.md +31 -0
  215. package/templates-zh-CN/architecture/system-map.md +22 -0
  216. package/templates-zh-CN/development/README.md +54 -0
  217. package/templates-zh-CN/development/codebase-map.md +11 -0
  218. package/templates-zh-CN/development/cross-repo-debugging.md +18 -0
  219. package/templates-zh-CN/development/external-context/service-template.md +33 -0
  220. package/templates-zh-CN/development/external-source-packs/README.md +24 -0
  221. package/templates-zh-CN/development/external-source-packs/digest-template.md +28 -0
  222. package/templates-zh-CN/development/local-setup.md +16 -0
  223. package/templates-zh-CN/development/stubs-and-mocks.md +11 -0
  224. package/templates-zh-CN/integrations/README.md +42 -0
  225. package/templates-zh-CN/integrations/api-contract.md +42 -0
  226. package/templates-zh-CN/integrations/event-contract.md +46 -0
  227. package/templates-zh-CN/integrations/third-party/vendor-template.md +42 -0
  228. package/templates-zh-CN/integrations/webhook-contract.md +41 -0
  229. package/templates-zh-CN/ledger/Harness-Ledger.md +17 -40
  230. package/templates-zh-CN/planning/brief.md +32 -0
  231. package/templates-zh-CN/planning/execution_strategy.md +30 -0
  232. package/templates-zh-CN/planning/lesson_candidates.md +70 -0
  233. package/templates-zh-CN/planning/long-running-task-contract.md +1 -1
  234. package/templates-zh-CN/planning/module_brief.md +25 -0
  235. package/templates-zh-CN/planning/module_plan.md +2 -2
  236. package/templates-zh-CN/planning/module_session_prompt.md +4 -3
  237. package/templates-zh-CN/planning/review.md +59 -1
  238. package/templates-zh-CN/planning/task_plan.md +37 -11
  239. package/templates-zh-CN/planning/{visual_roadmap.md → visual_map.md} +21 -2
  240. package/templates-zh-CN/reference/adversarial-review-standard.md +1 -1
  241. package/templates-zh-CN/reference/docs-library-standard.md +36 -1
  242. package/templates-zh-CN/reference/execution-workflow-standard.md +10 -2
  243. package/templates-zh-CN/reference/external-source-intake-standard.md +82 -0
  244. package/templates-zh-CN/reference/harness-ledger-standard.md +7 -4
  245. package/templates-zh-CN/reference/pull-request-standard.md +106 -0
  246. package/templates-zh-CN/reference/repo-governance-standard.md +4 -1
  247. package/templates-zh-CN/reference/review-routing-standard.md +8 -1
  248. package/templates-zh-CN/reference/walkthrough-standard.md +6 -5
  249. package/templates-zh-CN/walkthrough/Closeout-SSoT.md +2 -2
  250. package/templates-zh-CN/walkthrough/walkthrough-template.md +2 -2
  251. package/scripts/smoke-dashboard.mjs +0 -70
  252. package/scripts/test-harness.mjs +0 -483
  253. package/templates/ssot/Feature-SSoT.md +0 -43
  254. package/templates/ssot/Lessons-SSoT.md +0 -44
  255. package/templates-zh-CN/dashboard/assets/app.css +0 -399
  256. package/templates-zh-CN/dashboard/assets/app.js +0 -435
  257. package/templates-zh-CN/dashboard/assets/i18n.js +0 -47
  258. package/templates-zh-CN/dashboard/assets/markdown-reader.js +0 -116
  259. package/templates-zh-CN/dashboard/assets/mermaid-renderer.js +0 -59
  260. package/templates-zh-CN/dashboard/index.html +0 -18
  261. package/templates-zh-CN/ssot/Feature-SSoT.md +0 -49
  262. package/templates-zh-CN/ssot/Lessons-SSoT.md +0 -49
@@ -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,6 +1,6 @@
1
1
  {
2
2
  "name": "coding-agent-harness",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "Document governance kernel for long-running coding agents.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -31,15 +31,22 @@
31
31
  "status": "node scripts/harness.mjs status --json .",
32
32
  "dashboard": "node scripts/harness.mjs dashboard --out tmp/harness-dashboard.html examples/minimal-project",
33
33
  "dashboard:folder": "node scripts/harness.mjs dashboard --out-dir tmp/harness-dashboard examples/minimal-project",
34
- "smoke:dashboard": "node scripts/smoke-dashboard.mjs",
35
- "test": "node scripts/test-harness.mjs"
34
+ "pack:dry-run": "npm pack --dry-run --json",
35
+ "postinstall": "node scripts/postinstall.mjs",
36
+ "smoke:dashboard": "node tests/smoke-dashboard.mjs",
37
+ "test": "node tests/run-all.mjs"
36
38
  },
37
39
  "files": [
38
40
  "README.md",
41
+ "README.en-US.md",
42
+ "README.zh-CN.md",
43
+ "CONTRIBUTING.md",
39
44
  "CHANGELOG.md",
40
45
  "SKILL.md",
41
46
  "LICENSE",
42
47
  "references/",
48
+ "skills/",
49
+ "presets/",
43
50
  "templates/",
44
51
  "templates-zh-CN/",
45
52
  "scripts/",
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ console.log(JSON.stringify({ status: "pass", preset: "legacy-migration", scope: "manifest" }, null, 2));
@@ -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
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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,22 +8,21 @@
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/ ← 本层历史文档归档(如该层会增长)
20
- ├── 03-ARCHITECTURE/ ← 架构设计、技术方案、ADR
19
+ ├── 03-ARCHITECTURE/ ← 系统结构事实源:本仓架构、外部系统结构、服务地图、关键跨服务流、ADR
21
20
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
22
- ├── 04-DEVELOPMENT/ ← 开发指南、环境配置、本地开发说明
21
+ ├── 04-DEVELOPMENT/ ← 开发上下文输入包:本地开发、外部服务摘要、外部资料包、mock/stub、跨仓调试
23
22
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
24
23
  ├── 05-TEST-QA/ ← 测试策略、Regression SSoT、Cadence Ledger
25
24
  │ └── _archive/ ← 废弃 regression gate / 旧 evidence pack 归档
26
- ├── 06-INTEGRATIONS/ ← 第三方集成文档、API 对接说明
25
+ ├── 06-INTEGRATIONS/ ← 接口合同层:API、event、webhook、SDK、第三方接入细节
27
26
  │ └── _archive/ ← 本层历史文档归档(如该层会增长)
28
27
  ├── 07-OPERATIONS/ ← 部署、运维、监控、告警
29
28
  │ └── _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 按需加载)
@@ -72,6 +70,49 @@ docs/
72
70
  `docs/10-WALKTHROUGH/Closeout-SSoT.md` 是 closed task 的收口索引和硬门槛;
73
71
  每个 closed Harness Ledger row 必须在这里登记 walkthrough 或受控 skip reason。
74
72
 
73
+ ## 03 / 04 / 06 边界规则
74
+
75
+ 这三个目录共同承载项目和外部系统知识,但职责不能重叠:
76
+
77
+ ```text
78
+ 03 = 它在系统里是什么
79
+ 04 = 我开发当前仓时怎么面对它
80
+ 06 = 我和它具体怎么对接
81
+ ```
82
+
83
+ | 目录 | 放什么 | 不放什么 | 必需机器字段 |
84
+ | --- | --- | --- | --- |
85
+ | `03-ARCHITECTURE/` | system map、service catalog、service responsibility、ownership、critical flows、ADR | endpoint payload、错误码、mock/stub、任务日志 | `Context Doc Type`, `Source Evidence`, `Last Verified`, `Confidence` |
86
+ | `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` |
87
+ | `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` |
88
+
89
+ 示例:
90
+
91
+ - `03-ARCHITECTURE/service-catalog.md` 可以写“Billing API: owner=payments, interface=/v1/invoices, link=06-INTEGRATIONS/billing-api-contract.md”。
92
+ - `06-INTEGRATIONS/billing-api-contract.md` 才写 `/v1/invoices` 的 payload、错误码、鉴权和 contract test。
93
+ - `04-DEVELOPMENT/external-context/billing.md` 写本仓开发时如何 mock Billing、如何排查 Billing 失败、哪些 Billing 假设不安全。
94
+ - `04-DEVELOPMENT/external-source-packs/payments/` 只存外部团队资料的索引、摘要和投影状态;最终事实仍要回写到 `03/04/06`。
95
+
96
+ ## 外部资料摄取规则
97
+
98
+ 当项目属于微服务、多仓、前后端分仓或依赖外部团队文档时,Agent 在 Diagnose / Decide 阶段必须询问用户是否有外部资料。资料少时直接作为 `Source Evidence`;资料多、跨主题或持续增长时,按 `external-source-intake-standard.md` 创建 source pack。
99
+
100
+ 外部资料的固定处理顺序:
101
+
102
+ ```text
103
+ Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
104
+ ```
105
+
106
+ 未经过 digest 和 projection 的原始资料不能进入执行事实层。
107
+
108
+ Checker 规则:
109
+
110
+ - 新增 `03/04/06` 文档必须声明 `Context Doc Type`。
111
+ - 结构事实必须有 `Source Evidence`、`Last Verified` 和 `Confidence`。
112
+ - `04-DEVELOPMENT/external-context/*.md` 必须包含 `Development Use`、`Do Not Assume`、`Mocks / Stubs`。
113
+ - `06-INTEGRATIONS/*.md` 必须包含 `Contract Type`、`Auth`、`Payload`、`Errors`、`Contract Tests`。
114
+ - 旧项目 safe-adoption 可先收到 warning;declared canonical 项目应修到 clean。
115
+
75
116
  ## 通用归档规则
76
117
 
77
118
  归档是目录级基础设施,不是单张表的特例。任何会持续增长的目录都应该有同级
@@ -90,11 +131,11 @@ docs/
90
131
 
91
132
  | 对象 | 触发条件 | 归档位置 |
92
133
  |------|----------|----------|
93
- | Feature SSoT Active | 模块并行切换、release 完成、或 completed rows 超过 20 条 | `09-PLANNING/_archive/` |
134
+ | Legacy Feature / Private Feature 生命周期表 | 迁移到 ledger-only 版本 | `09-PLANNING/_archive/` |
94
135
  | Delivery SSoT | 集成 wave 结束或 completed/superseded blocks 超过 20 条 | `09-PLANNING/_archive/` |
95
136
  | Module Registry / module_plan | 模块 completed 或 paused 超过 60 天 | `09-PLANNING/MODULES/_archive/<key>/` |
96
137
  | Regression SSoT | gate 废弃或长期不再运行 | `05-TEST-QA/_archive/` |
97
- | Lessons SSoT | merged/rejected 条目超过 20 条 | `01-GOVERNANCE/_archive/` |
138
+ | Lesson detail docs | merged/rejected/superseded 详情文档超过 20 条 | `01-GOVERNANCE/_archive/` |
98
139
  | Harness Ledger | closed/superseded 超过 50 条 | `01-GOVERNANCE/_archive/` |
99
140
  | Walkthrough | 年度/阶段迁移或目录过大 | `10-WALKTHROUGH/_archive/` |
100
141
 
@@ -108,11 +149,13 @@ docs/
108
149
  | execution-workflow-standard.md | 开发执行流程、commit 规范、PR 流程 | 是 |
109
150
  | delivery-operating-model-standard.md | 工程组织形态、feature block 拆分、跨仓/团队协作模型 | 是 |
110
151
  | repo-governance-standard.md | repo platform、branch protection、PR policy、required checks、worktree concurrency | 是 |
152
+ | pull-request-standard.md | PR 描述结构、中英双语要求、版本影响、验证、审查证据、残余风险和引用 | 是 |
111
153
  | ci-cd-standard.md | CI/CD profile、workflow、required checks、release/CD residual | 是 |
112
154
  | long-running-task-standard.md | 长程任务合同、连续执行权限、review loop、停止条件 | 是 |
113
155
  | adversarial-review-standard.md | 对抗性 review 报告、finding 分级、no-finding 结论、residual 路由 | 是 |
114
156
  | review-routing-standard.md | reviewer / subagent / external agent / human review 触发和路由规则 | 是 |
115
157
  | docs-library-standard.md | 文档治理规范、命名规则、归档规则 | 是 |
158
+ | external-source-intake-standard.md | 外部资料摄取、过滤、摘要和投影规则 | 是 |
116
159
  | harness-ledger-standard.md | Harness Ledger 写入规范、closeout 检查 | 是 |
117
160
  | regression-ssot-governance.md | Regression SSoT 治理规范 | Standard+ |
118
161
  | walkthrough-standard.md | Walkthrough 写作规范 | 是 |