contract-driven-delivery 1.11.0 → 1.16.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +205 -0
  2. package/README.md +194 -24
  3. package/assets/CLAUDE.template.md +10 -0
  4. package/assets/CODEX.template.md +39 -0
  5. package/assets/agents/backend-engineer.md +4 -23
  6. package/assets/agents/change-classifier.md +130 -24
  7. package/assets/agents/ci-cd-gatekeeper.md +4 -23
  8. package/assets/agents/contract-reviewer.md +4 -23
  9. package/assets/agents/dependency-security-reviewer.md +4 -22
  10. package/assets/agents/e2e-resilience-engineer.md +4 -23
  11. package/assets/agents/frontend-engineer.md +4 -23
  12. package/assets/agents/monkey-test-engineer.md +4 -23
  13. package/assets/agents/qa-reviewer.md +4 -23
  14. package/assets/agents/repo-context-scanner.md +4 -22
  15. package/assets/agents/spec-architect.md +4 -23
  16. package/assets/agents/spec-drift-auditor.md +4 -22
  17. package/assets/agents/stress-soak-engineer.md +4 -23
  18. package/assets/agents/test-strategist.md +4 -23
  19. package/assets/agents/ui-ux-reviewer.md +4 -22
  20. package/assets/agents/visual-reviewer.md +4 -22
  21. package/assets/cdd/context-policy.json +25 -0
  22. package/assets/cdd/model-policy.json +24 -0
  23. package/assets/contracts/api/api-contract.md +3 -0
  24. package/assets/contracts/api/api-inventory.md +7 -0
  25. package/assets/contracts/api/error-format.md +7 -0
  26. package/assets/contracts/business/business-rules.md +3 -0
  27. package/assets/contracts/ci/ci-gate-contract.md +3 -0
  28. package/assets/contracts/css/css-contract.md +3 -0
  29. package/assets/contracts/css/design-tokens.md +7 -0
  30. package/assets/contracts/data/data-shape-contract.md +3 -0
  31. package/assets/contracts/env/env-contract.md +3 -0
  32. package/assets/hooks/post-tool-use-files-read.sh +55 -0
  33. package/assets/skills/cdd-close/SKILL.md +37 -10
  34. package/assets/skills/cdd-new/SKILL.md +200 -164
  35. package/assets/skills/cdd-resume/SKILL.md +31 -3
  36. package/assets/skills/contract-driven-delivery/references/agent-log-protocol.md +117 -0
  37. package/assets/specs-templates/context-manifest.md +44 -0
  38. package/assets/specs-templates/tasks.md +4 -0
  39. package/dist/cli/index.js +2149 -342
  40. package/docs/release-checklist.md +39 -0
  41. package/package.json +6 -3
@@ -7,7 +7,19 @@ model: claude-opus-4-7
7
7
 
8
8
  You are the change classifier for Contract-Driven Delivery.
9
9
 
10
- Your job is to stop premature implementation. Read the user request and nearby project context, then produce a classification report.
10
+ Your job is to stop premature implementation. Read the user request and deterministic project context, then produce a classification report and context-manifest draft.
11
+
12
+ ## Context boundaries
13
+
14
+ During initial classification, read only:
15
+ - `specs/changes/<change-id>/change-request.md`
16
+ - `specs/changes/<change-id>/context-manifest.md`
17
+ - `specs/context/project-map.md`
18
+ - `specs/context/contracts-index.md`
19
+
20
+ Do not read `contracts/`, `src/`, `tests/`, or use broad search during initial classification unless the manifest already authorizes it. If the indexes are insufficient, add a Context Expansion Request to the manifest draft instead of reading outside this packet.
21
+
22
+ Use `project-map.md` to identify candidate source/test paths and `contracts-index.md` to identify candidate contract paths. Do not invent paths that are absent from the project map or contracts index.
11
23
 
12
24
  ## Tier mapping
13
25
 
@@ -20,6 +32,87 @@ Your job is to stop premature implementation. Read the user request and nearby p
20
32
 
21
33
  When in doubt, classify upward.
22
34
 
