contract-driven-delivery 1.12.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/README.md +58 -38
  3. package/assets/CLAUDE.template.md +4 -12
  4. package/assets/agents/backend-engineer.md +5 -26
  5. package/assets/agents/change-classifier.md +87 -27
  6. package/assets/agents/ci-cd-gatekeeper.md +4 -25
  7. package/assets/agents/contract-reviewer.md +4 -25
  8. package/assets/agents/dependency-security-reviewer.md +4 -24
  9. package/assets/agents/e2e-resilience-engineer.md +4 -25
  10. package/assets/agents/frontend-engineer.md +4 -25
  11. package/assets/agents/monkey-test-engineer.md +4 -25
  12. package/assets/agents/qa-reviewer.md +4 -25
  13. package/assets/agents/repo-context-scanner.md +4 -24
  14. package/assets/agents/spec-architect.md +4 -25
  15. package/assets/agents/spec-drift-auditor.md +4 -24
  16. package/assets/agents/stress-soak-engineer.md +4 -25
  17. package/assets/agents/test-strategist.md +4 -25
  18. package/assets/agents/ui-ux-reviewer.md +4 -24
  19. package/assets/agents/visual-reviewer.md +4 -24
  20. package/assets/cdd/model-policy.json +20 -1
  21. package/assets/hooks/post-tool-use-files-read.sh +55 -0
  22. package/assets/skills/cdd-close/SKILL.md +9 -9
  23. package/assets/skills/cdd-new/SKILL.md +201 -198
  24. package/assets/skills/cdd-resume/SKILL.md +16 -16
  25. package/assets/skills/contract-driven-delivery/SKILL.md +6 -0
  26. package/assets/skills/contract-driven-delivery/references/agent-log-protocol.md +147 -0
  27. package/assets/skills/contract-driven-delivery/scripts/generate_change_scaffold.py +1 -1
  28. package/assets/skills/contract-driven-delivery/scripts/validate_spec_traceability.py +1 -1
  29. package/assets/skills/contract-driven-delivery/templates/agent-log.example.yml +14 -0
  30. package/assets/skills/contract-driven-delivery/templates/change-classification.md +1 -1
  31. package/assets/skills/contract-driven-delivery/templates/tasks.yml +39 -0
  32. package/assets/specs-templates/change-classification.md +1 -1
  33. package/assets/specs-templates/context-manifest.md +8 -13
  34. package/assets/specs-templates/tasks.yml +39 -0
  35. package/dist/cli/index.js +11057 -829
  36. package/package.json +7 -3
  37. package/assets/skills/contract-driven-delivery/templates/tasks.md +0 -50
  38. package/assets/specs-templates/tasks.md +0 -52
@@ -64,21 +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
- - files-read:
76
- - <repo-relative path read through tools>
77
- - artifacts:
78
- - <evidence-type>: <concrete pointer>
79
- - <evidence-type>: <concrete pointer>
80
- - next-action: <one line, or "none">
81
- ```
67
+ After completing your task, write or append to
68
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
82
71
 
83
72
  ### Required artifacts for this agent
84
73
  - `tiers-modified`: list of tier numbers
@@ -86,16 +75,6 @@ with this exact structure (lines starting with `- ` are required):
86
75
  - `workflow-files-changed`: list of paths
87
76
  - `required-status-checks`: list of check names
88
77
 
89
- ### Rules
90
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
91
- is missing the `status:` line or has an invalid status.
92
- - If you cannot complete the task, set `status: blocked` and write a
93
- concrete `next-action` (NOT "investigate further" — write the actual
94
- next step a human can act on).
95
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
96
- contract path + section, test name, etc. NEVER write "verified" or "OK"
97
- without a pointer.
98
-
99
78
  ## Read scope
100
79
 
101
80
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -63,21 +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
- - files-read:
75
- - <repo-relative path read through tools>
76
- - artifacts:
77
- - <evidence-type>: <concrete pointer>
78
- - <evidence-type>: <concrete pointer>
79
- - next-action: <one line, or "none">
80
- ```
66
+ After completing your task, write or append to
67
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
81
70
 
82
71
  ### Required artifacts for this agent
