codex-workflows 0.6.7 → 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.
Files changed (36) hide show
  1. package/.agents/skills/ai-development-guide/SKILL.md +5 -3
  2. package/.agents/skills/ai-development-guide/references/frontend.md +11 -19
  3. package/.agents/skills/coding-rules/references/typescript.md +17 -12
  4. package/.agents/skills/documentation-criteria/references/plan-template.md +1 -1
  5. package/.agents/skills/documentation-criteria/references/task-template.md +8 -0
  6. package/.agents/skills/integration-e2e-testing/SKILL.md +1 -1
  7. package/.agents/skills/recipe-build/SKILL.md +10 -3
  8. package/.agents/skills/recipe-front-build/SKILL.md +10 -3
  9. package/.agents/skills/recipe-fullstack-build/SKILL.md +10 -3
  10. package/.agents/skills/recipe-fullstack-implement/SKILL.md +1 -1
  11. package/.agents/skills/recipe-prepare-implementation/SKILL.md +1 -0
  12. package/.agents/skills/subagents-orchestration-guide/SKILL.md +9 -6
  13. package/.agents/skills/task-analyzer/references/skills-index.yaml +1 -1
  14. package/.agents/skills/testing/SKILL.md +5 -5
  15. package/.agents/skills/testing/references/typescript.md +2 -6
  16. package/.codex/agents/acceptance-test-generator.toml +61 -96
  17. package/.codex/agents/code-reviewer.toml +4 -57
  18. package/.codex/agents/code-verifier.toml +1 -47
  19. package/.codex/agents/codebase-analyzer.toml +1 -106
  20. package/.codex/agents/design-sync.toml +2 -64
  21. package/.codex/agents/document-reviewer.toml +3 -78
  22. package/.codex/agents/integration-test-reviewer.toml +1 -26
  23. package/.codex/agents/investigator.toml +1 -73
  24. package/.codex/agents/quality-fixer-frontend.toml +4 -105
  25. package/.codex/agents/quality-fixer.toml +4 -122
  26. package/.codex/agents/requirement-analyzer.toml +1 -29
  27. package/.codex/agents/rule-advisor.toml +1 -79
  28. package/.codex/agents/scope-discoverer.toml +1 -70
  29. package/.codex/agents/security-reviewer.toml +1 -19
  30. package/.codex/agents/solver.toml +5 -54
  31. package/.codex/agents/task-decomposer.toml +18 -0
  32. package/.codex/agents/task-executor-frontend.toml +16 -142
  33. package/.codex/agents/task-executor.toml +16 -142
  34. package/.codex/agents/ui-analyzer.toml +1 -157
  35. package/.codex/agents/verifier.toml +2 -65
  36. package/package.json +1 -1
@@ -78,6 +78,7 @@ For each acceptance criterion extracted in Step 1:
78
78
  - For behavior-changing ACs, confirm the evidence covers main and boundary paths. Where a distinct branch, state, input class, lifecycle step, or fallback governs the behavior, verify it is exercised. Compare source/referenced behavior and implemented behavior at the same granularity; an unsupported change in a boundary dimension is a `dd_violation`.
79
79
  - Confirm the implementation keeps the core mechanism the AC, Design Doc, or referenced materials require. A simpler substitute that passes tests but drops the required mechanism is a `dd_violation`.
80
80
  - For changes to persisted, shared, or externally observable state, identify the publication boundary where the new state becomes observable to another process, component, user, or later step. State that is observable as complete while still partial, uninitialized, stale, or rollback-only (written as a rollback/compensation path rather than committed usable state) is a `reliability` finding.
81
+ - When the reviewed task has `Change Category` set to `bug-fix`, `regression`, `state-change`, or `boundary-change`, check cases sharing its path, contract, persisted state, or external boundary. A sibling case still carrying the same class of defect is an `adjacent_residual` finding.
81
82
 
82
83
  #### 2-2. Identifier Verification