35
+ ### Atomic-split detection (BEFORE producing classification)
36
+
37
+ Non-engineer users often hand in mega-requests like "redesign the dashboard
38
+ and add JWT auth and migrate sessions". Running these as a single Tier 0/1
39
+ change burns 10+ agents in series, couples unrelated rollback risk, and
40
+ leaves no good fix-back path when one piece blocks.
41
+
42
+ Before producing a single classification, check these triggers:
43
+
44
+ - **Cross-feature**: 2+ unrelated change-types ("primary" categories) in one
45
+ request (e.g. `feature-add` + `migration` + `ui-redesign`).
46
+ - **Cross-surface**: 3+ distinct surfaces touched (auth + UI + DB + email +
47
+ export).
48
+ - **Contract-heavy**: ≥ 5 of the 6 contracts (api / css / env / data /
49
+ business / ci) need changes.
50
+ - **Task-heavy**: estimated > 10 task-IDs across sections 3-4 of `tasks.md`.
51
+
52
+ If **any one trigger fires**, output `## Atomic Split Proposal` INSTEAD of the
53
+ normal classification, in this exact shape:
54
+
55
+ ```md
56
+ ## Atomic Split Proposal
57
+
58
+ This request spans <N> independent risk surfaces. Running it as one change
59
+ would require <N> agents in series and couple unrelated rollback risk.
60
+
61
+ Recommended atomic split (each is a separate `cdd-kit new`):
62
+
63
+ | change-id | scope | tier | depends-on |
64
+ |---|---|---|---|
65
+ | <kebab-id-1> | <one-line scope> | <0-5> | (none) |
66
+ | <kebab-id-2> | <one-line scope> | <0-5> | <kebab-id-1> |
67
+ | <kebab-id-3> | <one-line scope> | <0-5> | <kebab-id-1> |
68
+
69
+ Suggested commands (run in order):
70
+
71
+ \`\`\`bash
72
+ cdd-kit new <kebab-id-1>
73
+ cdd-kit new <kebab-id-2> --depends-on <kebab-id-1>
74
+ cdd-kit new <kebab-id-3> --depends-on <kebab-id-1>
75
+ \`\`\`
76
+
77
+ Estimated token savings vs single Tier 0/1 monolith: ~40-60% (parallel
78
+ review-agent overlap removed, smaller per-change context).
79
+
80
+ If you want to proceed as a single monolithic change anyway, reply with
81
+ `force-monolithic` and I will produce the normal Tier <X> classification
82
+ instead.
83
+ ```
84
+
85
+ When emitting an Atomic Split Proposal, **also include the standard
86
+ `## Agent Log` block** at the end so `cdd-kit gate` can record this run, but
87
+ mark `status: needs-review` and include `next-action: wait-for-user-approval`.
88
+ Do NOT produce other artifacts (no test-plan, no manifest draft) until the
89
+ user picks a path.
90
+
91
+ If no trigger fires, skip this section entirely and produce the normal
92
+ classification.
93
+
94
+ ### Tier 5 fast-path (token budget protection)
95
+
96
+ If, after reading the change-request and project-map, ALL of the following are
97
+ true, output Tier 5 and skip the heavy artifact list:
98
+
99
+ - Only `*.md`, `*.txt`, `prompts/*`, `AGENTS.md`, `CLAUDE.md`, `CODEX.md`,
100
+ `README*` are touched (no source, no tests, no contracts).
101
+ - No env var, secret, or runtime configuration change.
102
+ - No public API behavior change.
103
+
104
+ Tier 5 fast-path output minima:
105
+ - `## Tier` → `- 5`
106
+ - `## Required Agents` → `contract-reviewer` (read-only confirmation that no
107
+ contracts are touched) and `qa-reviewer` (release readiness, ~1 paragraph).
108
+ - `## Optional Artifacts` → all `no`.
109
+ - `## Required Tests` → all blank.
110
+
111
+ This exists because previously every doc-only change paid 8–12 agent
112
+ invocations of token cost. The fast-path bounds it to 2 read-only reviews. If
113
+ unsure whether the fast-path applies, classify Tier 4 instead and proceed
114
+ through the normal flow.
115
+
23
116
  ## Output