83
72
  - `contracts-reviewed`: list of contract file paths
@@ -85,16 +74,6 @@ After completing your task, include an **## Agent Log** section at the end of yo
85
74
  - `breaking-changes`: list or "none"
86
75
  - `consumers-impacted`: list or "none"
87
76
 
88
- ### Rules
89
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
90
- is missing the `status:` line or has an invalid status.
91
- - If you cannot complete the task, set `status: blocked` and write a
92
- concrete `next-action` (NOT "investigate further" — write the actual
93
- next step a human can act on).
94
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
95
- contract path + section, test name, etc. NEVER write "verified" or "OK"
96
- without a pointer.
97
-
98
77
  ## Read scope
99
78
 
100
79
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -64,21 +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
- - files-read:
76
- - <repo-relative path read through tools>
77
- - artifacts:
78
- - <evidence-type>: <concrete pointer>
79
- - <evidence-type>: <concrete pointer>
80
- - next-action: <one line, or "none">
81
- ```
67
+ After completing your task, write or append to
68
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
82
71
 
83
72
  ### Required artifacts for this agent
84
73
  - `packages-reviewed`: list of `<name>@<version>`
@@ -86,12 +75,3 @@ After completing your task, include an **## Agent Log** section at the end of yo
86
75
  - `license-issues`: list or "none"
87
76
  - `lockfile-changes`: list of files
88
77
 
89
- ### Rules
90
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
91
- is missing the `status:` line or has an invalid status.
92
- - If you cannot complete the task, set `status: blocked` and write a
93
- concrete `next-action` (NOT "investigate further" — write the actual
94
- next step a human can act on).
95
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
96
- contract path + section, test name, etc. NEVER write "verified" or "OK"
97
- without a pointer.
@@ -41,21 +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
- - files-read:
53
- - <repo-relative path read through tools>
54
- - artifacts:
55
- - <evidence-type>: <concrete pointer>
56
- - <evidence-type>: <concrete pointer>
57
- - next-action: <one line, or "none">
58
- ```
44
+ After completing your task, write or append to
45
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
59
48
 
60
49
  ### Required artifacts for this agent
61
50
  - `test-files`: list of paths under `tests/e2e/` or `tests/resilience/`
@@ -63,16 +52,6 @@ with this exact structure (lines starting with `- ` are required):
63
52
  - `mutation-checks`: list or "none"
64
53
  - `trace-artifacts`: paths or "none"
65
54
 
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
55
  ## Read scope
77
56
 
78
57
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -45,21 +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
- - files-read:
57
- - <repo-relative path read through tools>
58
- - artifacts:
59
- - <evidence-type>: <concrete pointer>
60
- - <evidence-type>: <concrete pointer>
61
- - next-action: <one line, or "none">
62
- ```
48
+ After completing your task, write or append to
49
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
63
52
 
64
53
  ### Required artifacts for this agent
65
54
  - `files-changed`: list of `path/to/file.tsx:line-range`
@@ -67,16 +56,6 @@ with this exact structure (lines starting with `- ` are required):
67
56
  - `screenshot-paths`: list of paths under `specs/changes/<id>/screenshots/`
68
57
  - `accessibility-audit`: tool name + score or "skipped: reason"
69
58
 
70
- ### Rules
71
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
72
- is missing the `status:` line or has an invalid status.
73
- - If you cannot complete the task, set `status: blocked` and write a
74
- concrete `next-action` (NOT "investigate further" — write the actual
75
- next step a human can act on).
76
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
77
- contract path + section, test name, etc. NEVER write "verified" or "OK"
78
- without a pointer.
79
-
80
59
  ## Read scope
81
60
 
82
61
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -44,37 +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
- - files-read:
56
- - <repo-relative path read through tools>
57
- - artifacts:
58
- - <evidence-type>: <concrete pointer>
59
- - <evidence-type>: <concrete pointer>
60
- - next-action: <one line, or "none">
61
- ```
47
+ After completing your task, write or append to
48
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
62
51
 
63
52
  ### Required artifacts for this agent
64
53
  - `test-files`: list of paths under `tests/monkey/`
65
54
  - `failure-modes-mapped`: list of `<scenario> → <expected-safe-outcome>`
