contract-driven-delivery 1.16.0 → 2.0.0
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 +36 -0
- package/README.md +35 -28
- package/assets/agents/backend-engineer.md +2 -2
- package/assets/agents/change-classifier.md +4 -4
- package/assets/agents/ci-cd-gatekeeper.md +1 -1
- package/assets/agents/contract-reviewer.md +1 -1
- package/assets/agents/dependency-security-reviewer.md +1 -1
- package/assets/agents/e2e-resilience-engineer.md +1 -1
- package/assets/agents/frontend-engineer.md +1 -1
- package/assets/agents/monkey-test-engineer.md +1 -1
- package/assets/agents/qa-reviewer.md +1 -1
- package/assets/agents/repo-context-scanner.md +1 -1
- package/assets/agents/spec-architect.md +1 -1
- package/assets/agents/spec-drift-auditor.md +1 -1
- package/assets/agents/stress-soak-engineer.md +1 -1
- package/assets/agents/test-strategist.md +1 -1
- package/assets/agents/ui-ux-reviewer.md +1 -1
- package/assets/agents/visual-reviewer.md +1 -1
- package/assets/skills/cdd-close/SKILL.md +9 -9
- package/assets/skills/cdd-new/SKILL.md +28 -28
- package/assets/skills/cdd-resume/SKILL.md +15 -15
- package/assets/skills/contract-driven-delivery/SKILL.md +6 -0
- package/assets/skills/contract-driven-delivery/references/agent-log-protocol.md +90 -60
- package/assets/skills/contract-driven-delivery/scripts/generate_change_scaffold.py +1 -1
- package/assets/skills/contract-driven-delivery/scripts/validate_spec_traceability.py +1 -1
- package/assets/skills/contract-driven-delivery/templates/agent-log.example.yml +14 -0
- package/assets/skills/contract-driven-delivery/templates/change-classification.md +1 -1
- package/assets/skills/contract-driven-delivery/templates/tasks.yml +39 -0
- package/assets/specs-templates/change-classification.md +1 -1
- package/assets/specs-templates/tasks.yml +39 -0
- package/dist/cli/index.js +10228 -555
- package/package.json +6 -2
- package/assets/skills/contract-driven-delivery/templates/tasks.md +0 -50
- package/assets/specs-templates/tasks.md +0 -54
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.0] - 2026-04-30
|
|
4
|
+
|
|
5
|
+
### BREAKING: structured YAML for tasks and agent-log
|
|
6
|
+
|
|
7
|
+
- `tasks.md` is replaced by `tasks.yml`. The previous markdown-frontmatter +
|
|
8
|
+
checklist hybrid is gone. The new file is a single YAML document validated
|
|
9
|
+
by `src/schemas/tasks.schema.ts` (JSON Schema, draft-07). Task items use
|
|
10
|
+
`status: pending | done | skipped` instead of `[ ] / [x] / [-]` checkboxes.
|
|
11
|
+
- `agent-log/<agent>.md` is replaced by `agent-log/<agent>.yml`, validated by
|
|
12
|
+
`src/schemas/agent-log.schema.ts`. The "field: value" prose convention is
|
|
13
|
+
gone; agents now emit a structured YAML record with `change-id`, `agent`,
|
|
14
|
+
`timestamp` (ISO 8601), `status`, `files-read`, `artifacts`, and
|
|
15
|
+
`next-action`.
|
|
16
|
+
- `cdd-kit gate` parses both files with `js-yaml` and validates them with
|
|
17
|
+
`ajv`. Errors and warnings now reference YAML paths rather than markdown
|
|
18
|
+
line patterns.
|
|
19
|
+
- All bundled templates, skill prompts, agent prompts, and Python helper
|
|
20
|
+
scripts have been updated to point at the new file names.
|
|
21
|
+
|
|
22
|
+
### Upgrading
|
|
23
|
+
|
|
24
|
+
Run `cdd-kit migrate <change-id>` (or `cdd-kit migrate --all`) to convert
|
|
25
|
+
existing changes:
|
|
26
|
+
|
|
27
|
+
- `tasks.md` is parsed (frontmatter + markdown checklist) and rewritten as
|
|
28
|
+
`tasks.yml`. The legacy `tasks.md` is deleted.
|
|
29
|
+
- Every `agent-log/*.md` is parsed and rewritten as `agent-log/*.yml`. The
|
|
30
|
+
legacy markdown logs are deleted.
|
|
31
|
+
- A backup of the change directory is written to
|
|
32
|
+
`.cdd/migrate-backup/<stamp>/<change-id>/` before any rewrite.
|
|
33
|
+
|
|
34
|
+
### Notes
|
|
35
|
+
|
|
36
|
+
This is a breaking release; pin to `^1.16.0` if you still depend on the old
|
|
37
|
+
markdown formats.
|
|
38
|
+
|
|
3
39
|
## [1.16.0] - 2026-04-30
|
|
4
40
|
|
|
5
41
|
### Visual narration: per-agent stage badges
|
package/README.md
CHANGED
|
@@ -102,7 +102,7 @@ or
|
|
|
102
102
|
**You stay in control by:**
|
|
103
103
|
- Reviewing the `change-classification.md` before implementation starts
|
|
104
104
|
- Checking the `test-plan.md` to confirm the right test families are planned
|
|
105
|
-
- Reading the final `agent-log/qa-reviewer.
|
|
105
|
+
- Reading the final `agent-log/qa-reviewer.yml` for the release-readiness verdict
|
|
106
106
|
|
|
107
107
|
---
|
|
108
108
|
|
|
@@ -142,12 +142,12 @@ What changes are currently in progress? (cdd-kit list)
|
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
**What happens:**
|
|
145
|
-
1. Claude reads `tasks.
|
|
145
|
+
1. Claude reads `tasks.yml` and `agent-log/` to determine what was completed
|
|
146
146
|
2. Reports the current state (which agents ran, which tasks are pending)
|
|
147
147
|
3. Asks if you want to continue from the next pending agent
|
|
148
148
|
4. Resumes the full agent flow from where it stopped, with no duplication
|
|
149
149
|
|
|
150
|
-
> If you're upgrading from an older version and your change was created before
|
|
150
|
+
> If you're upgrading from an older version and your change was created before v2.0.0, Claude will automatically run `cdd-kit migrate <change-id>` to upgrade the format before resuming.
|
|
151
151
|
|
|
152
152
|
---
|
|
153
153
|
|
|
@@ -285,18 +285,18 @@ cdd-kit gate add-jwt-auth --lax
|
|
|
285
285
|
```
|
|
286
286
|
|
|
287
287
|
Checks:
|
|
288
|
-
- All required artifacts exist (`change-request.md`, `change-classification.md`, `test-plan.md`, `ci-gates.md`, `tasks.
|
|
288
|
+
- All required artifacts exist (`change-request.md`, `change-classification.md`, `test-plan.md`, `ci-gates.md`, `tasks.yml`; new context-governed changes also require `context-manifest.md`)
|
|
289
289
|
- Each artifact has sufficient content (not a stub): change-classification ≥ 200 chars, test-plan ≥ 200, ci-gates ≥ 150, others ≥ 100
|
|
290
290
|
- `change-classification.md` contains a tier or risk marker
|
|
291
|
-
- `agent-log/*.
|
|
292
|
-
- For context-governed changes, `agent-log/*.
|
|
291
|
+
- `agent-log/*.yml` files all have `status: complete` (not blocked)
|
|
292
|
+
- For context-governed changes, `agent-log/*.yml` files include a structured `files-read:` list and those repo-relative paths are audited against `context-manifest.md` and `.cdd/context-policy.json`
|
|
293
293
|
- Atomic `depends-on` upstream changes are completed or archived before dependent work gates
|
|
294
294
|
- Tier 0–1 changes have `e2e-resilience-engineer`, `monkey-test-engineer`, and `stress-soak-engineer` logs
|
|
295
295
|
- Tier 0–3 changes have `contract-reviewer` and `qa-reviewer` logs
|
|
296
296
|
- All contract validators pass
|
|
297
297
|
|
|
298
298
|
`--strict` additionally:
|
|
299
|
-
- Treats any
|
|
299
|
+
- Treats any task with `status: pending` (except IDs listed in `archive-tasks`) as an error
|
|
300
300
|
- Treats runtime-vs-declared `files-read` drift as errors
|
|
301
301
|
- Treats legacy changes missing `context-manifest.md` or `files-read` audit data as errors
|
|
302
302
|
|
|
@@ -309,8 +309,8 @@ Pre-commit hook uses `--strict` by default (installed via `cdd-kit install-hooks
|
|
|
309
309
|
|
|
310
310
|
✗ gate failed for change: feat-001
|
|
311
311
|
✗ change-classification.md: appears to be a stub (< 200 meaningful chars)
|
|
312
|
-
✗ Tier 1 change requires agent-log/e2e-resilience-engineer.
|
|
313
|
-
✗ 1 task(s) still pending (
|
|
312
|
+
✗ Tier 1 change requires agent-log/e2e-resilience-engineer.yml
|
|
313
|
+
✗ 1 task(s) still pending (mark archive items in archive-tasks frontmatter; mark N/A items as status: skipped)
|
|
314
314
|
```
|
|
315
315
|
|
|
316
316
|
---
|
|
@@ -342,13 +342,13 @@ cdd-kit archive add-jwt-auth
|
|
|
342
342
|
# ✓ Index updated: specs/archive/INDEX.md
|
|
343
343
|
```
|
|
344
344
|
|
|
345
|
-
Warns (but does not block) if `tasks.
|
|
345
|
+
Warns (but does not block) if `tasks.yml` has pending items or `status: gate-blocked`. Use after `/cdd-close` — the skill runs this automatically at the end.
|
|
346
346
|
|
|
347
347
|
---
|
|
348
348
|
|
|
349
349
|
### `cdd-kit abandon <change-id>`
|
|
350
350
|
|
|
351
|
-
Marks a change as abandoned. Updates `tasks.
|
|
351
|
+
Marks a change as abandoned. Updates `tasks.yml` status to `abandoned`, records the reason in `specs/archive/INDEX.md`. The directory stays on disk for git history.
|
|
352
352
|
|
|
353
353
|
```bash
|
|
354
354
|
cdd-kit abandon add-jwt-auth --reason "using Auth0 instead"
|
|
@@ -359,7 +359,7 @@ cdd-kit abandon add-jwt-auth --reason "using Auth0 instead"
|
|
|
359
359
|
|
|
360
360
|
### `cdd-kit migrate <change-id> | --all`
|
|
361
361
|
|
|
362
|
-
Upgrades pre-
|
|
362
|
+
Upgrades pre-v2.0.0 change directories to the current format.
|
|
363
363
|
|
|
364
364
|
```bash
|
|
365
365
|
cdd-kit migrate add-jwt-auth # migrate one change
|
|
@@ -369,15 +369,15 @@ cdd-kit migrate --all --enable-context-governance
|
|
|
369
369
|
```
|
|
370
370
|
|
|
371
371
|
What it upgrades:
|
|
372
|
-
- `tasks.
|
|
372
|
+
- `tasks.yml`: converts legacy `tasks.md` checklist/frontmatter into structured YAML task records
|
|
373
373
|
- `change-classification.md`: detects old `**Tier:** Tier N` format and appends the new `## Tier\n- N` section so tier-based gate checks activate
|
|
374
374
|
- `context-manifest.md`: adds a legacy manifest scaffold by default so old changes can continue with warning-only context audit behavior
|
|
375
375
|
- `--enable-context-governance`: explicitly adds `context-governance: v1` and a context-governed manifest scaffold, making missing manifest or malformed `files-read` data hard gate failures
|
|
376
376
|
|
|
377
|
-
`agent-log/*.
|
|
377
|
+
`agent-log/*.yml` must use this `files-read` format for context-governed changes:
|
|
378
378
|
|
|
379
|
-
```
|
|
380
|
-
|
|
379
|
+
```yaml
|
|
380
|
+
files-read:
|
|
381
381
|
- contracts/api/api-contract.md
|
|
382
382
|
- src/server/routes/users.ts
|
|
383
383
|
```
|
|
@@ -415,7 +415,7 @@ cdd-kit context approve add-jwt-auth CER-001
|
|
|
415
415
|
cdd-kit context approve add-jwt-auth --all-pending # bulk approve every pending request
|
|
416
416
|
```
|
|
417
417
|
|
|
418
|
-
This keeps expansion history explicit while avoiding manual manifest editing. Agents still have to report `files-read` in `agent-log/*.
|
|
418
|
+
This keeps expansion history explicit while avoiding manual manifest editing. Agents still have to report `files-read` in `agent-log/*.yml`; `cdd-kit gate` audits those paths against the manifest.
|
|
419
419
|
|
|
420
420
|
---
|
|
421
421
|
|
|
@@ -470,7 +470,7 @@ cdd-kit new add-user-auth --skip-scan
|
|
|
470
470
|
|
|
471
471
|
By default, `cdd-kit new` auto-runs `cdd-kit context-scan` when `specs/context/` indexes are missing or stale. Use `--skip-scan` only if you intentionally want a bare scaffold without refreshing classifier indexes first.
|
|
472
472
|
|
|
473
|
-
For larger requests, split the work into atomic changes on the same feature branch and use `--depends-on` to record upstream order. `cdd-kit gate` blocks a dependent change until each upstream change is either archived or has `status: completed` in its `tasks.
|
|
473
|
+
For larger requests, split the work into atomic changes on the same feature branch and use `--depends-on` to record upstream order. `cdd-kit gate` blocks a dependent change until each upstream change is either archived or has `status: completed` in its `tasks.yml`.
|
|
474
474
|
|
|
475
475
|
---
|
|
476
476
|
|
|
@@ -559,7 +559,7 @@ git add specs/changes/
|
|
|
559
559
|
git commit -m "chore: migrate changes to current cdd-kit format"
|
|
560
560
|
```
|
|
561
561
|
|
|
562
|
-
This gives those legacy specs
|
|
562
|
+
This gives those legacy specs a new `tasks.yml`, tier markers, and a warning-mode `context-manifest.md` without forcing strict context governance on closed work.
|
|
563
563
|
|
|
564
564
|
### Old in-progress specs
|
|
565
565
|
|
|
@@ -606,7 +606,7 @@ your-repo/
|
|
|
606
606
|
│ │ ├── change-classification.md (required)
|
|
607
607
|
│ │ ├── test-plan.md (required)
|
|
608
608
|
│ │ ├── ci-gates.md (required)
|
|
609
|
-
│ │ ├── tasks.
|
|
609
|
+
│ │ ├── tasks.yml (required)
|
|
610
610
|
│ │ └── agent-log/ ← machine-verifiable evidence per agent
|
|
611
611
|
│ ├── archive/ ← completed and abandoned changes
|
|
612
612
|
│ │ ├── INDEX.md
|
|
@@ -630,15 +630,22 @@ your-repo/
|
|
|
630
630
|
|
|
631
631
|
---
|
|
632
632
|
|
|
633
|
-
## Task notation in `tasks.
|
|
634
|
-
|
|
635
|
-
```markdown
|
|
636
|
-
- [x] 1.1 Confirm classification ← done
|
|
637
|
-
- [-] 2.2 CSS/UI contract ← N/A (not applicable to this change)
|
|
638
|
-
- [ ] 4.1 Backend implementation ← pending
|
|
639
|
-
```
|
|
633
|
+
## Task notation in `tasks.yml`
|
|
640
634
|
|
|
641
|
-
|
|
635
|
+
```yaml
|
|
636
|
+
tasks:
|
|
637
|
+
- id: "1.1"
|
|
638
|
+
title: Confirm classification
|
|
639
|
+
status: done
|
|
640
|
+
- id: "2.2"
|
|
641
|
+
title: CSS/UI contract
|
|
642
|
+
status: skipped
|
|
643
|
+
- id: "4.1"
|
|
644
|
+
title: Backend implementation
|
|
645
|
+
status: pending
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
`cdd-kit gate --strict` treats any task with `status: pending` (except IDs listed in `archive-tasks`, which default to `7.1` and `7.2`) as an error. Use `status: skipped` for tasks that are genuinely not applicable to a given change.
|
|
642
649
|
|
|
643
650
|
---
|
|
644
651
|
|
|
@@ -17,7 +17,7 @@ Before editing production code, read the change artifacts, API/env/data/business
|
|
|
17
17
|
- Validate input at the boundary.
|
|
18
18
|
- Return standardized errors, not raw exceptions.
|
|
19
19
|
- Preserve backward compatibility unless the spec explicitly marks a breaking change.
|
|
20
|
-
- **TDD**: Read `specs/changes/<id>/test-plan.md` first. Write failing unit, contract, and integration tests BEFORE writing feature code. Tests in `tasks.
|
|
20
|
+
- **TDD**: Read `specs/changes/<id>/test-plan.md` first. Write failing unit, contract, and integration tests BEFORE writing feature code. Tests in `tasks.yml` items 3.1–3.2 are your responsibility.
|
|
21
21
|
- Update CI/CD workflows when required by `ci-gates.md`.
|
|
22
22
|
|
|
23
23
|
## Common pitfalls
|
|
@@ -48,7 +48,7 @@ In your agent log, reference file paths and function names — do not paste code
|
|
|
48
48
|
## Machine-Verifiable Evidence
|
|
49
49
|
|
|
50
50
|
After completing your task, write or append to
|
|
51
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
51
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
52
52
|
field rules, and gate-enforcement behavior are defined once in
|
|
53
53
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
54
54
|
|
|
@@ -47,7 +47,7 @@ Before producing a single classification, check these triggers:
|
|
|
47
47
|
export).
|
|
48
48
|
- **Contract-heavy**: ≥ 5 of the 6 contracts (api / css / env / data /
|
|
49
49
|
business / ci) need changes.
|
|
50
|
-
- **Task-heavy**: estimated > 10 task-IDs across sections 3-4 of `tasks.
|
|
50
|
+
- **Task-heavy**: estimated > 10 task-IDs across sections 3-4 of `tasks.yml`.
|
|
51
51
|
|
|
52
52
|
If **any one trigger fires**, output `## Atomic Split Proposal` INSTEAD of the
|
|
53
53
|
normal classification, in this exact shape:
|
|
@@ -140,7 +140,7 @@ Use this structure:
|
|
|
140
140
|
## Required Artifacts
|
|
141
141
|
|
|
142
142
|
The following 5 artifacts are always required for implementation changes:
|
|
143
|
-
`change-request.md`, `change-classification.md`, `test-plan.md`, `ci-gates.md`, `tasks.
|
|
143
|
+
`change-request.md`, `change-classification.md`, `test-plan.md`, `ci-gates.md`, `tasks.yml`
|
|
144
144
|
|
|
145
145
|
## Optional Artifacts (default: no — set yes only with explicit reason)
|
|
146
146
|
|
|
@@ -216,7 +216,7 @@ Note: `archive.md` is created during change close-out, not at classification tim
|
|
|
216
216
|
- AC-3:
|
|
217
217
|
|
|
218
218
|
## Tasks Not Applicable
|
|
219
|
-
(List task IDs from tasks.
|
|
219
|
+
(List task IDs from tasks.yml that are NOT applicable to this change, using the format `2.2, 2.3, 4.2`. Main Claude will mark these as `status: skipped` in tasks.yml.)
|
|
220
220
|
- not-applicable:
|
|
221
221
|
|
|
222
222
|
## Clarifications or Assumptions
|
|
@@ -226,7 +226,7 @@ Note: `archive.md` is created during change close-out, not at classification tim
|
|
|
226
226
|
## Machine-Verifiable Evidence
|
|
227
227
|
|
|
228
228
|
After completing your task, write or append to
|
|
229
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
229
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
230
230
|
field rules, and gate-enforcement behavior are defined once in
|
|
231
231
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
232
232
|
|
|
@@ -65,7 +65,7 @@ mergeable / blocked / informational-risk
|
|
|
65
65
|
## Machine-Verifiable Evidence
|
|
66
66
|
|
|
67
67
|
After completing your task, write or append to
|
|
68
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
68
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
69
69
|
field rules, and gate-enforcement behavior are defined once in
|
|
70
70
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
71
71
|
|
|
@@ -64,7 +64,7 @@ approved / changes-required
|
|
|
64
64
|
## Machine-Verifiable Evidence
|
|
65
65
|
|
|
66
66
|
After completing your task, write or append to
|
|
67
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
67
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
68
68
|
field rules, and gate-enforcement behavior are defined once in
|
|
69
69
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
70
70
|
|
|
@@ -65,7 +65,7 @@ approved / changes-required / blocked
|
|
|
65
65
|
## Machine-Verifiable Evidence
|
|
66
66
|
|
|
67
67
|
After completing your task, write or append to
|
|
68
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
68
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
69
69
|
field rules, and gate-enforcement behavior are defined once in
|
|
70
70
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
71
71
|
|
|
@@ -42,7 +42,7 @@ Record test files, scenarios, fixtures/mocks, commands, screenshots/videos, and
|
|
|
42
42
|
## Machine-Verifiable Evidence
|
|
43
43
|
|
|
44
44
|
After completing your task, write or append to
|
|
45
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
45
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
46
46
|
field rules, and gate-enforcement behavior are defined once in
|
|
47
47
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
48
48
|
|
|
@@ -46,7 +46,7 @@ In your agent log, reference file paths and function names — do not paste code
|
|
|
46
46
|
## Machine-Verifiable Evidence
|
|
47
47
|
|
|
48
48
|
After completing your task, write or append to
|
|
49
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
49
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
50
50
|
field rules, and gate-enforcement behavior are defined once in
|
|
51
51
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
52
52
|
|
|
@@ -45,7 +45,7 @@ Use fuzz payloads, Playwright action sequences, property-based tests, and target
|
|
|
45
45
|
## Machine-Verifiable Evidence
|
|
46
46
|
|
|
47
47
|
After completing your task, write or append to
|
|
48
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
48
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
49
49
|
field rules, and gate-enforcement behavior are defined once in
|
|
50
50
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
51
51
|
|
|
@@ -76,7 +76,7 @@ approved / blocked / approved-with-risk
|
|
|
76
76
|
## Machine-Verifiable Evidence
|
|
77
77
|
|
|
78
78
|
After completing your task, write or append to
|
|
79
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
79
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
80
80
|
field rules, and gate-enforcement behavior are defined once in
|
|
81
81
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
82
82
|
|
|
@@ -85,7 +85,7 @@ frontend / backend / fullstack / monorepo / library / tool
|
|
|
85
85
|
## Machine-Verifiable Evidence
|
|
86
86
|
|
|
87
87
|
After completing your task, write or append to
|
|
88
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
88
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
89
89
|
field rules, and gate-enforcement behavior are defined once in
|
|
90
90
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
91
91
|
|
|
@@ -94,7 +94,7 @@ Target: `design.md` ≤ 150 lines.
|
|
|
94
94
|
## Machine-Verifiable Evidence
|
|
95
95
|
|
|
96
96
|
After completing your task, write or append to
|
|
97
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
97
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
98
98
|
field rules, and gate-enforcement behavior are defined once in
|
|
99
99
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
100
100
|
|
|
@@ -53,7 +53,7 @@ By default, do NOT read `specs/changes/` history. Only read historical change re
|
|
|
53
53
|
## Machine-Verifiable Evidence
|
|
54
54
|
|
|
55
55
|
After completing your task, write or append to
|
|
56
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
56
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
57
57
|
field rules, and gate-enforcement behavior are defined once in
|
|
58
58
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
59
59
|
|
|
@@ -69,7 +69,7 @@ Use realistic load profiles rather than arbitrary request loops.
|
|
|
69
69
|
## Machine-Verifiable Evidence
|
|
70
70
|
|
|
71
71
|
After completing your task, write or append to
|
|
72
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
72
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
73
73
|
field rules, and gate-enforcement behavior are defined once in
|
|
74
74
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
75
75
|
|
|
@@ -73,7 +73,7 @@ Target: `test-plan.md` ≤ 100 lines.
|
|
|
73
73
|
## Machine-Verifiable Evidence
|
|
74
74
|
|
|
75
75
|
After completing your task, write or append to
|
|
76
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
76
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
77
77
|
field rules, and gate-enforcement behavior are defined once in
|
|
78
78
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
79
79
|
|
|
@@ -52,7 +52,7 @@ approved / changes-required
|
|
|
52
52
|
## Machine-Verifiable Evidence
|
|
53
53
|
|
|
54
54
|
After completing your task, write or append to
|
|
55
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
55
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
56
56
|
field rules, and gate-enforcement behavior are defined once in
|
|
57
57
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
58
58
|
|
|
@@ -54,7 +54,7 @@ approved / changes-required
|
|
|
54
54
|
## Machine-Verifiable Evidence
|
|
55
55
|
|
|
56
56
|
After completing your task, write or append to
|
|
57
|
-
`specs/changes/<change-id>/agent-log/<your-agent-name>.
|
|
57
|
+
`specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
|
|
58
58
|
field rules, and gate-enforcement behavior are defined once in
|
|
59
59
|
`references/agent-log-protocol.md` — do not duplicate them in this prompt.
|
|
60
60
|
|
|
@@ -38,7 +38,7 @@ If the user wants to **abandon** this change (not close as complete):
|
|
|
38
38
|
cdd-kit abandon <change-id> --reason "<reason>"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
This marks `tasks.
|
|
41
|
+
This marks `tasks.yml` as `status: abandoned` and records it in `specs/archive/INDEX.md`. The directory is preserved for git history. Do NOT run the rest of this skill after abandoning.
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -48,13 +48,13 @@ Run: `cdd-kit gate <change-id>`
|
|
|
48
48
|
|
|
49
49
|
If gate fails: stop and report failures. Do NOT archive a change that hasn't passed gate.
|
|
50
50
|
|
|
51
|
-
Exception: if `tasks.
|
|
51
|
+
Exception: if `tasks.yml` contains `status: gate-blocked`, ask the user: "This change was gate-blocked. Abandon it? (yes/no)". If yes, run `cdd-kit abandon <change-id> --reason "gate-blocked after 3 attempts"` and stop.
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
|
-
## Step 2: Review tasks.
|
|
55
|
+
## Step 2: Review tasks.yml section 7
|
|
56
56
|
|
|
57
|
-
Read `specs/changes/<change-id>/tasks.
|
|
57
|
+
Read `specs/changes/<change-id>/tasks.yml`.
|
|
58
58
|
|
|
59
59
|
Check section 7:
|
|
60
60
|
- `7.1 Archive change` — will be ticked after Step 4
|
|
@@ -71,7 +71,7 @@ Read only active evidence for this change:
|
|
|
71
71
|
- `specs/changes/<change-id>/qa-report.md` (if exists)
|
|
72
72
|
- `specs/changes/<change-id>/ci-gates.md`
|
|
73
73
|
- `specs/changes/<change-id>/context-manifest.md`
|
|
74
|
-
- `specs/changes/<change-id>/tasks.
|
|
74
|
+
- `specs/changes/<change-id>/tasks.yml`
|
|
75
75
|
|
|
76
76
|
Do not read `specs/archive/` while closing a change. Historical archives are cold data and must not be used as current requirements.
|
|
77
77
|
|
|
@@ -110,9 +110,9 @@ After contract-reviewer responds:
|
|
|
110
110
|
3. Run `cdd-kit validate --contracts` to confirm contract format is preserved
|
|
111
111
|
4. Run `cdd-kit context-scan` so future classifiers see updated hot context indexes
|
|
112
112
|
5. Fill in `## Lessons Promoted to Standards` in archive.md with what was promoted, where, and evidence path
|
|
113
|
-
6.
|
|
113
|
+
6. Set task `7.2` to `status: done` in tasks.yml
|
|
114
114
|
|
|
115
|
-
If there are no lessons to promote, mark `
|
|
115
|
+
If there are no lessons to promote, mark `7.2` as `status: skipped` with rationale.
|
|
116
116
|
|
|
117
117
|
---
|
|
118
118
|
|
|
@@ -120,8 +120,8 @@ If there are no lessons to promote, mark `[-]` for 7.2 with rationale.
|
|
|
120
120
|
|
|
121
121
|
Run: `cdd-kit archive <change-id>`
|
|
122
122
|
|
|
123
|
-
If successful,
|
|
124
|
-
`specs/archive/<year>/<change-id>/tasks.
|
|
123
|
+
If successful, set task `7.1` to `status: done` in tasks.yml (the file is now in specs/archive/, update it there):
|
|
124
|
+
`specs/archive/<year>/<change-id>/tasks.yml` — change `7.1` from `status: pending` to `status: done`.
|
|
125
125
|
|
|
126
126
|
---
|
|
127
127
|
|