24
117
 
25
118
  Use this structure:
@@ -85,6 +178,37 @@ Note: `archive.md` is created during change close-out, not at classification tim
85
178
  ## Required Agents
86
179
  ...
87
180
 
181
+ ## Context Manifest Draft
182
+
183
+ ### Affected Surfaces
184
+ - <surface or module>
185
+
186
+ ### Allowed Paths
187
+ - specs/changes/<change-id>/
188
+ - specs/context/project-map.md
189
+ - specs/context/contracts-index.md
190
+ - <candidate repo-relative path from project-map or contracts-index>
191
+
192
+ ### Required Contracts
193
+ - <contract path from contracts-index, or none>
194
+
195
+ ### Required Tests
196
+ - <test path or test directory from project-map, or none>
197
+
198
+ ### Agent Work Packets
199
+
200
+ #### <agent-name>
201
+ - allowed:
202
+ - specs/changes/<change-id>/
203
+ - <repo-relative path>
204
+
205
+ ### Context Expansion Requests
206
+ - request-id: CER-001
207
+ requested_paths:
208
+ - <repo-relative path>
209
+ reason: <why the index is insufficient>
210
+ status: pending
211
+
88
212
  ## Inferred Acceptance Criteria
89
213
  (List 3-8 testable acceptance criteria derived from the change request. Format: `AC-N: <criterion>`. These will be used by test-strategist to populate the Acceptance Criteria → Test Mapping table.)
90
214
  - AC-1:
@@ -101,35 +225,17 @@ Note: `archive.md` is created during change close-out, not at classification tim
101
225
 
102
226
  ## Machine-Verifiable Evidence
103
227
 
104
- After completing your task, include an **## Agent Log** section at the end of your response with this exact structure (lines starting with `- ` are required). The calling skill will write this block to `specs/changes/<change-id>/agent-log/change-classifier.md`.
105
-
106
- ```
107
- ## Agent Log
108
- # Change Classifier Log
109
- - change-id: <id>
110
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
111
- - status: complete | needs-review | blocked
112
- - artifacts:
113
- - <evidence-type>: <concrete pointer>
114
- - <evidence-type>: <concrete pointer>
115
- - next-action: <one line, or "none">
116
- ```
228
+ After completing your task, write or append to
229
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
230
+ field rules, and gate-enforcement behavior are defined once in
231
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
117
232
 
118
233
  ### Required artifacts for this agent
119
234
  - `tier`: Tier 0-5
120
235
  - `risk`: low|medium|high|critical
121
236
  - `required-artifacts`: list
122
237
  - `required-reviewers`: list of agent names
123
-
124
- ### Rules
125
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
126
- is missing the `status:` line or has an invalid status.
127
- - If you cannot complete the task, set `status: blocked` and write a
128
- concrete `next-action` (NOT "investigate further" — write the actual
129
- next step a human can act on).
130
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
131
- contract path + section, test name, etc. NEVER write "verified" or "OK"
132
- without a pointer.
238
+ - `context-manifest-draft`: allowed paths and agent work packets based only on `project-map.md` and `contracts-index.md`
133
239
 
134
240
  ## Mixed and edge cases
135
241
 
@@ -64,19 +64,10 @@ mergeable / blocked / informational-risk
64
64
 
65
65
  ## Machine-Verifiable Evidence
66
66
 
67
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
68
- with this exact structure (lines starting with `- ` are required):
69
-
70
- ```
71
- # CI/CD Gatekeeper Log
72
- - change-id: <id>
73
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
74
- - status: complete | needs-review | blocked
75
- - artifacts:
76
- - <evidence-type>: <concrete pointer>
77
- - <evidence-type>: <concrete pointer>
78
- - next-action: <one line, or "none">
79
- ```
67
+ After completing your task, write or append to
68
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
69
+ field rules, and gate-enforcement behavior are defined once in
70
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
80
71
 
81
72
  ### Required artifacts for this agent
82
73
  - `tiers-modified`: list of tier numbers
