coding-agent-harness 1.0.1 → 1.0.2
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 +19 -0
- package/README.en-US.md +14 -0
- package/README.md +111 -86
- package/README.zh-CN.md +270 -0
- package/SKILL.md +116 -189
- package/docs-release/README.md +72 -5
- package/docs-release/architecture/overview.md +286 -28
- package/docs-release/architecture/overview.zh-CN.md +288 -0
- package/docs-release/assets/dashboard-overview-en.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 +214 -0
- package/docs-release/guides/agent-installation.md +123 -26
- package/docs-release/guides/document-audience-and-surfaces.en-US.md +112 -0
- package/docs-release/guides/document-audience-and-surfaces.md +112 -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 +384 -0
- package/docs-release/guides/legacy-migration-agent-prompt.zh-CN.md +361 -0
- package/docs-release/guides/migration-playbook.en-US.md +325 -0
- package/docs-release/guides/migration-playbook.md +329 -0
- package/docs-release/guides/parent-control-repository-pattern.en-US.md +252 -0
- package/docs-release/guides/parent-control-repository-pattern.md +252 -0
- package/docs-release/guides/repository-operating-models.en-US.md +196 -0
- package/docs-release/guides/repository-operating-models.md +196 -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/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 +3 -1
- package/references/agents-md-pattern.md +3 -3
- package/references/docs-directory-standard.md +47 -3
- package/references/external-source-intake-standard.md +75 -0
- package/references/harness-ledger.md +5 -3
- package/references/legacy-12-phase-bootstrap.md +41 -0
- package/references/lessons-governance.md +23 -6
- package/references/planning-loop.md +41 -3
- package/references/project-onboarding-audit.md +10 -0
- package/references/repo-governance-standard.md +2 -0
- package/references/testing-standard.md +50 -0
- package/references/walkthrough-closeout.md +6 -5
- package/scripts/check-harness.mjs +76 -35
- package/scripts/harness.mjs +303 -12
- package/scripts/lib/capability-registry.mjs +533 -0
- package/scripts/lib/check-profiles.mjs +510 -0
- package/scripts/lib/core-shared.mjs +186 -0
- package/scripts/lib/dashboard-data.mjs +389 -0
- package/scripts/lib/dashboard-workbench.mjs +217 -0
- package/scripts/lib/dashboard-writer.mjs +93 -2
- package/scripts/lib/harness-core.mjs +10 -1318
- package/scripts/lib/lesson-maintenance.mjs +145 -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/task-lifecycle.mjs +755 -0
- package/scripts/lib/task-scanner.mjs +682 -0
- package/scripts/smoke-dashboard.mjs +22 -0
- package/scripts/test-harness.mjs +926 -14
- package/templates/AGENTS.md.template +41 -30
- 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 +41 -0
- package/templates/dashboard/assets/app-src/10-router.js +76 -0
- package/templates/dashboard/assets/app-src/20-overview.js +235 -0
- package/templates/dashboard/assets/app-src/30-tasks.js +563 -0
- package/templates/dashboard/assets/app-src/40-modules.js +58 -0
- package/templates/dashboard/assets/app-src/45-review.js +128 -0
- package/templates/dashboard/assets/app-src/50-migration.js +169 -0
- package/templates/dashboard/assets/app-src/60-shared.js +61 -0
- package/templates/dashboard/assets/app-src/90-bindings.js +382 -0
- package/templates/dashboard/assets/app.css +2575 -310
- package/templates/dashboard/assets/app.js +1498 -307
- package/templates/dashboard/assets/app.manifest.json +11 -0
- package/templates/dashboard/assets/i18n.js +429 -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/planning/brief.md +32 -0
- package/templates/planning/lesson_candidates.md +58 -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/task_plan.md +7 -5
- package/templates/planning/{visual_roadmap.md → visual_map.md} +24 -2
- package/templates/reference/docs-library-standard.md +31 -0
- package/templates/reference/execution-workflow-standard.md +4 -2
- package/templates/reference/external-source-intake-standard.md +82 -0
- package/templates/reference/harness-ledger-standard.md +1 -0
- package/templates/reference/repo-governance-standard.md +6 -4
- package/templates/reference/walkthrough-standard.md +2 -1
- package/templates/walkthrough/walkthrough-template.md +2 -2
- package/templates-zh-CN/AGENTS.md.template +69 -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/planning/brief.md +32 -0
- package/templates-zh-CN/planning/lesson_candidates.md +58 -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/task_plan.md +10 -4
- package/templates-zh-CN/planning/{visual_roadmap.md → visual_map.md} +21 -2
- package/templates-zh-CN/reference/docs-library-standard.md +35 -0
- package/templates-zh-CN/reference/execution-workflow-standard.md +9 -2
- package/templates-zh-CN/reference/external-source-intake-standard.md +82 -0
- package/templates-zh-CN/reference/harness-ledger-standard.md +5 -2
- package/templates-zh-CN/reference/repo-governance-standard.md +2 -0
- package/templates-zh-CN/reference/walkthrough-standard.md +4 -4
- package/templates-zh-CN/walkthrough/Closeout-SSoT.md +2 -2
- package/templates-zh-CN/walkthrough/walkthrough-template.md +2 -2
- 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
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Cross-Repo Debugging
|
|
2
|
+
|
|
3
|
+
Context Doc Type: cross-repo-debugging
|
|
4
|
+
Owner: project coordinator
|
|
5
|
+
Last Verified: unknown
|
|
6
|
+
Confidence: low
|
|
7
|
+
|
|
8
|
+
## Debug Flow
|
|
9
|
+
|
|
10
|
+
1. Identify the failing interface or flow.
|
|
11
|
+
2. Read `docs/03-ARCHITECTURE/service-catalog.md` for ownership and upstream/downstream services.
|
|
12
|
+
3. Read the matching `docs/06-INTEGRATIONS/` contract.
|
|
13
|
+
4. Use the matching `docs/04-DEVELOPMENT/external-context/<service-key>.md` notes for mocks and local debugging.
|
|
14
|
+
|
|
15
|
+
## Known Failure Modes
|
|
16
|
+
|
|
17
|
+
| Symptom | Likely Service | First Check | Source Evidence | Last Verified | Confidence |
|
|
18
|
+
| --- | --- | --- | --- | --- | --- |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# 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` or N/A | `docs/06-INTEGRATIONS/<contract>.md` | unknown | low |
|
|
13
|
+
|
|
14
|
+
## Development Use
|
|
15
|
+
|
|
16
|
+
[What an agent needs to know about this external service while changing this repository.]
|
|
17
|
+
|
|
18
|
+
## Do Not Assume
|
|
19
|
+
|
|
20
|
+
- [Assumption that is unsafe without checking the external repo or owner.]
|
|
21
|
+
|
|
22
|
+
## Mocks / Stubs
|
|
23
|
+
|
|
24
|
+
| Scenario | Stub / Mock | Command or Path | Source Evidence |
|
|
25
|
+
| --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
## Cross-Repo Debug Notes
|
|
28
|
+
|
|
29
|
+
[How to debug when this service is involved.]
|
|
30
|
+
|
|
31
|
+
## Placement Rule
|
|
32
|
+
|
|
33
|
+
This file only covers local development, testing, and debugging context for this external service. Put service responsibility in `03-ARCHITECTURE`; put interface fields and schemas in `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
|
+
This directory is only for external source intake, indexing, and digests. Stable facts become Harness execution context only after they are projected into `03-ARCHITECTURE`, `04-DEVELOPMENT/external-context`, or `06-INTEGRATIONS`.
|
|
11
|
+
|
|
12
|
+
Read `docs/11-REFERENCE/external-source-intake-standard.md` before adding a source pack.
|
|
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
|
+
- If there are fewer than 5 source documents, prefer linking them from `Source Evidence` in `03/04/06`; a source pack may be unnecessary.
|
|
22
|
+
- If the material is large, multi-topic, or expected to grow, create `<source-key>/README.md` and `digests/`.
|
|
23
|
+
- `raw/` may contain only commit-safe material with no secrets, personal data, or customer data.
|
|
24
|
+
- Non-committable material should be represented by external path, owner, access condition, and digest only.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 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
|
+
[Summarize what this source is, what it covers, how trustworthy it is, and when it was last updated in 5-10 lines.]
|
|
13
|
+
|
|
14
|
+
## Extracted Facts
|
|
15
|
+
|
|
16
|
+
| Fact ID | Fact | Category | Project To | Source Evidence | Last Verified | Confidence |
|
|
17
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
18
|
+
| F-001 | [verifiable fact] | architecture / development / integration / security / operations / product / unknown | `docs/...` or 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
|
+
# 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,40 @@
|
|
|
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
|
+
This folder owns concrete interface contracts: APIs, events, webhooks, SDK usage, third-party integrations, auth, payloads, errors, and contract tests.
|
|
11
|
+
|
|
12
|
+
## Boundary
|
|
13
|
+
|
|
14
|
+
- Put service topology and ownership in `docs/03-ARCHITECTURE/`.
|
|
15
|
+
- Put development mocks and debugging notes in `docs/04-DEVELOPMENT/`.
|
|
16
|
+
- Put endpoint, payload, error, auth, event, webhook, and SDK contracts here.
|
|
17
|
+
|
|
18
|
+
## Structure Contract
|
|
19
|
+
|
|
20
|
+
| File / Path | Facts to maintain | Write rule |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| `<service-key>-api.md` | API endpoints, auth, payloads, errors, contract tests | Create from `api-contract.md` |
|
|
23
|
+
| `<event-name>-event.md` | Event producer/consumer, schema, delivery, retry | Create from `event-contract.md` |
|
|
24
|
+
| `<webhook-name>-webhook.md` | Webhook source, target, signature, payload, retry | Create from `webhook-contract.md` |
|
|
25
|
+
| `third-party/<vendor-key>.md` | Third-party platform, account/permission boundaries, SDK usage, limits | Create from `third-party/vendor-template.md` |
|
|
26
|
+
|
|
27
|
+
## Contract Rule
|
|
28
|
+
|
|
29
|
+
Every interface contract must be its own file and link back to the related service:
|
|
30
|
+
|
|
31
|
+
- Service ownership and topology: `docs/03-ARCHITECTURE/service-catalog.md` or `services/<service-key>.md`
|
|
32
|
+
- Local mocks, stubs, and debugging: `docs/04-DEVELOPMENT/external-context/<service-key>.md`
|
|
33
|
+
- Concrete payloads, auth, errors, and contract tests: this folder
|
|
34
|
+
|
|
35
|
+
Do not mix multiple services into one large "integration notes" document. Multi-service systems should have multiple contract files; the Contract Index below is the navigation layer for humans and agents.
|
|
36
|
+
|
|
37
|
+
## Contract Index
|
|
38
|
+
|
|
39
|
+
| Contract | Type | Producer | Consumer | Service Profile | Development Context | Contract Tests | Last Verified | Confidence |
|
|
40
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 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
|
+
[Authentication and authorization requirements.]
|
|
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 or link to schema.]
|
|
30
|
+
|
|
31
|
+
## Errors
|
|
32
|
+
|
|
33
|
+
[Error codes, retry rules, and user-visible behavior.]
|
|
34
|
+
|
|
35
|
+
## Contract Tests
|
|
36
|
+
|
|
37
|
+
| Test | Command / Path | Expected Result |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
|
|
40
|
+
## Placement Rule
|
|
41
|
+
|
|
42
|
+
This file describes one API contract only. Put service responsibility in `03-ARCHITECTURE`; put local mock/stub/debug details in `04-DEVELOPMENT`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 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, or bus.]
|
|
21
|
+
|
|
22
|
+
## Auth
|
|
23
|
+
|
|
24
|
+
[Producer/consumer permission, signature, or access control. Use N/A with evidence when no auth exists.]
|
|
25
|
+
|
|
26
|
+
## Payload
|
|
27
|
+
|
|
28
|
+
[Event schema or link.]
|
|
29
|
+
|
|
30
|
+
## Producers and Consumers
|
|
31
|
+
|
|
32
|
+
| Role | Service | Responsibility | Source Evidence |
|
|
33
|
+
| --- | --- | --- | --- |
|
|
34
|
+
|
|
35
|
+
## Errors
|
|
36
|
+
|
|
37
|
+
[Dead-letter, retry, and compatibility behavior.]
|
|
38
|
+
|
|
39
|
+
## Contract Tests
|
|
40
|
+
|
|
41
|
+
| Test | Command / Path | Expected Result |
|
|
42
|
+
| --- | --- | --- |
|
|
43
|
+
|
|
44
|
+
## Placement Rule
|
|
45
|
+
|
|
46
|
+
This file describes one event contract only. Put service responsibility in `03-ARCHITECTURE`; put local mock/stub/debug details in `04-DEVELOPMENT`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 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
|
+
[Credential and permission model. Do not include secrets.]
|
|
21
|
+
|
|
22
|
+
## API / SDK Surface
|
|
23
|
+
|
|
24
|
+
| Surface | Purpose | Contract Link | Source Evidence | Last Verified | Confidence |
|
|
25
|
+
| --- | --- | --- | --- | --- | --- |
|
|
26
|
+
|
|
27
|
+
## Payload
|
|
28
|
+
|
|
29
|
+
[Important request/response bodies or links.]
|
|
30
|
+
|
|
31
|
+
## Errors
|
|
32
|
+
|
|
33
|
+
[Vendor error, quota, retry, and fallback behavior.]
|
|
34
|
+
|
|
35
|
+
## Contract Tests
|
|
36
|
+
|
|
37
|
+
| Test | Command / Path | Expected Result |
|
|
38
|
+
| --- | --- | --- |
|
|
39
|
+
|
|
40
|
+
## Placement Rule
|
|
41
|
+
|
|
42
|
+
This file describes one third-party integration only. Put account/permission/SDK/limit facts here; put business responsibility and system topology in `03-ARCHITECTURE`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 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
|
+
[Signature, token, or IP allowlist.]
|
|
21
|
+
|
|
22
|
+
## Payload
|
|
23
|
+
|
|
24
|
+
[Webhook body schema or link.]
|
|
25
|
+
|
|
26
|
+
## Source Evidence
|
|
27
|
+
|
|
28
|
+
[Code, vendor docs, owner note, or discovery command.]
|
|
29
|
+
|
|
30
|
+
## Errors
|
|
31
|
+
|
|
32
|
+
[Retry, timeout, and idempotency behavior.]
|
|
33
|
+
|
|
34
|
+
## Contract Tests
|
|
35
|
+
|
|
36
|
+
| Test | Command / Path | Expected Result |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
|
|
39
|
+
## Placement Rule
|
|
40
|
+
|
|
41
|
+
This file describes one webhook contract only. Put service responsibility in `03-ARCHITECTURE`; put local mock/stub/debug details in `04-DEVELOPMENT`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# {{TASK_TITLE}}
|
|
2
|
+
|
|
3
|
+
## Brief
|
|
4
|
+
|
|
5
|
+
## Task ID
|
|
6
|
+
|
|
7
|
+
`{{TASK_ID}}`
|
|
8
|
+
|
|
9
|
+
## Created
|
|
10
|
+
|
|
11
|
+
{{DATE}}
|
|
12
|
+
|
|
13
|
+
## Outcome
|
|
14
|
+
|
|
15
|
+
State the user-visible or project-visible result this task must deliver.
|
|
16
|
+
|
|
17
|
+
## Boundaries
|
|
18
|
+
|
|
19
|
+
- In scope: files, behavior, documentation, or verification this task may change.
|
|
20
|
+
- Out of scope: work that must not be folded into this task.
|
|
21
|
+
- Stop conditions: uncertainty, risk, or missing access that requires coordinator or user review.
|
|
22
|
+
|
|
23
|
+
## Execution Contract
|
|
24
|
+
|
|
25
|
+
- Owner: coordinator
|
|
26
|
+
- Lifecycle state: not_started
|
|
27
|
+
- Required files: `task_plan.md`, `execution_strategy.md`, `visual_map.md`, `progress.md`, `findings.md`, `review.md`
|
|
28
|
+
- Required closeout: verification evidence recorded in `progress.md`
|
|
29
|
+
|
|
30
|
+
## First Next Step
|
|
31
|
+
|
|
32
|
+
Replace this line with the first concrete action before implementation starts.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# {{TASK_TITLE}} - Lesson Candidates
|
|
2
|
+
|
|
3
|
+
This file is the task-local lesson candidate queue. It is not the Lessons SSoT. Human review decides whether any candidate should move into governance promotion.
|
|
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
|
+
Allowed task-level status:
|
|
22
|
+
|
|
23
|
+
- `missing`: candidate file is absent.
|
|
24
|
+
- `pending-review`: candidate file exists, but human decision is not complete.
|
|
25
|
+
- `no-candidate-accepted`: human accepted the agent's no-candidate reason.
|
|
26
|
+
- `needs-promotion`: at least one candidate is queued for governance promotion.
|
|
27
|
+
- `promoted`: all accepted candidates were promoted to Lessons SSoT.
|
|
28
|
+
- `rejected`: all candidates were rejected or archived with reasons.
|
|
29
|
+
|
|
30
|
+
Allowed row status:
|
|
31
|
+
|
|
32
|
+
- `ready-for-review`: agent believes this candidate may matter.
|
|
33
|
+
- `needs-promotion`: human marked the candidate worth preserving.
|
|
34
|
+
- `promoted`: maintenance CLI promoted the candidate to Lessons SSoT.
|
|
35
|
+
- `rejected`: human rejected the candidate with a reason.
|
|
36
|
+
|
|
37
|
+
Aggregation rule:
|
|
38
|
+
|
|
39
|
+
- Any `ready-for-review` row keeps task-level status `pending-review`.
|
|
40
|
+
- Any `needs-promotion` row sets task-level status `needs-promotion` unless another row is still `ready-for-review`.
|
|
41
|
+
- All rows `promoted` sets task-level status `promoted`.
|
|
42
|
+
- All rows `rejected` sets task-level status `rejected`.
|
|
43
|
+
- A no-candidate task must use task-level status `no-candidate-accepted` and fill `No-Candidate Reason`.
|
|
44
|
+
|
|
45
|
+
## Candidates
|
|
46
|
+
|
|
47
|
+
| ID | Row Status | Title | Why It Might Matter | Review Decision | Promotion Target |
|
|
48
|
+
| --- | --- | --- | --- | --- | --- |
|
|
49
|
+
|
|
50
|
+
## No-Candidate Reason
|
|
51
|
+
|
|
52
|
+
Not decided yet. Fill this only when review accepts that the task produced no reusable lesson candidate.
|
|
53
|
+
|
|
54
|
+
## Promotion Notes
|
|
55
|
+
|
|
56
|
+
- If human review decides a candidate is worth preserving, mark the row `needs-promotion` and record the target governance location.
|
|
57
|
+
- If human review rejects a candidate, mark the row `rejected` and keep the reason in the review decision.
|
|
58
|
+
- `needs-promotion` does not block task closeout, but it must remain visible in the maintenance queue and closeout record.
|
|
@@ -18,6 +18,12 @@
|
|
|
18
18
|
|
|
19
19
|
- [Shared files that may conflict with other work, or none]
|
|
20
20
|
|
|
21
|
+
## Primary Caller / Entry
|
|
22
|
+
|
|
23
|
+
- Primary caller: [CLI / local agent / UI / API / automation / integration / other]
|
|
24
|
+
- Entries this task must support: [list]
|
|
25
|
+
- Entries explicitly not required: [list]
|
|
26
|
+
|
|
21
27
|
## Permission Boundaries
|
|
22
28
|
|
|
23
29
|
- Continuous execution allowed: yes / no
|
|
@@ -50,6 +56,7 @@
|
|
|
50
56
|
- [ ] Runtime verification: [URL / command / log]
|
|
51
57
|
- [ ] Review report: `review.md` / n/a
|
|
52
58
|
- [ ] Residual risks recorded: yes / no
|
|
59
|
+
- [ ] Lesson candidate review recorded: `lesson_candidates.md` uses `no-candidate-accepted`, `needs-promotion`, `promoted`, or `rejected`
|
|
53
60
|
|
|
54
61
|
## Stop Conditions
|
|
55
62
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# {{TASK_TITLE}} Module
|
|
2
|
+
|
|
3
|
+
## Brief
|
|
4
|
+
|
|
5
|
+
## Module Key
|
|
6
|
+
|
|
7
|
+
`{{TASK_ID}}`
|
|
8
|
+
|
|
9
|
+
## Created
|
|
10
|
+
|
|
11
|
+
{{DATE}}
|
|
12
|
+
|
|
13
|
+
## Role
|
|
14
|
+
|
|
15
|
+
State what this module owns and why it exists.
|
|
16
|
+
|
|
17
|
+
## Boundaries
|
|
18
|
+
|
|
19
|
+
- Owns: directories, services, or document areas under this module.
|
|
20
|
+
- Shared surfaces: files that require coordinator sync.
|
|
21
|
+
- Does not own: adjacent modules or global files outside the declared scope.
|
|
22
|
+
|
|
23
|
+
## Current Work
|
|
24
|
+
|
|
25
|
+
List the active module tasks or point to `module_plan.md`.
|
|
@@ -30,6 +30,12 @@ Do not edit shared SSoT files, coordinator-owned integration files, or unrelated
|
|
|
30
30
|
- Residual risks
|
|
31
31
|
- Coordinator updates needed
|
|
32
32
|
|
|
33
|
+
## Review And State Rule
|
|
34
|
+
|
|
35
|
+
- Keep `task.state`, `lifecycleState`, `reviewStatus`, and `closeoutStatus` separate when reporting progress.
|
|
36
|
+
- `done` means the implementation step finished. It is not `closed` until closeout evidence is recorded.
|
|
37
|
+
- If review is required, update `review.md`. Human review completion must be confirmed through the local dashboard workbench or by the coordinator with `harness review-confirm`; do not mark it complete while open P0/P1/P2 findings remain.
|
|
38
|
+
|
|
33
39
|
## Shared Sync Rule
|
|
34
40
|
|
|
35
41
|
Do not update Module Registry, Harness Ledger, Closeout SSoT, Regression SSoT, or Cadence Ledger from a worker session unless the coordinator assigned the shared lock.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# [Task Name]
|
|
2
2
|
|
|
3
|
+
Task Contract: harness-task/v1
|
|
4
|
+
|
|
3
5
|
## Goal
|
|
4
6
|
|
|
5
7
|
[State the outcome this task must deliver in one sentence.]
|
|
@@ -13,12 +15,11 @@
|
|
|
13
15
|
|
|
14
16
|
| Budget | Use When | Required Structure |
|
|
15
17
|
| --- | --- | --- |
|
|
16
|
-
| simple | One owner, no subagent, L0/L1 evidence |
|
|
18
|
+
| simple | One owner, no subagent, L0/L1 evidence, no formal review gate | `brief.md`, `task_plan.md`, `visual_map.md`, `progress.md` |
|
|
17
19
|
| standard | Normal feature, fix, or documentation change | Plan, strategy, roadmap, progress, findings, and review as needed |
|
|
18
|
-
|
|
|
19
|
-
| module-parallel | Independent module slices | Add `module_plan.md`, module registry updates, and worker handoff |
|
|
20
|
+
| complex | Multi-hour work, L2/L3 evidence, subagent/reviewer, or optional artifact/reference indexes | Standard files plus optional structures as needed |
|
|
20
21
|
|
|
21
|
-
Selected budget:
|
|
22
|
+
Selected budget: {{TASK_BUDGET}}
|
|
22
23
|
|
|
23
24
|
## Context Packet
|
|
24
25
|
|
|
@@ -31,9 +32,10 @@ Selected budget: [simple / standard / long-running / module-parallel]
|
|
|
31
32
|
| Contract File | Required | Purpose |
|
|
32
33
|
| --- | --- | --- |
|
|
33
34
|
| `execution_strategy.md` | yes | Operating model, allocation, conflict control, and evidence strategy |
|
|
34
|
-
| `
|
|
35
|
+
| `visual_map.md` | yes | Diagram collection: phase map, optional architecture/sequence/data-flow/state diagrams, completion state, evidence state, and blocking risk |
|
|
35
36
|
| `progress.md` | yes | Execution log, decisions, and handoff |
|
|
36
37
|
| `findings.md` | yes | Findings, research notes, and unresolved risks |
|
|
38
|
+
| `lesson_candidates.md` | yes for standard/complex | Task-local lesson candidate queue. Human review must accept no-candidate, reject candidates, or queue promotion before review confirmation |
|
|
37
39
|
| `review.md` | if needed | Adversarial or specialist review report |
|
|
38
40
|
| `long-running-task-contract.md` | if needed | Continuous execution permission, loop rules, and stop conditions |
|
|
39
41
|
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
# [Task Name] - Visual
|
|
1
|
+
# [Task Name] - Visual Map
|
|
2
|
+
|
|
3
|
+
Visual Map Contract: v1.0
|
|
4
|
+
|
|
5
|
+
This file is the task's diagram collection. It is not only a phase roadmap.
|
|
6
|
+
Include only diagrams that materially help a human or agent understand the task.
|
|
7
|
+
|
|
8
|
+
## Map Index
|
|
9
|
+
|
|
10
|
+
| ID | Type | Purpose | Required For Understanding | Source Evidence | Promotion Candidate |
|
|
11
|
+
| --- | --- | --- | --- | --- | --- |
|
|
12
|
+
| MAP-01 | phase | Show the execution phases and dependencies | yes | `task_plan.md` | no |
|
|
2
13
|
|
|
3
14
|
## Phase Graph
|
|
4
15
|
|
|
@@ -20,7 +31,18 @@ flowchart LR
|
|
|
20
31
|
|
|
21
32
|
Allowed Evidence Status: missing, partial, present, waived.
|
|
22
33
|
|
|
23
|
-
##
|
|
34
|
+
## Supporting Maps
|
|
35
|
+
|
|
36
|
+
Add optional diagrams only when useful:
|
|
37
|
+
|
|
38
|
+
- architecture: module, component, or service structure.
|
|
39
|
+
- sequence: frontend/backend/service/database/agent interaction.
|
|
40
|
+
- data-flow: data movement and ownership.
|
|
41
|
+
- state: state machine or lifecycle.
|
|
42
|
+
- topology: repo, service, worker, or worktree layout.
|
|
43
|
+
- decision: branch and tradeoff tree.
|
|
44
|
+
|
|
45
|
+
## Map Notes
|
|
24
46
|
|
|
25
47
|
- Use `missing` when no evidence has been checked.
|
|
26
48
|
- Use `partial` when some evidence exists but required checks remain.
|
|
@@ -14,6 +14,35 @@ Define how the project documentation library is organized so agents can find cur
|
|
|
14
14
|
6. Do not mix private runtime state, credentials, personal notes, or generated caches into the public docs library.
|
|
15
15
|
7. Documentation updates that change process or behavior must be reflected in the relevant index or routing file.
|
|
16
16
|
|
|
17
|
+
## Architecture / Development / Integration Routing
|
|
18
|
+
|
|
19
|
+
Use these directories as a low-entropy context system:
|
|
20
|
+
|
|
21
|
+
| Directory | Owns | Must Not Own | Required Schema Signals |
|
|
22
|
+
| --- | --- | --- | --- |
|
|
23
|
+
| `docs/03-ARCHITECTURE/` | system structure, service responsibility, ownership, service catalog, critical flows, ADRs | endpoint payloads, mock instructions, task logs | `Context Doc Type`, `Source Evidence`, `Last Verified`, `Confidence` |
|
|
24
|
+
| `docs/04-DEVELOPMENT/` | local setup, codebase map, external development context, external source packs, mocks, stubs, cross-repo debugging | long-lived architecture facts, API payload contracts, undigested external document dumps | `Context Doc Type`, `Development Use`, `Do Not Assume`, `Mocks / Stubs`, `Source Evidence`, `Last Verified`, `Confidence` |
|
|
25
|
+
| `docs/06-INTEGRATIONS/` | API/event/webhook/SDK/third-party contracts, auth, payloads, errors, contract tests | global topology, service ownership catalog, debugging notes | `Context Doc Type`, `Contract Type`, `Auth`, `Payload`, `Errors`, `Contract Tests`, `Source Evidence`, `Last Verified`, `Confidence` |
|
|
26
|
+
|
|
27
|
+
Concrete split:
|
|
28
|
+
|
|
29
|
+
- `03-ARCHITECTURE/service-catalog.md` gives only the service summary and links.
|
|
30
|
+
- `06-INTEGRATIONS/<service>-api-contract.md` owns payload bodies, auth, errors, and contract tests.
|
|
31
|
+
- `04-DEVELOPMENT/external-context/<service>.md` owns mocks, stubs, unsafe assumptions, and debug notes.
|
|
32
|
+
- `04-DEVELOPMENT/external-source-packs/` owns external source indexes, digests, and projection status only; final facts must be written back to `03/04/06`.
|
|
33
|
+
|
|
34
|
+
## External Source Intake
|
|
35
|
+
|
|
36
|
+
If the target project is a microservice, multi-repo system, split frontend/backend repository, or depends on external team documents, the agent must ask the user for external source material during Diagnose / Decide. Small source sets can be linked from `Source Evidence`; large source sets must use `external-source-intake-standard.md` and a source pack.
|
|
37
|
+
|
|
38
|
+
The fixed processing order is:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
Inventory -> Classify -> Sanitize -> Digest -> Project -> Verify -> Residual
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Raw external material that has not been digested and projected must not become execution fact.
|
|
45
|
+
|
|
17
46
|
## Required Checklist
|
|
18
47
|
|
|
19
48
|
- Entry points identify current reference standards, planning templates, SSoT files, walkthroughs, and ledgers.
|
|
@@ -22,6 +51,8 @@ Define how the project documentation library is organized so agents can find cur
|
|
|
22
51
|
- Generated or private artifacts are excluded or explicitly separated.
|
|
23
52
|
- Cross-links point to the source of truth for each subject.
|
|
24
53
|
- New standards include closeout and evidence expectations.
|
|
54
|
+
- `03/04/06` documents use the required schema signals and route misplaced content back to the correct directory.
|
|
55
|
+
- External source packs, when present, have a registry, digests, projection targets, and residuals.
|
|
25
56
|
|
|
26
57
|
## Closeout Expectations
|
|
27
58
|
|
|
@@ -12,7 +12,8 @@ Define the standard lifecycle for non-trivial work from intake through planning,
|
|
|
12
12
|
4. Implement in small reviewable slices and keep the plan current when scope changes.
|
|
13
13
|
5. Run checks that match the risk surface before claiming completion.
|
|
14
14
|
6. Route material findings through review and do not bury unresolved issues in summaries.
|
|
15
|
-
7.
|
|
15
|
+
7. Proactively commit each verified, meaningful slice. A completed slice should not remain only as unstaged or staged working-tree state unless the user explicitly asked to defer commits or a documented blocker prevents a clean commit.
|
|
16
|
+
8. Close the loop by updating walkthrough, SSoT, regression, ledger, or docs artifacts when the work changes durable project knowledge. New non-simple tasks should keep `lesson_candidates.md` reviewable before human review confirmation.
|
|
16
17
|
|
|
17
18
|
## Required Checklist
|
|
18
19
|
|
|
@@ -20,10 +21,11 @@ Define the standard lifecycle for non-trivial work from intake through planning,
|
|
|
20
21
|
- Current repo state and ownership boundaries were checked.
|
|
21
22
|
- Implementation notes identify changed surfaces.
|
|
22
23
|
- Required checks and evidence are captured.
|
|
24
|
+
- Verified slices have commit SHAs, or the reason for deferring commit is written down.
|
|
23
25
|
- Review status and material findings are recorded.
|
|
24
26
|
- Residuals are explicit and assigned.
|
|
25
27
|
- Closeout artifacts are updated when required.
|
|
26
28
|
|
|
27
29
|
## Closeout Expectations
|
|
28
30
|
|
|
29
|
-
Closeout must provide a concise change summary, evidence checked, checks not run with reasons, review outcome, residual risk, and any durable docs or ledger updates made during the task.
|
|
31
|
+
Closeout must provide a concise change summary, evidence checked, checks not run with reasons, review outcome, residual risk, relevant commit SHAs or deferred-commit rationale, and any durable docs or ledger updates made during the task.
|