contract-driven-delivery 2.0.18 → 2.0.19
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 +26 -0
- package/README.md +28 -6
- package/assets/agents/change-classifier.md +29 -2
- package/assets/agents/ci-cd-gatekeeper.md +4 -0
- package/assets/agents/e2e-resilience-engineer.md +4 -1
- package/assets/agents/implementation-planner.md +23 -0
- package/assets/agents/monkey-test-engineer.md +5 -0
- package/assets/agents/qa-reviewer.md +8 -0
- package/assets/agents/spec-architect.md +1 -1
- package/assets/agents/spec-drift-auditor.md +8 -0
- package/assets/agents/stress-soak-engineer.md +10 -1
- package/assets/agents/test-strategist.md +1 -0
- package/assets/agents/ui-ux-reviewer.md +7 -0
- package/assets/agents/visual-reviewer.md +9 -0
- package/assets/skills/cdd-new/SKILL.md +61 -16
- package/assets/skills/cdd-resume/SKILL.md +4 -0
- package/assets/skills/contract-driven-delivery/SKILL.md +24 -7
- package/assets/skills/contract-driven-delivery/references/qa-gates.md +5 -1
- package/assets/skills/contract-driven-delivery/references/spec-drift-policy.md +4 -1
- package/assets/skills/contract-driven-delivery/references/stress-soak-standard.md +4 -0
- package/assets/skills/contract-driven-delivery/references/visual-review-standard.md +4 -1
- package/assets/skills/contract-driven-delivery/scripts/generate_change_scaffold.py +13 -4
- package/assets/skills/contract-driven-delivery/templates/change-classification.md +11 -1
- package/assets/skills/contract-driven-delivery/templates/ci-gates.md +4 -0
- package/assets/skills/contract-driven-delivery/templates/implementation-plan.md +9 -0
- package/assets/skills/contract-driven-delivery/templates/tasks.yml +3 -2
- package/assets/skills/contract-driven-delivery/templates/test-plan.md +1 -1
- package/assets/specs-templates/change-classification.md +11 -1
- package/assets/specs-templates/ci-gates.md +4 -0
- package/assets/specs-templates/implementation-plan.md +9 -0
- package/assets/specs-templates/tasks.yml +3 -2
- package/assets/specs-templates/test-plan.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.19] - 2026-05-15
|
|
4
|
+
|
|
5
|
+
Design ownership patch for the implementation-planning flow.
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- **`design.md` now has an explicit owner and task**: `spec-architect` owns
|
|
10
|
+
`specs/changes/<change-id>/design.md`; `tasks.yml` now tracks required
|
|
11
|
+
design confirmation separately from CI gate planning and implementation
|
|
12
|
+
planning.
|
|
13
|
+
- **Optional report artifacts are now minimized**: routine reviewer evidence
|
|
14
|
+
should use concise `agent-log/*.yml` pointers; report markdown is reserved for
|
|
15
|
+
blocking findings, approved-with-risk decisions, excluded pre-existing
|
|
16
|
+
failures, visual evidence bundles, or high-risk stress/soak results.
|
|
17
|
+
- **Execution artifacts now reference instead of duplicate**:
|
|
18
|
+
`implementation-plan.md`, `test-plan.md`, and `ci-gates.md` now instruct
|
|
19
|
+
agents to reference source artifacts by path/section/id instead of copying
|
|
20
|
+
full design, test, CI, or contract prose.
|
|
21
|
+
- **Planner no longer backfills design**: `implementation-planner` now blocks
|
|
22
|
+
and routes back to `spec-architect` if classification requires design but
|
|
23
|
+
`design.md` is missing or still scaffolded.
|
|
24
|
+
- **Classifier and resume routing are stricter**: classification now keeps
|
|
25
|
+
`Architecture Review Required`, Optional Artifacts `design.md`, Required
|
|
26
|
+
Agents, and task `1.3` consistent; `/cdd-resume` resumes from
|
|
27
|
+
`spec-architect` before planning when required design is missing.
|
|
28
|
+
|
|
3
29
|
## [2.0.18] - 2026-05-15
|
|
4
30
|
|
|
5
31
|
Implementation planning handoff release. This adds a senior planning step so
|
package/README.md
CHANGED
|
@@ -94,8 +94,8 @@ or
|
|
|
94
94
|
3. The `change-classifier` agent (Opus) reads the request, classifies risk and tier, decides which agents are needed
|
|
95
95
|
4. If the request is too broad, the classifier can return an atomic split proposal instead of forcing one Tier 0/1 monolith
|
|
96
96
|
5. For Tier 0-1 work, Claude's narration uses stage badges so users can tell whether the flow is deciding, implementing, testing, or reviewing
|
|
97
|
-
6. Agents run in order: contracts ??test plan
|
|
98
|
-
7. `implementation-planner` writes `implementation-plan.md`, the concise execution packet implementation agents follow
|
|
97
|
+
6. Agents run in order: contracts ??test plan ??`spec-architect` writes `design.md` if required ??CI/CD gates ??implementation plan ??backend engineer ??frontend engineer ??QA
|
|
98
|
+
7. `implementation-planner` reads the confirmed artifacts and writes `implementation-plan.md`, the concise execution packet implementation agents follow. It does not create `design.md`; missing required design routes back to `spec-architect`.
|
|
99
99
|
8. Implementation agents write code/tests from that plan and optional concise handoff notes
|
|
100
100
|
9. `cdd-kit gate <change-id>` runs automatically to confirm all artifacts are complete
|
|
101
101
|
10. Claude reports a summary and the suggested git commit
|
|
@@ -120,7 +120,7 @@ Machine-readable metadata such as future `change.yml` / `trace.yml` should follo
|
|
|
120
120
|
CDD uses two agent classes on purpose:
|
|
121
121
|
|
|
122
122
|
- `change-classifier`, `contract-reviewer`, `qa-reviewer`, `visual-reviewer`, `dependency-security-reviewer`, `ui-ux-reviewer`, `repo-context-scanner`, and `spec-drift-auditor` are read-only. They return analysis, verdicts, or optional handoff notes; main Claude writes the corresponding files.
|
|
123
|
-
- `implementation-planner`, `backend-engineer`, `frontend-engineer`, `e2e-resilience-engineer`, `monkey-test-engineer`, `stress-soak-engineer`, `ci-cd-gatekeeper`, `test-strategist`, and `spec-architect` are write-capable. They write their own
|
|
123
|
+
- `implementation-planner`, `backend-engineer`, `frontend-engineer`, `e2e-resilience-engineer`, `monkey-test-engineer`, `stress-soak-engineer`, `ci-cd-gatekeeper`, `test-strategist`, and `spec-architect` are write-capable. They write their own owned artifacts directly: for example, `spec-architect` owns `design.md`, while `implementation-planner` owns `implementation-plan.md`.
|
|
124
124
|
|
|
125
125
|
This split is deliberate:
|
|
126
126
|
|
|
@@ -128,6 +128,24 @@ This split is deliberate:
|
|
|
128
128
|
- Implementation and planning agents write directly so large artifacts and code edits do not have to be relayed back through the main orchestrator, which reduces token waste and preserves clearer ownership.
|
|
129
129
|
- `tasks.yml` remains owned by main Claude so task state changes stay centralized even when multiple agents contribute files.
|
|
130
130
|
|
|
131
|
+
### Artifact Minimization
|
|
132
|
+
|
|
133
|
+
CDD keeps the authoritative artifact set small. Routine reviewer findings should
|
|
134
|
+
not become new markdown files.
|
|
135
|
+
|
|
136
|
+
| artifact class | files | rule |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| Core decision and planning | `change-classification.md`, `context-manifest.md`, `test-plan.md`, `ci-gates.md`, `implementation-plan.md`, `tasks.yml` | required for implementation changes |
|
|
139
|
+
| Conditional design | `design.md` | only when `spec-architect` is required |
|
|
140
|
+
| Durable evidence reports | `qa-report.md`, `visual-review-report.md`, `regression-report.md`, `monkey-test-report.md`, `stress-soak-report.md` | only for blocking findings, approved-with-risk, excluded pre-existing failures, visual evidence bundles, or high-risk load/soak results |
|
|
141
|
+
| Lightweight traces | `agent-log/*.yml` | optional concise pointers for routine evidence and resume/debugging |
|
|
142
|
+
|
|
143
|
+
Later artifacts should reference earlier artifacts by path, section, acceptance
|
|
144
|
+
criterion, decision id, or gate name. They should not copy full test strategy,
|
|
145
|
+
CI policy, design rationale, or contract prose. This keeps token use bounded
|
|
146
|
+
and prevents multiple markdown files from becoming conflicting sources of
|
|
147
|
+
truth.
|
|
148
|
+
|
|
131
149
|
**You stay in control by:**
|
|
132
150
|
- Reviewing the `change-classification.md` before implementation starts
|
|
133
151
|
- Checking the `test-plan.md` to confirm the right test families are planned
|
|
@@ -297,12 +315,12 @@ What gets updated:
|
|
|
297
315
|
| `cdd-kit refresh --yes` | global agents/skills, missing project files, kit-shipped templates with backup, model policy roles, hooks, `.cdd/code-map.yml` | user source, contracts content, active change content |
|
|
298
316
|
| `cdd-kit migrate --all` | existing `specs/changes/*` metadata and new required scaffolds | implementation code and completed archive history |
|
|
299
317
|
|
|
300
|
-
For
|
|
318
|
+
For releases 2.0.18 and newer, run `cdd-kit refresh --yes` so the
|
|
301
319
|
`implementation-planner` agent, updated `/cdd-new` and `/cdd-resume` skills,
|
|
302
320
|
fresh `specs/templates/`, and `.cdd/model-policy.json` role binding are all in
|
|
303
321
|
place. Then run `cdd-kit migrate --all` so existing active change directories
|
|
304
|
-
receive `implementation-plan.md`; fill
|
|
305
|
-
agents.
|
|
322
|
+
receive `implementation-plan.md`; fill required `design.md` with
|
|
323
|
+
`spec-architect` before resuming the planner or implementation agents.
|
|
306
324
|
|
|
307
325
|
If you do not want template overwrites, run the narrower path:
|
|
308
326
|
|
|
@@ -579,6 +597,10 @@ cdd-kit new add-user-api --depends-on add-user-db
|
|
|
579
597
|
cdd-kit new add-user-auth --skip-scan
|
|
580
598
|
```
|
|
581
599
|
|
|
600
|
+
Prefer the default scaffold. `--all` is mainly for template inspection or
|
|
601
|
+
manual workflows; `/cdd-new` should create optional markdown only when
|
|
602
|
+
classification requires it or review evidence needs durable prose.
|
|
603
|
+
|
|
582
604
|
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.
|
|
583
605
|
|
|
584
606
|
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`.
|
|
@@ -152,9 +152,32 @@ The following 7 artifacts are always required for implementation changes:
|
|
|
152
152
|
| design.md | no | |
|
|
153
153
|
| qa-report.md | no | |
|
|
154
154
|
| regression-report.md | no | |
|
|
155
|
+
| visual-review-report.md | no | |
|
|
156
|
+
| monkey-test-report.md | no | |
|
|
157
|
+
| stress-soak-report.md | no | |
|
|
155
158
|
|
|
156
159
|
Note: `archive.md` is created during change close-out, not at classification time.
|
|
157
160
|
|
|
161
|
+
Artifact minimization rule:
|
|
162
|
+
- Do not create optional markdown just because an agent can write or review it.
|
|
163
|
+
- Prefer short `agent-log/*.yml` pointers for routine evidence, reviewer notes,
|
|
164
|
+
and pass/fail summaries.
|
|
165
|
+
- Set `qa-report.md`, `visual-review-report.md`, `regression-report.md`,
|
|
166
|
+
`monkey-test-report.md`, or `stress-soak-report.md` to `yes` only when the
|
|
167
|
+
change needs durable prose evidence: blocking findings, approved-with-risk,
|
|
168
|
+
pre-existing failures excluded from the gate, visual evidence bundles, or
|
|
169
|
+
high-risk load/soak results.
|
|
170
|
+
- Set `current-behavior.md`, `proposal.md`, or `spec.md` to `yes` only when the
|
|
171
|
+
request needs a separate product investigation or user-facing behavior
|
|
172
|
+
decision that does not fit in classification, design, or implementation plan.
|
|
173
|
+
- Later artifacts should reference earlier artifacts by path/section/id instead
|
|
174
|
+
of copying full rationale, tests, CI gates, or design decisions.
|
|
175
|
+
|
|
176
|
+
Design consistency rule:
|
|
177
|
+
- If `Architecture Review Required` is `yes`, set `design.md` to `yes` and include `spec-architect` in `## Required Agents`.
|
|
178
|
+
- If `design.md` is `yes`, `Architecture Review Required` must also be `yes` and `spec-architect` must be listed.
|
|
179
|
+
- If no design review is needed, include task `1.3` in `## Tasks Not Applicable`.
|
|
180
|
+
|
|
158
181
|
## Required Contracts
|
|
159
182
|
- API:
|
|
160
183
|
- CSS/UI:
|
|
@@ -251,7 +274,7 @@ concrete pointer (path:line-range, test-id, URL, or pass/fail string):
|
|
|
251
274
|
artifacts:
|
|
252
275
|
- { type: tier, pointer: "Tier 2" }
|
|
253
276
|
- { type: risk, pointer: "medium" }
|
|
254
|
-
- { type: required-artifacts, pointer: "change-request, classification, test-plan, ci-gates, tasks" }
|
|
277
|
+
- { type: required-artifacts, pointer: "change-request, classification, context-manifest, test-plan, ci-gates, implementation-plan, tasks" }
|
|
255
278
|
- { type: required-reviewers, pointer: "contract-reviewer, qa-reviewer" }
|
|
256
279
|
- { type: context-manifest-draft, pointer: "specs/changes/<id>/context-manifest.md#allowed-paths" }
|
|
257
280
|
```
|
|
@@ -263,7 +286,10 @@ If a recommended `type` does not apply to your run, either omit it or use `point
|
|
|
263
286
|
- A single request can be both `ui-only-change` and `api-only-change` ??list both as primary; require both UI/UX-visual review AND contract tests.
|
|
264
287
|
- `bug-fix` that requires a contract change is no longer just a bug-fix ??promote to `feature-enhancement` or `business-logic-change` to force the contract path.
|
|
265
288
|
- `refactor` that touches CI gates is also a `ci-cd-change`.
|
|
266
|
-
- When uncertain, classify upward
|
|
289
|
+
- When uncertain, classify upward for risk and required agents, but keep optional
|
|
290
|
+
artifacts minimal. The cost of a skipped required artifact is high; the cost
|
|
291
|
+
of unnecessary optional markdown is also high because it increases token load
|
|
292
|
+
and creates duplicate sources of truth.
|
|
267
293
|
|
|
268
294
|
## Routing rules
|
|
269
295
|
|
|
@@ -274,4 +300,5 @@ If a recommended `type` does not apply to your run, either omit it or use `point
|
|
|
274
300
|
- High-load, auto-refresh, queue, cache, report, or long-running job change requires stress or soak consideration.
|
|
275
301
|
- Existing behavior changes require current behavior and regression scope.
|
|
276
302
|
- Bug fixes require reproduction, root cause, failing test, and regression test whenever feasible.
|
|
303
|
+
- Architecture review, non-obvious design decisions, module-boundary changes, data-flow changes, migration/rollback decisions, compatibility trade-offs, or operational-risk decisions require `spec-architect` to write `design.md` before `implementation-planner` runs.
|
|
277
304
|
- Any implementation change requires `implementation-planner` before backend/frontend/test implementation agents. The planner turns decisions, contracts, and tests into the execution packet; implementation agents should not infer missing scope from chat history.
|
|
@@ -9,6 +9,10 @@ You are the CI/CD gatekeeper.
|
|
|
9
9
|
|
|
10
10
|
CI/CD is mandatory. Every change must have a `ci-gates.md` plan, even if the plan states that existing gates are sufficient. You both design the gate plan and apply the required workflow changes.
|
|
11
11
|
|
|
12
|
+
Keep `ci-gates.md` as the authority for gate policy only. Reference
|
|
13
|
+
`test-plan.md` rows, acceptance criteria, or test commands; do not duplicate the
|
|
14
|
+
full test strategy or implementation plan.
|
|
15
|
+
|
|
12
16
|
## Responsibilities
|
|
13
17
|
|
|
14
18
|
- Design the gate plan (`ci-gates.md`) for every change.
|
|
@@ -33,7 +33,10 @@ Before editing tests, read `specs/changes/<change-id>/implementation-plan.md` an
|
|
|
33
33
|
|
|
34
34
|
## Output
|
|
35
35
|
|
|
36
|
-
Record test files, scenarios, fixtures/mocks, commands, screenshots/videos, and
|
|
36
|
+
Record test files, scenarios, fixtures/mocks, commands, screenshots/videos, and
|
|
37
|
+
mutation checks in concise response text plus optional `agent-log/*.yml`
|
|
38
|
+
evidence pointers. Do not create separate markdown reports unless
|
|
39
|
+
classification explicitly requires one or failures need durable prose.
|
|
37
40
|
|
|
38
41
|
## Read scope
|
|
39
42
|
|
|
@@ -11,6 +11,10 @@ Your job is to give implementation agents a complete, low-ambiguity execution pa
|
|
|
11
11
|
|
|
12
12
|
`specs/changes/<change-id>/implementation-plan.md`
|
|
13
13
|
|
|
14
|
+
You have the Edit tool and should write that file directly. If the runtime
|
|
15
|
+
denies file writes, report `blocked` with the exact target path and do not
|
|
16
|
+
continue as if the plan were written.
|
|
17
|
+
|
|
14
18
|
## Inputs
|
|
15
19
|
|
|
16
20
|
Read these change artifacts first:
|
|
@@ -27,16 +31,27 @@ Read these change artifacts first:
|
|
|
27
31
|
|
|
28
32
|
Use the context manifest as the read boundary. If required context is missing, add a Context Expansion Request and report `blocked` instead of guessing.
|
|
29
33
|
|
|
34
|
+
If `change-classification.md` says `Architecture Review Required: yes`, marks
|
|
35
|
+
Optional Artifacts `design.md` as `yes`, or lists `spec-architect` in
|
|
36
|
+
`## Required Agents`, then `specs/changes/<change-id>/design.md` must already
|
|
37
|
+
exist and be filled before you plan. If it is missing or still a scaffold,
|
|
38
|
+
report `blocked` and route back to `spec-architect`. Do not create or repair
|
|
39
|
+
`design.md` yourself.
|
|
40
|
+
|
|
30
41
|
## Planning Rules
|
|
31
42
|
|
|
32
43
|
- Write an execution plan, not a rationale document.
|
|
33
44
|
- Include only the background needed to execute safely.
|
|
34
45
|
- Name concrete files, directories, contracts, and tests whenever known.
|
|
46
|
+
- Reference `test-plan.md`, `ci-gates.md`, `design.md`, and contract files by
|
|
47
|
+
path, section, criterion id, decision id, or gate name. Do not copy their full
|
|
48
|
+
prose into this plan.
|
|
35
49
|
- State non-goals clearly so implementation agents do not opportunistically refactor.
|
|
36
50
|
- Map every required change to an owner agent.
|
|
37
51
|
- Map acceptance criteria to tests or verification commands.
|
|
38
52
|
- If the chosen approach is not clear from the artifacts, stop and report `blocked`.
|
|
39
53
|
- If a bug fix lacks reproduction, root cause, or regression coverage and the classification says those are required, stop and report `blocked`.
|
|
54
|
+
- Never write `design.md`; design decisions are owned by `spec-architect`.
|
|
40
55
|
|
|
41
56
|
## Output
|
|
42
57
|
|
|
@@ -61,6 +76,13 @@ Write `specs/changes/<change-id>/implementation-plan.md` with this structure:
|
|
|
61
76
|
|---|---|---|---|
|
|
62
77
|
| IP-1 | ... | ... | backend-engineer |
|
|
63
78
|
|
|
79
|
+
## Source Artifact Pointers
|
|
80
|
+
| source | relevant pointer | used for |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| test-plan.md | AC-1 | tests to run/write |
|
|
83
|
+
| ci-gates.md | required gates table | verification commands |
|
|
84
|
+
| design.md | Decision: ... | implementation constraint |
|
|
85
|
+
|
|
64
86
|
## File-Level Plan
|
|
65
87
|
| path or glob | action | notes |
|
|
66
88
|
|---|---|---|
|
|
@@ -79,6 +101,7 @@ Write `specs/changes/<change-id>/implementation-plan.md` with this structure:
|
|
|
79
101
|
|
|
80
102
|
## Handoff Constraints
|
|
81
103
|
- Implementation agents must not infer missing requirements from chat history.
|
|
104
|
+
- Do not re-copy full design, test strategy, CI policy, or contract prose into this plan; follow the source pointers above.
|
|
82
105
|
- If this plan omits a required file, behavior, contract, or test, stop and report `blocked`.
|
|
83
106
|
- Keep implementation within the file-level plan unless a Context Expansion Request is approved.
|
|
84
107
|
|
|
@@ -37,6 +37,11 @@ id, seed/input, baseline commit or prior evidence, and whether this change
|
|
|
37
37
|
touched the failing surface. Mark it as a follow-up when it is outside this
|
|
38
38
|
change's scope; keep new or regressed failures blocking.
|
|
39
39
|
|
|
40
|
+
Default reporting should be concise response text plus optional
|
|
41
|
+
`agent-log/*.yml` evidence pointers. Create `monkey-test-report.md` only when
|
|
42
|
+
classification explicitly requires it, when failures or excluded pre-existing
|
|
43
|
+
issues need durable prose, or when QA needs approved-with-risk evidence.
|
|
44
|
+
|
|
40
45
|
## Tools
|
|
41
46
|
|
|
42
47
|
- Property-based ??fast-check (JS/TS), hypothesis (Python), proptest (Rust) for state machine invariants.
|
|
@@ -53,6 +53,14 @@ Invoke `spec-drift-auditor` at the following points (do not wait for issues to s
|
|
|
53
53
|
|
|
54
54
|
## Output
|
|
55
55
|
|
|
56
|
+
Default output is a concise QA verdict in your response plus an optional
|
|
57
|
+
`Agent Log` YAML block. Do not ask main Claude to create `qa-report.md` for a
|
|
58
|
+
routine approved change.
|
|
59
|
+
|
|
60
|
+
Emit a full `# QA Report` body only when `change-classification.md` explicitly
|
|
61
|
+
requires `qa-report.md`, or when the decision is `blocked` /
|
|
62
|
+
`approved-with-risk`, or when pre-existing failures are excluded from this gate.
|
|
63
|
+
|
|
56
64
|
```md
|
|
57
65
|
# QA Report
|
|
58
66
|
|
|
@@ -7,7 +7,7 @@ model: opus
|
|
|
7
7
|
|
|
8
8
|
You are the architecture reviewer.
|
|
9
9
|
|
|
10
|
-
Do not implement or modify production code, tests, configs, or contracts. Your
|
|
10
|
+
Do not implement or modify production code, tests, configs, or contracts. You are the owner for `specs/changes/<change-id>/design.md`. Your primary write target is `specs/changes/<change-id>/design.md`. You may also write an ADR under `docs/adr/` when the ADR rule below applies. Evaluate whether the proposed change affects architecture, contracts, module boundaries, performance, data flow, compatibility, deployment, or operational risk.
|
|
11
11
|
|
|
12
12
|
## ADR rule
|
|
13
13
|
|
|
@@ -33,6 +33,14 @@ By default, do NOT read `specs/changes/` history. Only read historical change re
|
|
|
33
33
|
|
|
34
34
|
## Output
|
|
35
35
|
|
|
36
|
+
Default output is a concise drift verdict in your response plus an optional
|
|
37
|
+
`Agent Log` YAML block with evidence pointers. Do not create standalone drift
|
|
38
|
+
markdown for a clean audit.
|
|
39
|
+
|
|
40
|
+
Emit a full `# Spec Drift Audit` body only when drift is found, when the user
|
|
41
|
+
asked for standalone audit documentation, or when classification requires
|
|
42
|
+
`regression-report.md`.
|
|
43
|
+
|
|
36
44
|
```md
|
|
37
45
|
# Spec Drift Audit
|
|
38
46
|
|
|
@@ -37,8 +37,17 @@ Before editing tests or load profiles, read `specs/changes/<change-id>/implement
|
|
|
37
37
|
|
|
38
38
|
## Output
|
|
39
39
|
|
|
40
|
+
Write or update the actual load/soak test files, profiles, commands, and
|
|
41
|
+
workflow wiring required by `implementation-plan.md` and `test-plan.md`.
|
|
42
|
+
Default reporting should be concise response text plus optional
|
|
43
|
+
`agent-log/*.yml` evidence pointers.
|
|
44
|
+
|
|
45
|
+
Create `stress-soak-report.md` only when `change-classification.md` explicitly
|
|
46
|
+
requires it, when high-risk load/soak results must be retained as durable
|
|
47
|
+
evidence, or when the run is blocked/failed.
|
|
48
|
+
|
|
40
49
|
```md
|
|
41
|
-
# Stress / Soak
|
|
50
|
+
# Stress / Soak Report
|
|
42
51
|
|
|
43
52
|
## Workload Model
|
|
44
53
|
...
|
|
@@ -60,6 +60,7 @@ Your output goes into `specs/changes/<id>/test-plan.md`. It must answer WHAT to
|
|
|
60
60
|
- **DO NOT** write: mock setup details, fixture data, or expected JSON payloads
|
|
61
61
|
- **DO NOT** write: per-test input/output tables with more than 15 rows
|
|
62
62
|
- **DO NOT** write: example assertions or test helper code
|
|
63
|
+
- **DO NOT** duplicate CI gate policy or implementation-plan execution steps; reference the relevant gate names and acceptance criteria instead.
|
|
63
64
|
|
|
64
65
|
Implementation detail belongs in the test files, not in test-plan.md.
|
|
65
66
|
Target: `test-plan.md` ??100 lines.
|
|
@@ -30,6 +30,13 @@ Review the intended interaction, not just whether code compiles.
|
|
|
30
30
|
|
|
31
31
|
## Output
|
|
32
32
|
|
|
33
|
+
Default output is a concise UI/UX verdict in your response plus an optional
|
|
34
|
+
`Agent Log` YAML block with evidence pointers. Do not ask main Claude to create
|
|
35
|
+
a separate markdown report for a routine approved review.
|
|
36
|
+
|
|
37
|
+
Emit a full review body only when blocking UX/accessibility issues require
|
|
38
|
+
durable prose or the classifier explicitly requested a report artifact.
|
|
39
|
+
|
|
33
40
|
```md
|
|
34
41
|
# UI/UX Review
|
|
35
42
|
|
|
@@ -27,6 +27,15 @@ Frontend visual changes require evidence. Use screenshots, videos, or a clear ma
|
|
|
27
27
|
|
|
28
28
|
## Output
|
|
29
29
|
|
|
30
|
+
Default output is a concise visual verdict in your response plus an optional
|
|
31
|
+
`Agent Log` YAML block with evidence pointers. Do not ask main Claude to create
|
|
32
|
+
`visual-review-report.md` for a routine approved UI change.
|
|
33
|
+
|
|
34
|
+
Emit a full `# Visual Review Report` body only when
|
|
35
|
+
`change-classification.md` explicitly requires `visual-review-report.md`, when
|
|
36
|
+
visual evidence must be preserved as a bundle, or when the decision is
|
|
37
|
+
`changes-required`.
|
|
38
|
+
|
|
30
39
|
```md
|
|
31
40
|
# Visual Review Report
|
|
32
41
|
|
|
@@ -12,9 +12,32 @@ description: Start a new tracked change. Scaffolds all required artifacts, class
|
|
|
12
12
|
- `specs/changes/<id>/` = why we decided this back then (passive archive ??read only when investigating history, never as input to planning)
|
|
13
13
|
- `CLAUDE.md` = what this project is and how to start work
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Artifact ownership and deduplication
|
|
16
16
|
|
|
17
|
-
Every artifact under `specs/changes/<id>/`
|
|
17
|
+
Every artifact under `specs/changes/<id>/` must have one authoritative job.
|
|
18
|
+
Do not duplicate the same fact across multiple markdown files. Later artifacts
|
|
19
|
+
must reference earlier artifacts by path, section, criterion id, or decision id
|
|
20
|
+
instead of restating full content.
|
|
21
|
+
|
|
22
|
+
Core artifacts:
|
|
23
|
+
|
|
24
|
+
| artifact | authority |
|
|
25
|
+
|---|---|
|
|
26
|
+
| `change-classification.md` | risk, tier, required agents, required artifacts, acceptance criteria, context-manifest draft |
|
|
27
|
+
| `context-manifest.md` | read boundary and approved context |
|
|
28
|
+
| `test-plan.md` | acceptance criterion to test family/file mapping |
|
|
29
|
+
| `ci-gates.md` | required/informational/manual gates and promotion policy |
|
|
30
|
+
| `design.md` | architecture/design decisions, only when required |
|
|
31
|
+
| `implementation-plan.md` | concise execution packet that references the above artifacts |
|
|
32
|
+
| `tasks.yml` | centralized task status only |
|
|
33
|
+
|
|
34
|
+
Evidence and review notes default to short optional `agent-log/*.yml` pointers.
|
|
35
|
+
Create report markdown (`qa-report.md`, `visual-review-report.md`,
|
|
36
|
+
`regression-report.md`, `monkey-test-report.md`, `stress-soak-report.md`) only
|
|
37
|
+
when the classifier explicitly requires it, or when a reviewer finds blocking
|
|
38
|
+
findings or approved-with-risk evidence that needs durable review prose.
|
|
39
|
+
|
|
40
|
+
Every spec artifact answers **WHAT** and **WHY**, not HOW.
|
|
18
41
|
|
|
19
42
|
Soft caps (guidance, not gate-enforced):
|
|
20
43
|
- `spec.md` ??200 lines
|
|
@@ -112,11 +135,23 @@ rules to `contracts/` or project guidance (`CLAUDE.md`/`CODEX.md`).
|
|
|
112
135
|
|
|
113
136
|
## Artifact opt-in policy
|
|
114
137
|
|
|
115
|
-
Only create optional artifacts (`current-behavior.md`, `proposal.md`, `spec.md`,
|
|
138
|
+
Only create optional artifacts (`current-behavior.md`, `proposal.md`, `spec.md`,
|
|
139
|
+
`design.md`, `qa-report.md`, `regression-report.md`, `visual-review-report.md`,
|
|
140
|
+
`monkey-test-report.md`, `stress-soak-report.md`) when the classifier's
|
|
141
|
+
`change-classification.md` explicitly marks them as `yes`, or when a reviewer
|
|
142
|
+
finds blocking findings / approved-with-risk evidence that must be preserved as prose.
|
|
143
|
+
|
|
144
|
+
`design.md` is owned by `spec-architect`, not `implementation-planner`. If the
|
|
145
|
+
classifier marks `design.md` as `yes`, marks `Architecture Review Required:
|
|
146
|
+
yes`, or lists `spec-architect` in `## Required Agents`, invoke
|
|
147
|
+
`spec-architect` before `implementation-planner`. If none of those triggers is
|
|
148
|
+
present, mark task `1.3` as `skipped`.
|
|
116
149
|
|
|
117
150
|
Note: `archive.md` is created during `/cdd-close`, not during `/cdd-new` ??it is not part of the classifier's opt-in surface.
|
|
118
151
|
|
|
119
|
-
If the classifier marks an artifact as `no` or leaves it blank, **do not create
|
|
152
|
+
If the classifier marks an artifact as `no` or leaves it blank, **do not create
|
|
153
|
+
the file** just because an agent could contribute to it. Use an optional
|
|
154
|
+
`agent-log/*.yml` pointer instead.
|
|
120
155
|
|
|
121
156
|
The 7 always-required artifacts are: `change-request.md`, `change-classification.md`, `implementation-plan.md`, `test-plan.md`, `ci-gates.md`, `tasks.yml`, and `context-manifest.md`.
|
|
122
157
|
|
|
@@ -158,7 +193,7 @@ the kit and is bundled into every install.
|
|
|
158
193
|
|---|---|---|
|
|
159
194
|
| `change-request.md` | `specs/templates/change-request.md` | Fill the `## Original Request` section with the user's exact description before invoking the classifier; leave the rest blank |
|
|
160
195
|
| `change-classification.md` | `specs/templates/change-classification.md` | Replace blank template with classifier output (Step 2) |
|
|
161
|
-
| `implementation-plan.md` | `specs/templates/implementation-plan.md` | `implementation-planner` writes this directly after contracts, tests, design, and CI gate plan are known |
|
|
196
|
+
| `implementation-plan.md` | `specs/templates/implementation-plan.md` | `implementation-planner` writes this directly after contracts, tests, required design, and CI gate plan are known |
|
|
162
197
|
| `test-plan.md` | `specs/templates/test-plan.md` | `test-strategist` writes this directly |
|
|
163
198
|
| `ci-gates.md` | `specs/templates/ci-gates.md` | `ci-cd-gatekeeper` writes this directly |
|
|
164
199
|
| `tasks.yml` | `specs/templates/tasks.yml` | Tick checkboxes as agents complete; backfill `tier:` frontmatter from classifier (Step 2.4) |
|
|
@@ -239,7 +274,11 @@ Wait until these five writes are done before continuing.
|
|
|
239
274
|
|
|
240
275
|
Read `change-classification.md` to determine the tier. Then invoke agents **in the exact order below**.
|
|
241
276
|
|
|
242
|
-
**For each read-only agent**: wait for its text response
|
|
277
|
+
**For each read-only agent**: wait for its text response. YOU write a report
|
|
278
|
+
artifact only if the classifier required that report or the agent found
|
|
279
|
+
blocking findings / approved-with-risk evidence that needs durable prose. Otherwise
|
|
280
|
+
write at most a short optional handoff note, then tick relevant `tasks.yml`
|
|
281
|
+
item(s).
|
|
243
282
|
|
|
244
283
|
**For each write-capable agent**: wait for it to confirm completion ??YOU tick relevant tasks.yml item(s).
|
|
245
284
|
|
|
@@ -269,8 +308,9 @@ agent:
|
|
|
269
308
|
- confirm required artifacts exist; optional handoff notes are not gate inputs
|
|
270
309
|
- if the agent reports `blocked`, halt and surface its concrete next action
|
|
271
310
|
- tick the owned `tasks.yml` items immediately
|
|
272
|
-
- record incidental/pre-existing findings in
|
|
273
|
-
|
|
311
|
+
- record incidental/pre-existing findings in `agent-log/*.yml`; escalate to
|
|
312
|
+
`qa-report.md` or `regression-report.md` only when the finding blocks release,
|
|
313
|
+
changes the QA decision, or needs durable follow-up ownership
|
|
274
314
|
|
|
275
315
|
### Agent stage badges (UI v1)
|
|
276
316
|
|
|
@@ -348,16 +388,20 @@ prompt; the agent's behavior is defined by the agent prompt files in
|
|
|
348
388
|
- YOU tick: applicable items in section 3 based on what test families were planned
|
|
349
389
|
- Provide the classifier's `## Inferred Acceptance Criteria` list to test-strategist. These become the `criterion id` column in the Acceptance Criteria ??Test Mapping table.
|
|
350
390
|
|
|
351
|
-
3. **`spec-architect`** (write-capable) ??only if `change-classification.md` contains `Architecture Review Required: yes`.
|
|
352
|
-
-
|
|
391
|
+
3. **`spec-architect`** (write-capable) ??only if `change-classification.md` contains `Architecture Review Required: yes`, marks `design.md` as `yes`, or lists `spec-architect` in `## Required Agents`.
|
|
392
|
+
- Writes `specs/changes/<change-id>/design.md` directly. This is the design/architecture decision record consumed by `implementation-planner`.
|
|
393
|
+
- YOU tick: `1.3`
|
|
394
|
+
- If the classifier did not require design, YOU mark `1.3` as `skipped` before continuing.
|
|
353
395
|
|
|
354
396
|
4. **`ci-cd-gatekeeper`** (write-capable) ??writes `specs/changes/<change-id>/ci-gates.md` directly before implementation planning.
|
|
355
|
-
- YOU tick: `1.
|
|
397
|
+
- YOU tick: `1.4`, `4.4`, applicable items in section 6
|
|
356
398
|
|
|
357
|
-
5. **`implementation-planner`** (write-capable) ??writes `specs/changes/<change-id>/implementation-plan.md` directly after classification, contracts, test plan, design, and CI gate plan are available.
|
|
399
|
+
5. **`implementation-planner`** (write-capable) ??writes `specs/changes/<change-id>/implementation-plan.md` directly after classification, contracts, test plan, required design, and CI gate plan are available.
|
|
358
400
|
- This is the handoff packet for implementation agents. It should contain execution scope, non-goals, required changes, file-level plan, contract updates, test execution plan, and constraints.
|
|
401
|
+
- It must reference `test-plan.md`, `ci-gates.md`, contracts, and `design.md` by path/section/id instead of copying their full content.
|
|
402
|
+
- It must not create or repair `design.md`. If required design is missing, route back to `spec-architect`.
|
|
359
403
|
- If it reports `blocked`, halt and surface the missing decision/context to the user.
|
|
360
|
-
- YOU tick: `1.
|
|
404
|
+
- YOU tick: `1.5`
|
|
361
405
|
|
|
362
406
|
6. **`backend-engineer`** (write-capable) ??if the change touches server, API, data, or business logic. Writes implementation directly; may write an optional handoff note.
|
|
363
407
|
- YOU tick: `4.1` and/or `4.3` based on scope
|
|
@@ -409,7 +453,8 @@ All agents from Tier 2??, plus insert these after `frontend-engineer` / `backend
|
|
|
409
453
|
- If a required or informational test has pre-existing failures unrelated to
|
|
410
454
|
this change, do not count them as this change's pass/fail result. Record the
|
|
411
455
|
failing test id, baseline commit or prior evidence, owner, and follow-up in
|
|
412
|
-
`qa-report.md
|
|
456
|
+
optional `agent-log/*.yml`; create `qa-report.md` only when the QA decision is
|
|
457
|
+
`approved-with-risk` or `blocked`.
|
|
413
458
|
- If implementation uncovers unrelated old bugs, fix only those needed to meet
|
|
414
459
|
this change's acceptance criteria or to avoid a new safety/security risk.
|
|
415
460
|
Otherwise record them as follow-up with evidence and owner.
|
|
@@ -490,7 +535,7 @@ Gate: PASSED
|
|
|
490
535
|
Tasks completed:
|
|
491
536
|
- [x] all applicable items have status: done in specs/changes/<change-id>/tasks.yml
|
|
492
537
|
|
|
493
|
-
|
|
538
|
+
Core artifacts written to: specs/changes/<change-id>/
|
|
494
539
|
|
|
495
540
|
Next step:
|
|
496
541
|
git add specs/changes/<change-id>/
|
|
@@ -518,7 +563,7 @@ Please review the above items and re-run: cdd-kit gate <change-id>
|
|
|
518
563
|
## Rules
|
|
519
564
|
|
|
520
565
|
- Never start implementation (backend/frontend-engineer) before `contract-reviewer` has completed for Tier 0?? changes
|
|
521
|
-
- Never start implementation (backend/frontend-engineer or dedicated test engineers) before `implementation-plan.md` exists and `tasks.yml` item `1.
|
|
566
|
+
- Never start implementation (backend/frontend-engineer or dedicated test engineers) before `implementation-plan.md` exists and `tasks.yml` item `1.5` is done
|
|
522
567
|
- Never skip `test-plan.md` for Tier 0?? changes
|
|
523
568
|
- Never skip `ci-gates.md` for any implementation change
|
|
524
569
|
- Agent logs are optional; do not create them just to satisfy a gate.
|
|
@@ -42,6 +42,7 @@ Read only these state files first:
|
|
|
42
42
|
- `specs/changes/<change-id>/context-manifest.md` if present
|
|
43
43
|
- `specs/changes/<change-id>/agent-log/*.yml`
|
|
44
44
|
- `specs/changes/<change-id>/change-classification.md`
|
|
45
|
+
- `specs/changes/<change-id>/design.md` if present
|
|
45
46
|
- `specs/changes/<change-id>/implementation-plan.md` if present
|
|
46
47
|
|
|
47
48
|
Do not run broad repository search during resume. Do not read `src/`, `tests/`, or `contracts/` unless the current `context-manifest.md` authorizes that path or an approved expansion lists it.
|
|
@@ -55,6 +56,8 @@ Read `specs/changes/<change-id>/agent-log/` to list which agents have already ru
|
|
|
55
56
|
|
|
56
57
|
Read `specs/changes/<change-id>/change-classification.md` to recall the tier and required agents.
|
|
57
58
|
|
|
59
|
+
If `change-classification.md` requires `design.md` (`Architecture Review Required: yes`, Optional Artifacts `design.md: yes`, or Required Agents includes `spec-architect`) and `design.md` is missing or still a scaffold, resume from `spec-architect` before invoking `implementation-planner`.
|
|
60
|
+
|
|
58
61
|
Read `specs/changes/<change-id>/implementation-plan.md` if it exists. If implementation tasks are still pending and the plan is missing or still a scaffold, resume from `implementation-planner` before invoking backend/frontend/test implementation agents.
|
|
59
62
|
|
|
60
63
|
Read `specs/changes/<change-id>/context-manifest.md`:
|
|
@@ -114,6 +117,7 @@ Continue until all required agents are done, then run `cdd-kit gate <change-id>`
|
|
|
114
117
|
- Never start from Step 1 of `/cdd-new` — only resume from the next pending agent
|
|
115
118
|
- Never use broad search to reconstruct state; resume from `tasks.yml`, `context-manifest.md`, and `agent-log/`
|
|
116
119
|
- Never continue past pending Context Expansion Requests
|
|
120
|
+
- Never resume `implementation-planner` before required `design.md` exists
|
|
117
121
|
- Never resume backend/frontend/test implementation agents before `implementation-plan.md` is ready
|
|
118
122
|
- If tasks.yml has `status: abandoned`, report to user and stop
|
|
119
123
|
- If tasks.yml has `status: gate-blocked`, go directly to gate retry (max 3)
|
|
@@ -22,6 +22,13 @@ Use this skill to turn software requests into traceable, testable, CI/CD-gated c
|
|
|
22
22
|
3. Select required artifacts.
|
|
23
23
|
- Use templates in `templates/`.
|
|
24
24
|
- Do not force every artifact for tiny changes, but do require `change-classification.md`, `implementation-plan.md`, `test-plan.md`, and `ci-gates.md` for implementation changes.
|
|
25
|
+
- Keep each fact in one authoritative artifact. Later artifacts should
|
|
26
|
+
reference earlier artifacts by path, section, criterion id, decision id, or
|
|
27
|
+
gate name instead of duplicating full prose.
|
|
28
|
+
- Use optional `agent-log/*.yml` pointers for routine review evidence.
|
|
29
|
+
Create report markdown only for blocking findings, approved-with-risk,
|
|
30
|
+
excluded pre-existing failures, visual evidence bundles, or high-risk
|
|
31
|
+
load/soak results.
|
|
25
32
|
4. Update contracts before or alongside implementation. Invoke contract-reviewer to validate API/CSS/env/data/business/CI-CD contracts before or alongside implementation.
|
|
26
33
|
- API: `references/api-contract-standard.md`
|
|
27
34
|
- CSS/UI: `references/css-contract-standard.md`
|
|
@@ -39,12 +46,16 @@ Use this skill to turn software requests into traceable, testable, CI/CD-gated c
|
|
|
39
46
|
- `stress-soak-engineer` implements load, soak, and long-running stability tests.
|
|
40
47
|
- Invoke the relevant test engineer(s) before or alongside implementation based on the risk tier.
|
|
41
48
|
- Each engineer must read the matching standard before authoring tests: e2e-resilience-engineer → references/e2e-standard.md, monkey-test-engineer → references/monkey-operation-standard.md, stress-soak-engineer → references/stress-soak-standard.md.
|
|
42
|
-
6.
|
|
43
|
-
-
|
|
49
|
+
6. Confirm design decisions when required.
|
|
50
|
+
- If classification marks `Architecture Review Required: yes`, Optional Artifacts `design.md: yes`, or Required Agents includes `spec-architect`, invoke `spec-architect` before `implementation-planner`.
|
|
51
|
+
- `spec-architect` owns `specs/changes/<id>/design.md`.
|
|
52
|
+
- `implementation-planner` must not create or repair `design.md`; if required design is missing, route back to `spec-architect`.
|
|
53
|
+
7. Produce the implementation plan.
|
|
54
|
+
- Invoke `implementation-planner` after classification, contracts, test-plan, required design, and CI gate plan are known.
|
|
44
55
|
- `implementation-plan.md` is the execution packet for implementation agents: scope, non-goals, file-level plan, contract updates, tests, acceptance criteria, and constraints.
|
|
45
56
|
- Keep the plan concise. It should not duplicate the full investigation history or user discussion.
|
|
46
57
|
- If the planner reports missing decisions or context, stop before implementation and resolve that gap.
|
|
47
|
-
|
|
58
|
+
8. Implement through the right role.
|
|
48
59
|
- Backend/frontend work must follow contracts and tests.
|
|
49
60
|
- Backend/frontend/test implementation agents must read `implementation-plan.md` and should report `blocked` instead of inferring missing requirements from chat history.
|
|
50
61
|
- Before invoking an agent with known concrete read paths, run
|
|
@@ -56,12 +67,12 @@ Use this skill to turn software requests into traceable, testable, CI/CD-gated c
|
|
|
56
67
|
- Invoke ui-ux-reviewer for interaction, copy, accessibility, and information hierarchy review whenever UI changes.
|
|
57
68
|
- Invoke visual-reviewer for layout, responsive, CSS contract, and screenshot diff review whenever UI changes.
|
|
58
69
|
- If implementation reveals an unexpected boundary or architectural constraint, halt and re-invoke `spec-architect` before continuing.
|
|
59
|
-
|
|
70
|
+
9. Run quality gates.
|
|
60
71
|
- Use `references/qa-gates.md`.
|
|
61
72
|
- CI/CD gate plan is mandatory.
|
|
62
73
|
- `qa-reviewer` decides release readiness; Tier 1 gates must be green; Tier 3+ gates must be green or explicitly deferred with a recorded promotion policy.
|
|
63
74
|
- Invoke ci-cd-gatekeeper to design and enforce the gate plan.
|
|
64
|
-
|
|
75
|
+
10. Archive and audit drift.
|
|
65
76
|
- Use `references/spec-drift-policy.md`.
|
|
66
77
|
- General agents record evidence and findings only; durable learning
|
|
67
78
|
promotion happens only during `/cdd-close` Step 3.
|
|
@@ -87,7 +98,7 @@ Use this skill to turn software requests into traceable, testable, CI/CD-gated c
|
|
|
87
98
|
- test-plan
|
|
88
99
|
- ci-gates
|
|
89
100
|
- tasks
|
|
90
|
-
- QA report
|
|
101
|
+
- QA verdict; `qa-report.md` only when blocked, approved-with-risk, or required by classification
|
|
91
102
|
|
|
92
103
|
### UI change
|
|
93
104
|
|
|
@@ -121,6 +132,10 @@ Required when the change involves report generation, large queries, auto-refresh
|
|
|
121
132
|
|
|
122
133
|
When using this skill, produce concrete artifact content instead of vague recommendations. Include exact files to create/update, exact gates to run, exact commands if detectable, and exact acceptance criteria.
|
|
123
134
|
|
|
135
|
+
Avoid artifact sprawl: do not create optional markdown when a concise verdict
|
|
136
|
+
or `agent-log/*.yml` pointer is enough. Do not duplicate full test strategy,
|
|
137
|
+
CI policy, design rationale, or contract prose across artifacts.
|
|
138
|
+
|
|
124
139
|
## Scripts
|
|
125
140
|
|
|
126
141
|
- `scripts/detect_project_profile.py`: inspect a repository and emit a Markdown project profile.
|
|
@@ -137,4 +152,6 @@ Run scripts with Python 3 from the repository root.
|
|
|
137
152
|
- `tasks.yml`: structured YAML, validated by `src/schemas/tasks.schema.ts`.
|
|
138
153
|
- `agent-log/<agent>.yml`: optional structured handoff note per `references/agent-log-protocol.md`.
|
|
139
154
|
- `implementation-plan.md`: required execution handoff for implementation agents.
|
|
140
|
-
-
|
|
155
|
+
- Report markdown is optional and reserved for durable review evidence. Routine
|
|
156
|
+
pass/fail evidence belongs in short `agent-log/*.yml` pointers or the final
|
|
157
|
+
assistant summary.
|
|
@@ -20,7 +20,11 @@
|
|
|
20
20
|
|
|
21
21
|
## QA rule
|
|
22
22
|
|
|
23
|
-
QA approval requires evidence. Evidence may be command output, CI links, logs,
|
|
23
|
+
QA approval requires evidence. Evidence may be command output, CI links, logs,
|
|
24
|
+
screenshots, videos, traces, metrics, or artifact files. Routine approvals
|
|
25
|
+
should use concise verdict text plus optional `agent-log/*.yml` pointers.
|
|
26
|
+
Create `qa-report.md` only for blocked, approved-with-risk, or excluded
|
|
27
|
+
pre-existing failure decisions.
|
|
24
28
|
|
|
25
29
|
## Fixback rule
|
|
26
30
|
|
|
@@ -25,4 +25,7 @@ Run a drift audit when:
|
|
|
25
25
|
|
|
26
26
|
## Output
|
|
27
27
|
|
|
28
|
-
Use
|
|
28
|
+
Use concise verdict text plus optional `agent-log/*.yml` evidence pointers for
|
|
29
|
+
clean audits. Use `templates/regression-report.md` or create
|
|
30
|
+
`spec-drift-audit.md` only when drift is found, the user asked for standalone
|
|
31
|
+
audit documentation, or the change needs durable follow-up prose.
|
|
@@ -40,3 +40,7 @@ Define:
|
|
|
40
40
|
- raw logs or metrics
|
|
41
41
|
- pass/fail conclusion
|
|
42
42
|
- follow-up issues for degraded but non-blocking findings
|
|
43
|
+
|
|
44
|
+
Routine results may be captured as concise response text plus optional
|
|
45
|
+
`agent-log/*.yml` pointers. Create `stress-soak-report.md` only for required
|
|
46
|
+
high-risk evidence, failed/blocked runs, or approved-with-risk decisions.
|
|
@@ -24,4 +24,7 @@ Visual review is required when frontend output changes.
|
|
|
24
24
|
|
|
25
25
|
## Review output
|
|
26
26
|
|
|
27
|
-
Use `
|
|
27
|
+
Use concise verdict text plus optional `agent-log/*.yml` evidence pointers for
|
|
28
|
+
routine approvals. Use `templates/visual-review-report.md` only for blocking
|
|
29
|
+
visual findings, approved-with-risk decisions, or evidence bundles that need
|
|
30
|
+
durable review prose.
|
|
@@ -9,27 +9,36 @@ def main():
|
|
|
9
9
|
ap.add_argument('change_id')
|
|
10
10
|
ap.add_argument('--root', default='.')
|
|
11
11
|
ap.add_argument('--templates', default=None)
|
|
12
|
+
ap.add_argument('--all', action='store_true', help='also copy optional report/spec templates')
|
|
12
13
|
args=ap.parse_args()
|
|
13
14
|
root=Path(args.root).resolve()
|
|
14
15
|
templates=Path(args.templates).resolve() if args.templates else Path(__file__).resolve().parents[1]/'templates'
|
|
15
16
|
dest=root/'specs'/'changes'/args.change_id
|
|
16
17
|
dest.mkdir(parents=True, exist_ok=False)
|
|
17
|
-
|
|
18
|
+
required={
|
|
18
19
|
'change-request.md':'change-request.md',
|
|
19
20
|
'change-classification.md':'change-classification.md',
|
|
20
21
|
'implementation-plan.md':'implementation-plan.md',
|
|
22
|
+
'test-plan.md':'test-plan.md',
|
|
23
|
+
'ci-gates.md':'ci-gates.md',
|
|
24
|
+
'tasks.yml':'tasks.yml',
|
|
25
|
+
}
|
|
26
|
+
optional={
|
|
21
27
|
'current-behavior.md':'current-behavior.md',
|
|
22
28
|
'proposal.md':'proposal.md',
|
|
23
29
|
'spec.md':'spec.md',
|
|
24
30
|
'design.md':'design.md',
|
|
25
31
|
'contracts.md':'contracts.md',
|
|
26
|
-
'test-plan.md':'test-plan.md',
|
|
27
|
-
'ci-gates.md':'ci-gates.md',
|
|
28
|
-
'tasks.yml':'tasks.yml',
|
|
29
32
|
'qa-report.md':'qa-report.md',
|
|
30
33
|
'regression-report.md':'regression-report.md',
|
|
34
|
+
'visual-review-report.md':'visual-review-report.md',
|
|
35
|
+
'monkey-test-report.md':'monkey-test-report.md',
|
|
36
|
+
'stress-soak-report.md':'stress-soak-report.md',
|
|
31
37
|
'archive.md':'archive.md',
|
|
32
38
|
}
|
|
39
|
+
mapping=dict(required)
|
|
40
|
+
if args.all:
|
|
41
|
+
mapping.update(optional)
|
|
33
42
|
for src,dst in mapping.items():
|
|
34
43
|
s=templates/src
|
|
35
44
|
if s.exists():
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
## Architecture Review Required
|
|
17
17
|
- yes / no
|
|
18
18
|
- reason: (fill only if yes)
|
|
19
|
+
<!-- If yes, Optional Artifacts must set design.md to yes and Required Agents must include spec-architect. -->
|
|
19
20
|
|
|
20
21
|
## Required Artifacts
|
|
21
22
|
Always required: change-request.md, change-classification.md, implementation-plan.md, test-plan.md, ci-gates.md, tasks.yml, context-manifest.md
|
|
@@ -29,6 +30,14 @@ Always required: change-request.md, change-classification.md, implementation-pla
|
|
|
29
30
|
| design.md | no | |
|
|
30
31
|
| qa-report.md | no | |
|
|
31
32
|
| regression-report.md | no | |
|
|
33
|
+
| visual-review-report.md | no | |
|
|
34
|
+
| monkey-test-report.md | no | |
|
|
35
|
+
| stress-soak-report.md | no | |
|
|
36
|
+
|
|
37
|
+
Artifact minimization:
|
|
38
|
+
- Prefer optional `agent-log/*.yml` pointers for routine review evidence.
|
|
39
|
+
- Create report markdown only for blocking findings, approved-with-risk, excluded pre-existing failures, visual evidence bundles, or high-risk load/soak results.
|
|
40
|
+
- Later artifacts should reference earlier artifacts by path/section/id instead of duplicating full content.
|
|
32
41
|
|
|
33
42
|
## Required Contracts
|
|
34
43
|
- API:
|
|
@@ -61,7 +70,8 @@ Always required: change-request.md, change-classification.md, implementation-pla
|
|
|
61
70
|
|
|
62
71
|
## Tasks Not Applicable
|
|
63
72
|
<!-- Comma-separated task IDs from tasks.yml that do NOT apply to this change.
|
|
64
|
-
/cdd-new SKILL marks these as `status: skipped` in tasks.yml.
|
|
73
|
+
/cdd-new SKILL marks these as `status: skipped` in tasks.yml.
|
|
74
|
+
Include 1.3 when design.md is not required. -->
|
|
65
75
|
- not-applicable:
|
|
66
76
|
|
|
67
77
|
## Clarifications or Assumptions
|
|
@@ -24,6 +24,14 @@ last-changed: <date>
|
|
|
24
24
|
|---|---|---|---|
|
|
25
25
|
| IP-1 | | | |
|
|
26
26
|
|
|
27
|
+
## Source Artifact Pointers
|
|
28
|
+
|
|
29
|
+
| source | relevant pointer | used for |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| test-plan.md | AC-1 | tests to run/write |
|
|
32
|
+
| ci-gates.md | required gates table | verification commands |
|
|
33
|
+
| design.md | Decision: | implementation constraint |
|
|
34
|
+
|
|
27
35
|
## File-Level Plan
|
|
28
36
|
|
|
29
37
|
| path or glob | action | notes |
|
|
@@ -48,6 +56,7 @@ last-changed: <date>
|
|
|
48
56
|
## Handoff Constraints
|
|
49
57
|
|
|
50
58
|
- Implementation agents must not infer missing requirements from chat history.
|
|
59
|
+
- Do not re-copy full design, test strategy, CI policy, or contract prose into this plan; follow the source pointers above.
|
|
51
60
|
- If this plan omits a required file, behavior, contract, or test, stop and report `blocked`.
|
|
52
61
|
- Keep implementation within the file-level plan unless a Context Expansion Request is approved.
|
|
53
62
|
|
|
@@ -11,8 +11,9 @@ tasks:
|
|
|
11
11
|
# status: pending | done | skipped
|
|
12
12
|
- { id: "1.1", section: Preparation, title: "Confirm classification and required artifacts", status: pending }
|
|
13
13
|
- { id: "1.2", section: Preparation, title: "Confirm contracts to update", status: pending }
|
|
14
|
-
- { id: "1.3", section: Preparation, title: "Confirm
|
|
15
|
-
- { id: "1.4", section: Preparation, title: "Confirm
|
|
14
|
+
- { id: "1.3", section: Preparation, title: "Confirm design decisions if required", status: pending }
|
|
15
|
+
- { id: "1.4", section: Preparation, title: "Confirm CI/CD gate plan", status: pending }
|
|
16
|
+
- { id: "1.5", section: Preparation, title: "Confirm implementation plan", status: pending }
|
|
16
17
|
- { id: "2.1", section: "Contract Updates", title: "API contract", status: pending }
|
|
17
18
|
- { id: "2.2", section: "Contract Updates", title: "CSS/UI contract", status: pending }
|
|
18
19
|
- { id: "2.3", section: "Contract Updates", title: "Env contract", status: pending }
|
|
@@ -22,4 +22,4 @@ Mark all that apply: unit / contract / integration / e2e / data-boundary / resil
|
|
|
22
22
|
|
|
23
23
|
## Notes
|
|
24
24
|
|
|
25
|
-
(Keep this section under 10 lines. Implementation detail belongs in the test files themselves.)
|
|
25
|
+
(Keep this section under 10 lines. Implementation detail belongs in the test files themselves. Do not repeat full implementation-plan or CI-gate content here.)
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
## Architecture Review Required
|
|
17
17
|
- yes / no
|
|
18
18
|
- reason: (fill only if yes)
|
|
19
|
+
<!-- If yes, Optional Artifacts must set design.md to yes and Required Agents must include spec-architect. -->
|
|
19
20
|
|
|
20
21
|
## Required Artifacts
|
|
21
22
|
Always required: change-request.md, change-classification.md, implementation-plan.md, test-plan.md, ci-gates.md, tasks.yml, context-manifest.md
|
|
@@ -29,6 +30,14 @@ Always required: change-request.md, change-classification.md, implementation-pla
|
|
|
29
30
|
| design.md | no | |
|
|
30
31
|
| qa-report.md | no | |
|
|
31
32
|
| regression-report.md | no | |
|
|
33
|
+
| visual-review-report.md | no | |
|
|
34
|
+
| monkey-test-report.md | no | |
|
|
35
|
+
| stress-soak-report.md | no | |
|
|
36
|
+
|
|
37
|
+
Artifact minimization:
|
|
38
|
+
- Prefer optional `agent-log/*.yml` pointers for routine review evidence.
|
|
39
|
+
- Create report markdown only for blocking findings, approved-with-risk, excluded pre-existing failures, visual evidence bundles, or high-risk load/soak results.
|
|
40
|
+
- Later artifacts should reference earlier artifacts by path/section/id instead of duplicating full content.
|
|
32
41
|
|
|
33
42
|
## Required Contracts
|
|
34
43
|
- API:
|
|
@@ -61,7 +70,8 @@ Always required: change-request.md, change-classification.md, implementation-pla
|
|
|
61
70
|
|
|
62
71
|
## Tasks Not Applicable
|
|
63
72
|
<!-- Comma-separated task IDs from tasks.yml that do NOT apply to this change.
|
|
64
|
-
/cdd-new SKILL marks these as `status: skipped` in tasks.yml.
|
|
73
|
+
/cdd-new SKILL marks these as `status: skipped` in tasks.yml.
|
|
74
|
+
Include 1.3 when design.md is not required. -->
|
|
65
75
|
- not-applicable:
|
|
66
76
|
|
|
67
77
|
## Clarifications or Assumptions
|
|
@@ -24,6 +24,14 @@ last-changed: <date>
|
|
|
24
24
|
|---|---|---|---|
|
|
25
25
|
| IP-1 | | | |
|
|
26
26
|
|
|
27
|
+
## Source Artifact Pointers
|
|
28
|
+
|
|
29
|
+
| source | relevant pointer | used for |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| test-plan.md | AC-1 | tests to run/write |
|
|
32
|
+
| ci-gates.md | required gates table | verification commands |
|
|
33
|
+
| design.md | Decision: | implementation constraint |
|
|
34
|
+
|
|
27
35
|
## File-Level Plan
|
|
28
36
|
|
|
29
37
|
| path or glob | action | notes |
|
|
@@ -48,6 +56,7 @@ last-changed: <date>
|
|
|
48
56
|
## Handoff Constraints
|
|
49
57
|
|
|
50
58
|
- Implementation agents must not infer missing requirements from chat history.
|
|
59
|
+
- Do not re-copy full design, test strategy, CI policy, or contract prose into this plan; follow the source pointers above.
|
|
51
60
|
- If this plan omits a required file, behavior, contract, or test, stop and report `blocked`.
|
|
52
61
|
- Keep implementation within the file-level plan unless a Context Expansion Request is approved.
|
|
53
62
|
|
|
@@ -11,8 +11,9 @@ tasks:
|
|
|
11
11
|
# status: pending | done | skipped (optional: note: "reason or context")
|
|
12
12
|
- { id: "1.1", section: Preparation, title: "Confirm classification and required artifacts", status: pending }
|
|
13
13
|
- { id: "1.2", section: Preparation, title: "Confirm contracts to update", status: pending }
|
|
14
|
-
- { id: "1.3", section: Preparation, title: "Confirm
|
|
15
|
-
- { id: "1.4", section: Preparation, title: "Confirm
|
|
14
|
+
- { id: "1.3", section: Preparation, title: "Confirm design decisions if required", status: pending }
|
|
15
|
+
- { id: "1.4", section: Preparation, title: "Confirm CI/CD gate plan", status: pending }
|
|
16
|
+
- { id: "1.5", section: Preparation, title: "Confirm implementation plan", status: pending }
|
|
16
17
|
- { id: "2.1", section: "Contract Updates", title: "API contract", status: pending }
|
|
17
18
|
- { id: "2.2", section: "Contract Updates", title: "CSS/UI contract", status: pending }
|
|
18
19
|
- { id: "2.3", section: "Contract Updates", title: "Env contract", status: pending }
|
|
@@ -22,4 +22,4 @@ Mark all that apply: unit / contract / integration / e2e / data-boundary / resil
|
|
|
22
22
|
|
|
23
23
|
## Notes
|
|
24
24
|
|
|
25
|
-
(Keep this section under 10 lines. Implementation detail belongs in the test files themselves.)
|
|
25
|
+
(Keep this section under 10 lines. Implementation detail belongs in the test files themselves. Do not repeat full implementation-plan or CI-gate content here.)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "contract-driven-delivery",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.19",
|
|
4
4
|
"description": "Contract-driven delivery kit for AI coding agents with deterministic context indexes, manifest-backed read-scope governance, and orchestrated contracts-first delivery.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"contract-driven",
|