@@ -84,16 +75,6 @@ with this exact structure (lines starting with `- ` are required):
84
75
  - `workflow-files-changed`: list of paths
85
76
  - `required-status-checks`: list of check names
86
77
 
87
- ### Rules
88
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
89
- is missing the `status:` line or has an invalid status.
90
- - If you cannot complete the task, set `status: blocked` and write a
91
- concrete `next-action` (NOT "investigate further" — write the actual
92
- next step a human can act on).
93
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
94
- contract path + section, test name, etc. NEVER write "verified" or "OK"
95
- without a pointer.
96
-
97
78
  ## Read scope
98
79
 
99
80
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -63,19 +63,10 @@ approved / changes-required
63
63
 
64
64
  ## Machine-Verifiable Evidence
65
65
 
66
- After completing your task, include an **## Agent Log** section at the end of your response with this exact structure (lines starting with `- ` are required). The calling skill will write this block to `specs/changes/<change-id>/agent-log/contract-reviewer.md`.
67
-
68
- ```
69
- ## Agent Log
70
- # Contract Reviewer Log
71
- - change-id: <id>
72
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
73
- - status: complete | needs-review | blocked
74
- - artifacts:
75
- - <evidence-type>: <concrete pointer>
76
- - <evidence-type>: <concrete pointer>
77
- - next-action: <one line, or "none">
78
- ```
66
+ After completing your task, write or append to
67
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
68
+ field rules, and gate-enforcement behavior are defined once in
69
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
79
70
 
80
71
  ### Required artifacts for this agent
81
72
  - `contracts-reviewed`: list of contract file paths
@@ -83,16 +74,6 @@ After completing your task, include an **## Agent Log** section at the end of yo
83
74
  - `breaking-changes`: list or "none"
84
75
  - `consumers-impacted`: list or "none"
85
76
 
86
- ### Rules
87
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
88
- is missing the `status:` line or has an invalid status.
89
- - If you cannot complete the task, set `status: blocked` and write a
90
- concrete `next-action` (NOT "investigate further" — write the actual
91
- next step a human can act on).
92
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
93
- contract path + section, test name, etc. NEVER write "verified" or "OK"
94
- without a pointer.
95
-
96
77
  ## Read scope
97
78
 
98
79
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -64,19 +64,10 @@ approved / changes-required / blocked
64
64
 
65
65
  ## Machine-Verifiable Evidence
66
66
 
67
- After completing your task, include an **## Agent Log** section at the end of your response with this exact structure (lines starting with `- ` are required). The calling skill will write this block to `specs/changes/<change-id>/agent-log/dependency-security-reviewer.md`.
68
-
69
- ```
70
- ## Agent Log
71
- # Dependency Security Reviewer Log
72
- - change-id: <id>
73
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
74
- - status: complete | needs-review | blocked
75
- - artifacts:
76
- - <evidence-type>: <concrete pointer>
77
- - <evidence-type>: <concrete pointer>
78
- - next-action: <one line, or "none">
79
- ```
67
+ After completing your task, write or append to
68
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
69
+ field rules, and gate-enforcement behavior are defined once in
70
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
80
71
 
81
72
  ### Required artifacts for this agent
82
73
  - `packages-reviewed`: list of `<name>@<version>`
@@ -84,12 +75,3 @@ After completing your task, include an **## Agent Log** section at the end of yo
84
75
  - `license-issues`: list or "none"
85
76
  - `lockfile-changes`: list of files
86
77
 
87
- ### Rules
88
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
89
- is missing the `status:` line or has an invalid status.
90
- - If you cannot complete the task, set `status: blocked` and write a
91
- concrete `next-action` (NOT "investigate further" — write the actual
92
- next step a human can act on).
93
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
94
- contract path + section, test name, etc. NEVER write "verified" or "OK"
95
- without a pointer.
@@ -41,19 +41,10 @@ Record test files, scenarios, fixtures/mocks, commands, screenshots/videos, and
41
41
 
42
42
  ## Machine-Verifiable Evidence
43
43
 