83
84
  For each identifier specification extracted in Step 1:
@@ -134,12 +135,14 @@ Classify each quality finding into one of:
134
135
  - `maintainability`: code structure impedes change or comprehension
135
136
  - `reliability`: missing safeguards could cause runtime failure
136
137
  - `coverage_gap`: acceptance criteria lack meaningful test verification
138
+ - `adjacent_residual`: a case sharing the change's path, contract, persisted state, or external boundary still carries the same class of defect
137
139
 
138
140
  Each finding MUST include a rationale:
139
141
  - `dd_violation`: what the Design Doc says vs what code does
140
142
  - `maintainability`: the concrete maintenance or comprehension risk
141
143
  - `reliability`: the failure scenario and triggering conditions
142
144
  - `coverage_gap`: the untested AC and why coverage matters
145
+ - `adjacent_residual`: which adjacent case shares the path, contract, persisted state, or external boundary and how it still exhibits the defect class
143
146
 
144
147
  ### 4. Check Architecture Compliance
145
148
  Verify against the Design Doc architecture:
@@ -161,63 +164,7 @@ Return the JSON result as the final response. See Output Format for the schema.
161
164
  ## Output Format
162
165
 
163
166
  ```json
164
- {
165
- "complianceRate": "[X]%",
166
- "identifierMatchRate": "[X]%",
167
- "verdict": "[pass/needs-improvement/needs-redesign]",
168
-
169
- "acceptanceCriteria": [
170
- {
171
- "item": "[acceptance criteria name]",
172
- "status": "fulfilled|partially_fulfilled|unfulfilled",
173
- "confidence": "high|medium|low",
174
- "location": "[file:line, if implemented]",
175
- "evidence": ["[source1: file:line]", "[source2: test file:line]"],
176
- "gap": "[what is missing or deviating, if not fully fulfilled]",
177
- "suggestion": "[specific fix, if not fully fulfilled]"
178
- }
179
- ],
180
-
181
- "identifierVerification": [
182
- {
183
- "identifier": "[identifier name]",
184
- "designDocValue": "[value specified in Design Doc]",
185
- "codeValue": "[value found in code, or 'not found']",
186
- "location": "[file:line]",
187
- "confidence": "high|medium|low",
188
- "evidence": ["[source1: file:line]", "[source2: config file:line]"],
189
- "match": false
190
- }
191
- ],
192
-
193
- "qualityFindings": [
194
- {
195
- "category": "dd_violation|maintainability|reliability|coverage_gap",
196
- "location": "[filename:function or file:line]",
197
- "description": "[specific issue]",
198
- "rationale": "[why this matters]",
199
- "suggestion": "[specific improvement]"
200
- }
201
- ],
202
-
203
- "summary": {
204
- "acsTotal": 0,
205
- "acsFulfilled": 0,
206
- "acsPartial": 0,
207
- "acsUnfulfilled": 0,
208
- "identifiersTotal": 0,
209
- "identifiersMatched": 0,
210
- "lowConfidenceItems": 0,
211
- "findingsByCategory": {
212
- "dd_violation": 0,
213
- "maintainability": 0,
214
- "reliability": 0,
215
- "coverage_gap": 0
216
- }
217
- },
218
-
219
- "nextAction": "[highest priority action needed]"
220
- }
167
+ {"complianceRate":"[X]%","identifierMatchRate":"[X]%","verdict":"[pass/needs-improvement/needs-redesign]","acceptanceCriteria":[{"item":"[acceptance criteria name]","status":"fulfilled|partially_fulfilled|unfulfilled","confidence":"high|medium|low","location":"[file:line, if implemented]","evidence":["[source1: file:line]","[source2: test file:line]"],"gap":"[what is missing or deviating, if not fully fulfilled]","suggestion":"[specific fix, if not fully fulfilled]"}],"identifierVerification":[{"identifier":"[identifier name]","designDocValue":"[value specified in Design Doc]","codeValue":"[value found in code, or 'not found']","location":"[file:line]","confidence":"high|medium|low","evidence":["[source1: file:line]","[source2: config file:line]"],"match":false}],"qualityFindings":[{"category":"dd_violation|maintainability|reliability|coverage_gap|adjacent_residual","location":"[filename:function or file:line]","description":"[specific issue]","rationale":"[why this matters]","suggestion":"[specific improvement]"}],"summary":{"acsTotal":0,"acsFulfilled":0,"acsPartial":0,"acsUnfulfilled":0,"identifiersTotal":0,"identifiersMatched":0,"lowConfidenceItems":0,"findingsByCategory":{"dd_violation":0,"maintainability":0,"reliability":0,"coverage_gap":0,"adjacent_residual":0}},"nextAction":"[highest priority action needed]"}
221
168
  ```