66
55
  - `seeds-recorded`: list of `<test-name>: seed-value` or "deterministic"
67
56
 
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
57
  ## Read scope
79
58
 
80
59
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -75,21 +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
- - files-read:
87
- - <repo-relative path read through tools>
88
- - artifacts:
89
- - <evidence-type>: <concrete pointer>
90
- - <evidence-type>: <concrete pointer>
91
- - next-action: <one line, or "none">
92
- ```
78
+ After completing your task, write or append to
79
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
93
82
 
94
83
  ### Required artifacts for this agent
95
84
  - `gate-results`: list of `<gate-name>: pass|fail`
@@ -98,16 +87,6 @@ After completing your task, include an **## Agent Log** section at the end of yo
98
87
  - `decision`: approved | blocked | approved-with-risk
99
88
  - `failure-routing`: list of `<failure-type> → <agent>` or "none"
100
89
 
101
- ### Rules
102
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
103
- is missing the `status:` line or has an invalid status.
104
- - If you cannot complete the task, set `status: blocked` and write a
105
- concrete `next-action` (NOT "investigate further" — write the actual
106
- next step a human can act on).
107
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
108
- contract path + section, test name, etc. NEVER write "verified" or "OK"
109
- without a pointer.
110
-
111
90
  ## Read scope
112
91
 
113
92
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -84,33 +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
- - files-read:
96
- - <repo-relative path read through tools>
97
- - artifacts:
98
- - <evidence-type>: <concrete pointer>
99
- - <evidence-type>: <concrete pointer>
100
- - next-action: <one line, or "none">
101
- ```
87
+ After completing your task, write or append to
88
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
102
91
 
103
92
  ### Required artifacts for this agent
104
93
  - `profile-path`: `project-profile.generated.md`
105
94
  - `stack-detected`: from cdd-kit detect-stack
106
95
  - `surfaces-flagged`: list of missing standardization surfaces
107
96
 
108
- ### Rules
109
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
110
- is missing the `status:` line or has an invalid status.
111
- - If you cannot complete the task, set `status: blocked` and write a
112
- concrete `next-action` (NOT "investigate further" — write the actual
113
- next step a human can act on).
114
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
115
- contract path + section, test name, etc. NEVER write "verified" or "OK"
116
- without a pointer.
@@ -93,21 +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
- - files-read:
105
- - <repo-relative path read through tools>
106
- - artifacts:
107
- - <evidence-type>: <concrete pointer>
108
- - <evidence-type>: <concrete pointer>
109
- - next-action: <one line, or "none">
110
- ```
96
+ After completing your task, write or append to
97
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
111
100
 
112
101
  ### Required artifacts for this agent
113
102
  - `adr-written`: ADR file path under `docs/adr/` or "no ADR required"
@@ -115,16 +104,6 @@ with this exact structure (lines starting with `- ` are required):
115
104
  - `decision-summary`: one-line decision
116
105
  - `risks-noted`: count + severity buckets
117
106
 
118
- ### Rules
119
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
120
- is missing the `status:` line or has an invalid status.
121
- - If you cannot complete the task, set `status: blocked` and write a
122
- concrete `next-action` (NOT "investigate further" — write the actual
123
- next step a human can act on).
124
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
125
- contract path + section, test name, etc. NEVER write "verified" or "OK"
126
- without a pointer.
127
-
128
107
  ## Read scope
129
108
 
130
109
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -52,22 +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
- - files-read:
65
- - <repo-relative path read through tools>
66
- - artifacts:
67
- - <evidence-type>: <concrete pointer>
68
- - <evidence-type>: <concrete pointer>
69
- - next-action: <one line, or "none">
70
- ```
55
+ After completing your task, write or append to
56
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
71
59
 
72
60
  ### Required artifacts for this agent
73
61
  - `surfaces-audited`: list (specs/contracts/code/tests/CI/tasks/archive)
@@ -75,11 +63,3 @@ Use this exact structure (lines starting with `- ` are required):
75
63
  - `drift-summary-path`: `specs/audits/<YYYY-MM-DD>-drift-audit.md`