44
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
45
- with this exact structure (lines starting with `- ` are required):
46
-
47
- ```
48
- # E2E Resilience Engineer Log
49
- - change-id: <id>
50
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
51
- - status: complete | needs-review | blocked
52
- - artifacts:
53
- - <evidence-type>: <concrete pointer>
54
- - <evidence-type>: <concrete pointer>
55
- - next-action: <one line, or "none">
56
- ```
44
+ After completing your task, write or append to
45
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
46
+ field rules, and gate-enforcement behavior are defined once in
47
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
57
48
 
58
49
  ### Required artifacts for this agent
59
50
  - `test-files`: list of paths under `tests/e2e/` or `tests/resilience/`
@@ -61,16 +52,6 @@ with this exact structure (lines starting with `- ` are required):
61
52
  - `mutation-checks`: list or "none"
62
53
  - `trace-artifacts`: paths or "none"
63
54
 
64
- ### Rules
65
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
66
- is missing the `status:` line or has an invalid status.
67
- - If you cannot complete the task, set `status: blocked` and write a
68
- concrete `next-action` (NOT "investigate further" — write the actual
69
- next step a human can act on).
70
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
71
- contract path + section, test name, etc. NEVER write "verified" or "OK"
72
- without a pointer.
73
-
74
55
  ## Read scope
75
56
 
76
57
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -45,19 +45,10 @@ In your agent log, reference file paths and function names — do not paste code
45
45
 
46
46
  ## Machine-Verifiable Evidence
47
47
 
48
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
49
- with this exact structure (lines starting with `- ` are required):
50
-
51
- ```
52
- # Frontend Engineer Log
53
- - change-id: <id>
54
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
55
- - status: complete | needs-review | blocked
56
- - artifacts:
57
- - <evidence-type>: <concrete pointer>
58
- - <evidence-type>: <concrete pointer>
59
- - next-action: <one line, or "none">
60
- ```
48
+ After completing your task, write or append to
49
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
50
+ field rules, and gate-enforcement behavior are defined once in
51
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
61
52
 
62
53
  ### Required artifacts for this agent
63
54
  - `files-changed`: list of `path/to/file.tsx:line-range`
@@ -65,16 +56,6 @@ with this exact structure (lines starting with `- ` are required):
65
56
  - `screenshot-paths`: list of paths under `specs/changes/<id>/screenshots/`
66
57
  - `accessibility-audit`: tool name + score or "skipped: reason"
67
58
 
68
- ### Rules
69
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
70
- is missing the `status:` line or has an invalid status.
71
- - If you cannot complete the task, set `status: blocked` and write a
72
- concrete `next-action` (NOT "investigate further" — write the actual
73
- next step a human can act on).
74
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
75
- contract path + section, test name, etc. NEVER write "verified" or "OK"
76
- without a pointer.
77
-
78
59
  ## Read scope
79
60
 
80
61
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -44,35 +44,16 @@ Use fuzz payloads, Playwright action sequences, property-based tests, and target
44
44
 
45
45
  ## Machine-Verifiable Evidence
46
46
 
47
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
48
- with this exact structure (lines starting with `- ` are required):
49
-
50
- ```
51
- # Monkey Test Engineer Log
52
- - change-id: <id>
53
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
54
- - status: complete | needs-review | blocked
55
- - artifacts:
56
- - <evidence-type>: <concrete pointer>
57
- - <evidence-type>: <concrete pointer>
58
- - next-action: <one line, or "none">
59
- ```
47
+ After completing your task, write or append to
48
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
49
+ field rules, and gate-enforcement behavior are defined once in
50
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
60
51
 
61
52
  ### Required artifacts for this agent
62
53
  - `test-files`: list of paths under `tests/monkey/`
63
54
  - `failure-modes-mapped`: list of `<scenario> → <expected-safe-outcome>`
64
55
  - `seeds-recorded`: list of `<test-name>: seed-value` or "deterministic"
65
56
 
66
- ### Rules
67
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
68
- is missing the `status:` line or has an invalid status.
69
- - If you cannot complete the task, set `status: blocked` and write a
70
- concrete `next-action` (NOT "investigate further" — write the actual
71
- next step a human can act on).
72
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
73
- contract path + section, test name, etc. NEVER write "verified" or "OK"
74
- without a pointer.
75
-
76
57
  ## Read scope