222
169
 
223
170
  `identifierVerification` MUST include mismatches only. Use `summary.identifiersTotal` and `summary.identifiersMatched` for overall counts.
@@ -158,53 +158,7 @@ Return the JSON result as the final response. See Output Format for the schema.
158
158
  ### Essential Output (default)
159
159
 
160
160
  ```json
161
- {
162
- "summary": {
163
- "docType": "prd|design-doc",
164
- "documentPath": "/path/to/document.md",
165
- "verifiableClaimCount": 24,
166
- "matchCount": 20,
167
- "consistencyScore": 85,
168
- "status": "consistent|mostly_consistent|needs_review|inconsistent"
169
- },
170
- "claimCoverage": {
171
- "sectionsAnalyzed": 8,
172
- "sectionsWithClaims": 7,
173
- "sectionsWithZeroClaims": ["Appendix"]
174
- },
175
- "discrepancies": [
176
- {
177
- "id": "D001",
178
- "status": "drift|gap|conflict",
179
- "severity": "critical|major|minor",
180
- "claim": "Brief claim description",
181
- "documentLocation": "PRD.md:45",
182
- "codeLocation": "src/auth.ts:120",
183
- "evidence": "Observed implementation or enumeration result",
184
- "classification": "What was found"
185
- }
186
- ],
187
- "reverseCoverage": {
188
- "routesInCode": 6,
189
- "routesDocumented": 5,
190
- "undocumentedRoutes": ["POST /admin/reindex (src/routes/admin.ts:42)"],
191
- "testFilesFound": 4,
192
- "testFilesDocumented": 2,
193
- "exportsInCode": 12,
194
- "exportsDocumented": 10,
195
- "undocumentedExports": ["rebuildSearchIndex (src/search/index.ts:18)"],
196
- "dataOperationsInCode": 3,
197
- "dataOperationsDocumented": 2,
198
- "undocumentedDataOperations": ["userRepository.saveUser (src/user/repository.ts:41)"],
199
- "testBoundariesSectionPresent": true
200
- },
201
- "coverage": {
202
- "documented": ["Feature areas with documentation"],
203
- "undocumented": ["Code features lacking documentation"],
204
- "unimplemented": ["Documented specs not yet implemented"]
205
- },
206
- "limitations": ["What could not be verified and why"]
207
- }
161
+ {"summary":{"docType":"prd|design-doc","documentPath":"/path/to/document.md","verifiableClaimCount":24,"matchCount":20,"consistencyScore":85,"status":"consistent|mostly_consistent|needs_review|inconsistent"},"claimCoverage":{"sectionsAnalyzed":8,"sectionsWithClaims":7,"sectionsWithZeroClaims":["Appendix"]},"discrepancies":[{"id":"D001","status":"drift|gap|conflict","severity":"critical|major|minor","claim":"Brief claim description","documentLocation":"PRD.md:45","codeLocation":"src/auth.ts:120","evidence":"Observed implementation or enumeration result","classification":"What was found"}],"reverseCoverage":{"routesInCode":6,"routesDocumented":5,"undocumentedRoutes":["POST /admin/reindex (src/routes/admin.ts:42)"],"testFilesFound":4,"testFilesDocumented":2,"exportsInCode":12,"exportsDocumented":10,"undocumentedExports":["rebuildSearchIndex (src/search/index.ts:18)"],"dataOperationsInCode":3,"dataOperationsDocumented":2,"undocumentedDataOperations":["userRepository.saveUser (src/user/repository.ts:41)"],"testBoundariesSectionPresent":true},"coverage":{"documented":["Feature areas with documentation"],"undocumented":["Code features lacking documentation"],"unimplemented":["Documented specs not yet implemented"]},"limitations":["What could not be verified and why"]}
208
162
  ```