76
64
  - `next-audit-due`: ISO date
77
65
 
78
- ### Rules
79
- - 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.
80
- - If you cannot complete the task, set `status: blocked` and write a
81
- concrete `next-action` (NOT "investigate further" — write the actual
82
- next step a human can act on).
83
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
84
- contract path + section, test name, etc. NEVER write "verified" or "OK"
85
- without a pointer.
@@ -68,21 +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
- - files-read:
80
- - <repo-relative path read through tools>
81
- - artifacts:
82
- - <evidence-type>: <concrete pointer>
83
- - <evidence-type>: <concrete pointer>
84
- - next-action: <one line, or "none">
85
- ```
71
+ After completing your task, write or append to
72
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. 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.
86
75
 
87
76
  ### Required artifacts for this agent
88
77
  - `runner-config-path`: e.g. `tests/stress/<scenario>.js`
@@ -90,16 +79,6 @@ with this exact structure (lines starting with `- ` are required):
90
79
  - `pass-criteria-cited`: SLO references (must include p95 / error-rate / leak-signal numbers)
91
80
  - `artifacts-location`: path
92
81
 
93
- ### Rules
94
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
95
- is missing the `status:` line or has an invalid status.
96
- - If you cannot complete the task, set `status: blocked` and write a
97
- concrete `next-action` (NOT "investigate further" — write the actual
98
- next step a human can act on).
99
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
100
- contract path + section, test name, etc. NEVER write "verified" or "OK"
101
- without a pointer.
102
-
103
82
  ## Read scope
104
83
 
105
84
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -72,21 +72,10 @@ Target: `test-plan.md` ≤ 100 lines.
72
72
 
73
73
  ## Machine-Verifiable Evidence
74
74
 
75
- After completing your task, write or append to `specs/changes/<change-id>/agent-log/<your-agent-name>.md`
76
- with this exact structure (lines starting with `- ` are required):
77
-
78
- ```
79
- # Test Strategist Log
80
- - change-id: <id>
81
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
82
- - status: complete | needs-review | blocked
83
- - files-read:
84
- - <repo-relative path read through tools>
85
- - artifacts:
86
- - <evidence-type>: <concrete pointer>
87
- - <evidence-type>: <concrete pointer>
88
- - next-action: <one line, or "none">
89
- ```
75
+ After completing your task, write or append to
76
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
77
+ field rules, and gate-enforcement behavior are defined once in
78
+ `references/agent-log-protocol.md` — do not duplicate them in this prompt.
90
79
 
91
80
  ### Required artifacts for this agent
92
81
  - `test-plan-path`: `specs/changes/<id>/test-plan.md`
@@ -94,16 +83,6 @@ with this exact structure (lines starting with `- ` are required):
94
83
  - `coverage-tiers`: list of tiers covered (unit/contract/integration/E2E/resilience/monkey/stress/soak)
95
84
  - `mapping-completeness`: percentage or "all requirements covered"
96
85
 
97
- ### Rules
98
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
99
- is missing the `status:` line or has an invalid status.
100
- - If you cannot complete the task, set `status: blocked` and write a
101
- concrete `next-action` (NOT "investigate further" — write the actual
102
- next step a human can act on).
103
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
104
- contract path + section, test name, etc. NEVER write "verified" or "OK"
105
- without a pointer.
106
-
107
86
  ## Read scope
108
87
 
109
88
  - Allowed: `contracts/`, `tests/`, `src/`, `specs/changes/<current-change-id>/`
@@ -51,21 +51,10 @@ approved / changes-required
51
51
 
52
52
  ## Machine-Verifiable Evidence
53
53
 
54
- 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/ui-ux-reviewer.md`.
55
-
56
- ```
57
- ## Agent Log
58
- # UI/UX Reviewer Log
59
- - change-id: <id>
60
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
61
- - status: complete | needs-review | blocked
62
- - files-read:
63
- - <repo-relative path read through tools>
64
- - artifacts:
65
- - <evidence-type>: <concrete pointer>
66
- - <evidence-type>: <concrete pointer>
67
- - next-action: <one line, or "none">
68
- ```
54
+ After completing your task, write or append to
55
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
56
+ field rules, and gate-enforcement behavior are defined once in
57
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
69
58
 