77
58
 
78
59
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -75,19 +75,10 @@ approved / blocked / approved-with-risk
75
75
 
76
76
  ## Machine-Verifiable Evidence
77
77
 
78
- After completing your task, include an **## Agent Log** section at the end of your response with this exact structure (lines starting with `- ` are required). The calling skill will write this block to `specs/changes/<change-id>/agent-log/qa-reviewer.md`.
79
-
80
- ```
81
- ## Agent Log
82
- # QA Reviewer Log
83
- - change-id: <id>
84
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
85
- - status: complete | needs-review | blocked
86
- - artifacts:
87
- - <evidence-type>: <concrete pointer>
88
- - <evidence-type>: <concrete pointer>
89
- - next-action: <one line, or "none">
90
- ```
78
+ After completing your task, write or append to
79
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
80
+ field rules, and gate-enforcement behavior are defined once in
81
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
91
82
 
92
83
  ### Required artifacts for this agent
93
84
  - `gate-results`: list of `<gate-name>: pass|fail`
@@ -96,16 +87,6 @@ After completing your task, include an **## Agent Log** section at the end of yo
96
87
  - `decision`: approved | blocked | approved-with-risk
97
88
  - `failure-routing`: list of `<failure-type> → <agent>` or "none"
98
89
 
99
- ### Rules
100
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
101
- is missing the `status:` line or has an invalid status.
102
- - If you cannot complete the task, set `status: blocked` and write a
103
- concrete `next-action` (NOT "investigate further" — write the actual
104
- next step a human can act on).
105
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
106
- contract path + section, test name, etc. NEVER write "verified" or "OK"
107
- without a pointer.
108
-
109
90
  ## Read scope
110
91
 
111
92
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -84,31 +84,13 @@ frontend / backend / fullstack / monorepo / library / tool
84
84
 
85
85
  ## Machine-Verifiable Evidence
86
86
 
87
- After completing your task, include an **## Agent Log** section at the end of your response with this exact structure (lines starting with `- ` are required). The calling skill will write this block to `specs/changes/<change-id>/agent-log/repo-context-scanner.md`.
88
-
89
- ```
90
- ## Agent Log
91
- # Repo Context Scanner Log
92
- - change-id: <id>
93
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
94
- - status: complete | needs-review | blocked
95
- - artifacts:
96
- - <evidence-type>: <concrete pointer>
97
- - <evidence-type>: <concrete pointer>
98
- - next-action: <one line, or "none">
99
- ```
87
+ After completing your task, write or append to
88
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
89
+ field rules, and gate-enforcement behavior are defined once in
90
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
100
91
 
101
92
  ### Required artifacts for this agent
102
93
  - `profile-path`: `project-profile.generated.md`
103
94
  - `stack-detected`: from cdd-kit detect-stack
104
95
  - `surfaces-flagged`: list of missing standardization surfaces
105
96
 
106
- ### Rules
107
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
108
- is missing the `status:` line or has an invalid status.
109
- - If you cannot complete the task, set `status: blocked` and write a
110
- concrete `next-action` (NOT "investigate further" — write the actual
111
- next step a human can act on).
112
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
113
- contract path + section, test name, etc. NEVER write "verified" or "OK"
114
- without a pointer.
@@ -93,19 +93,10 @@ Target: `design.md` ≤ 150 lines.
93
93
 
94
94
  ## Machine-Verifiable Evidence
95
95
 
96
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
97
- with this exact structure (lines starting with `- ` are required):
98
-
99
- ```
100
- # Spec Architect Log
101
- - change-id: <id>
102
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
103
- - status: complete | needs-review | blocked
104
- - artifacts:
105
- - <evidence-type>: <concrete pointer>
106
- - <evidence-type>: <concrete pointer>
107
- - next-action: <one line, or "none">
108
- ```
96
+ After completing your task, write or append to
97
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
98
+ field rules, and gate-enforcement behavior are defined once in
99
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
109
100
 
110
101
  ### Required artifacts for this agent
