claude-code-workflow 6.3.27 → 6.3.29
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/.claude/CLAUDE.md +7 -1
- package/.claude/agents/action-planning-agent.md +1 -0
- package/.claude/agents/cli-discuss-agent.md +391 -0
- package/.claude/agents/cli-execution-agent.md +2 -0
- package/.claude/agents/cli-explore-agent.md +2 -1
- package/.claude/agents/cli-lite-planning-agent.md +1 -0
- package/.claude/agents/cli-planning-agent.md +1 -0
- package/.claude/agents/code-developer.md +1 -0
- package/.claude/agents/conceptual-planning-agent.md +2 -0
- package/.claude/agents/context-search-agent.md +1 -0
- package/.claude/agents/debug-explore-agent.md +2 -0
- package/.claude/agents/doc-generator.md +1 -0
- package/.claude/agents/issue-plan-agent.md +2 -1
- package/.claude/agents/issue-queue-agent.md +2 -1
- package/.claude/agents/memory-bridge.md +2 -0
- package/.claude/agents/test-context-search-agent.md +2 -0
- package/.claude/agents/test-fix-agent.md +1 -0
- package/.claude/agents/ui-design-agent.md +2 -0
- package/.claude/agents/universal-executor.md +1 -0
- package/.claude/commands/issue/execute.md +269 -176
- package/.claude/commands/workflow/debug.md +6 -0
- package/.claude/commands/workflow/execute.md +4 -0
- package/.claude/commands/workflow/lite-execute.md +4 -0
- package/.claude/commands/workflow/lite-lite-lite.md +433 -0
- package/.claude/commands/workflow/multi-cli-plan.md +510 -0
- package/.claude/commands/workflow/review-fix.md +4 -0
- package/.claude/commands/workflow/test-cycle-execute.md +4 -0
- package/.claude/skills/ccw/SKILL.md +262 -372
- package/.claude/skills/ccw/command.json +547 -0
- package/.claude/skills/ccw-help/SKILL.md +46 -107
- package/.claude/skills/ccw-help/command.json +511 -0
- package/.claude/skills/skill-tuning/SKILL.md +303 -0
- package/.claude/skills/skill-tuning/phases/actions/action-abort.md +164 -0
- package/.claude/skills/skill-tuning/phases/actions/action-analyze-requirements.md +406 -0
- package/.claude/skills/skill-tuning/phases/actions/action-apply-fix.md +206 -0
- package/.claude/skills/skill-tuning/phases/actions/action-complete.md +195 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-agent.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-context.md +243 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-dataflow.md +318 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-docs.md +299 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-memory.md +269 -0
- package/.claude/skills/skill-tuning/phases/actions/action-diagnose-token-consumption.md +200 -0
- package/.claude/skills/skill-tuning/phases/actions/action-gemini-analysis.md +322 -0
- package/.claude/skills/skill-tuning/phases/actions/action-generate-report.md +228 -0
- package/.claude/skills/skill-tuning/phases/actions/action-init.md +149 -0
- package/.claude/skills/skill-tuning/phases/actions/action-propose-fixes.md +317 -0
- package/.claude/skills/skill-tuning/phases/actions/action-verify.md +222 -0
- package/.claude/skills/skill-tuning/phases/orchestrator.md +377 -0
- package/.claude/skills/skill-tuning/phases/state-schema.md +378 -0
- package/.claude/skills/skill-tuning/specs/category-mappings.json +284 -0
- package/.claude/skills/skill-tuning/specs/dimension-mapping.md +212 -0
- package/.claude/skills/skill-tuning/specs/problem-taxonomy.md +318 -0
- package/.claude/skills/skill-tuning/specs/quality-gates.md +263 -0
- package/.claude/skills/skill-tuning/specs/skill-authoring-principles.md +189 -0
- package/.claude/skills/skill-tuning/specs/tuning-strategies.md +1537 -0
- package/.claude/skills/skill-tuning/templates/diagnosis-report.md +153 -0
- package/.claude/skills/skill-tuning/templates/fix-proposal.md +204 -0
- package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +421 -0
- package/.claude/workflows/cli-tools-usage.md +0 -41
- package/.codex/prompts/issue-execute.md +72 -12
- package/README.md +3 -0
- package/ccw/dist/core/data-aggregator.d.ts +2 -0
- package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
- package/ccw/dist/core/data-aggregator.js +5 -2
- package/ccw/dist/core/data-aggregator.js.map +1 -1
- package/ccw/dist/core/lite-scanner.d.ts +2 -1
- package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
- package/ccw/dist/core/lite-scanner.js +348 -6
- package/ccw/dist/core/lite-scanner.js.map +1 -1
- package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/session-routes.js +166 -48
- package/ccw/dist/core/routes/session-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +87 -0
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/dist/core/server.js +2 -2
- package/ccw/dist/core/server.js.map +1 -1
- package/ccw/dist/tools/memory-update-queue.d.ts.map +1 -1
- package/ccw/dist/tools/memory-update-queue.js +5 -11
- package/ccw/dist/tools/memory-update-queue.js.map +1 -1
- package/ccw/scripts/IMPLEMENTATION-SUMMARY.md +226 -0
- package/ccw/scripts/QUICK-REFERENCE.md +135 -0
- package/ccw/scripts/README-memory-embedder.md +157 -0
- package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
- package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
- package/ccw/scripts/memory-embedder-example.ts +184 -0
- package/ccw/scripts/memory_embedder.py +428 -0
- package/ccw/scripts/test_memory_embedder.py +245 -0
- package/ccw/src/core/data-aggregator.ts +7 -2
- package/ccw/src/core/lite-scanner.ts +495 -6
- package/ccw/src/core/routes/session-routes.ts +201 -48
- package/ccw/src/core/routes/system-routes.ts +102 -0
- package/ccw/src/core/server.ts +2 -2
- package/ccw/src/templates/dashboard-css/01-base.css +8 -0
- package/ccw/src/templates/dashboard-css/02-session.css +81 -0
- package/ccw/src/templates/dashboard-css/03-tasks.css +5 -0
- package/ccw/src/templates/dashboard-css/04-lite-tasks.css +3071 -0
- package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +157 -0
- package/ccw/src/templates/dashboard-css/32-issue-manager.css +23 -0
- package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +38 -4
- package/ccw/src/templates/dashboard-js/components/hook-manager.js +68 -34
- package/ccw/src/templates/dashboard-js/components/navigation.js +24 -4
- package/ccw/src/templates/dashboard-js/i18n.js +278 -4
- package/ccw/src/templates/dashboard-js/views/api-settings.js +32 -0
- package/ccw/src/templates/dashboard-js/views/claude-manager.js +44 -3
- package/ccw/src/templates/dashboard-js/views/cli-manager.js +303 -31
- package/ccw/src/templates/dashboard-js/views/history.js +44 -6
- package/ccw/src/templates/dashboard-js/views/home.js +1 -0
- package/ccw/src/templates/dashboard-js/views/issue-manager.js +54 -7
- package/ccw/src/templates/dashboard-js/views/lite-tasks.js +2621 -4
- package/ccw/src/templates/dashboard.html +5 -0
- package/ccw/src/tools/memory-update-queue.js +5 -11
- package/package.json +2 -1
- package/.claude/skills/ccw/index/command-capabilities.json +0 -127
- package/.claude/skills/ccw/index/intent-rules.json +0 -136
- package/.claude/skills/ccw/index/workflow-chains.json +0 -451
- package/.claude/skills/ccw/phases/actions/bugfix.md +0 -218
- package/.claude/skills/ccw/phases/actions/coupled.md +0 -194
- package/.claude/skills/ccw/phases/actions/docs.md +0 -93
- package/.claude/skills/ccw/phases/actions/full.md +0 -154
- package/.claude/skills/ccw/phases/actions/issue.md +0 -201
- package/.claude/skills/ccw/phases/actions/rapid.md +0 -104
- package/.claude/skills/ccw/phases/actions/review-fix.md +0 -84
- package/.claude/skills/ccw/phases/actions/tdd.md +0 -66
- package/.claude/skills/ccw/phases/actions/ui.md +0 -79
- package/.claude/skills/ccw/phases/orchestrator.md +0 -435
- package/.claude/skills/ccw/specs/intent-classification.md +0 -336
- package/.claude/skills/ccw-help/index/all-agents.json +0 -82
- package/.claude/skills/ccw-help/index/all-commands.json +0 -882
- package/.claude/skills/ccw-help/index/by-category.json +0 -914
- package/.claude/skills/ccw-help/index/by-use-case.json +0 -896
- package/.claude/skills/ccw-help/index/command-relationships.json +0 -160
- package/.claude/skills/ccw-help/index/essential-commands.json +0 -112
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Multi-CLI Discussion Artifact Schema",
|
|
4
|
+
"description": "Visualization-friendly output for multi-CLI collaborative discussion agent",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["metadata", "discussionTopic", "relatedFiles", "planning", "decision", "decisionRecords"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"metadata": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"required": ["artifactId", "roundId", "timestamp", "contributingAgents"],
|
|
11
|
+
"properties": {
|
|
12
|
+
"artifactId": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Unique ID for this artifact (e.g., 'MCP-auth-refactor-2026-01-13-round-1')"
|
|
15
|
+
},
|
|
16
|
+
"roundId": {
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"minimum": 1,
|
|
19
|
+
"description": "Discussion round number"
|
|
20
|
+
},
|
|
21
|
+
"timestamp": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"format": "date-time",
|
|
24
|
+
"description": "ISO 8601 timestamp"
|
|
25
|
+
},
|
|
26
|
+
"contributingAgents": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"$ref": "#/definitions/AgentIdentifier"
|
|
30
|
+
},
|
|
31
|
+
"description": "Agents that contributed to this artifact"
|
|
32
|
+
},
|
|
33
|
+
"durationSeconds": {
|
|
34
|
+
"type": "integer",
|
|
35
|
+
"description": "Total duration in seconds"
|
|
36
|
+
},
|
|
37
|
+
"exportFormats": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"enum": ["markdown", "html"]
|
|
42
|
+
},
|
|
43
|
+
"description": "Supported export formats"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"discussionTopic": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"required": ["title", "description", "status"],
|
|
50
|
+
"properties": {
|
|
51
|
+
"title": {
|
|
52
|
+
"$ref": "#/definitions/I18nLabel"
|
|
53
|
+
},
|
|
54
|
+
"description": {
|
|
55
|
+
"$ref": "#/definitions/I18nLabel"
|
|
56
|
+
},
|
|
57
|
+
"scope": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"properties": {
|
|
60
|
+
"included": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
63
|
+
"description": "What's in scope"
|
|
64
|
+
},
|
|
65
|
+
"excluded": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
68
|
+
"description": "What's explicitly out of scope"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"keyQuestions": {
|
|
73
|
+
"type": "array",
|
|
74
|
+
"items": { "$ref": "#/definitions/I18nLabel" },
|
|
75
|
+
"description": "Questions being explored"
|
|
76
|
+
},
|
|
77
|
+
"status": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": ["exploring", "analyzing", "debating", "decided", "blocked"],
|
|
80
|
+
"description": "Discussion status"
|
|
81
|
+
},
|
|
82
|
+
"tags": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"items": { "type": "string" },
|
|
85
|
+
"description": "Tags for filtering (e.g., ['auth', 'security', 'api'])"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"relatedFiles": {
|
|
90
|
+
"type": "object",
|
|
91
|
+
"properties": {
|
|
92
|
+
"fileTree": {
|
|
93
|
+
"type": "array",
|
|
94
|
+
"items": { "$ref": "#/definitions/FileNode" },
|
|
95
|
+
"description": "File tree structure"
|
|
96
|
+
},
|
|
97
|
+
"dependencyGraph": {
|
|
98
|
+
"type": "array",
|
|
99
|
+
"items": { "$ref": "#/definitions/DependencyEdge" },
|
|
100
|
+
"description": "Dependency relationships"
|
|
101
|
+
},
|
|
102
|
+
"impactSummary": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"items": { "$ref": "#/definitions/FileImpact" },
|
|
105
|
+
"description": "File impact summary"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"planning": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"functional": {
|
|
113
|
+
"type": "array",
|
|
114
|
+
"items": { "$ref": "#/definitions/Requirement" },
|
|
115
|
+
"description": "Functional requirements"
|
|
116
|
+
},
|
|
117
|
+
"nonFunctional": {
|
|
118
|
+
"type": "array",
|
|
119
|
+
"items": { "$ref": "#/definitions/Requirement" },
|
|
120
|
+
"description": "Non-functional requirements"
|
|
121
|
+
},
|
|
122
|
+
"acceptanceCriteria": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"items": { "$ref": "#/definitions/AcceptanceCriterion" },
|
|
125
|
+
"description": "Acceptance criteria"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"decision": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"required": ["status", "confidenceScore"],
|
|
132
|
+
"properties": {
|
|
133
|
+
"status": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"enum": ["pending", "decided", "conflict"],
|
|
136
|
+
"description": "Decision status"
|
|
137
|
+
},
|
|
138
|
+
"summary": {
|
|
139
|
+
"$ref": "#/definitions/I18nLabel"
|
|
140
|
+
},
|
|
141
|
+
"selectedSolution": {
|
|
142
|
+
"$ref": "#/definitions/Solution"
|
|
143
|
+
},
|
|
144
|
+
"rejectedAlternatives": {
|
|
145
|
+
"type": "array",
|
|
146
|
+
"items": { "$ref": "#/definitions/RejectedSolution" }
|
|
147
|
+
},
|
|
148
|
+
"confidenceScore": {
|
|
149
|
+
"type": "number",
|
|
150
|
+
"minimum": 0,
|
|
151
|
+
"maximum": 1,
|
|
152
|
+
"description": "Confidence score (0.0 to 1.0)"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"decisionRecords": {
|
|
157
|
+
"type": "object",
|
|
158
|
+
"properties": {
|
|
159
|
+
"timeline": {
|
|
160
|
+
"type": "array",
|
|
161
|
+
"items": { "$ref": "#/definitions/DecisionEvent" },
|
|
162
|
+
"description": "Timeline of decision events"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"_internal": {
|
|
167
|
+
"type": "object",
|
|
168
|
+
"description": "Internal analysis data (for debugging)",
|
|
169
|
+
"properties": {
|
|
170
|
+
"cli_analyses": {
|
|
171
|
+
"type": "array",
|
|
172
|
+
"items": { "$ref": "#/definitions/CLIAnalysis" }
|
|
173
|
+
},
|
|
174
|
+
"cross_verification": {
|
|
175
|
+
"$ref": "#/definitions/CrossVerification"
|
|
176
|
+
},
|
|
177
|
+
"convergence": {
|
|
178
|
+
"$ref": "#/definitions/ConvergenceMetrics"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"definitions": {
|
|
184
|
+
"I18nLabel": {
|
|
185
|
+
"type": "object",
|
|
186
|
+
"required": ["en", "zh"],
|
|
187
|
+
"properties": {
|
|
188
|
+
"en": { "type": "string" },
|
|
189
|
+
"zh": { "type": "string" }
|
|
190
|
+
},
|
|
191
|
+
"description": "Multi-language label for UI display"
|
|
192
|
+
},
|
|
193
|
+
"AgentIdentifier": {
|
|
194
|
+
"type": "object",
|
|
195
|
+
"required": ["name", "id"],
|
|
196
|
+
"properties": {
|
|
197
|
+
"name": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"enum": ["Gemini", "Codex", "Qwen", "Human", "System"]
|
|
200
|
+
},
|
|
201
|
+
"id": { "type": "string" }
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"FileNode": {
|
|
205
|
+
"type": "object",
|
|
206
|
+
"required": ["path", "type"],
|
|
207
|
+
"properties": {
|
|
208
|
+
"path": { "type": "string" },
|
|
209
|
+
"type": {
|
|
210
|
+
"type": "string",
|
|
211
|
+
"enum": ["file", "directory"]
|
|
212
|
+
},
|
|
213
|
+
"modificationStatus": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"enum": ["added", "modified", "deleted", "unchanged"]
|
|
216
|
+
},
|
|
217
|
+
"impactScore": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"enum": ["critical", "high", "medium", "low"]
|
|
220
|
+
},
|
|
221
|
+
"children": {
|
|
222
|
+
"type": "array",
|
|
223
|
+
"items": { "$ref": "#/definitions/FileNode" }
|
|
224
|
+
},
|
|
225
|
+
"codeSnippet": { "$ref": "#/definitions/CodeSnippet" }
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"DependencyEdge": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"required": ["source", "target", "relationship"],
|
|
231
|
+
"properties": {
|
|
232
|
+
"source": { "type": "string" },
|
|
233
|
+
"target": { "type": "string" },
|
|
234
|
+
"relationship": { "type": "string" }
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"FileImpact": {
|
|
238
|
+
"type": "object",
|
|
239
|
+
"required": ["filePath", "score", "reasoning"],
|
|
240
|
+
"properties": {
|
|
241
|
+
"filePath": { "type": "string" },
|
|
242
|
+
"line": { "type": "integer" },
|
|
243
|
+
"score": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"enum": ["critical", "high", "medium", "low"]
|
|
246
|
+
},
|
|
247
|
+
"reasoning": { "$ref": "#/definitions/I18nLabel" }
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"CodeSnippet": {
|
|
251
|
+
"type": "object",
|
|
252
|
+
"required": ["startLine", "endLine", "code"],
|
|
253
|
+
"properties": {
|
|
254
|
+
"startLine": { "type": "integer" },
|
|
255
|
+
"endLine": { "type": "integer" },
|
|
256
|
+
"code": { "type": "string" },
|
|
257
|
+
"language": { "type": "string" },
|
|
258
|
+
"comment": { "$ref": "#/definitions/I18nLabel" }
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
"Requirement": {
|
|
262
|
+
"type": "object",
|
|
263
|
+
"required": ["id", "description", "priority"],
|
|
264
|
+
"properties": {
|
|
265
|
+
"id": { "type": "string" },
|
|
266
|
+
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
267
|
+
"priority": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"enum": ["critical", "high", "medium", "low"]
|
|
270
|
+
},
|
|
271
|
+
"source": { "type": "string" }
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"AcceptanceCriterion": {
|
|
275
|
+
"type": "object",
|
|
276
|
+
"required": ["id", "description", "isMet"],
|
|
277
|
+
"properties": {
|
|
278
|
+
"id": { "type": "string" },
|
|
279
|
+
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
280
|
+
"isMet": { "type": "boolean" }
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
"Solution": {
|
|
284
|
+
"type": "object",
|
|
285
|
+
"required": ["id", "title", "description"],
|
|
286
|
+
"properties": {
|
|
287
|
+
"id": { "type": "string" },
|
|
288
|
+
"title": { "$ref": "#/definitions/I18nLabel" },
|
|
289
|
+
"description": { "$ref": "#/definitions/I18nLabel" },
|
|
290
|
+
"pros": {
|
|
291
|
+
"type": "array",
|
|
292
|
+
"items": { "$ref": "#/definitions/I18nLabel" }
|
|
293
|
+
},
|
|
294
|
+
"cons": {
|
|
295
|
+
"type": "array",
|
|
296
|
+
"items": { "$ref": "#/definitions/I18nLabel" }
|
|
297
|
+
},
|
|
298
|
+
"estimatedEffort": { "$ref": "#/definitions/I18nLabel" },
|
|
299
|
+
"risk": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"enum": ["critical", "high", "medium", "low"]
|
|
302
|
+
},
|
|
303
|
+
"affectedFiles": {
|
|
304
|
+
"type": "array",
|
|
305
|
+
"items": { "$ref": "#/definitions/FileImpact" }
|
|
306
|
+
},
|
|
307
|
+
"sourceCLIs": {
|
|
308
|
+
"type": "array",
|
|
309
|
+
"items": { "type": "string" }
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
"RejectedSolution": {
|
|
314
|
+
"allOf": [
|
|
315
|
+
{ "$ref": "#/definitions/Solution" },
|
|
316
|
+
{
|
|
317
|
+
"type": "object",
|
|
318
|
+
"required": ["rejectionReason"],
|
|
319
|
+
"properties": {
|
|
320
|
+
"rejectionReason": { "$ref": "#/definitions/I18nLabel" }
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
]
|
|
324
|
+
},
|
|
325
|
+
"DecisionEvent": {
|
|
326
|
+
"type": "object",
|
|
327
|
+
"required": ["eventId", "timestamp", "type", "contributor", "summary"],
|
|
328
|
+
"properties": {
|
|
329
|
+
"eventId": { "type": "string" },
|
|
330
|
+
"timestamp": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"format": "date-time"
|
|
333
|
+
},
|
|
334
|
+
"type": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"enum": ["proposal", "argument", "agreement", "disagreement", "decision", "reversal"]
|
|
337
|
+
},
|
|
338
|
+
"contributor": { "$ref": "#/definitions/AgentIdentifier" },
|
|
339
|
+
"summary": { "$ref": "#/definitions/I18nLabel" },
|
|
340
|
+
"evidence": {
|
|
341
|
+
"type": "array",
|
|
342
|
+
"items": { "$ref": "#/definitions/Evidence" }
|
|
343
|
+
},
|
|
344
|
+
"reversibility": {
|
|
345
|
+
"type": "string",
|
|
346
|
+
"enum": ["easily_reversible", "requires_refactoring", "irreversible"]
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
},
|
|
350
|
+
"Evidence": {
|
|
351
|
+
"type": "object",
|
|
352
|
+
"required": ["type", "content", "description"],
|
|
353
|
+
"properties": {
|
|
354
|
+
"type": {
|
|
355
|
+
"type": "string",
|
|
356
|
+
"enum": ["link", "code_snippet", "log_output", "benchmark", "reference"]
|
|
357
|
+
},
|
|
358
|
+
"content": {},
|
|
359
|
+
"description": { "$ref": "#/definitions/I18nLabel" }
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
"CLIAnalysis": {
|
|
363
|
+
"type": "object",
|
|
364
|
+
"required": ["tool", "perspective", "feasibility_score"],
|
|
365
|
+
"properties": {
|
|
366
|
+
"tool": {
|
|
367
|
+
"type": "string",
|
|
368
|
+
"enum": ["gemini", "codex", "qwen"]
|
|
369
|
+
},
|
|
370
|
+
"perspective": { "type": "string" },
|
|
371
|
+
"feasibility_score": {
|
|
372
|
+
"type": "number",
|
|
373
|
+
"minimum": 0,
|
|
374
|
+
"maximum": 1
|
|
375
|
+
},
|
|
376
|
+
"findings": {
|
|
377
|
+
"type": "array",
|
|
378
|
+
"items": { "type": "string" }
|
|
379
|
+
},
|
|
380
|
+
"implementation_approaches": { "type": "array" },
|
|
381
|
+
"technical_concerns": {
|
|
382
|
+
"type": "array",
|
|
383
|
+
"items": { "type": "string" }
|
|
384
|
+
},
|
|
385
|
+
"code_locations": {
|
|
386
|
+
"type": "array",
|
|
387
|
+
"items": { "$ref": "#/definitions/FileImpact" }
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
"CrossVerification": {
|
|
392
|
+
"type": "object",
|
|
393
|
+
"properties": {
|
|
394
|
+
"agreements": {
|
|
395
|
+
"type": "array",
|
|
396
|
+
"items": { "type": "string" }
|
|
397
|
+
},
|
|
398
|
+
"disagreements": {
|
|
399
|
+
"type": "array",
|
|
400
|
+
"items": { "type": "string" }
|
|
401
|
+
},
|
|
402
|
+
"resolution": { "type": "string" }
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"ConvergenceMetrics": {
|
|
406
|
+
"type": "object",
|
|
407
|
+
"properties": {
|
|
408
|
+
"score": {
|
|
409
|
+
"type": "number",
|
|
410
|
+
"minimum": 0,
|
|
411
|
+
"maximum": 1
|
|
412
|
+
},
|
|
413
|
+
"new_insights": { "type": "boolean" },
|
|
414
|
+
"recommendation": {
|
|
415
|
+
"type": "string",
|
|
416
|
+
"enum": ["continue", "converged", "user_input_needed"]
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
@@ -18,33 +18,6 @@
|
|
|
18
18
|
|
|
19
19
|
All tool availability, model selection, and routing are defined in this configuration file.
|
|
20
20
|
|
|
21
|
-
### Configuration Schema
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"version": "3.0.0",
|
|
26
|
-
"models": {
|
|
27
|
-
"<tool-id>": ["<model-1>", "<model-2>", ...]
|
|
28
|
-
},
|
|
29
|
-
"tools": {
|
|
30
|
-
"<tool-id>": {
|
|
31
|
-
"enabled": true|false,
|
|
32
|
-
"primaryModel": "<model-id>",
|
|
33
|
-
"secondaryModel": "<model-id>",
|
|
34
|
-
"tags": ["<tag-1>", "<tag-2>", ...]
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"customEndpoints": [
|
|
38
|
-
{
|
|
39
|
-
"id": "<endpoint-id>",
|
|
40
|
-
"name": "<display-name>",
|
|
41
|
-
"enabled": true|false,
|
|
42
|
-
"tags": ["<tag-1>", "<tag-2>", ...]
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
}
|
|
46
|
-
```
|
|
47
|
-
|
|
48
21
|
### Configuration Fields
|
|
49
22
|
|
|
50
23
|
| Field | Description |
|
|
@@ -492,20 +465,6 @@ RULES: $(cat ~/.claude/workflows/cli-templates/protocols/write-protocol.md) $(ca
|
|
|
492
465
|
|
|
493
466
|
---
|
|
494
467
|
|
|
495
|
-
## Execution Configuration
|
|
496
|
-
|
|
497
|
-
### Dynamic Timeout Allocation
|
|
498
|
-
|
|
499
|
-
**Minimum timeout: 5 minutes (300000ms)** - Never set below this threshold.
|
|
500
|
-
|
|
501
|
-
**Timeout Ranges**:
|
|
502
|
-
- **Simple** (analysis, search): 5-10min (300000-600000ms)
|
|
503
|
-
- **Medium** (refactoring, documentation): 10-20min (600000-1200000ms)
|
|
504
|
-
- **Complex** (implementation, migration): 20-60min (1200000-3600000ms)
|
|
505
|
-
- **Heavy** (large codebase, multi-file): 60-120min (3600000-7200000ms)
|
|
506
|
-
|
|
507
|
-
**Auto-detection**: Analyze PURPOSE and TASK fields to determine timeout
|
|
508
|
-
|
|
509
468
|
### Permission Framework
|
|
510
469
|
|
|
511
470
|
**Single-Use Authorization**: Each execution requires explicit user instruction. Previous authorization does NOT carry over.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Execute all solutions from issue queue with git commit after each solution
|
|
3
|
-
argument-hint: "
|
|
3
|
+
argument-hint: "--queue <queue-id> [--worktree [<existing-path>]]"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Issue Execute (Codex Version)
|
|
@@ -9,6 +9,49 @@ argument-hint: "[--worktree [<existing-path>]] [--queue <queue-id>]"
|
|
|
9
9
|
|
|
10
10
|
**Serial Execution**: Execute solutions ONE BY ONE from the issue queue via `ccw issue next`. For each solution, complete all tasks sequentially (implement → test → verify), then commit once per solution with formatted summary. Continue autonomously until queue is empty.
|
|
11
11
|
|
|
12
|
+
## Queue ID Requirement (MANDATORY)
|
|
13
|
+
|
|
14
|
+
**Queue ID is REQUIRED.** You MUST specify which queue to execute via `--queue <queue-id>`.
|
|
15
|
+
|
|
16
|
+
### If Queue ID Not Provided
|
|
17
|
+
|
|
18
|
+
When `--queue` parameter is missing, you MUST:
|
|
19
|
+
|
|
20
|
+
1. **List available queues** by running:
|
|
21
|
+
```javascript
|
|
22
|
+
const result = shell_command({ command: "ccw issue queue list --brief --json" })
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. **Parse and display queues** to user:
|
|
26
|
+
```
|
|
27
|
+
Available Queues:
|
|
28
|
+
ID Status Progress Issues
|
|
29
|
+
-----------------------------------------------------------
|
|
30
|
+
→ QUE-20251215-001 active 3/10 ISS-001, ISS-002
|
|
31
|
+
QUE-20251210-002 active 0/5 ISS-003
|
|
32
|
+
QUE-20251205-003 completed 8/8 ISS-004
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
3. **Stop and ask user** to specify which queue to execute:
|
|
36
|
+
```javascript
|
|
37
|
+
AskUserQuestion({
|
|
38
|
+
questions: [{
|
|
39
|
+
question: "Which queue would you like to execute?",
|
|
40
|
+
header: "Queue",
|
|
41
|
+
multiSelect: false,
|
|
42
|
+
options: [
|
|
43
|
+
// Generate from parsed queue list - only show active/pending queues
|
|
44
|
+
{ label: "QUE-20251215-001", description: "active, 3/10 completed, Issues: ISS-001, ISS-002" },
|
|
45
|
+
{ label: "QUE-20251210-002", description: "active, 0/5 completed, Issues: ISS-003" }
|
|
46
|
+
]
|
|
47
|
+
}]
|
|
48
|
+
})
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
4. **After user selection**, continue execution with the selected queue ID.
|
|
52
|
+
|
|
53
|
+
**DO NOT auto-select queues.** Explicit user confirmation is required to prevent accidental execution of wrong queue.
|
|
54
|
+
|
|
12
55
|
## Worktree Mode (Recommended for Parallel Execution)
|
|
13
56
|
|
|
14
57
|
When `--worktree` is specified, create or use a git worktree to isolate work.
|
|
@@ -77,7 +120,8 @@ cd "${WORKTREE_PATH}"
|
|
|
77
120
|
|
|
78
121
|
**Worktree Execution Pattern**:
|
|
79
122
|
```
|
|
80
|
-
|
|
123
|
+
0. [MAIN REPO] Validate queue ID (--queue required, or prompt user to select)
|
|
124
|
+
1. [WORKTREE] ccw issue next --queue <queue-id> → auto-redirects to main repo's .workflow/
|
|
81
125
|
2. [WORKTREE] Implement all tasks, run tests, git commit
|
|
82
126
|
3. [WORKTREE] ccw issue done <item_id> → auto-redirects to main repo
|
|
83
127
|
4. Repeat from step 1
|
|
@@ -177,10 +221,12 @@ echo "Branch '${WORKTREE_NAME}' kept. Merge manually when ready."
|
|
|
177
221
|
## Execution Flow
|
|
178
222
|
|
|
179
223
|
```
|
|
180
|
-
|
|
224
|
+
STEP 0: Validate queue ID (--queue required, or prompt user to select)
|
|
225
|
+
|
|
226
|
+
INIT: Fetch first solution via ccw issue next --queue <queue-id>
|
|
181
227
|
|
|
182
228
|
WHILE solution exists:
|
|
183
|
-
1. Receive solution JSON from ccw issue next
|
|
229
|
+
1. Receive solution JSON from ccw issue next --queue <queue-id>
|
|
184
230
|
2. Execute all tasks in solution.tasks sequentially:
|
|
185
231
|
FOR each task:
|
|
186
232
|
- IMPLEMENT: Follow task.implementation steps
|
|
@@ -188,7 +234,7 @@ WHILE solution exists:
|
|
|
188
234
|
- VERIFY: Check task.acceptance criteria
|
|
189
235
|
3. COMMIT: Stage all files, commit once with formatted summary
|
|
190
236
|
4. Report completion via ccw issue done <item_id>
|
|
191
|
-
5. Fetch next solution via ccw issue next
|
|
237
|
+
5. Fetch next solution via ccw issue next --queue <queue-id>
|
|
192
238
|
|
|
193
239
|
WHEN queue empty:
|
|
194
240
|
Output final summary
|
|
@@ -196,11 +242,14 @@ WHEN queue empty:
|
|
|
196
242
|
|
|
197
243
|
## Step 1: Fetch First Solution
|
|
198
244
|
|
|
245
|
+
**Prerequisite**: Queue ID must be determined (either from `--queue` argument or user selection in Step 0).
|
|
246
|
+
|
|
199
247
|
Run this command to get your first solution:
|
|
200
248
|
|
|
201
249
|
```javascript
|
|
202
250
|
// ccw auto-detects worktree and uses main repo's .workflow/
|
|
203
|
-
|
|
251
|
+
// QUEUE_ID is required - obtained from --queue argument or user selection
|
|
252
|
+
const result = shell_command({ command: `ccw issue next --queue ${QUEUE_ID}` })
|
|
204
253
|
```
|
|
205
254
|
|
|
206
255
|
This returns JSON with the full solution definition:
|
|
@@ -494,11 +543,12 @@ shell_command({
|
|
|
494
543
|
|
|
495
544
|
## Step 5: Continue to Next Solution
|
|
496
545
|
|
|
497
|
-
Fetch next solution:
|
|
546
|
+
Fetch next solution (using same QUEUE_ID from Step 0/1):
|
|
498
547
|
|
|
499
548
|
```javascript
|
|
500
549
|
// ccw auto-detects worktree
|
|
501
|
-
|
|
550
|
+
// Continue using the same QUEUE_ID throughout execution
|
|
551
|
+
const result = shell_command({ command: `ccw issue next --queue ${QUEUE_ID}` })
|
|
502
552
|
```
|
|
503
553
|
|
|
504
554
|
**Output progress:**
|
|
@@ -567,18 +617,28 @@ When `ccw issue next` returns `{ "status": "empty" }`:
|
|
|
567
617
|
|
|
568
618
|
| Command | Purpose |
|
|
569
619
|
|---------|---------|
|
|
570
|
-
| `ccw issue
|
|
571
|
-
| `ccw issue next --queue QUE-xxx` | Fetch from
|
|
620
|
+
| `ccw issue queue list --brief --json` | List all queues (for queue selection) |
|
|
621
|
+
| `ccw issue next --queue QUE-xxx` | Fetch next solution from specified queue (**--queue required**) |
|
|
572
622
|
| `ccw issue done <id>` | Mark solution complete with result (auto-detects queue) |
|
|
573
623
|
| `ccw issue done <id> --fail --reason "..."` | Mark solution failed with structured reason |
|
|
574
624
|
| `ccw issue retry --queue QUE-xxx` | Reset failed items in specific queue |
|
|
575
625
|
|
|
576
626
|
## Start Execution
|
|
577
627
|
|
|
578
|
-
|
|
628
|
+
**Step 0: Validate Queue ID**
|
|
629
|
+
|
|
630
|
+
If `--queue` was NOT provided in the command arguments:
|
|
631
|
+
1. Run `ccw issue queue list --brief --json`
|
|
632
|
+
2. Display available queues to user
|
|
633
|
+
3. Ask user to select a queue via `AskUserQuestion`
|
|
634
|
+
4. Store selected queue ID for all subsequent commands
|
|
635
|
+
|
|
636
|
+
**Step 1: Fetch First Solution**
|
|
637
|
+
|
|
638
|
+
Once queue ID is confirmed, begin by running:
|
|
579
639
|
|
|
580
640
|
```bash
|
|
581
|
-
ccw issue next
|
|
641
|
+
ccw issue next --queue <queue-id>
|
|
582
642
|
```
|
|
583
643
|
|
|
584
644
|
Then follow the solution lifecycle for each solution until queue is empty.
|
package/README.md
CHANGED
|
@@ -281,6 +281,9 @@ CCW provides comprehensive documentation to help you get started quickly and mas
|
|
|
281
281
|
- [**Dashboard Guide**](DASHBOARD_GUIDE.md) - Dashboard user guide and interface overview
|
|
282
282
|
- [**Dashboard Operations**](DASHBOARD_OPERATIONS_EN.md) - Detailed operation instructions
|
|
283
283
|
|
|
284
|
+
### 🔄 **Workflow Guides**
|
|
285
|
+
- [**Issue Loop Workflow**](docs/workflows/ISSUE_LOOP_WORKFLOW.md) - Batch issue processing with two-phase lifecycle (accumulate → resolve)
|
|
286
|
+
|
|
284
287
|
### 🏗️ **Architecture & Design**
|
|
285
288
|
- [**Architecture Overview**](ARCHITECTURE.md) - System design and core components
|
|
286
289
|
- [**Project Introduction**](PROJECT_INTRODUCTION.md) - Detailed project overview
|
|
@@ -64,6 +64,7 @@ interface DashboardData {
|
|
|
64
64
|
liteTasks: {
|
|
65
65
|
litePlan: unknown[];
|
|
66
66
|
liteFix: unknown[];
|
|
67
|
+
multiCliPlan: unknown[];
|
|
67
68
|
};
|
|
68
69
|
reviewData: ReviewData | null;
|
|
69
70
|
projectOverview: ProjectOverview | null;
|
|
@@ -75,6 +76,7 @@ interface DashboardData {
|
|
|
75
76
|
reviewFindings: number;
|
|
76
77
|
litePlanCount: number;
|
|
77
78
|
liteFixCount: number;
|
|
79
|
+
multiCliPlanCount: number;
|
|
78
80
|
};
|
|
79
81
|
}
|
|
80
82
|
interface ReviewData {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-aggregator.d.ts","sourceRoot":"","sources":["../../src/core/data-aggregator.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,aAAa,EAAE,CAAC;CACnC;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,WAAW,EAAE,CAAC;IAC9B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,SAAS,EAAE;QACT,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"data-aggregator.d.ts","sourceRoot":"","sources":["../../src/core/data-aggregator.ts"],"names":[],"mappings":"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"}
|