209
163
 
210
164
  ### Extended Output (verbose: true)
@@ -129,112 +129,7 @@ Return the JSON result as the final response.
129
129
  ## Output Format
130
130
 
131
131
  ```json
132
- {
133
- "analysisScope": {
134
- "filesAnalyzed": ["path/to/file"],
135
- "tracedDependencies": ["path/to/dependency"],
136
- "categoriesDetected": ["data_layer", "validation"]
137
- },
138
- "existingElements": [
139
- {
140
- "category": "function|class|type|interface|component|hook|configuration|constant",
141
- "name": "ElementName",
142
- "filePath": "path/to/file:line",
143
- "signature": "Exact or brief signature",
144
- "usedBy": ["path/to/consumer"]
145
- }
146
- ],
147
- "dataModel": {
148
- "detected": true,
149
- "schemas": [
150
- {
151
- "name": "table_or_model",
152
- "definitionPath": "path/to/file:line",
153
- "fields": [
154
- {
155
- "name": "field_name",
156
- "type": "field_type",
157
- "constraints": ["NOT NULL", "UNIQUE"]
158
- }
159
- ],
160
- "relationships": ["references other_table via foreign_key"]
161
- }
162
- ],
163
- "accessPatterns": [
164
- {
165
- "operation": "read|write|aggregate|join|delete",
166
- "location": "path/to/file:line",
167
- "targetSchema": "table_or_model",
168
- "description": "Observed access pattern"
169
- }
170
- ],
171
- "migrationFiles": ["path/to/migration"]
172
- },
173
- "dataTransformationPipelines": [
174
- {
175
- "entryPoint": "functionOrMethodName (path/to/file:line)",
176
- "steps": [
177
- {
178
- "order": 1,
179
- "method": "functionOrMethodName (path/to/file:line)",
180
- "input": "Input data or format at this step",
181
- "output": "Output data or format at this step",
182
- "externalLookups": ["Config.KEY lookup", "Reference table mapping"],
183
- "transformation": "What changed and why it matters"
184
- }
185
- ],
186
- "intermediateFormats": ["Intermediate representation if applicable"],
187
- "finalOutput": "Final output shape or observable value"
188
- }
189
- ],
190
- "entryPointInventory": [
191
- {
192
- "entryPoint": "functionOrMethodName (path/to/file:line)",
193
- "classification": "change-relevant|non-relevant",
194
- "inputShape": "Input type or shape",
195
- "outputShape": "Output type or shape"
196
- }
197
- ],
198
- "constraints": [
199
- {
200
- "type": "validation|business_rule|configuration|assumption",
201
- "description": "Observed constraint",
202
- "location": "path/to/file:line",
203
- "impact": "Why design should respect it"
204
- }
205
- ],
206
- "qualityAssurance": {
207
- "mechanisms": [
208
- {
209
- "tool": "Tool or check name",
210
- "enforces": "What quality aspect it enforces",
211
- "configLocation": "path/to/config:line",
212
- "coveredFiles": ["affected files or directories covered by this mechanism"],
213
- "type": "linter|static_analysis|schema_validator|domain_specific|ci_check"
214
- }
215
- ],
216
- "domainConstraints": [
217
- {
218
- "constraint": "Description of the domain-specific constraint",
219
- "source": "path/to/config-or-ci:line",
220
- "affectedFiles": ["files subject to this constraint"]
221
- }
222
- ]
223
- },
224
- "focusAreas": [
225
- {
226
- "area": "Area name",
227
- "reason": "Why this area deserves attention",
228
- "relatedFiles": ["path/to/file"],
229
- "risk": "What could break if the design overlooks it"
230
- }
231
- ],
232
- "testCoverage": {
233
- "testedElements": ["element name"],
234
- "untestedElements": ["element name"]
235
- },
236
- "limitations": ["What could not be fully traced and why"]
237
- }
132
+ {"analysisScope":{"filesAnalyzed":["path/to/file"],"tracedDependencies":["path/to/dependency"],"categoriesDetected":["data_layer","validation"]},"existingElements":[{"category":"function|class|type|interface|component|hook|configuration|constant","name":"ElementName","filePath":"path/to/file:line","signature":"Exact or brief signature","usedBy":["path/to/consumer"]}],"dataModel":{"detected":true,"schemas":[{"name":"table_or_model","definitionPath":"path/to/file:line","fields":[{"name":"field_name","type":"field_type","constraints":["NOT NULL","UNIQUE"]}],"relationships":["references other_table via foreign_key"]}],"accessPatterns":[{"operation":"read|write|aggregate|join|delete","location":"path/to/file:line","targetSchema":"table_or_model","description":"Observed access pattern"}],"migrationFiles":["path/to/migration"]},"dataTransformationPipelines":[{"entryPoint":"functionOrMethodName (path/to/file:line)","steps":[{"order":1,"method":"functionOrMethodName (path/to/file:line)","input":"Input data or format at this step","output":"Output data or format at this step","externalLookups":["Config.KEY lookup","Reference table mapping"],"transformation":"What changed and why it matters"}],"intermediateFormats":["Intermediate representation if applicable"],"finalOutput":"Final output shape or observable value"}],"entryPointInventory":[{"entryPoint":"functionOrMethodName (path/to/file:line)","classification":"change-relevant|non-relevant","inputShape":"Input type or shape","outputShape":"Output type or shape"}],"constraints":[{"type":"validation|business_rule|configuration|assumption","description":"Observed constraint","location":"path/to/file:line","impact":"Why design should respect it"}],"qualityAssurance":{"mechanisms":[{"tool":"Tool or check name","enforces":"What quality aspect it enforces","configLocation":"path/to/config:line","coveredFiles":["affected files or directories covered by this mechanism"],"type":"linter|static_analysis|schema_validator|domain_specific|ci_check"}],"domainConstraints":[{"constraint":"Description of the domain-specific constraint","source":"path/to/config-or-ci:line","affectedFiles":["files subject to this constraint"]}]},"focusAreas":[{"area":"Area name","reason":"Why this area deserves attention","relatedFiles":["path/to/file"],"risk":"What could break if the design overlooks it"}],"testCoverage":{"testedElements":["element name"],"untestedElements":["element name"]},"limitations":["What could not be fully traced and why"]}
238
133
  ```
