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.
- package/CHANGELOG.md +44 -0
- package/CONTRIBUTING.md +98 -0
- package/README.en-US.md +14 -0
- package/README.md +230 -80
- package/README.zh-CN.md +290 -0
- package/SKILL.md +132 -198
- package/docs-release/README.md +80 -9
- package/docs-release/architecture/overview.md +298 -28
- package/docs-release/architecture/overview.zh-CN.md +292 -0
- package/docs-release/assets/dashboard-overview.png +0 -0
- package/docs-release/assets/harness-architecture.svg +163 -0
- package/docs-release/assets/harness-workflow.svg +64 -0
- package/docs-release/guides/agent-installation.en-US.md +237 -0
- package/docs-release/guides/agent-installation.md +149 -27
- package/docs-release/guides/contributing.md +100 -0
- package/docs-release/guides/contributing.zh-CN.md +99 -0
- package/docs-release/guides/document-audience-and-surfaces.en-US.md +113 -0
- package/docs-release/guides/document-audience-and-surfaces.md +113 -0
- package/docs-release/guides/full-legacy-migration-subagent-strategy.md +334 -0
- package/docs-release/guides/full-legacy-migration-subagent-strategy.zh-CN.md +334 -0
- package/docs-release/guides/legacy-migration-agent-prompt.md +373 -0
- package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +350 -0
- package/docs-release/guides/migration-playbook.en-US.md +324 -0
- package/docs-release/guides/migration-playbook.md +328 -0
- package/docs-release/guides/parent-control-repository-pattern.en-US.md +254 -0
- package/docs-release/guides/parent-control-repository-pattern.md +254 -0
- package/docs-release/guides/preset-development.md +214 -0
- package/docs-release/guides/repository-operating-models.en-US.md +197 -0
- package/docs-release/guides/repository-operating-models.md +197 -0
- package/docs-release/guides/task-state-machine.en-US.md +207 -0
- package/docs-release/guides/task-state-machine.md +214 -0
- package/docs-release/intl/README.md +15 -0
- package/docs-release/intl/de-DE.md +18 -0
- package/docs-release/intl/en-US.md +18 -0
- package/docs-release/intl/es-ES.md +18 -0
- package/docs-release/intl/fr-FR.md +18 -0
- package/docs-release/intl/ja-JP.md +18 -0
- package/docs-release/intl/ko-KR.md +18 -0
- package/docs-release/intl/zh-CN.md +18 -0
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/brief.md +13 -0
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/findings.md +7 -0
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/lesson_candidates.md +24 -0
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/progress.md +1 -1
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/task_plan.md +4 -2
- package/examples/minimal-project/docs/09-PLANNING/TASKS/demo-task/{visual_roadmap.md → visual_map.md} +9 -1
- package/package.json +10 -3
- package/presets/legacy-migration/checks/preset-check.mjs +3 -0
- package/presets/legacy-migration/preset.yaml +134 -0
- package/presets/legacy-migration/scripts/plan-work-queue.mjs +4 -0
- package/presets/legacy-migration/scripts/scaffold-task-contracts.mjs +4 -0
- package/presets/legacy-migration/templates/execution_strategy.append.md +18 -0
- package/presets/legacy-migration/templates/findings.seed.md +17 -0
- package/presets/legacy-migration/templates/review.seed.md +12 -0
- package/presets/legacy-migration/templates/task_plan.append.md +9 -0
- package/presets/legacy-migration/templates/visual_map.append.md +12 -0
- package/presets/legacy-migration/workbench/dashboard-panels.yaml +2 -0
- package/presets/legacy-migration/workbench/migration-queue.schema.json +23 -0
- package/presets/lesson-sedimentation/preset.yaml +23 -0
- package/presets/lesson-sedimentation/templates/prompt.md +23 -0
- package/presets/module/preset.yaml +25 -0
- package/presets/module/templates/execution_strategy.append.md +8 -0
- package/presets/module/templates/task_plan.append.md +17 -0
- package/presets/standard-task/preset.yaml +31 -0
- package/presets/standard-task/templates/task_plan.append.md +7 -0
- package/references/adversarial-review-standard.md +2 -2
- package/references/agents-md-pattern.md +5 -5
- package/references/delivery-operating-model-standard.md +3 -3
- package/references/docs-directory-standard.md +53 -10
- package/references/external-source-intake-standard.md +75 -0
- package/references/harness-ledger.md +53 -94
- package/references/legacy-12-phase-bootstrap.md +41 -0
- package/references/lessons-governance.md +100 -88
- package/references/module-parallel-standard.md +14 -14
- package/references/planning-loop.md +51 -7
- package/references/project-onboarding-audit.md +10 -0
- package/references/pull-request-standard.md +118 -0
- package/references/repo-governance-standard.md +12 -1
- package/references/review-routing-standard.md +7 -1
- package/references/ssot-governance.md +67 -59
- package/references/taskr-gap-analysis.md +600 -0
- package/references/testing-standard.md +50 -0
- package/references/walkthrough-closeout.md +10 -9
- package/scripts/check-harness.mjs +111 -331
- package/scripts/commands/dashboard-command.mjs +67 -0
- package/scripts/commands/migration-command.mjs +96 -0
- package/scripts/commands/preset-command.mjs +73 -0
- package/scripts/commands/task-command.mjs +327 -0
- package/scripts/harness.mjs +106 -20
- package/scripts/lib/capability-registry.mjs +591 -0
- package/scripts/lib/check-module-parallel.mjs +237 -0
- package/scripts/lib/check-profiles.mjs +418 -0
- package/scripts/lib/check-task-contracts.mjs +47 -0
- package/scripts/lib/core-shared.mjs +196 -0
- package/scripts/lib/dashboard-data.mjs +412 -0
- package/scripts/lib/dashboard-workbench.mjs +257 -0
- package/scripts/lib/dashboard-writer.mjs +107 -4
- package/scripts/lib/git-status-summary.mjs +46 -0
- package/scripts/lib/governance-index-generator.mjs +174 -0
- package/scripts/lib/governance-sync.mjs +514 -0
- package/scripts/lib/governance-table-boundary.mjs +175 -0
- package/scripts/lib/harness-core.mjs +15 -1318
- package/scripts/lib/lesson-maintenance.mjs +152 -0
- package/scripts/lib/markdown-utils.mjs +158 -0
- package/scripts/lib/migration-planner.mjs +478 -0
- package/scripts/lib/migration-support.mjs +312 -0
- package/scripts/lib/preset-audit-contracts.mjs +37 -0
- package/scripts/lib/preset-engine.mjs +497 -0
- package/scripts/lib/preset-registry.mjs +627 -0
- package/scripts/lib/preset-resource-contracts.mjs +83 -0
- package/scripts/lib/review-confirm-git-gate.mjs +248 -0
- package/scripts/lib/status-dashboard-renderer.mjs +102 -0
- package/scripts/lib/subagent-authorization-audit.mjs +196 -0
- package/scripts/lib/task-completion-consistency.mjs +16 -0
- package/scripts/lib/task-index.mjs +93 -0
- package/scripts/lib/task-lesson-candidates.mjs +242 -0
- package/scripts/lib/task-lesson-sedimentation.mjs +326 -0
- package/scripts/lib/task-lifecycle/review-confirm.mjs +101 -0
- package/scripts/lib/task-lifecycle/review-gates.mjs +70 -0
- package/scripts/lib/task-lifecycle/text-utils.mjs +24 -0
- package/scripts/lib/task-lifecycle.mjs +649 -0
- package/scripts/lib/task-review-model.mjs +469 -0
- package/scripts/lib/task-scanner.mjs +576 -0
- package/scripts/lib/task-tombstone-commands.mjs +140 -0
- package/scripts/postinstall.mjs +14 -0
- package/skills/preset-creator/SKILL.md +179 -0
- package/skills/preset-creator/references/complex-task-skeleton/README.md +31 -0
- package/skills/preset-creator/references/complex-task-skeleton/artifacts/INDEX.md +12 -0
- package/skills/preset-creator/references/complex-task-skeleton/brief.md +32 -0
- package/skills/preset-creator/references/complex-task-skeleton/execution_strategy.md +71 -0
- package/skills/preset-creator/references/complex-task-skeleton/findings.md +24 -0
- package/skills/preset-creator/references/complex-task-skeleton/lesson_candidates.md +70 -0
- package/skills/preset-creator/references/complex-task-skeleton/long-running-task-contract.md +76 -0
- package/skills/preset-creator/references/complex-task-skeleton/progress.md +33 -0
- package/skills/preset-creator/references/complex-task-skeleton/references/INDEX.md +13 -0
- package/skills/preset-creator/references/complex-task-skeleton/review.md +107 -0
- package/skills/preset-creator/references/complex-task-skeleton/task_plan.md +111 -0
- package/{templates/planning/visual_roadmap.md → skills/preset-creator/references/complex-task-skeleton/visual_map.md} +24 -2
- package/skills/preset-creator/references/preset-package-skeleton.md +296 -0
- package/templates/AGENTS.md.template +51 -36
- package/templates/architecture/Architecture-SSoT.md +21 -0
- package/templates/architecture/README.md +49 -0
- package/templates/architecture/critical-flows.md +22 -0
- package/templates/architecture/local-repo-context.md +20 -0
- package/templates/architecture/service-catalog.md +17 -0
- package/templates/architecture/services/service-template.md +31 -0
- package/templates/architecture/system-map.md +22 -0
- package/templates/dashboard/assets/app-src/00-state.js +42 -0
- package/templates/dashboard/assets/app-src/10-router.js +77 -0
- package/templates/dashboard/assets/app-src/20-overview.js +241 -0
- package/templates/dashboard/assets/app-src/30-tasks.js +409 -0
- package/templates/dashboard/assets/app-src/35-task-detail.js +246 -0
- package/templates/dashboard/assets/app-src/40-modules.js +58 -0
- package/templates/dashboard/assets/app-src/45-review.js +347 -0
- package/templates/dashboard/assets/app-src/50-migration.js +183 -0
- package/templates/dashboard/assets/app-src/60-shared.js +61 -0
- package/templates/dashboard/assets/app-src/90-bindings.js +524 -0
- package/templates/dashboard/assets/app.css +3107 -300
- package/templates/dashboard/assets/app.css.manifest.json +9 -0
- package/templates/dashboard/assets/app.js +2068 -306
- package/templates/dashboard/assets/app.manifest.json +12 -0
- package/templates/dashboard/assets/css-src/00-foundation.css +342 -0
- package/templates/dashboard/assets/css-src/10-panels-flow.css +236 -0
- package/templates/dashboard/assets/css-src/20-briefs-controls.css +398 -0
- package/templates/dashboard/assets/css-src/30-task-index.css +739 -0
- package/templates/dashboard/assets/css-src/35-review-workspace.css +507 -0
- package/templates/dashboard/assets/css-src/40-detail-modules-migration.css +427 -0
- package/templates/dashboard/assets/css-src/50-responsive-overrides.css +551 -0
- package/templates/dashboard/assets/i18n.js +531 -44
- package/templates/dashboard/assets/mermaid-renderer.js +58 -8
- package/templates/development/README.md +52 -0
- package/templates/development/codebase-map.md +11 -0
- package/templates/development/cross-repo-debugging.md +18 -0
- package/templates/development/external-context/service-template.md +33 -0
- package/templates/development/external-source-packs/README.md +24 -0
- package/templates/development/external-source-packs/digest-template.md +28 -0
- package/templates/development/local-setup.md +16 -0
- package/templates/development/stubs-and-mocks.md +11 -0
- package/templates/integrations/README.md +40 -0
- package/templates/integrations/api-contract.md +42 -0
- package/templates/integrations/event-contract.md +46 -0
- package/templates/integrations/third-party/vendor-template.md +42 -0
- package/templates/integrations/webhook-contract.md +41 -0
- package/templates/ledger/Harness-Ledger.md +13 -25
- package/templates/lessons/lesson-arch-process-change.md +1 -1
- package/templates/lessons/lesson-new-doc.md +1 -1
- package/templates/lessons/lesson-ref-change.md +1 -1
- package/templates/planning/brief.md +32 -0
- package/templates/planning/execution_strategy.md +31 -0
- package/templates/planning/lesson_candidates.md +70 -0
- package/templates/planning/long-running-task-contract.md +7 -0
- package/templates/planning/module_brief.md +25 -0
- package/templates/planning/module_session_prompt.md +6 -0
- package/templates/planning/optional/artifacts/INDEX.md +3 -3
- package/templates/planning/optional/references/INDEX.md +3 -3
- package/templates/planning/review.md +59 -0
- package/templates/planning/task_plan.md +40 -15
- package/templates/planning/visual_map.md +50 -0
- package/templates/reference/docs-library-standard.md +31 -0
- package/templates/reference/execution-workflow-standard.md +5 -2
- package/templates/reference/external-source-intake-standard.md +82 -0
- package/templates/reference/harness-ledger-standard.md +1 -0
- package/templates/reference/pull-request-standard.md +80 -0
- package/templates/reference/repo-governance-standard.md +8 -5
- package/templates/reference/review-routing-standard.md +6 -0
- package/templates/reference/walkthrough-standard.md +3 -1
- package/templates/verifier/verifier-output.md +1 -1
- package/templates/walkthrough/walkthrough-template.md +2 -2
- package/templates-zh-CN/AGENTS.md.template +73 -70
- package/templates-zh-CN/architecture/Architecture-SSoT.md +21 -0
- package/templates-zh-CN/architecture/README.md +51 -0
- package/templates-zh-CN/architecture/critical-flows.md +24 -0
- package/templates-zh-CN/architecture/local-repo-context.md +20 -0
- package/templates-zh-CN/architecture/service-catalog.md +17 -0
- package/templates-zh-CN/architecture/services/service-template.md +31 -0
- package/templates-zh-CN/architecture/system-map.md +22 -0
- package/templates-zh-CN/development/README.md +54 -0
- package/templates-zh-CN/development/codebase-map.md +11 -0
- package/templates-zh-CN/development/cross-repo-debugging.md +18 -0
- package/templates-zh-CN/development/external-context/service-template.md +33 -0
- package/templates-zh-CN/development/external-source-packs/README.md +24 -0
- package/templates-zh-CN/development/external-source-packs/digest-template.md +28 -0
- package/templates-zh-CN/development/local-setup.md +16 -0
- package/templates-zh-CN/development/stubs-and-mocks.md +11 -0
- package/templates-zh-CN/integrations/README.md +42 -0
- package/templates-zh-CN/integrations/api-contract.md +42 -0
- package/templates-zh-CN/integrations/event-contract.md +46 -0
- package/templates-zh-CN/integrations/third-party/vendor-template.md +42 -0
- package/templates-zh-CN/integrations/webhook-contract.md +41 -0
- package/templates-zh-CN/ledger/Harness-Ledger.md +17 -40
- package/templates-zh-CN/planning/brief.md +32 -0
- package/templates-zh-CN/planning/execution_strategy.md +30 -0
- package/templates-zh-CN/planning/lesson_candidates.md +70 -0
- package/templates-zh-CN/planning/long-running-task-contract.md +1 -1
- package/templates-zh-CN/planning/module_brief.md +25 -0
- package/templates-zh-CN/planning/module_plan.md +2 -2
- package/templates-zh-CN/planning/module_session_prompt.md +4 -3
- package/templates-zh-CN/planning/review.md +59 -1
- package/templates-zh-CN/planning/task_plan.md +37 -11
- package/templates-zh-CN/planning/{visual_roadmap.md → visual_map.md} +21 -2
- package/templates-zh-CN/reference/adversarial-review-standard.md +1 -1
- package/templates-zh-CN/reference/docs-library-standard.md +36 -1
- package/templates-zh-CN/reference/execution-workflow-standard.md +10 -2
- package/templates-zh-CN/reference/external-source-intake-standard.md +82 -0
- package/templates-zh-CN/reference/harness-ledger-standard.md +7 -4
- package/templates-zh-CN/reference/pull-request-standard.md +106 -0
- package/templates-zh-CN/reference/repo-governance-standard.md +4 -1
- package/templates-zh-CN/reference/review-routing-standard.md +8 -1
- package/templates-zh-CN/reference/walkthrough-standard.md +6 -5
- package/templates-zh-CN/walkthrough/Closeout-SSoT.md +2 -2
- package/templates-zh-CN/walkthrough/walkthrough-template.md +2 -2
- package/scripts/smoke-dashboard.mjs +0 -70
- package/scripts/test-harness.mjs +0 -483
- package/templates/ssot/Feature-SSoT.md +0 -43
- package/templates/ssot/Lessons-SSoT.md +0 -44
- package/templates-zh-CN/dashboard/assets/app.css +0 -399
- package/templates-zh-CN/dashboard/assets/app.js +0 -435
- package/templates-zh-CN/dashboard/assets/i18n.js +0 -47
- package/templates-zh-CN/dashboard/assets/markdown-reader.js +0 -116
- package/templates-zh-CN/dashboard/assets/mermaid-renderer.js +0 -59
- package/templates-zh-CN/dashboard/index.html +0 -18
- package/templates-zh-CN/ssot/Feature-SSoT.md +0 -49
- package/templates-zh-CN/ssot/Lessons-SSoT.md +0 -49
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
# Visual
|
|
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.
|
|
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
|
-
"
|
|
35
|
-
"
|
|
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,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,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,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
|
|
@@ -102,7 +102,7 @@ Reviewer 必须以找问题为目标,而不是证明实现正确。
|
|
|
102
102
|
- Progress:
|
|
103
103
|
- Findings:
|
|
104
104
|
- Regression SSoT:
|
|
105
|
-
-
|
|
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
|
-
- `
|
|
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/
|
|
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 ←
|
|
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
|
|
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 时会被入口显式路由回
|
|
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 总行数在
|
|
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` /
|
|
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
|
|
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
|
|
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 ←
|
|
11
|
+
├── Harness-Ledger.md ← CLI 生成的任务生命周期总账
|
|
12
12
|
├── 00-RAW-PRDS/ ← 原始需求文档、PRD、用户故事
|
|
13
13
|
│ └── _archive/ ← 本层历史文档归档(如该层会增长)
|
|
14
14
|
├── 01-GOVERNANCE/ ← 项目治理规则、决策记录、经验沉淀
|
|
15
|
-
│ ├──
|
|
16
|
-
│ ├── lessons/ ← 具体沉淀内容
|
|
15
|
+
│ ├── lessons/ ← promoted lesson 详情文档
|
|
17
16
|
│ └── _archive/ ← 已处理条目归档
|
|
18
17
|
├── 02-PRODUCT/ ← 产品设计、用户流程、功能规格
|
|
19
18
|
│ └── _archive/ ← 本层历史文档归档(如该层会增长)
|
|
20
|
-
├── 03-ARCHITECTURE/ ←
|
|
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/ ←
|
|
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/ ←
|
|
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
|
|
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
|
-
|
|
|
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 写作规范 | 是 |
|