Skip to content

Commit cdb240d

Browse files
author
catlog22
committed
Add quality standards and team command design patterns documentation
- Introduced a new quality standards document outlining assessment criteria for team command .md files, including completeness, pattern compliance, integration, and consistency dimensions. - Established quality gates and issue classification for errors, warnings, and informational notes. - Created a comprehensive team command design patterns document detailing infrastructure and collaboration patterns, including message bus integration, YAML front matter requirements, task lifecycle, five-phase execution structure, and error handling. - Included a pattern selection guide for collaboration scenarios to enhance team interaction models.
1 parent 5ad7a95 commit cdb240d

61 files changed

Lines changed: 5180 additions & 14524 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ccw/workflows/cli-templates/schemas/solution-schema.json

Lines changed: 68 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"description": "Task breakdown for this solution",
2525
"items": {
2626
"type": "object",
27-
"required": ["id", "title", "scope", "action", "implementation", "acceptance"],
27+
"required": ["id", "title", "scope", "action", "implementation"],
2828
"properties": {
2929
"id": {
3030
"type": "string",
@@ -46,8 +46,26 @@
4646
"type": "string",
4747
"description": "1-2 sentences describing what to implement"
4848
},
49+
"files": {
50+
"type": "array",
51+
"description": "Files affected by this task (preferred over modification_points)",
52+
"items": {
53+
"type": "object",
54+
"required": ["path"],
55+
"properties": {
56+
"path": { "type": "string", "description": "File path relative to project root" },
57+
"action": { "type": "string", "enum": ["modify", "create", "delete"], "description": "Type of file operation" },
58+
"target": { "type": "string", "description": "Target symbol or location within file" },
59+
"change": { "type": "string", "description": "Description of the change" },
60+
"changes": { "type": "array", "items": { "type": "string" }, "description": "Multiple changes to the file" },
61+
"conflict_risk": { "type": "string", "enum": ["low", "medium", "high"], "description": "Risk of merge conflict" }
62+
}
63+
}
64+
},
4965
"modification_points": {
5066
"type": "array",
67+
"deprecated": true,
68+
"description": "DEPRECATED: Use 'files' instead. Legacy field for backward compatibility.",
5169
"items": {
5270
"type": "object",
5371
"properties": {
@@ -69,18 +87,35 @@
6987
"unit": { "type": "array", "items": { "type": "string" } },
7088
"integration": { "type": "array", "items": { "type": "string" } },
7189
"commands": { "type": "array", "items": { "type": "string" } },
72-
"coverage_target": { "type": "number" }
90+
"coverage_target": { "type": "number" },
91+
"manual_checks": { "type": "array", "items": { "type": "string" }, "description": "Manual verification steps" },
92+
"success_metrics": { "type": "array", "items": { "type": "string" }, "description": "Success metrics for the task" }
7393
}
7494
},
7595
"regression": {
7696
"type": "array",
7797
"items": { "type": "string" },
7898
"description": "Regression check points"
7999
},
100+
"convergence": {
101+
"type": "object",
102+
"description": "Convergence criteria & verification (preferred over acceptance)",
103+
"required": ["criteria"],
104+
"properties": {
105+
"criteria": { "type": "array", "items": { "type": "string" } },
106+
"verification": {
107+
"oneOf": [
108+
{ "type": "string" },
109+
{ "type": "array", "items": { "type": "string" } }
110+
]
111+
},
112+
"definition_of_done": { "type": "string" }
113+
}
114+
},
80115
"acceptance": {
81116
"type": "object",
82-
"description": "Acceptance criteria & verification",
83-
"required": ["criteria", "verification"],
117+
"deprecated": true,
118+
"description": "DEPRECATED: Use 'convergence' instead. Legacy field for backward compatibility.",
84119
"properties": {
85120
"criteria": { "type": "array", "items": { "type": "string" } },
86121
"verification": { "type": "array", "items": { "type": "string" } },
@@ -105,17 +140,41 @@
105140
},
106141
"estimated_minutes": {
107142
"type": "integer",
108-
"description": "Estimated time to complete"
143+
"description": "DEPRECATED: Use 'effort' instead. Estimated time to complete."
144+
},
145+
"effort": {
146+
"type": "string",
147+
"enum": ["small", "medium", "large", "xlarge"],
148+
"description": "Effort estimate for the task"
109149
},
110150
"status": {
111151
"type": "string",
112152
"description": "Task status (optional, for tracking)"
113153
},
114154
"priority": {
115-
"type": "integer",
116-
"minimum": 1,
117-
"maximum": 5,
118-
"default": 3
155+
"oneOf": [
156+
{ "type": "string", "enum": ["critical", "high", "medium", "low"] },
157+
{ "type": "integer", "minimum": 1, "maximum": 5 }
158+
],
159+
"default": "medium",
160+
"description": "Task priority. Prefer string enum; integer 1-5 accepted for backward compatibility."
161+
}
162+
},
163+
"anyOf": [
164+
{ "required": ["convergence"] },
165+
{ "required": ["acceptance"] }
166+
],
167+
"_migration": {
168+
"description": "Field migration mapping from legacy to current format",
169+
"mappings": {
170+
"modification_points[].file": "files[].path",
171+
"modification_points[].target": "files[].target",
172+
"modification_points[].change": "files[].change",
173+
"acceptance.criteria": "convergence.criteria",
174+
"acceptance.verification": "convergence.verification",
175+
"acceptance.manual_checks": "test.manual_checks",
176+
"priority (integer 1-5)": "priority (string enum)",
177+
"estimated_minutes": "effort"
119178
}
120179
}
121180
}

.claude/agents/issue-plan-agent.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -226,13 +226,13 @@ function decomposeTasks(issue, exploration) {
226226
scope: inferScope(group), // Module path
227227
action: inferAction(group), // Create | Update | Implement | ...
228228
description: group.description,
229-
modification_points: mapModificationPoints(group),
229+
files: mapFiles(group), // [{path, target, change, action?, conflict_risk?}]
230230
implementation: generateSteps(group), // Step-by-step guide
231231
test: {
232232
unit: generateUnitTests(group),
233233
commands: ['npm test']
234234
},
235-
acceptance: {
235+
convergence: {
236236
criteria: generateCriteria(group), // Quantified checklist
237237
verification: generateVerification(group)
238238
},
@@ -242,7 +242,7 @@ function decomposeTasks(issue, exploration) {
242242
message_template: generateCommitMsg(group)
243243
},
244244
depends_on: inferDependencies(group, tasks),
245-
priority: calculatePriority(group) // 1-5 (1=highest)
245+
priority: calculatePriorityEnum(group) // "critical"|"high"|"medium"|"low"
246246
}));
247247

248248
// GitHub Reply Task: Add final task if issue has github_url
@@ -254,20 +254,20 @@ function decomposeTasks(issue, exploration) {
254254
scope: 'github',
255255
action: 'Notify',
256256
description: `Comment on GitHub issue to report completion status`,
257-
modification_points: [],
257+
files: [],
258258
implementation: [
259259
`Generate completion summary (tasks completed, files changed)`,
260260
`Post comment via: gh issue comment ${issue.github_number || extractNumber(issue.github_url)} --body "..."`,
261261
`Include: solution approach, key changes, verification results`
262262
],
263263
test: { unit: [], commands: [] },
264-
acceptance: {
264+
convergence: {
265265
criteria: ['GitHub comment posted successfully', 'Comment includes completion summary'],
266266
verification: ['Check GitHub issue for new comment']
267267
},
268268
commit: null, // No commit for notification task
269269
depends_on: lastTaskId ? [lastTaskId] : [], // Depends on last implementation task
270-
priority: 5 // Lowest priority (run last)
270+
priority: "low" // Lowest priority (run last)
271271
});
272272
}
273273