239
134
 
240
135
  ## Completion Criteria
@@ -228,57 +228,7 @@ Severity Assessment:
228
228
  ### Output Format [JSON MANDATORY]
229
229
 
230
230
  ```json
231
- {
232
- "metadata": {
233
- "review_type": "design-sync",
234
- "source_design": "[source Design Doc path]",
235
- "analyzed_docs": 3,
236
- "analysis_date": "[execution datetime]"
237
- },
238
- "summary": {
239
- "total_conflicts": 2,
240
- "critical": 1,
241
- "high": 1,
242
- "medium": 0,
243
- "confirmed_conflicts": 1,
244
- "candidate_conflicts": 1,
245
- "sync_status": "CONFLICTS_FOUND"
246
- },
247
- "confirmed_conflicts": [
248
- {
249
- "id": "CONFLICT-001",
250
- "severity": "critical",
251
- "confidence": "high",
252
- "match_basis": "exact_string",
253
- "type": "Type definition mismatch",
254
- "source_file": "[source file]",
255
- "source_location": "[section/line]",
256
- "source_value": "[content in source file]",
257
- "target_file": "[file with conflict]",
258
- "target_location": "[section/line]",
259
- "target_value": "[conflicting content]",
260
- "recommendation": "[Recommend unifying to source file's value]"
261
- }
262
- ],
263
- "candidate_conflicts": [
264
- {
265
- "id": "CANDIDATE-001",
266
- "severity": "high",
267
- "confidence": "medium",
268
- "match_basis": "same_ac_slot",
269
- "type": "Acceptance criteria conflict",
270
- "source_file": "[source file]",
271
- "source_location": "[section/line]",
272
- "source_value": "[content in source file]",
273
- "target_file": "[file with conflict]",
274
- "target_location": "[section/line]",
275
- "target_value": "[conflicting content]",
276
- "reason": "[structural evidence linking the items]",
277
- "recommendation": "[Recommend reviewing whether these describe the same design slot]"
278
- }
279
- ],
280
- "no_conflicts_docs": ["[filename1]", "[filename2]"]
281
- }
231
+ {"metadata":{"review_type":"design-sync","source_design":"[source Design Doc path]","analyzed_docs":3,"analysis_date":"[execution datetime]"},"summary":{"total_conflicts":2,"critical":1,"high":1,"medium":0,"confirmed_conflicts":1,"candidate_conflicts":1,"sync_status":"CONFLICTS_FOUND"},"confirmed_conflicts":[{"id":"CONFLICT-001","severity":"critical","confidence":"high","match_basis":"exact_string","type":"Type definition mismatch","source_file":"[source file]","source_location":"[section/line]","source_value":"[content in source file]","target_file":"[file with conflict]","target_location":"[section/line]","target_value":"[conflicting content]","recommendation":"[Recommend unifying to source file's value]"}],"candidate_conflicts":[{"id":"CANDIDATE-001","severity":"high","confidence":"medium","match_basis":"same_ac_slot","type":"Acceptance criteria conflict","source_file":"[source file]","source_location":"[section/line]","source_value":"[content in source file]","target_file":"[file with conflict]","target_location":"[section/line]","target_value":"[conflicting content]","reason":"[structural evidence linking the items]","recommendation":"[Recommend reviewing whether these describe the same design slot]"}],"no_conflicts_docs":["[filename1]","[filename2]"]}
282
232
  ```
283
233
 
284
234
  `total_conflicts` MUST equal `confirmed_conflicts + candidate_conflicts`.
@@ -290,19 +240,7 @@ When no conflicts: `"sync_status": "NO_CONFLICTS"`, `"confirmed_conflicts": []`,
290
240
  When fewer than 2 Design Docs exist, return immediately:
291
241
 
292
242
  ```json
293
- {
294
- "metadata": {
295
- "review_type": "design-sync",
296
- "source_design": "[provided path]",
297
- "analyzed_docs": 1
298
- },
299
- "summary": {
300
- "sync_status": "SKIPPED",
301
- "reason": "fewer_than_2_design_docs"
302
- },
303
- "confirmed_conflicts": [],
304
- "candidate_conflicts": []
305
- }
243
+ {"metadata":{"review_type":"design-sync","source_design":"[provided path]","analyzed_docs":1},"summary":{"sync_status":"SKIPPED","reason":"fewer_than_2_design_docs"},"confirmed_conflicts":[],"candidate_conflicts":[]}
306
244
  ```
307
245
 
308
246
  ENFORCEMENT: sync_status MUST be one of: CONFLICTS_FOUND | NO_CONFLICTS | SKIPPED. These three values are the complete vocabulary.
@@ -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