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
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 外部服务开发上下文:<service-key> / External Development Context: <service-key>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: external-development-context
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Index Links
|
|
9
|
+
|
|
10
|
+
| Service Profile | Source Pack | Integration Contracts | Last Verified | Confidence |
|
|
11
|
+
| --- | --- | --- | --- | --- |
|
|
12
|
+
| `docs/03-ARCHITECTURE/services/<service-key>.md` | `docs/04-DEVELOPMENT/external-source-packs/<source-key>/README.md` 或 N/A | `docs/06-INTEGRATIONS/<contract>.md` | unknown | low |
|
|
13
|
+
|
|
14
|
+
## Development Use
|
|
15
|
+
|
|
16
|
+
[说明 Agent 修改本仓时需要知道的外部服务事实。只写可验证事实、mock 方式和调试入口。]
|
|
17
|
+
|
|
18
|
+
## Do Not Assume
|
|
19
|
+
|
|
20
|
+
- [未查看外部仓库或未问负责人前不能成立的假设。]
|
|
21
|
+
|
|
22
|
+
## Mocks / Stubs
|
|
23
|
+
|
|
24
|
+
| Scenario | Stub / Mock | Command or Path | Source Evidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
## Cross-Repo Debug Notes
|
|
28
|
+
|
|
29
|
+
[当问题涉及这个外部服务时,按什么顺序定位、用哪些命令或日志确认。]
|
|
30
|
+
|
|
31
|
+
## Placement Rule
|
|
32
|
+
|
|
33
|
+
本文件只写本仓开发、测试、调试这个外部服务时需要的上下文。服务职责放 `03-ARCHITECTURE`,接口字段和 schema 放 `06-INTEGRATIONS`。
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# 外部资料包索引 / External Source Packs
|
|
2
|
+
|
|
3
|
+
Context Doc Type: external-source-pack-registry
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
这个目录只承载外部资料的摄取、索引和摘要。稳定事实必须投影到 `03-ARCHITECTURE`、`04-DEVELOPMENT/external-context` 或 `06-INTEGRATIONS` 后才算进入 Harness 执行上下文。
|
|
11
|
+
|
|
12
|
+
先读 `docs/11-REFERENCE/external-source-intake-standard.md`,再新增资料包。
|
|
13
|
+
|
|
14
|
+
## Source Packs
|
|
15
|
+
|
|
16
|
+
| Source Key | External Project / Service | Raw Storage Mode | Source Count | Digest Status | Projected To 03/04/06 | Owner | Last Verified | Confidence |
|
|
17
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
18
|
+
|
|
19
|
+
## Placement Rule
|
|
20
|
+
|
|
21
|
+
- 资料量小于 5 份时,优先在 `03/04/06` 的 `Source Evidence` 中引用,不必建资料包。
|
|
22
|
+
- 资料很多、跨多个主题或会持续增长时,创建 `<source-key>/README.md` 和 `digests/`。
|
|
23
|
+
- `raw/` 只能放允许入仓、无密钥、无隐私、无客户数据的原始材料。
|
|
24
|
+
- 不能入仓的资料只记录外部路径、owner、访问条件和 digest。
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 外部资料摘要:<source-id> / External Source Digest: <source-id>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: external-source-digest
|
|
4
|
+
Source Pack: <source-key>
|
|
5
|
+
Original Location: <path-or-url-or-owner>
|
|
6
|
+
Digest Owner: project coordinator
|
|
7
|
+
Last Verified: unknown
|
|
8
|
+
Confidence: low
|
|
9
|
+
|
|
10
|
+
## Source Summary
|
|
11
|
+
|
|
12
|
+
[用 5-10 行说明原始资料是什么、覆盖范围、可信度和更新时间。]
|
|
13
|
+
|
|
14
|
+
## Extracted Facts
|
|
15
|
+
|
|
16
|
+
| Fact ID | Fact | Category | Project To | Source Evidence | Last Verified | Confidence |
|
|
17
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
18
|
+
| F-001 | [可验证事实] | architecture / development / integration / security / operations / product / unknown | `docs/...` 或 hold | <source-id> | unknown | low |
|
|
19
|
+
|
|
20
|
+
## Questions / Unsafe Assumptions
|
|
21
|
+
|
|
22
|
+
| ID | Question Or Assumption | Why It Matters | Owner | Status |
|
|
23
|
+
| --- | --- | --- | --- | --- |
|
|
24
|
+
|
|
25
|
+
## Projection Status
|
|
26
|
+
|
|
27
|
+
| Target Doc | Action | Status | Evidence |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# 本地启动 / Local Setup
|
|
2
|
+
|
|
3
|
+
Context Doc Type: local-setup
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Commands
|
|
9
|
+
|
|
10
|
+
| Task | Command | Expected Result | Source Evidence | Last Verified | Confidence |
|
|
11
|
+
| --- | --- | --- | --- | --- | --- |
|
|
12
|
+
|
|
13
|
+
## Environment
|
|
14
|
+
|
|
15
|
+
| Variable | Required | Purpose | Source Evidence |
|
|
16
|
+
| --- | --- | --- | --- |
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Stub 与 Mock / Stubs and Mocks
|
|
2
|
+
|
|
3
|
+
Context Doc Type: stubs-and-mocks
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Available Stubs
|
|
9
|
+
|
|
10
|
+
| External Service | Scenario | Stub Path | How To Run | Source Evidence | Last Verified | Confidence |
|
|
11
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 接口契约 / Integrations
|
|
2
|
+
|
|
3
|
+
Context Doc Type: integration-index
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
这个文件夹只放具体接口契约:API、event、webhook、SDK、第三方集成、auth、payload、error 和 contract tests。
|
|
11
|
+
|
|
12
|
+
Keep the English field names and section headings because CLI checks rely on them.
|
|
13
|
+
|
|
14
|
+
## Boundary
|
|
15
|
+
|
|
16
|
+
- 服务拓扑和职责归属放 `docs/03-ARCHITECTURE/`。
|
|
17
|
+
- 开发 mock 和调试说明放 `docs/04-DEVELOPMENT/`。
|
|
18
|
+
- endpoint、payload、error、auth、event、webhook、SDK 契约放这里。
|
|
19
|
+
|
|
20
|
+
## Structure Contract
|
|
21
|
+
|
|
22
|
+
| 文件 / 路径 | 必须维护的事实 | 写入规则 |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| `<service-key>-api.md` | API endpoint、auth、payload、error、contract test | 从 `api-contract.md` 创建 |
|
|
25
|
+
| `<event-name>-event.md` | event producer/consumer、schema、delivery、retry | 从 `event-contract.md` 创建 |
|
|
26
|
+
| `<webhook-name>-webhook.md` | webhook source、target、signature、payload、retry | 从 `webhook-contract.md` 创建 |
|
|
27
|
+
| `third-party/<vendor-key>.md` | 第三方平台、账号/权限边界、SDK 使用、限制 | 从 `third-party/vendor-template.md` 创建 |
|
|
28
|
+
|
|
29
|
+
## Contract Rule
|
|
30
|
+
|
|
31
|
+
每个接口契约必须是独立文件,并链接回对应服务:
|
|
32
|
+
|
|
33
|
+
- 服务职责和上下游关系:`docs/03-ARCHITECTURE/service-catalog.md` 或 `services/<service-key>.md`
|
|
34
|
+
- 本地 mock / stub / debug:`docs/04-DEVELOPMENT/external-context/<service-key>.md`
|
|
35
|
+
- 具体 payload、auth、error、contract test:本文件夹
|
|
36
|
+
|
|
37
|
+
不要在一个“接口说明”大文档里混写多个服务。多个微服务就维护多个契约文件;README 里的 Contract Index 负责让人和 Agent 快速定位。
|
|
38
|
+
|
|
39
|
+
## Contract Index
|
|
40
|
+
|
|
41
|
+
| Contract | Type | Producer | Consumer | Service Profile | Development Context | Contract Tests | Last Verified | Confidence |
|
|
42
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# API 契约:<service-or-api> / API Contract: <service-or-api>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: api-contract
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Contract Type
|
|
9
|
+
|
|
10
|
+
API
|
|
11
|
+
|
|
12
|
+
## Index Links
|
|
13
|
+
|
|
14
|
+
| Service Profile | Development Context | Contract Index | Last Verified | Confidence |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| `docs/03-ARCHITECTURE/services/<service-key>.md` | `docs/04-DEVELOPMENT/external-context/<service-key>.md` | `docs/06-INTEGRATIONS/README.md` | unknown | low |
|
|
17
|
+
|
|
18
|
+
## Auth
|
|
19
|
+
|
|
20
|
+
[认证和授权要求。不要写入真实密钥。]
|
|
21
|
+
|
|
22
|
+
## Endpoints
|
|
23
|
+
|
|
24
|
+
| Method | Path | Purpose | Request Payload | Response Payload | Errors | Source Evidence | Last Verified | Confidence |
|
|
25
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
## Payload
|
|
28
|
+
|
|
29
|
+
[请求/响应 schema,或指向 schema 的路径。]
|
|
30
|
+
|
|
31
|
+
## Errors
|
|
32
|
+
|
|
33
|
+
[错误码、重试规则、用户可见行为。]
|
|
34
|
+
|
|
35
|
+
## Contract Tests
|
|
36
|
+
|
|
37
|
+
| Test | Command / Path | Expected Result |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
|
|
40
|
+
## Placement Rule
|
|
41
|
+
|
|
42
|
+
本文件只写一个 API 契约。服务职责放 `03-ARCHITECTURE`,本地 mock/stub/debug 放 `04-DEVELOPMENT`。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 事件契约:<event-name> / Event Contract: <event-name>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: event-contract
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Contract Type
|
|
9
|
+
|
|
10
|
+
Event
|
|
11
|
+
|
|
12
|
+
## Index Links
|
|
13
|
+
|
|
14
|
+
| Service Profile | Development Context | Contract Index | Last Verified | Confidence |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| `docs/03-ARCHITECTURE/services/<service-key>.md` | `docs/04-DEVELOPMENT/external-context/<service-key>.md` | `docs/06-INTEGRATIONS/README.md` | unknown | low |
|
|
17
|
+
|
|
18
|
+
## Topic / Channel
|
|
19
|
+
|
|
20
|
+
[Queue、topic、stream 或 bus。]
|
|
21
|
+
|
|
22
|
+
## Auth
|
|
23
|
+
|
|
24
|
+
[生产者/消费者权限、签名或访问控制。没有也要写 N/A 和证据。]
|
|
25
|
+
|
|
26
|
+
## Payload
|
|
27
|
+
|
|
28
|
+
[事件 schema 或 schema 路径。]
|
|
29
|
+
|
|
30
|
+
## Producers and Consumers
|
|
31
|
+
|
|
32
|
+
| Role | Service | Responsibility | Source Evidence |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
|
|
35
|
+
## Errors
|
|
36
|
+
|
|
37
|
+
[Dead-letter、retry、兼容性策略。]
|
|
38
|
+
|
|
39
|
+
## Contract Tests
|
|
40
|
+
|
|
41
|
+
| Test | Command / Path | Expected Result |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
|
|
44
|
+
## Placement Rule
|
|
45
|
+
|
|
46
|
+
本文件只写一个 event 契约。服务职责放 `03-ARCHITECTURE`,本地 mock/stub/debug 放 `04-DEVELOPMENT`。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 第三方集成:<vendor> / Third-Party Integration: <vendor>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: third-party-integration
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Contract Type
|
|
9
|
+
|
|
10
|
+
Third-party service
|
|
11
|
+
|
|
12
|
+
## Index Links
|
|
13
|
+
|
|
14
|
+
| Service Profile | Development Context | Contract Index | Last Verified | Confidence |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| `docs/03-ARCHITECTURE/services/<vendor-key>.md` | `docs/04-DEVELOPMENT/external-context/<vendor-key>.md` | `docs/06-INTEGRATIONS/README.md` | unknown | low |
|
|
17
|
+
|
|
18
|
+
## Auth
|
|
19
|
+
|
|
20
|
+
[凭证与权限模型。不要写入真实密钥。]
|
|
21
|
+
|
|
22
|
+
## API / SDK Surface
|
|
23
|
+
|
|
24
|
+
| Surface | Purpose | Contract Link | Source Evidence | Last Verified | Confidence |
|
|
25
|
+
| --- | --- | --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
## Payload
|
|
28
|
+
|
|
29
|
+
[重要请求/响应体,或相关 schema 路径。]
|
|
30
|
+
|
|
31
|
+
## Errors
|
|
32
|
+
|
|
33
|
+
[供应商错误、额度限制、重试和降级策略。]
|
|
34
|
+
|
|
35
|
+
## Contract Tests
|
|
36
|
+
|
|
37
|
+
| Test | Command / Path | Expected Result |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
|
|
40
|
+
## Placement Rule
|
|
41
|
+
|
|
42
|
+
本文件只写一个第三方集成。账号/权限/SDK/限制放这里;业务职责和系统拓扑放 `03-ARCHITECTURE`。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Webhook 契约:<webhook-name> / Webhook Contract: <webhook-name>
|
|
2
|
+
|
|
3
|
+
Context Doc Type: webhook-contract
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Contract Type
|
|
9
|
+
|
|
10
|
+
Webhook
|
|
11
|
+
|
|
12
|
+
## Index Links
|
|
13
|
+
|
|
14
|
+
| Service Profile | Development Context | Contract Index | Last Verified | Confidence |
|
|
15
|
+
| --- | --- | --- | --- | --- |
|
|
16
|
+
| `docs/03-ARCHITECTURE/services/<service-key>.md` | `docs/04-DEVELOPMENT/external-context/<service-key>.md` | `docs/06-INTEGRATIONS/README.md` | unknown | low |
|
|
17
|
+
|
|
18
|
+
## Auth
|
|
19
|
+
|
|
20
|
+
[签名、token、IP allowlist 或其他认证方式。不要写入真实密钥。]
|
|
21
|
+
|
|
22
|
+
## Payload
|
|
23
|
+
|
|
24
|
+
[Webhook body schema 或 schema 路径。]
|
|
25
|
+
|
|
26
|
+
## Source Evidence
|
|
27
|
+
|
|
28
|
+
[代码、供应商文档、负责人说明或发现命令。]
|
|
29
|
+
|
|
30
|
+
## Errors
|
|
31
|
+
|
|
32
|
+
[重试、超时、幂等行为。]
|
|
33
|
+
|
|
34
|
+
## Contract Tests
|
|
35
|
+
|
|
36
|
+
| Test | Command / Path | Expected Result |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
|
|
39
|
+
## Placement Rule
|
|
40
|
+
|
|
41
|
+
本文件只写一个 webhook 契约。服务职责放 `03-ARCHITECTURE`,本地 mock/stub/debug 放 `04-DEVELOPMENT`。
|
|
@@ -1,50 +1,27 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 项目总账
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## 用途
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
本文件是自动生成的任务生命周期总索引。人类查看当前状态应优先使用 Dashboard;Agent 快速检索应使用 `task-list`、`task-index` 或这张 generated ledger。
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- 收口任务时,更新任务计划、审查、回归、walkthrough、Lessons 检查和残余路由。
|
|
9
|
-
- 不把聊天记录当证据;证据必须指向文件、命令输出、测试报告、PR、commit 或运行时验证记录。
|
|
10
|
-
- 其他 worker 同时工作时,只更新自己负责的行;共享行由协调者或明确负责人更新。
|
|
7
|
+
本文件不是手写工作日志。不要手工编辑生命周期行。需要改变事实时,更新任务本地文件(`task_plan.md`、`progress.md`、`review.md`、`lesson_candidates.md`、closeout / walkthrough 证据),然后运行 `harness governance rebuild --archive --apply`。
|
|
11
8
|
|
|
12
|
-
|
|
9
|
+
Repo Governance / CI-CD 变化仍通过对应 reference 和任务证据路由。Regression gate、交付顺序、回归节奏、closeout 合同和模块所有权继续保留在各自治理文件中,除非未来提供等价的 scanner-supported fact。
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
16
|
-
| HL-YYYY-MM-DD-001 | YYYY-MM-DD | [任务名称] | [负责人] | `docs/09-PLANNING/TASKS/[task]/task_plan.md` | `review.md` / `n/a` | `Regression-SSoT: RG-...` / `n/a` | `docs/10-WALKTHROUGH/[file].md` / 允许的跳过原因 | `checked-created: L-YYYY-MM-DD-001` / `checked-none: [原因]` | [测试、命令、PR、commit 或运行时证据] | `none` / [负责人 + 路径] | [open / closed / blocked] |
|
|
17
|
-
|
|
18
|
-
## 归档索引
|
|
19
|
-
|
|
20
|
-
> 活跃表超过 50 行,或一次 release / wave 完成后,将 `closed`、`closed-with-residual`、`closed-local-only`、`superseded` 条目移入季度归档:`docs/01-GOVERNANCE/_archive/Harness-Ledger-archive-YYYY-QN.md`。
|
|
11
|
+
## 活跃总表
|
|
21
12
|
|
|
22
|
-
|
|
|
23
|
-
| --- | --- | --- | --- |
|
|
24
|
-
|
|
|
25
|
-
|
|
26
|
-
## 状态说明
|
|
27
|
-
|
|
28
|
-
- `open`:任务仍在进行,当前行可以继续更新。
|
|
29
|
-
- `blocked`:任务或上下文回写被阻塞,必须在“残余路由”写清负责人、下一步和证据。
|
|
30
|
-
- `closed`:任务完成,所需上下文和证据已回写,无未路由残余。
|
|
31
|
-
- `closed-with-residual`:任务完成,但仍有已接受或已路由的残余。
|
|
32
|
-
- `closed-local-only`:本地工作完成但尚未合并、发布或上线;必须写清后续负责人。
|
|
33
|
-
- `superseded`:本行被后续 Harness ID 取代,必须指向新行。
|
|
13
|
+
| ID | Scope | Module | Task | State | Queues | Plan | Review | Lessons Check | Closeout | Residual | Updated |
|
|
14
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
15
|
+
| HL-YYYY-MM-DD-001 | task | none | 短任务标题 | planned | none | docs/09-PLANNING/TASKS/.../task_plan.md | pending | pending | pending | none | YYYY-MM-DD |
|
|
34
16
|
|
|
35
|
-
##
|
|
17
|
+
## 字段规则
|
|
36
18
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
42
|
-
- `残余路由`:无残余写 `none`;否则写负责人、目标文件或任务、预期处理时间。
|
|
19
|
+
- `Scope`:根 planning 任务为 `task`,模块内任务为 `module`。
|
|
20
|
+
- `Module`:模块 key;非模块任务写 `none`。
|
|
21
|
+
- `Queues`:scanner 派生的生命周期队列;用 `harness task-list --queue` 查询。
|
|
22
|
+
- `Review`、`Lessons Check`、`Closeout`、`Residual`:scanner 派生摘要和路由;详细证据留在任务本地文件。
|
|
23
|
+
- `Updated`:生成日期,不是人工编辑时间。
|
|
43
24
|
|
|
44
|
-
##
|
|
25
|
+
## 旧表
|
|
45
26
|
|
|
46
|
-
|
|
47
|
-
2. 回归覆盖面、证据深度和失败项写入 Regression SSoT / Cadence Ledger。
|
|
48
|
-
3. 复用性流程经验写入 Lessons SSoT,并创建 lesson 详情文档。
|
|
49
|
-
4. 收口证据写入 `docs/10-WALKTHROUGH/Closeout-SSoT.md`。
|
|
50
|
-
5. 任意 `closed`、`closed-with-residual`、`closed-local-only` 行都必须能从本表追溯到任务计划、证据和 closeout。
|
|
27
|
+
`Feature-SSoT.md` 和 `Private-Feature-SSoT.md` 是旧任务生命周期投影。当前 Harness 版本在 `harness governance rebuild --archive --apply` 时归档它们,不再重新生成。
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# {{TASK_TITLE}}
|
|
2
|
+
|
|
3
|
+
## Brief
|
|
4
|
+
|
|
5
|
+
## Task ID
|
|
6
|
+
|
|
7
|
+
`{{TASK_ID}}`
|
|
8
|
+
|
|
9
|
+
## 创建日期
|
|
10
|
+
|
|
11
|
+
{{DATE}}
|
|
12
|
+
|
|
13
|
+
## 目标结果
|
|
14
|
+
|
|
15
|
+
说明这个任务完成后,用户或项目能直接看到的结果。
|
|
16
|
+
|
|
17
|
+
## 边界
|
|
18
|
+
|
|
19
|
+
- 范围内:本任务允许修改的文件、行为、文档或验证内容。
|
|
20
|
+
- 范围外:不能顺手塞进来的工作。
|
|
21
|
+
- 停止条件:遇到不确定性、风险或缺少权限时,必须回到 coordinator 或用户确认。
|
|
22
|
+
|
|
23
|
+
## 执行合同
|
|
24
|
+
|
|
25
|
+
- Owner:coordinator
|
|
26
|
+
- 生命周期状态:未开始
|
|
27
|
+
- 必需文件:`task_plan.md`、`execution_strategy.md`、`visual_map.md`、`progress.md`、`findings.md`、`review.md`
|
|
28
|
+
- 完成条件:验证证据必须记录到 `progress.md`
|
|
29
|
+
|
|
30
|
+
## 第一步
|
|
31
|
+
|
|
32
|
+
开始实现前,把这里替换成第一个具体动作。
|
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# 执行策略
|
|
2
2
|
|
|
3
|
+
## Subagent Authorization
|
|
4
|
+
|
|
5
|
+
任务开始时先读这一段,并向用户说明当前授权状态。这里是授权记录,不是执行沙箱。
|
|
6
|
+
|
|
7
|
+
| Role | Status | Permission | Authorized By | Authorized At | Scope | Worktree / Branch | Reuse |
|
|
8
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
9
|
+
| reviewer subagent | allowed by default | read-only | harness task policy | task creation | current task review | n/a | allowed within this task |
|
|
10
|
+
| worker subagent | not authorized | write only after user approval | pending | pending | pending | pending | allowed only within approved task/scope |
|
|
11
|
+
|
|
12
|
+
## Subagent Delegation Decision
|
|
13
|
+
|
|
14
|
+
任务开始时,coordinator 必须根据用户目标主动做这个判断,即使用户完全没有提到 subagent。
|
|
15
|
+
不要假设用户知道 subagent 或 worker 是什么。如果分工有帮助,用白话说明收益,并向用户申请一次授权。
|
|
16
|
+
可以直接对用户说 subagent 或 worker subagent;关键规则是 agent 不能等用户主动提出 subagent。
|
|
17
|
+
如果任务已经明显拆成互不重叠的独立切片,implementation 前就应判断为 `ask-user`。如果还不知道精确文件路径,先确认路径,然后立刻申请独立执行助手授权。
|
|
18
|
+
|
|
19
|
+
| Question | Decision | Reason | Next Action |
|
|
20
|
+
| --- | --- | --- | --- |
|
|
21
|
+
| Should a reviewer subagent be used? | yes / no | [为什么需要或不需要 reviewer] | 如果 yes,直接调用只读 reviewer,不需要额外申请。 |
|
|
22
|
+
| Would a worker subagent materially help? | no / ask-user / already-authorized | [并行切片、独立实现、专项调查,或说明为什么不需要] | 如果 ask-user,直接问:“这个任务适合拆给 worker subagent 并行处理。是否授权我派一个 worker subagent,只修改 [scope],只在 [worktree/branch] 内执行,我负责协调和最终审查?” |
|
|
23
|
+
|
|
24
|
+
## User Authorization Decision
|
|
25
|
+
|
|
26
|
+
如果上方 worker 决策是 `ask-user`,implementation 必须暂停,直到这里记录用户答案。
|
|
27
|
+
已解决状态只能是 `authorized`、`denied` 或 `not-needed`。选择 `ask-user` 后不得继续保持 `pending`。
|
|
28
|
+
|
|
29
|
+
| Gate | State | Decided By | Decided At | Scope | Worktree / Branch | Notes |
|
|
30
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
31
|
+
| worker subagent | pending | pending | pending | pending | pending | 只有直接问过用户后才能填写。 |
|
|
32
|
+
|
|
3
33
|
## 决策表
|
|
4
34
|
|
|
5
35
|
| 决策 | 选择 | 说明 |
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# {{TASK_TITLE}} - 教训候选
|
|
2
|
+
|
|
3
|
+
本文件是任务本地 lesson candidate queue。人工审查需要决定候选是留在任务内、拒绝、进入 dry-run promotion、创建 promoted lesson 详情文档,还是创建单独的沉淀任务。
|
|
4
|
+
|
|
5
|
+
## Candidate Status
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| Schema version | lesson-candidate-v1 |
|
|
10
|
+
| Task-level status | pending-review |
|
|
11
|
+
| Review gate | candidate-file-present |
|
|
12
|
+
| Review decision | pending-human-review |
|
|
13
|
+
| Promotion state | not-promoted |
|
|
14
|
+
| Closeout token | pending |
|
|
15
|
+
| Source task | {{TASK_ID}} |
|
|
16
|
+
| Owner | coordinator |
|
|
17
|
+
| Last updated | {{DATE}} |
|
|
18
|
+
|
|
19
|
+
## Schema
|
|
20
|
+
|
|
21
|
+
允许的任务级状态:
|
|
22
|
+
|
|
23
|
+
- `missing`:候选文件不存在。
|
|
24
|
+
- `pending-review`:候选文件存在,但人工判定还没完成。
|
|
25
|
+
- `no-candidate-accepted`:人工接受本任务没有可复用候选的理由。
|
|
26
|
+
- `needs-promotion`:至少一个候选已排队等待治理沉淀。
|
|
27
|
+
- `promoted`:所有接受的候选都已写入已确认的治理目标。
|
|
28
|
+
- `rejected`:所有候选都已带理由拒绝或归档。
|
|
29
|
+
|
|
30
|
+
允许的行级状态:
|
|
31
|
+
|
|
32
|
+
- `ready-for-review`:agent 认为这个候选可能有复用价值。
|
|
33
|
+
- `needs-promotion`:人工标记这个候选值得通过 dry-run promotion 或后续沉淀任务保留。
|
|
34
|
+
- `promoted`:维护 CLI 或已批准的后续任务已把候选写入确认的治理目标。
|
|
35
|
+
- `rejected`:人工带理由拒绝这个候选。
|
|
36
|
+
|
|
37
|
+
聚合规则:
|
|
38
|
+
|
|
39
|
+
- 任意 `ready-for-review` 行会让任务级状态保持 `pending-review`。
|
|
40
|
+
- 任意 `needs-promotion` 行会让任务级状态变成 `needs-promotion`,除非仍有 `ready-for-review` 行。
|
|
41
|
+
- 全部行都是 `promoted` 时,任务级状态为 `promoted`。
|
|
42
|
+
- 全部行都是 `rejected` 时,任务级状态为 `rejected`。
|
|
43
|
+
- 没有候选的任务必须使用 `no-candidate-accepted`,并填写 `No-Candidate Reason`。
|
|
44
|
+
|
|
45
|
+
## Candidates
|
|
46
|
+
|
|
47
|
+
| ID | Row Status | Title | Scope | Module Key | Detail Artifact | Boundary Reason | Why It Might Matter | Review Decision | Promotion Target | Conflict Check | Required Standard Update | Follow-up Task |
|
|
48
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
49
|
+
|
|
50
|
+
## No-Candidate Reason
|
|
51
|
+
|
|
52
|
+
尚未判定。只有人工审查接受本任务没有可复用候选时,才填写这里。
|
|
53
|
+
|
|
54
|
+
## Promotion Notes
|
|
55
|
+
|
|
56
|
+
- 如果人工审查认为候选值得沉淀,把对应行标记为 `needs-promotion`,并记录目标治理位置。
|
|
57
|
+
- 候选标记为 `needs-promotion` 时,必须趁源任务上下文还新鲜写出完整 task-local detail artifact,并在 `Detail Artifact` 中链接。
|
|
58
|
+
- `Scope` 使用 `task`、`module` 或 `global`;module 级候选必须填写 `Module Key`。
|
|
59
|
+
- 如果人工审查拒绝候选,把对应行标记为 `rejected`,并在 review decision 中保留理由。
|
|
60
|
+
- `needs-promotion` 不阻止任务 closeout,但必须继续出现在维护队列和收口记录里。
|
|
61
|
+
- 默认 promotion 行为是先 dry-run 或创建后续沉淀任务。不要写共享 Lessons 表;被接受的候选应成为 promoted lesson 详情文档。
|
|
62
|
+
- 沉淀任务必须先分类 scope、检查既有 lessons 和 standards 冲突、提出目标改动,并在 apply 前报告验证证据。
|
|
63
|
+
|
|
64
|
+
## Queue Routing
|
|
65
|
+
|
|
66
|
+
| Queue | When this task enters it | Exit condition |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Lessons | 任意候选是 `ready-for-review` 或 `needs-promotion`。 | 人工拒绝、保留在任务内、创建沉淀任务或批准 promotion。 |
|
|
69
|
+
| Missing Materials | 文件缺失、状态非法,或缺少必需的 no-candidate reason。 | Agent 修复候选文件。 |
|
|
70
|
+
| Confirmed / Finalized | 已人工确认,但候选仍有延后的治理事项。 | 记录后续任务或 dry-run 决策。 |
|
|
@@ -113,6 +113,6 @@
|
|
|
113
113
|
- [ ] `progress.md` / `findings.md` 更新
|
|
114
114
|
- [ ] Harness Ledger 更新
|
|
115
115
|
- [ ] 收口记录
|
|
116
|
-
- [ ] Lessons
|
|
116
|
+
- [ ] Lessons 反思与检查:`lesson_candidates.md` 已进入 `no-candidate-accepted` / `needs-promotion` / `promoted` / `rejected`
|
|
117
117
|
- [ ] PR / commit / 发布说明
|
|
118
118
|
- [ ] 残余风险摘要
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# {{TASK_TITLE}} 模块
|
|
2
|
+
|
|
3
|
+
## Brief
|
|
4
|
+
|
|
5
|
+
## 模块 Key
|
|
6
|
+
|
|
7
|
+
`{{TASK_ID}}`
|
|
8
|
+
|
|
9
|
+
## 创建日期
|
|
10
|
+
|
|
11
|
+
{{DATE}}
|
|
12
|
+
|
|
13
|
+
## 模块职责
|
|
14
|
+
|
|
15
|
+
说明这个模块负责什么,以及为什么需要独立管理。
|
|
16
|
+
|
|
17
|
+
## 边界
|
|
18
|
+
|
|
19
|
+
- 负责:本模块拥有的目录、服务或文档区域。
|
|
20
|
+
- 共享面:需要 coordinator 同步的文件。
|
|
21
|
+
- 不负责:相邻模块或未声明的全局文件。
|
|
22
|
+
|
|
23
|
+
## 当前工作
|
|
24
|
+
|
|
25
|
+
列出当前模块任务,或指向 `module_plan.md`。
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
|
|
18
18
|
## 执行与可视化文件
|
|
19
19
|
|
|
20
|
-
模块级 `execution_strategy.md` 和 `
|
|
20
|
+
模块级 `execution_strategy.md` 和 `visual_map.md` 应放在本模块目录,与 `module_plan.md` 同级,不嵌入本文件。
|
|
21
21
|
|
|
22
22
|
| 合同文件 | 是否必需 | 用途 |
|
|
23
23
|
| --- | --- | --- |
|
|
24
24
|
| `execution_strategy.md` | yes | 模块执行模式、写入边界、subagent 使用、全局同步 owner、验证深度 |
|
|
25
|
-
| `
|
|
25
|
+
| `visual_map.md` | yes | 模块图表集合、阶段图、状态、完成度、证据状态、阻塞风险 |
|
|
26
26
|
|
|
27
27
|
旧模块目录可以保留历史嵌入式段落作为 fallback;新模块目录必须使用独立文件。
|
|
28
28
|
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
- 编辑前检查 dirty state,不要 revert 无关改动。
|
|
29
29
|
- 如果另一个活跃会话拥有该模块或必需共享文件,停止并记录冲突。
|
|
30
30
|
- 代码编辑前,基于项目 planning 模板创建或更新 docs/09-PLANNING/MODULES/<module-key>/TASKS/<current-step>-<short-name>/task_plan.md,写清范围、验收、验证、分支/worktree 和共享协调。
|
|
31
|
-
- 代码编辑前,确认模块任务目录含有 `execution_strategy.md` 与 `
|
|
32
|
-
- 如果 docs/09-PLANNING/MODULES/<module-key>/ 缺少模块级 `execution_strategy.md` 或 `
|
|
31
|
+
- 代码编辑前,确认模块任务目录含有 `execution_strategy.md` 与 `visual_map.md`。如缺失,先补齐再实现。
|
|
32
|
+
- 如果 docs/09-PLANNING/MODULES/<module-key>/ 缺少模块级 `execution_strategy.md` 或 `visual_map.md`,在派发 worker 前补齐或更新。
|
|
33
33
|
|
|
34
34
|
分支与工作树:
|
|
35
35
|
- Worktree path: <worktree-path>.
|
|
@@ -55,8 +55,9 @@
|
|
|
55
55
|
- 除非 coordinator 明确分配共享锁,worker session 不得更新 docs/09-PLANNING/Module-Registry.md、docs/Harness-Ledger.md、Closeout SSoT、Regression SSoT 或 Cadence Ledger。
|
|
56
56
|
- 如果需要全局表更新,在 task_plan.md 或 progress.md 写 Coordinator 交接,并标记 `Global sync status: pending-coordinator-pass`。
|
|
57
57
|
- 只有 coordinator pass 或明确的 shared-lock owner 可以更新 docs/09-PLANNING/Module-Registry.md。
|
|
58
|
+
- 汇报状态时区分 `task.state`、`lifecycleState`、`reviewStatus` 和 `closeoutStatus`;`done` 只表示实现步骤完成,不等于 `closed`。
|
|
58
59
|
- 更新 docs/09-PLANNING/MODULES/<module-key>/module_plan.md。
|
|
59
|
-
- 写 review.md,或记录 review skipped-with-reason
|
|
60
|
+
- 写 review.md,或记录 review skipped-with-reason。需要人工确认审查完成时,必须通过本地 dashboard workbench,或由 coordinator 执行 `harness review-confirm`;存在开放 P0/P1/P2 finding 时不得确认。
|
|
60
61
|
- 步骤完成时写 walkthrough,并包含 Lessons 反思。
|
|
61
62
|
- Coordinator pass 在任务关闭时更新 Closeout SSoT 和 Lessons 检查。
|
|
62
63
|
- Coordinator pass 在行为、测试、架构或流程改变时更新 Regression SSoT 和 Harness Ledger。
|