@@ -370,10 +370,10 @@ Each line is a solution JSON containing tasks. Schema: `cat ~/.ccw/workflows/cli
370370
### 3.2 Validation Checklist
371371
372372
- [ ] ACE search performed for each issue
373-
- [ ] All modification_points verified against codebase
373+
- [ ] All files[] paths verified against codebase
374374
- [ ] Tasks have 2+ implementation steps
375375
- [ ] All 5 lifecycle phases present
376-
- [ ] Quantified acceptance criteria with verification
376+
- [ ] Quantified convergence criteria with verification
377377
- [ ] Dependencies form valid DAG
378378
- [ ] Commit follows conventional commits
379379
@@ -389,7 +389,7 @@ Each line is a solution JSON containing tasks. Schema: `cat ~/.ccw/workflows/cli
389389
4. Fetch issue details via `ccw issue status <id> --json`
390390
5. **Analyze failure history**: Check `issue.feedback` for type='failure', stage='execute'
391391
6. **For replanning**: Reference previous failures in `solution.approach`, add prevention steps
392-
7. Quantify acceptance.criteria with testable conditions
392+
7. Quantify convergence.criteria with testable conditions
393393
8. Validate DAG before output
394394
9. Evaluate each solution with `analysis` and `score`
395395
10. Write solutions to `.workflow/issues/solutions/{issue-id}.jsonl` (append mode)

0 commit comments

Comments
 (0)