70
59
  ### Required artifacts for this agent
71
60
  - `journeys-reviewed`: list of journey names
@@ -73,12 +62,3 @@ After completing your task, include an **## Agent Log** section at the end of yo
73
62
  - `copy-issues`: count + severity
74
63
  - `accessibility-findings`: count + severity
75
64
 
76
- ### Rules
77
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
78
- is missing the `status:` line or has an invalid status.
79
- - If you cannot complete the task, set `status: blocked` and write a
80
- concrete `next-action` (NOT "investigate further" — write the actual
81
- next step a human can act on).
82
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
83
- contract path + section, test name, etc. NEVER write "verified" or "OK"
84
- without a pointer.
@@ -53,21 +53,10 @@ approved / changes-required
53
53
 
54
54
  ## Machine-Verifiable Evidence
55
55
 
56
- 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/visual-reviewer.md`.
57
-
58
- ```
59
- ## Agent Log
60
- # Visual Reviewer Log
61
- - change-id: <id>
62
- - timestamp: <ISO 8601, e.g. 2026-04-27T14:30:00Z>
63
- - status: complete | needs-review | blocked
64
- - files-read:
65
- - <repo-relative path read through tools>
66
- - artifacts:
67
- - <evidence-type>: <concrete pointer>
68
- - <evidence-type>: <concrete pointer>
69
- - next-action: <one line, or "none">
70
- ```
56
+ After completing your task, write or append to
57
+ `specs/changes/<change-id>/agent-log/<your-agent-name>.yml`. Required fields,
58
+ field rules, and gate-enforcement behavior are defined once in
59
+ `references/agent-log-protocol.md` do not duplicate them in this prompt.
71
60
 
72
61
  ### Required artifacts for this agent
73
62
  - `screenshots-compared`: list of `<screen>: baseline → current`
@@ -75,12 +64,3 @@ After completing your task, include an **## Agent Log** section at the end of yo
75
64
  - `state-coverage`: matrix
76
65
  - `tokens-violated`: list of CSS contract violations or "none"
77
66
 
78
- ### Rules
79
- - NEVER omit this log file. `cdd-kit gate` rejects changes whose agent-log
80
- is missing the `status:` line or has an invalid status.
81
- - If you cannot complete the task, set `status: blocked` and write a
82
- concrete `next-action` (NOT "investigate further" — write the actual
83
- next step a human can act on).
84
- - Evidence must be concrete: file:line, command name + last-10-line stdout,
85
- contract path + section, test name, etc. NEVER write "verified" or "OK"
86
- without a pointer.
@@ -1,5 +1,24 @@
1
1
  {
2
2
  "provider": "claude",
3
3
  "generated_at": null,
4
- "roles": {}
4
+ "schema-version": "0.2.0",
5
+ "roles": {
6
+ "change-classifier": "claude-opus-4-7",
7
+ "spec-architect": "claude-opus-4-7",
8
+ "qa-reviewer": "claude-opus-4-7",
9
+ "contract-reviewer": "claude-sonnet-4-6",
10
+ "test-strategist": "claude-sonnet-4-6",
11
+ "backend-engineer": "claude-sonnet-4-6",
12
+ "frontend-engineer": "claude-sonnet-4-6",
13
+ "ci-cd-gatekeeper": "claude-sonnet-4-6",
14
+ "e2e-resilience-engineer": "claude-sonnet-4-6",
15
+ "monkey-test-engineer": "claude-sonnet-4-6",
16
+ "stress-soak-engineer": "claude-sonnet-4-6",
17
+ "ui-ux-reviewer": "claude-sonnet-4-6",
18
+ "visual-reviewer": "claude-sonnet-4-6",
19
+ "dependency-security-reviewer": "claude-sonnet-4-6",
20
+ "spec-drift-auditor": "claude-sonnet-4-6",
21
+ "repo-context-scanner": "claude-haiku-4-5"
22
+ },
23
+ "_notes": "Roles map agent name -> model ID. Override per-project as needed. cdd-kit doctor warns when an installed agent's frontmatter `model:` does not match this policy."
5
24
  }