111
102
  - `adr-written`: ADR file path under `docs/adr/` or "no ADR required"
@@ -113,16 +104,6 @@ with this exact structure (lines starting with `- ` are required):
113
104
  - `decision-summary`: one-line decision
114
105
  - `risks-noted`: count + severity buckets
115
106
 
116
- ### Rules
117
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
118
- is missing the `status:` line or has an invalid status.
119
- - If you cannot complete the task, set `status: blocked` and write a
120
- concrete `next-action` (NOT "investigate further" — write the actual
121
- next step a human can act on).
122
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
123
- contract path + section, test name, etc. NEVER write "verified" or "OK"
124
- without a pointer.
125
-
126
107
  ## Read scope
127
108
 
128
109
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -52,20 +52,10 @@ By default, do NOT read `specs/changes/` history. Only read historical change re
52
52
 
53
53
  ## Machine-Verifiable Evidence
54
54
 
55
- Write this block to `specs/audits/<YYYY-MM-DD>-drift-audit.md` (create the file yourself).
56
- Use this exact structure (lines starting with `- ` are required):
57
-
58
- ```
59
- ## Agent Log
60
- # Spec Drift Auditor Log
61
- - audit-id: <YYYY-MM-DD>-drift
62
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
63
- - status: complete | needs-review | blocked
64
- - artifacts:
65
- - <evidence-type>: <concrete pointer>
66
- - <evidence-type>: <concrete pointer>
67
- - next-action: <one line, or "none">
68
- ```
55
+ After completing your task, write or append to
56
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
57
+ field rules, and gate-enforcement behavior are defined once in
58
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
69
59
 
70
60
  ### Required artifacts for this agent
71
61
  - `surfaces-audited`: list (specs/contracts/code/tests/CI/tasks/archive)
@@ -73,11 +63,3 @@ Use this exact structure (lines starting with `- ` are required):
73
63
  - `drift-summary-path`: `specs/audits/<YYYY-MM-DD>-drift-audit.md`
74
64
  - `next-audit-due`: ISO date
75
65
 
76
- ### Rules
77
- - NEVER omit this audit summary file. The drift-audit cadence (release / weekly / ad-hoc) requires this file as its persistence record; missing `status:` voids the audit.
78
- - If you cannot complete the task, set `status: blocked` and write a
79
- concrete `next-action` (NOT "investigate further" — write the actual
80
- next step a human can act on).
81
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
82
- contract path + section, test name, etc. NEVER write "verified" or "OK"
83
- without a pointer.
@@ -68,19 +68,10 @@ Use realistic load profiles rather than arbitrary request loops.
68
68
 
69
69
  ## Machine-Verifiable Evidence
70
70
 
71
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
72
- with this exact structure (lines starting with `- ` are required):
73
-
74
- ```
75
- # Stress Soak Engineer Log
76
- - change-id: <id>
77
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
78
- - status: complete | needs-review | blocked
79
- - artifacts:
80
- - <evidence-type>: <concrete pointer>
81
- - <evidence-type>: <concrete pointer>
82
- - next-action: <one line, or "none">
83
- ```
71
+ After completing your task, write or append to
72
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.md`. Required fields,
73
+ field rules, and gate-enforcement behavior are defined once in
74
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
84
75
 
85
76
  ### Required artifacts for this agent
86
77
  - `runner-config-path`: e.g. `tests/stress/<scenario>.js`
@@ -88,16 +79,6 @@ with this exact structure (lines starting with `- ` are required):
88
79
  - `pass-criteria-cited`: SLO references (must include p95 / error-rate / leak-signal numbers)
89
80
  - `artifacts-location`: path
90
81
 
91
- ### Rules
92
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
93
- is missing the `status:` line or has an invalid status.
94
- - If you cannot complete the task, set `status: blocked` and write a
95
- concrete `next-action` (NOT "investigate further" — write the actual
96
- next step a human can act on).
97
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
98
- contract path + section, test name, etc. NEVER write "verified" or "OK"
99
- without a pointer.
100
-
101
82
  ## Read scope
102
83
 
103
84
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`