codex-workflows 0.6.8 → 0.6.9
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/.agents/skills/ai-development-guide/SKILL.md +5 -3
- package/.agents/skills/ai-development-guide/references/frontend.md +11 -19
- package/.agents/skills/coding-rules/references/typescript.md +17 -12
- package/.agents/skills/documentation-criteria/references/plan-template.md +1 -1
- package/.agents/skills/documentation-criteria/references/task-template.md +8 -0
- package/.agents/skills/testing/SKILL.md +5 -5
- package/.agents/skills/testing/references/typescript.md +2 -6
- package/.codex/agents/acceptance-test-generator.toml +2 -44
- package/.codex/agents/code-reviewer.toml +4 -57
- package/.codex/agents/code-verifier.toml +1 -47
- package/.codex/agents/codebase-analyzer.toml +1 -106
- package/.codex/agents/design-sync.toml +2 -64
- package/.codex/agents/document-reviewer.toml +3 -78
- package/.codex/agents/integration-test-reviewer.toml +1 -26
- package/.codex/agents/investigator.toml +1 -73
- package/.codex/agents/quality-fixer-frontend.toml +4 -105
- package/.codex/agents/quality-fixer.toml +4 -122
- package/.codex/agents/requirement-analyzer.toml +1 -29
- package/.codex/agents/rule-advisor.toml +1 -79
- package/.codex/agents/scope-discoverer.toml +1 -70
- package/.codex/agents/security-reviewer.toml +1 -19
- package/.codex/agents/solver.toml +5 -54
- package/.codex/agents/task-decomposer.toml +18 -0
- package/.codex/agents/task-executor-frontend.toml +16 -142
- package/.codex/agents/task-executor.toml +16 -142
- package/.codex/agents/ui-analyzer.toml +1 -157
- package/.codex/agents/verifier.toml +2 -65
- package/package.json +1 -1
|
@@ -186,73 +186,13 @@ Complete all items before proceeding to output.
|
|
|
186
186
|
### Comprehensive Review Mode
|
|
187
187
|
|
|
188
188
|
```json
|
|
189
|
-
{
|
|
190
|
-
"metadata": {
|
|
191
|
-
"review_mode": "comprehensive",
|
|
192
|
-
"doc_type": "DesignDoc",
|
|
193
|
-
"target_path": "/path/to/document.md"
|
|
194
|
-
},
|
|
195
|
-
"scores": {
|
|
196
|
-
"consistency": 85,
|
|
197
|
-
"completeness": 80,
|
|
198
|
-
"rule_compliance": 90,
|
|
199
|
-
"clarity": 75
|
|
200
|
-
},
|
|
201
|
-
"gate0": {
|
|
202
|
-
"status": "pass|fail",
|
|
203
|
-
"missing_elements": []
|
|
204
|
-
},
|
|
205
|
-
"verdict": {
|
|
206
|
-
"decision": "approved_with_conditions",
|
|
207
|
-
"conditions": [
|
|
208
|
-
"Resolve FileUtil discrepancy",
|
|
209
|
-
"Add missing test files"
|
|
210
|
-
]
|
|
211
|
-
},
|
|
212
|
-
"issues": [
|
|
213
|
-
{
|
|
214
|
-
"id": "I001",
|
|
215
|
-
"severity": "critical",
|
|
216
|
-
"category": "implementation",
|
|
217
|
-
"location": "Section 3.2",
|
|
218
|
-
"description": "FileUtil method mismatch",
|
|
219
|
-
"suggestion": "Update document to reflect actual FileUtil usage"
|
|
220
|
-
}
|
|
221
|
-
],
|
|
222
|
-
"recommendations": [
|
|
223
|
-
"Priority fixes before approval",
|
|
224
|
-
"Documentation alignment with implementation"
|
|
225
|
-
],
|
|
226
|
-
"prior_context_check": {
|
|
227
|
-
"items_received": 0,
|
|
228
|
-
"resolved": 0,
|
|
229
|
-
"partially_resolved": 0,
|
|
230
|
-
"unresolved": 0,
|
|
231
|
-
"items": []
|
|
232
|
-
}
|
|
233
|
-
}
|
|
189
|
+
{"metadata":{"review_mode":"comprehensive","doc_type":"DesignDoc","target_path":"/path/to/document.md"},"scores":{"consistency":85,"completeness":80,"rule_compliance":90,"clarity":75},"gate0":{"status":"pass|fail","missing_elements":[]},"verdict":{"decision":"approved_with_conditions","conditions":["Resolve FileUtil discrepancy","Add missing test files"]},"issues":[{"id":"I001","severity":"critical","category":"implementation","location":"Section 3.2","description":"FileUtil method mismatch","suggestion":"Update document to reflect actual FileUtil usage"}],"recommendations":["Priority fixes before approval","Documentation alignment with implementation"],"prior_context_check":{"items_received":0,"resolved":0,"partially_resolved":0,"unresolved":0,"items":[]}}
|
|
234
190
|
```
|
|
235
191
|
|
|
236
192
|
### Perspective-specific Mode
|
|
237
193
|
|
|
238
194
|
```json
|
|
239
|
-
{
|
|
240
|
-
"metadata": {
|
|
241
|
-
"review_mode": "perspective",
|
|
242
|
-
"focus": "implementation",
|
|
243
|
-
"doc_type": "DesignDoc",
|
|
244
|
-
"target_path": "/path/to/document.md"
|
|
245
|
-
},
|
|
246
|
-
"analysis": {
|
|
247
|
-
"summary": "Analysis results description",
|
|
248
|
-
"scores": {}
|
|
249
|
-
},
|
|
250
|
-
"issues": [],
|
|
251
|
-
"checklist": [
|
|
252
|
-
{"item": "Check item description", "status": "pass|fail|na"}
|
|
253
|
-
],
|
|
254
|
-
"recommendations": []
|
|
255
|
-
}
|
|
195
|
+
{"metadata":{"review_mode":"perspective","focus":"implementation","doc_type":"DesignDoc","target_path":"/path/to/document.md"},"analysis":{"summary":"Analysis results description","scores":{}},"issues":[],"checklist":[{"item":"Check item description","status":"pass|fail|na"}],"recommendations":[]}
|
|
256
196
|
```
|
|
257
197
|
|
|
258
198
|
### Prior Context Check
|
|
@@ -260,22 +200,7 @@ Complete all items before proceeding to output.
|
|
|
260
200
|
Include in output when `prior_context_count > 0`:
|
|
261
201
|
|
|
262
202
|
```json
|
|
263
|
-
{
|
|
264
|
-
"prior_context_check": {
|
|
265
|
-
"items_received": 3,
|
|
266
|
-
"resolved": 2,
|
|
267
|
-
"partially_resolved": 1,
|
|
268
|
-
"unresolved": 0,
|
|
269
|
-
"items": [
|
|
270
|
-
{
|
|
271
|
-
"id": "D001",
|
|
272
|
-
"status": "resolved",
|
|
273
|
-
"location": "Section 3.2",
|
|
274
|
-
"evidence": "Code now matches documentation"
|
|
275
|
-
}
|
|
276
|
-
]
|
|
277
|
-
}
|
|
278
|
-
}
|
|
203
|
+
{"prior_context_check":{"items_received":3,"resolved":2,"partially_resolved":1,"unresolved":0,"items":[{"id":"D001","status":"resolved","location":"Section 3.2","evidence":"Code now matches documentation"}]}}
|
|
279
204
|
```
|
|
280
205
|
|
|
281
206
|
## Review Checklist (for Comprehensive Mode)
|
|
@@ -100,32 +100,7 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
100
100
|
## Output Format
|
|
101
101
|
|
|
102
102
|
```json
|
|
103
|
-
{
|
|
104
|
-
"status": "approved|needs_revision|blocked",
|
|
105
|
-
"testFile": "[path]",
|
|
106
|
-
"verdict": {
|
|
107
|
-
"decision": "approved|needs_revision|blocked",
|
|
108
|
-
"summary": "[1-2 sentence summary]"
|
|
109
|
-
},
|
|
110
|
-
"testsReviewed": 5,
|
|
111
|
-
"passedTests": 3,
|
|
112
|
-
"failedTests": 2,
|
|
113
|
-
"qualityIssues": [
|
|
114
|
-
{
|
|
115
|
-
"testName": "[test name]",
|
|
116
|
-
"issueType": "skeleton_mismatch|aaa_violation|independence_violation|mock_boundary|proof_insufficient|readability",
|
|
117
|
-
"severity": "high|medium|low",
|
|
118
|
-
"description": "[specific issue]",
|
|
119
|
-
"skeletonExpected": "[what skeleton specified]",
|
|
120
|
-
"actualImplementation": "[what was found]",
|
|
121
|
-
"suggestion": "[specific fix]"
|
|
122
|
-
}
|
|
123
|
-
],
|
|
124
|
-
"requiredFixes": [
|
|
125
|
-
"[specific fix 1]",
|
|
126
|
-
"[specific fix 2]"
|
|
127
|
-
]
|
|
128
|
-
}
|
|
103
|
+
{"status":"approved|needs_revision|blocked","testFile":"[path]","verdict":{"decision":"approved|needs_revision|blocked","summary":"[1-2 sentence summary]"},"testsReviewed":5,"passedTests":3,"failedTests":2,"qualityIssues":[{"testName":"[test name]","issueType":"skeleton_mismatch|aaa_violation|independence_violation|mock_boundary|proof_insufficient|readability","severity":"high|medium|low","description":"[specific issue]","skeletonExpected":"[what skeleton specified]","actualImplementation":"[what was found]","suggestion":"[specific fix]"}],"requiredFixes":["[specific fix 1]","[specific fix 2]"]}
|
|
129
104
|
```
|
|
130
105
|
|
|
131
106
|
## Status Determination
|
|
@@ -119,79 +119,7 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
119
119
|
**JSON format is mandatory.**
|
|
120
120
|
|
|
121
121
|
```json
|
|
122
|
-
{
|
|
123
|
-
"problemSummary": {
|
|
124
|
-
"phenomenon": "Objective description of observed phenomenon",
|
|
125
|
-
"context": "Occurrence conditions, environment, timing",
|
|
126
|
-
"scope": "Impact range"
|
|
127
|
-
},
|
|
128
|
-
"investigationSources": [
|
|
129
|
-
{
|
|
130
|
-
"type": "code|history|dependency|config|document|external",
|
|
131
|
-
"location": "Location investigated",
|
|
132
|
-
"findings": "Facts discovered (without interpretation)"
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
"externalResearch": [
|
|
136
|
-
{
|
|
137
|
-
"query": "Search query used",
|
|
138
|
-
"source": "Information source",
|
|
139
|
-
"findings": "Related information discovered",
|
|
140
|
-
"relevance": "Relevance to this problem"
|
|
141
|
-
}
|
|
142
|
-
],
|
|
143
|
-
"pathMap": {
|
|
144
|
-
"entryPoint": "First relevant execution entry",
|
|
145
|
-
"nodes": [
|
|
146
|
-
{
|
|
147
|
-
"id": "N1",
|
|
148
|
-
"stage": "route_entry|service_entry|validation|persistence_read|persistence_write|external_call|render|other",
|
|
149
|
-
"component": "Component or file path",
|
|
150
|
-
"description": "Role on the execution path",
|
|
151
|
-
"status": "observed|inferred|unverified"
|
|
152
|
-
}
|
|
153
|
-
]
|
|
154
|
-
},
|
|
155
|
-
"failurePoints": [
|
|
156
|
-
{
|
|
157
|
-
"id": "FP1",
|
|
158
|
-
"nodeId": "N1",
|
|
159
|
-
"description": "Specific failure point description",
|
|
160
|
-
"causeCategory": "typo|logic_error|missing_constraint|design_gap|external_factor",
|
|
161
|
-
"causalChain": ["Phenomenon", "→ Direct cause", "→ Root cause"],
|
|
162
|
-
"supportingEvidence": [
|
|
163
|
-
{"evidence": "Evidence", "source": "Source", "strength": "direct|indirect|circumstantial"}
|
|
164
|
-
],
|
|
165
|
-
"contradictingEvidence": [
|
|
166
|
-
{"evidence": "Counter-evidence", "source": "Source", "impact": "Impact on this failure point"}
|
|
167
|
-
],
|
|
168
|
-
"unexploredAspects": ["Unverified aspects"]
|
|
169
|
-
}
|
|
170
|
-
],
|
|
171
|
-
"comparisonAnalysis": {
|
|
172
|
-
"normalImplementation": "Path to working implementation (null if not found)",
|
|
173
|
-
"failingImplementation": "Path to problematic implementation",
|
|
174
|
-
"keyDifferences": ["Differences"]
|
|
175
|
-
},
|
|
176
|
-
"impactAnalysis": {
|
|
177
|
-
"causeCategory": "typo|logic_error|missing_constraint|design_gap|external_factor",
|
|
178
|
-
"impactScope": ["Affected file paths"],
|
|
179
|
-
"recurrenceRisk": "low|medium|high",
|
|
180
|
-
"riskRationale": "Rationale for risk determination"
|
|
181
|
-
},
|
|
182
|
-
"unexploredAreas": [
|
|
183
|
-
{"area": "Unexplored area", "reason": "Reason could not investigate", "potentialRelevance": "Relevance"}
|
|
184
|
-
],
|
|
185
|
-
"failurePointRelationships": [
|
|
186
|
-
{
|
|
187
|
-
"from": "FP1",
|
|
188
|
-
"to": "FP2",
|
|
189
|
-
"relationship": "independent|upstream_of|downstream_of|amplifies|same_boundary"
|
|
190
|
-
}
|
|
191
|
-
],
|
|
192
|
-
"factualObservations": ["Objective facts observed regardless of failure-point classification"],
|
|
193
|
-
"investigationLimitations": ["Limitations and constraints of this investigation"]
|
|
194
|
-
}
|
|
122
|
+
{"problemSummary":{"phenomenon":"Objective description of observed phenomenon","context":"Occurrence conditions, environment, timing","scope":"Impact range"},"investigationSources":[{"type":"code|history|dependency|config|document|external","location":"Location investigated","findings":"Facts discovered (without interpretation)"}],"externalResearch":[{"query":"Search query used","source":"Information source","findings":"Related information discovered","relevance":"Relevance to this problem"}],"pathMap":{"entryPoint":"First relevant execution entry","nodes":[{"id":"N1","stage":"route_entry|service_entry|validation|persistence_read|persistence_write|external_call|render|other","component":"Component or file path","description":"Role on the execution path","status":"observed|inferred|unverified"}]},"failurePoints":[{"id":"FP1","nodeId":"N1","description":"Specific failure point description","causeCategory":"typo|logic_error|missing_constraint|design_gap|external_factor","causalChain":["Phenomenon","→ Direct cause","→ Root cause"],"supportingEvidence":[{"evidence":"Evidence","source":"Source","strength":"direct|indirect|circumstantial"}],"contradictingEvidence":[{"evidence":"Counter-evidence","source":"Source","impact":"Impact on this failure point"}],"unexploredAspects":["Unverified aspects"]}],"comparisonAnalysis":{"normalImplementation":"Path to working implementation (null if not found)","failingImplementation":"Path to problematic implementation","keyDifferences":["Differences"]},"impactAnalysis":{"causeCategory":"typo|logic_error|missing_constraint|design_gap|external_factor","impactScope":["Affected file paths"],"recurrenceRisk":"low|medium|high","riskRationale":"Rationale for risk determination"},"unexploredAreas":[{"area":"Unexplored area","reason":"Reason could not investigate","potentialRelevance":"Relevance"}],"failurePointRelationships":[{"from":"FP1","to":"FP2","relationship":"independent|upstream_of|downstream_of|amplifies|same_boundary"}],"factualObservations":["Objective facts observed regardless of failure-point classification"],"investigationLimitations":["Limitations and constraints of this investigation"]}
|
|
195
123
|
```
|
|
196
124
|
|
|
197
125
|
## Completion Criteria
|
|
@@ -185,123 +185,22 @@ Before setting status to blocked, confirm specifications in this order:
|
|
|
185
185
|
|
|
186
186
|
**When incomplete implementation is detected**:
|
|
187
187
|
```json
|
|
188
|
-
{
|
|
189
|
-
"status": "stub_detected",
|
|
190
|
-
"summary": "Incomplete frontend implementation detected in changed code before quality checks.",
|
|
191
|
-
"stubFindings": [
|
|
192
|
-
{
|
|
193
|
-
"file": "src/components/CheckoutButton.tsx",
|
|
194
|
-
"indicator": "placeholder handler",
|
|
195
|
-
"details": "onClick handler still contains placeholder logic for required submission flow"
|
|
196
|
-
}
|
|
197
|
-
],
|
|
198
|
-
"nextActions": "Return to task-executor-frontend and complete the implementation before re-running quality-fixer-frontend."
|
|
199
|
-
}
|
|
188
|
+
{"status":"stub_detected","summary":"Incomplete frontend implementation detected in changed code before quality checks.","stubFindings":[{"file":"src/components/CheckoutButton.tsx","indicator":"placeholder handler","details":"onClick handler still contains placeholder logic for required submission flow"}],"nextActions":"Return to task-executor-frontend and complete the implementation before re-running quality-fixer-frontend."}
|
|
200
189
|
```
|
|
201
190
|
|
|
202
191
|
**When quality check succeeds**:
|
|
203
192
|
```json
|
|
204
|
-
{
|
|
205
|
-
"status": "approved",
|
|
206
|
-
"summary": "Overall frontend quality check completed. All checks passed.",
|
|
207
|
-
"checksPerformed": {
|
|
208
|
-
"lint_format": {
|
|
209
|
-
"status": "passed",
|
|
210
|
-
"commands": ["<detected-lint-command>"],
|
|
211
|
-
"autoFixed": true
|
|
212
|
-
},
|
|
213
|
-
"typescript": {
|
|
214
|
-
"status": "passed",
|
|
215
|
-
"commands": ["<detected-build-command>"]
|
|
216
|
-
},
|
|
217
|
-
"tests": {
|
|
218
|
-
"status": "passed",
|
|
219
|
-
"commands": ["<detected-test-command>"],
|
|
220
|
-
"testsRun": 42,
|
|
221
|
-
"testsPassed": 42,
|
|
222
|
-
"coverage": "85%"
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
"fixesApplied": [
|
|
226
|
-
{
|
|
227
|
-
"type": "auto",
|
|
228
|
-
"category": "format",
|
|
229
|
-
"description": "Auto-fixed indentation and semicolons",
|
|
230
|
-
"filesCount": 5
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
"type": "manual",
|
|
234
|
-
"category": "type",
|
|
235
|
-
"description": "Replaced any type with unknown + type guards",
|
|
236
|
-
"filesCount": 3
|
|
237
|
-
}
|
|
238
|
-
],
|
|
239
|
-
"taskFileMechanisms": {
|
|
240
|
-
"provided": true,
|
|
241
|
-
"executed": ["mechanism names that were found and executed"],
|
|
242
|
-
"skipped": [
|
|
243
|
-
{
|
|
244
|
-
"mechanism": "mechanism name",
|
|
245
|
-
"reason": "tool not found / config not found / not executable"
|
|
246
|
-
}
|
|
247
|
-
]
|
|
248
|
-
},
|
|
249
|
-
"metrics": {
|
|
250
|
-
"totalErrors": 0,
|
|
251
|
-
"totalWarnings": 0,
|
|
252
|
-
"executionTime": "3m 30s"
|
|
253
|
-
},
|
|
254
|
-
"nextActions": "Ready to commit"
|
|
255
|
-
}
|
|
193
|
+
{"status":"approved","summary":"Overall frontend quality check completed. All checks passed.","checksPerformed":{"lint_format":{"status":"passed","commands":["<detected-lint-command>"],"autoFixed":true},"typescript":{"status":"passed","commands":["<detected-build-command>"]},"tests":{"status":"passed","commands":["<detected-test-command>"],"testsRun":42,"testsPassed":42,"coverage":"85%"}},"fixesApplied":[{"type":"auto","category":"format","description":"Auto-fixed indentation and semicolons","filesCount":5},{"type":"manual","category":"type","description":"Replaced any type with unknown + type guards","filesCount":3}],"taskFileMechanisms":{"provided":true,"executed":["mechanism names that were found and executed"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"metrics":{"totalErrors":0,"totalWarnings":0,"executionTime":"3m 30s"},"nextActions":"Ready to commit"}
|
|
256
194
|
```
|
|
257
195
|
|
|
258
196
|
**blocked response format (specification conflict)**:
|
|
259
197
|
```json
|
|
260
|
-
{
|
|
261
|
-
"status": "blocked",
|
|
262
|
-
"reason": "Cannot determine due to unclear specification",
|
|
263
|
-
"blockingIssues": [{
|
|
264
|
-
"type": "ux_specification_conflict",
|
|
265
|
-
"details": "Test expectation and implementation contradict on user interaction behavior",
|
|
266
|
-
"test_expects": "Button disabled on form error",
|
|
267
|
-
"implementation_behavior": "Button enabled, shows error on click",
|
|
268
|
-
"why_cannot_judge": "Correct UX specification unknown"
|
|
269
|
-
}],
|
|
270
|
-
"attemptedFixes": [
|
|
271
|
-
"Fix attempt 1: Tried aligning test to implementation",
|
|
272
|
-
"Fix attempt 2: Tried aligning implementation to test",
|
|
273
|
-
"Fix attempt 3: Tried inferring specification from Design Doc"
|
|
274
|
-
],
|
|
275
|
-
"taskFileMechanisms": {
|
|
276
|
-
"provided": true,
|
|
277
|
-
"executed": ["mechanisms executed before blocking"],
|
|
278
|
-
"skipped": [{ "mechanism": "mechanism name", "reason": "tool not found / config not found / not executable" }]
|
|
279
|
-
},
|
|
280
|
-
"needsUserDecision": "Please confirm the correct button disabled behavior"
|
|
281
|
-
}
|
|
198
|
+
{"status":"blocked","reason":"Cannot determine due to unclear specification","blockingIssues":[{"type":"ux_specification_conflict","details":"Test expectation and implementation contradict on user interaction behavior","test_expects":"Button disabled on form error","implementation_behavior":"Button enabled, shows error on click","why_cannot_judge":"Correct UX specification unknown"}],"attemptedFixes":["Fix attempt 1: Tried aligning test to implementation","Fix attempt 2: Tried aligning implementation to test","Fix attempt 3: Tried inferring specification from Design Doc"],"taskFileMechanisms":{"provided":true,"executed":["mechanisms executed before blocking"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"needsUserDecision":"Please confirm the correct button disabled behavior"}
|
|
282
199
|
```
|
|
283
200
|
|
|
284
201
|
**blocked response format (missing prerequisites)**:
|
|
285
202
|
```json
|
|
286
|
-
{
|
|
287
|
-
"status": "blocked",
|
|
288
|
-
"reason": "Execution prerequisites not met",
|
|
289
|
-
"missingPrerequisites": [
|
|
290
|
-
{
|
|
291
|
-
"type": "browser_runtime",
|
|
292
|
-
"description": "Playwright browsers are not installed for E2E execution",
|
|
293
|
-
"affectedChecks": ["test:e2e"],
|
|
294
|
-
"resolutionSteps": ["Install the required browser runtime", "Re-run the E2E check command"]
|
|
295
|
-
}
|
|
296
|
-
],
|
|
297
|
-
"taskFileMechanisms": {
|
|
298
|
-
"provided": true,
|
|
299
|
-
"executed": ["mechanisms executed before blocking"],
|
|
300
|
-
"skipped": [{ "mechanism": "mechanism name", "reason": "tool not found / config not found / not executable" }]
|
|
301
|
-
},
|
|
302
|
-
"checksSkipped": 1,
|
|
303
|
-
"checksPassedWithoutPrerequisites": 2
|
|
304
|
-
}
|
|
203
|
+
{"status":"blocked","reason":"Execution prerequisites not met","missingPrerequisites":[{"type":"browser_runtime","description":"Playwright browsers are not installed for E2E execution","affectedChecks":["test:e2e"],"resolutionSteps":["Install the required browser runtime","Re-run the E2E check command"]}],"taskFileMechanisms":{"provided":true,"executed":["mechanisms executed before blocking"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"checksSkipped":1,"checksPassedWithoutPrerequisites":2}
|
|
305
204
|
```
|
|
306
205
|
|
|
307
206
|
Allowed `type` values: `seed_data`, `library`, `environment_variable`, `running_service`, `browser_runtime`, `external_dependency`, `other`
|
|
@@ -158,140 +158,22 @@ Return one of the following as the final response (see Output Format for schemas
|
|
|
158
158
|
|
|
159
159
|
**When incomplete implementation is detected**:
|
|
160
160
|
```json
|
|
161
|
-
{
|
|
162
|
-
"status": "stub_detected",
|
|
163
|
-
"summary": "Incomplete implementation detected in changed code before quality checks.",
|
|
164
|
-
"stubFindings": [
|
|
165
|
-
{
|
|
166
|
-
"file": "src/example.ts",
|
|
167
|
-
"indicator": "TODO marker",
|
|
168
|
-
"details": "TODO comment defers required business logic in the task scope"
|
|
169
|
-
}
|
|
170
|
-
],
|
|
171
|
-
"nextActions": "Return to task-executor and complete the implementation before re-running quality-fixer."
|
|
172
|
-
}
|
|
161
|
+
{"status":"stub_detected","summary":"Incomplete implementation detected in changed code before quality checks.","stubFindings":[{"file":"src/example.ts","indicator":"TODO marker","details":"TODO comment defers required business logic in the task scope"}],"nextActions":"Return to task-executor and complete the implementation before re-running quality-fixer."}
|
|
173
162
|
```
|
|
174
163
|
|
|
175
164
|
**When quality check succeeds**:
|
|
176
165
|
```json
|
|
177
|
-
{
|
|
178
|
-
"status": "approved",
|
|
179
|
-
"summary": "Overall quality check completed. All checks passed.",
|
|
180
|
-
"checksPerformed": {
|
|
181
|
-
"phase1_linting": {
|
|
182
|
-
"status": "passed",
|
|
183
|
-
"commands": ["linting", "formatting"],
|
|
184
|
-
"autoFixed": true
|
|
185
|
-
},
|
|
186
|
-
"phase2_structure": {
|
|
187
|
-
"status": "passed",
|
|
188
|
-
"commands": ["unused code check", "dependency check"]
|
|
189
|
-
},
|
|
190
|
-
"phase3_build": {
|
|
191
|
-
"status": "passed",
|
|
192
|
-
"commands": ["build"]
|
|
193
|
-
},
|
|
194
|
-
"phase4_tests": {
|
|
195
|
-
"status": "passed",
|
|
196
|
-
"commands": ["test"],
|
|
197
|
-
"testsRun": 42,
|
|
198
|
-
"testsPassed": 42
|
|
199
|
-
},
|
|
200
|
-
"phase5_code_recheck": {
|
|
201
|
-
"status": "passed",
|
|
202
|
-
"commands": ["code quality re-check"]
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
"fixesApplied": [
|
|
206
|
-
{
|
|
207
|
-
"type": "auto",
|
|
208
|
-
"category": "format",
|
|
209
|
-
"description": "Auto-fixed indentation and style",
|
|
210
|
-
"filesCount": 5
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
"type": "manual",
|
|
214
|
-
"category": "correctness",
|
|
215
|
-
"description": "Improved correctness guarantees",
|
|
216
|
-
"filesCount": 2
|
|
217
|
-
}
|
|
218
|
-
],
|
|
219
|
-
"taskFileMechanisms": {
|
|
220
|
-
"provided": true,
|
|
221
|
-
"executed": ["mechanism names that were found and executed"],
|
|
222
|
-
"skipped": [
|
|
223
|
-
{
|
|
224
|
-
"mechanism": "mechanism name",
|
|
225
|
-
"reason": "tool not found / config not found / not executable"
|
|
226
|
-
}
|
|
227
|
-
]
|
|
228
|
-
},
|
|
229
|
-
"metrics": {
|
|
230
|
-
"totalErrors": 0,
|
|
231
|
-
"totalWarnings": 0,
|
|
232
|
-
"executionTime": "2m 15s"
|
|
233
|
-
},
|
|
234
|
-
"nextActions": "Ready to commit"
|
|
235
|
-
}
|
|
166
|
+
{"status":"approved","summary":"Overall quality check completed. All checks passed.","checksPerformed":{"phase1_linting":{"status":"passed","commands":["linting","formatting"],"autoFixed":true},"phase2_structure":{"status":"passed","commands":["unused code check","dependency check"]},"phase3_build":{"status":"passed","commands":["build"]},"phase4_tests":{"status":"passed","commands":["test"],"testsRun":42,"testsPassed":42},"phase5_code_recheck":{"status":"passed","commands":["code quality re-check"]}},"fixesApplied":[{"type":"auto","category":"format","description":"Auto-fixed indentation and style","filesCount":5},{"type":"manual","category":"correctness","description":"Improved correctness guarantees","filesCount":2}],"taskFileMechanisms":{"provided":true,"executed":["mechanism names that were found and executed"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"metrics":{"totalErrors":0,"totalWarnings":0,"executionTime":"2m 15s"},"nextActions":"Ready to commit"}
|
|
236
167
|
```
|
|
237
168
|
|
|
238
169
|
**blocked response format (specification conflict)**:
|
|
239
170
|
```json
|
|
240
|
-
{
|
|
241
|
-
"status": "blocked",
|
|
242
|
-
"reason": "Cannot determine due to unclear specification",
|
|
243
|
-
"blockingIssues": [{
|
|
244
|
-
"type": "specification_conflict",
|
|
245
|
-
"details": "Test expectation and implementation contradict",
|
|
246
|
-
"test_expects": "500 error",
|
|
247
|
-
"implementation_returns": "400 error",
|
|
248
|
-
"why_cannot_judge": "Correct specification unknown"
|
|
249
|
-
}],
|
|
250
|
-
"attemptedFixes": [
|
|
251
|
-
"Fix attempt 1: Tried aligning test to implementation",
|
|
252
|
-
"Fix attempt 2: Tried aligning implementation to test",
|
|
253
|
-
"Fix attempt 3: Tried inferring specification from related documentation"
|
|
254
|
-
],
|
|
255
|
-
"taskFileMechanisms": {
|
|
256
|
-
"provided": true,
|
|
257
|
-
"executed": ["mechanisms executed before blocking"],
|
|
258
|
-
"skipped": [
|
|
259
|
-
{
|
|
260
|
-
"mechanism": "mechanism name",
|
|
261
|
-
"reason": "tool not found / config not found / not executable"
|
|
262
|
-
}
|
|
263
|
-
]
|
|
264
|
-
},
|
|
265
|
-
"needsUserDecision": "Please confirm the correct error code"
|
|
266
|
-
}
|
|
171
|
+
{"status":"blocked","reason":"Cannot determine due to unclear specification","blockingIssues":[{"type":"specification_conflict","details":"Test expectation and implementation contradict","test_expects":"500 error","implementation_returns":"400 error","why_cannot_judge":"Correct specification unknown"}],"attemptedFixes":["Fix attempt 1: Tried aligning test to implementation","Fix attempt 2: Tried aligning implementation to test","Fix attempt 3: Tried inferring specification from related documentation"],"taskFileMechanisms":{"provided":true,"executed":["mechanisms executed before blocking"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"needsUserDecision":"Please confirm the correct error code"}
|
|
267
172
|
```
|
|
268
173
|
|
|
269
174
|
**blocked response format (missing prerequisites)**:
|
|
270
175
|
```json
|
|
271
|
-
{
|
|
272
|
-
"status": "blocked",
|
|
273
|
-
"reason": "Execution prerequisites not met",
|
|
274
|
-
"missingPrerequisites": [
|
|
275
|
-
{
|
|
276
|
-
"type": "seed_data",
|
|
277
|
-
"description": "E2E database is missing required seeded user records",
|
|
278
|
-
"affectedChecks": ["test:e2e"],
|
|
279
|
-
"resolutionSteps": ["Run the project seed script for E2E fixtures", "Start the dependent local services"]
|
|
280
|
-
}
|
|
281
|
-
],
|
|
282
|
-
"taskFileMechanisms": {
|
|
283
|
-
"provided": true,
|
|
284
|
-
"executed": ["mechanisms executed before blocking"],
|
|
285
|
-
"skipped": [
|
|
286
|
-
{
|
|
287
|
-
"mechanism": "mechanism name",
|
|
288
|
-
"reason": "tool not found / config not found / not executable"
|
|
289
|
-
}
|
|
290
|
-
]
|
|
291
|
-
},
|
|
292
|
-
"checksSkipped": 1,
|
|
293
|
-
"checksPassedWithoutPrerequisites": 3
|
|
294
|
-
}
|
|
176
|
+
{"status":"blocked","reason":"Execution prerequisites not met","missingPrerequisites":[{"type":"seed_data","description":"E2E database is missing required seeded user records","affectedChecks":["test:e2e"],"resolutionSteps":["Run the project seed script for E2E fixtures","Start the dependent local services"]}],"taskFileMechanisms":{"provided":true,"executed":["mechanisms executed before blocking"],"skipped":[{"mechanism":"mechanism name","reason":"tool not found / config not found / not executable"}]},"checksSkipped":1,"checksPassedWithoutPrerequisites":3}
|
|
295
177
|
```
|
|
296
178
|
|
|
297
179
|
Allowed `type` values: `seed_data`, `library`, `environment_variable`, `running_service`, `external_dependency`, `other`
|
|
@@ -120,35 +120,7 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
120
120
|
**JSON format is mandatory.**
|
|
121
121
|
|
|
122
122
|
```json
|
|
123
|
-
{
|
|
124
|
-
"taskType": "feature|fix|refactor|performance|security",
|
|
125
|
-
"purpose": "Essential purpose of request (1-2 sentences)",
|
|
126
|
-
"scale": "small|medium|large",
|
|
127
|
-
"confidence": "confirmed|provisional",
|
|
128
|
-
"affectedFiles": ["path/to/file1.ts", "path/to/file2.ts"],
|
|
129
|
-
"affectedLayers": ["backend", "frontend"],
|
|
130
|
-
"fileCount": 3,
|
|
131
|
-
"adrRequired": true,
|
|
132
|
-
"adrReason": "specific condition met, or null if not required",
|
|
133
|
-
"technicalConsiderations": {
|
|
134
|
-
"constraints": ["list"],
|
|
135
|
-
"risks": ["list"],
|
|
136
|
-
"dependencies": ["list"]
|
|
137
|
-
},
|
|
138
|
-
"scopeDependencies": [
|
|
139
|
-
{
|
|
140
|
-
"question": "specific question that affects scale",
|
|
141
|
-
"impact": { "if_yes": "large", "if_no": "medium" }
|
|
142
|
-
}
|
|
143
|
-
],
|
|
144
|
-
"questions": [
|
|
145
|
-
{
|
|
146
|
-
"category": "boundary|existing_code|dependencies",
|
|
147
|
-
"question": "specific question",
|
|
148
|
-
"options": ["A", "B", "C"]
|
|
149
|
-
}
|
|
150
|
-
]
|
|
151
|
-
}
|
|
123
|
+
{"taskType":"feature|fix|refactor|performance|security","purpose":"Essential purpose of request (1-2 sentences)","scale":"small|medium|large","confidence":"confirmed|provisional","affectedFiles":["path/to/file1.ts","path/to/file2.ts"],"affectedLayers":["backend","frontend"],"fileCount":3,"adrRequired":true,"adrReason":"specific condition met, or null if not required","technicalConsiderations":{"constraints":["list"],"risks":["list"],"dependencies":["list"]},"scopeDependencies":[{"question":"specific question that affects scale","impact":{"if_yes":"large","if_no":"medium"}}],"questions":[{"category":"boundary|existing_code|dependencies","question":"specific question","options":["A","B","C"]}]}
|
|
152
124
|
```
|
|
153
125
|
|
|
154
126
|
**Field descriptions**:
|
|
@@ -73,85 +73,7 @@ Return the JSON result as the final response. See Output Format for the schema.
|
|
|
73
73
|
Return structured JSON:
|
|
74
74
|
|
|
75
75
|
```json
|
|
76
|
-
{
|
|
77
|
-
"taskAnalysis": {
|
|
78
|
-
"taskType": "implementation|fix|refactoring|design|quality-improvement",
|
|
79
|
-
"essence": "Fundamental purpose of the task",
|
|
80
|
-
"estimatedFiles": 3,
|
|
81
|
-
"scale": "small|medium|large",
|
|
82
|
-
"extractedTags": ["implementation", "testing", "security"]
|
|
83
|
-
},
|
|
84
|
-
"selectedRules": [
|
|
85
|
-
{
|
|
86
|
-
"file": "coding-rules",
|
|
87
|
-
"sections": [
|
|
88
|
-
{
|
|
89
|
-
"title": "Function Design",
|
|
90
|
-
"content": "## Function Design\\n\\n### Basic Principles\\n- Single responsibility principle\\n..."
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"title": "Error Handling",
|
|
94
|
-
"content": "## Error Handling\\n\\n### Error Classification\\n..."
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"reason": "Core implementation rules needed",
|
|
98
|
-
"priority": "high"
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"file": "testing",
|
|
102
|
-
"sections": [
|
|
103
|
-
{
|
|
104
|
-
"title": "Red-Green-Refactor Process",
|
|
105
|
-
"content": "## Red-Green-Refactor Process\\n\\n1. Red: Write failing test\\n..."
|
|
106
|
-
}
|
|
107
|
-
],
|
|
108
|
-
"reason": "TDD practice required",
|
|
109
|
-
"priority": "high"
|
|
110
|
-
}
|
|
111
|
-
],
|
|
112
|
-
"metaCognitiveGuidance": {
|
|
113
|
-
"taskEssence": "Understanding fundamental purpose, not surface work",
|
|
114
|
-
"ruleAdequacy": "Evaluation of whether selected rules match task characteristics",
|
|
115
|
-
"pastFailures": [
|
|
116
|
-
"error-fixing impulse",
|
|
117
|
-
"large changes at once",
|
|
118
|
-
"insufficient testing"
|
|
119
|
-
],
|
|
120
|
-
"potentialPitfalls": [
|
|
121
|
-
"Error-fixing impulse without root cause analysis",
|
|
122
|
-
"Large changes without phased approach",
|
|
123
|
-
"Implementation without tests"
|
|
124
|
-
],
|
|
125
|
-
"firstStep": {
|
|
126
|
-
"action": "Specific first action to take",
|
|
127
|
-
"rationale": "Why this should be done first"
|
|
128
|
-
}
|
|
129
|
-
},
|
|
130
|
-
"metaCognitiveQuestions": [
|
|
131
|
-
"What is the most important quality criterion for this task?",
|
|
132
|
-
"What problems occurred in similar tasks in the past?",
|
|
133
|
-
"Which part should be tackled first?",
|
|
134
|
-
"Is there a possibility of exceeding initial assumptions?"
|
|
135
|
-
],
|
|
136
|
-
"warningPatterns": [
|
|
137
|
-
{
|
|
138
|
-
"pattern": "Large changes at once",
|
|
139
|
-
"risk": "High complexity, difficult debugging",
|
|
140
|
-
"mitigation": "Split into phases"
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"pattern": "Implementation without tests",
|
|
144
|
-
"risk": "Quality degradation",
|
|
145
|
-
"mitigation": "Follow Red-Green-Refactor"
|
|
146
|
-
}
|
|
147
|
-
],
|
|
148
|
-
"criticalRules": [
|
|
149
|
-
"Complete static checking before proceeding",
|
|
150
|
-
"User approval mandatory before implementation",
|
|
151
|
-
"No commits before quality check completion"
|
|
152
|
-
],
|
|
153
|
-
"confidence": "high|medium|low"
|
|
154
|
-
}
|
|
76
|
+
{"taskAnalysis":{"taskType":"implementation|fix|refactoring|design|quality-improvement","essence":"Fundamental purpose of the task","estimatedFiles":3,"scale":"small|medium|large","extractedTags":["implementation","testing","security"]},"selectedRules":[{"file":"coding-rules","sections":[{"title":"Function Design","content":"## Function Design\\n\\n### Basic Principles\\n- Single responsibility principle\\n..."},{"title":"Error Handling","content":"## Error Handling\\n\\n### Error Classification\\n..."}],"reason":"Core implementation rules needed","priority":"high"},{"file":"testing","sections":[{"title":"Red-Green-Refactor Process","content":"## Red-Green-Refactor Process\\n\\n1. Red: Write failing test\\n..."}],"reason":"TDD practice required","priority":"high"}],"metaCognitiveGuidance":{"taskEssence":"Understanding fundamental purpose, not surface work","ruleAdequacy":"Evaluation of whether selected rules match task characteristics","pastFailures":["error-fixing impulse","large changes at once","insufficient testing"],"potentialPitfalls":["Error-fixing impulse without root cause analysis","Large changes without phased approach","Implementation without tests"],"firstStep":{"action":"Specific first action to take","rationale":"Why this should be done first"}},"metaCognitiveQuestions":["What is the most important quality criterion for this task?","What problems occurred in similar tasks in the past?","Which part should be tackled first?","Is there a possibility of exceeding initial assumptions?"],"warningPatterns":[{"pattern":"Large changes at once","risk":"High complexity, difficult debugging","mitigation":"Split into phases"},{"pattern":"Implementation without tests","risk":"Quality degradation","mitigation":"Follow Red-Green-Refactor"}],"criticalRules":["Complete static checking before proceeding","User approval mandatory before implementation","No commits before quality check completion"],"confidence":"high|medium|low"}
|
|
155
77
|
```
|
|
156
78
|
|
|
157
79
|
## Skill Selection Priority
|