5-phase-workflow 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +332 -0
- package/bin/install.js +408 -0
- package/docs/workflow-guide.md +1024 -0
- package/package.json +34 -0
- package/src/agents/integration-agent.md +219 -0
- package/src/agents/review-processor.md +160 -0
- package/src/agents/step-executor.md +108 -0
- package/src/agents/step-fixer.md +132 -0
- package/src/agents/step-verifier.md +125 -0
- package/src/agents/verification-agent.md +411 -0
- package/src/commands/5/configure.md +309 -0
- package/src/commands/5/discuss-feature.md +393 -0
- package/src/commands/5/implement-feature.md +502 -0
- package/src/commands/5/plan-feature.md +285 -0
- package/src/commands/5/plan-implementation.md +376 -0
- package/src/commands/5/quick-implement.md +263 -0
- package/src/commands/5/review-code.md +583 -0
- package/src/commands/5/verify-implementation.md +277 -0
- package/src/hooks/statusline.js +53 -0
- package/src/settings.json +6 -0
- package/src/skills/build-project/SKILL.md +277 -0
- package/src/skills/configure-project/SKILL.md +355 -0
- package/src/skills/generate-readme/EXAMPLES.md +168 -0
- package/src/skills/generate-readme/SKILL.md +123 -0
- package/src/skills/generate-readme/TEMPLATE.md +141 -0
- package/src/skills/run-tests/SKILL.md +365 -0
- package/src/templates/ARCHITECTURE.md +64 -0
- package/src/templates/CONCERNS.md +75 -0
- package/src/templates/CONVENTIONS.md +75 -0
- package/src/templates/INTEGRATIONS.md +65 -0
- package/src/templates/STACK.md +60 -0
- package/src/templates/STRUCTURE.md +60 -0
- package/src/templates/TESTING.md +107 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: step-verifier
|
|
3
|
+
description: Compiles affected modules and checks new files for problems after a step execution. Runs in forked context.
|
|
4
|
+
tools: Bash, Read, Glob, Skill, mcp__jetbrains__get_file_problems
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step Verifier Agent
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Verifies compilation and checks for problems after a step has been executed. Spawned by `implement-feature` command via the Task tool after each step-executor completes.
|
|
13
|
+
|
|
14
|
+
## Input Contract
|
|
15
|
+
|
|
16
|
+
The spawning command provides:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Step Number: {N}
|
|
20
|
+
Affected Modules:
|
|
21
|
+
- {module-path-1}
|
|
22
|
+
- {module-path-2}
|
|
23
|
+
New Files:
|
|
24
|
+
- {path/to/file1.ext}
|
|
25
|
+
- {path/to/file2.ext}
|
|
26
|
+
Build Targets:
|
|
27
|
+
- command: {build-command}
|
|
28
|
+
module: {module-path}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Process
|
|
32
|
+
|
|
33
|
+
### 1. Check New Files for Problems
|
|
34
|
+
|
|
35
|
+
For each new file, use IDE diagnostics (if available, e.g., `mcp__jetbrains__get_file_problems`) to detect issues.
|
|
36
|
+
|
|
37
|
+
Categorize problems:
|
|
38
|
+
|
|
39
|
+
**Errors (block completion):**
|
|
40
|
+
- Compilation errors
|
|
41
|
+
- Missing imports
|
|
42
|
+
- Type errors
|
|
43
|
+
- Syntax errors
|
|
44
|
+
- Unresolved references
|
|
45
|
+
|
|
46
|
+
**Warnings (report but don't block):**
|
|
47
|
+
- Missing documentation
|
|
48
|
+
- Code style issues
|
|
49
|
+
- Unused imports
|
|
50
|
+
- Visibility suggestions
|
|
51
|
+
- Performance suggestions
|
|
52
|
+
|
|
53
|
+
### 2. Build Affected Modules
|
|
54
|
+
|
|
55
|
+
For each affected module, use the project's build skill (if configured):
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Skill tool call:
|
|
59
|
+
skill: "build-project" (or configured build skill)
|
|
60
|
+
args: "target=compile module={module}"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If no build skill is configured, use the build command from `.claude/.5/config.json`:
|
|
64
|
+
```bash
|
|
65
|
+
{config.build.command}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Parse the output to extract:
|
|
69
|
+
- Module name
|
|
70
|
+
- Build status (success/failed)
|
|
71
|
+
- Error output (if failed)
|
|
72
|
+
- Duration
|
|
73
|
+
|
|
74
|
+
Record build results for each module.
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
### 3. Determine Overall Status
|
|
78
|
+
|
|
79
|
+
- **passed**: All builds succeed, no errors in file problems
|
|
80
|
+
- **passed-with-warnings**: All builds succeed, only warnings in file problems
|
|
81
|
+
- **failed**: Any build failure OR any error-level file problems
|
|
82
|
+
|
|
83
|
+
## Output Contract
|
|
84
|
+
|
|
85
|
+
Return a structured result:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
Step {N} Verification Results:
|
|
89
|
+
Status: passed | passed-with-warnings | failed
|
|
90
|
+
|
|
91
|
+
Build Results:
|
|
92
|
+
- module: {module-path}
|
|
93
|
+
command: {build-command}
|
|
94
|
+
status: success | failed
|
|
95
|
+
errors: |
|
|
96
|
+
{error output if failed}
|
|
97
|
+
|
|
98
|
+
File Problems:
|
|
99
|
+
- file: {path/to/file.ext}
|
|
100
|
+
errors: [{message} at line {N}]
|
|
101
|
+
warnings: [{message} at line {N}]
|
|
102
|
+
|
|
103
|
+
- file: {path/to/file2.ext}
|
|
104
|
+
errors: []
|
|
105
|
+
warnings: []
|
|
106
|
+
|
|
107
|
+
Summary:
|
|
108
|
+
builds: {N} passed, {N} failed
|
|
109
|
+
errors: {N}
|
|
110
|
+
warnings: {N}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Error Handling
|
|
114
|
+
|
|
115
|
+
- If a build command times out, report as failed with timeout message
|
|
116
|
+
- If IDE diagnostics are unavailable, skip file problem detection and note it in output
|
|
117
|
+
- Always attempt all builds even if one fails (to get complete picture)
|
|
118
|
+
|
|
119
|
+
## DO NOT
|
|
120
|
+
|
|
121
|
+
- DO NOT fix any errors (parent handles fixes)
|
|
122
|
+
- DO NOT update the state file (parent handles state)
|
|
123
|
+
- DO NOT interact with the user (parent handles user interaction)
|
|
124
|
+
- DO NOT run tests (that happens in integration step)
|
|
125
|
+
- DO NOT skip build steps
|
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-agent
|
|
3
|
+
description: Performs complete verification of a feature implementation including file existence, problem detection, compilation, and tests. Runs in forked context.
|
|
4
|
+
tools: Bash, Read, Glob, Skill, mcp__jetbrains__get_file_problems
|
|
5
|
+
model: sonnet
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Verification Agent
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Performs comprehensive verification of a completed feature implementation. Checks file existence, runs IDE diagnostics, compiles code, and executes tests. Spawned by `verify-implementation` command via the Task tool.
|
|
13
|
+
|
|
14
|
+
## Input Contract
|
|
15
|
+
|
|
16
|
+
The spawning command provides:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Feature Name: {feature-name}
|
|
20
|
+
Implementation Plan Path: .5/{feature-name}/plan.md
|
|
21
|
+
Expected Files:
|
|
22
|
+
- {path/to/file1.{ext}}
|
|
23
|
+
- {path/to/file2.{ext}}
|
|
24
|
+
- {path/to/file3.{ext}}
|
|
25
|
+
Affected Modules:
|
|
26
|
+
- {module-path-1}
|
|
27
|
+
- {module-path-2}
|
|
28
|
+
Test Modules:
|
|
29
|
+
- {module-path-for-tests}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Process
|
|
33
|
+
|
|
34
|
+
### 0. Parse Implementation Plan
|
|
35
|
+
|
|
36
|
+
Read the implementation plan from the provided path and extract:
|
|
37
|
+
|
|
38
|
+
**Component Checklist:**
|
|
39
|
+
- Parse each step and task
|
|
40
|
+
- Extract expected files, method signatures, expected logic
|
|
41
|
+
- Identify checkboxes that should be completed
|
|
42
|
+
|
|
43
|
+
**Verification Steps:**
|
|
44
|
+
- Extract the numbered verification steps from the plan
|
|
45
|
+
- These define what needs to be verified after implementation
|
|
46
|
+
|
|
47
|
+
**Acceptance Criteria:**
|
|
48
|
+
- Look for AC (Acceptance Criteria) references in the plan
|
|
49
|
+
- Extract expected behavior that needs to be verified through tests
|
|
50
|
+
|
|
51
|
+
**Technical Decisions:**
|
|
52
|
+
- Note any key implementation requirements or constraints
|
|
53
|
+
- These inform what to look for in the code
|
|
54
|
+
|
|
55
|
+
Store this information for use in subsequent verification steps.
|
|
56
|
+
|
|
57
|
+
### 1. Check File Existence
|
|
58
|
+
|
|
59
|
+
For each expected file, use `Glob` or `Read` to verify the file exists.
|
|
60
|
+
|
|
61
|
+
Record:
|
|
62
|
+
- File path
|
|
63
|
+
- Status (exists/missing)
|
|
64
|
+
|
|
65
|
+
### 2. Verify Implementation Completeness
|
|
66
|
+
|
|
67
|
+
For each task in the component checklist from the plan, verify it was implemented:
|
|
68
|
+
|
|
69
|
+
**Method Signature Verification:**
|
|
70
|
+
- If the task specifies a method signature, read the file and verify:
|
|
71
|
+
- Method exists with correct name
|
|
72
|
+
- Method has correct parameters
|
|
73
|
+
- Method has correct return type
|
|
74
|
+
- Method has correct visibility (private, public, protected)
|
|
75
|
+
|
|
76
|
+
**Logic Verification:**
|
|
77
|
+
- If the task includes expected logic or code snippets, read the implementation and verify:
|
|
78
|
+
- Key logic elements are present
|
|
79
|
+
- Approach matches the specification
|
|
80
|
+
- Edge cases are handled as specified
|
|
81
|
+
|
|
82
|
+
**Test Coverage Verification:**
|
|
83
|
+
- For each test mentioned in the plan, verify:
|
|
84
|
+
- Test method exists with correct naming pattern
|
|
85
|
+
- Test covers the specified scenario
|
|
86
|
+
- Test verifies the expected behavior
|
|
87
|
+
|
|
88
|
+
**File Modifications Verification:**
|
|
89
|
+
- For each file that should be modified, verify:
|
|
90
|
+
- File was actually changed (not just created)
|
|
91
|
+
- Changes are in the expected locations (line numbers are hints, not strict requirements)
|
|
92
|
+
- Changes implement the described behavior
|
|
93
|
+
|
|
94
|
+
Record implementation completeness findings:
|
|
95
|
+
- **Completed tasks:** Tasks that are fully implemented as specified
|
|
96
|
+
- **Partially completed:** Tasks where implementation exists but differs from spec
|
|
97
|
+
- **Missing tasks:** Tasks from checklist that are not implemented
|
|
98
|
+
- **Unexpected changes:** Files modified that weren't in the plan
|
|
99
|
+
|
|
100
|
+
### 3. Run Problem Detection
|
|
101
|
+
|
|
102
|
+
For each existing file, use IDE MCP `get_file_problems` to check for issues.
|
|
103
|
+
|
|
104
|
+
Categorize:
|
|
105
|
+
|
|
106
|
+
**Errors (block completion):**
|
|
107
|
+
- Compilation errors
|
|
108
|
+
- Missing imports
|
|
109
|
+
- Type errors
|
|
110
|
+
- Syntax errors
|
|
111
|
+
- Unresolved references
|
|
112
|
+
|
|
113
|
+
**Warnings (report but don't block):**
|
|
114
|
+
- Missing documentation
|
|
115
|
+
- Code style issues
|
|
116
|
+
- Unused imports
|
|
117
|
+
- Visibility suggestions
|
|
118
|
+
- Performance suggestions
|
|
119
|
+
|
|
120
|
+
### 4. Compile Production Code
|
|
121
|
+
|
|
122
|
+
For each affected module, use the `/build-project` skill:
|
|
123
|
+
|
|
124
|
+
```
|
|
125
|
+
Skill tool call:
|
|
126
|
+
skill: "build-project"
|
|
127
|
+
args: "target=compile module={module}"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
Parse the skill output to extract:
|
|
131
|
+
- Compilation status (success/failed)
|
|
132
|
+
- Error details (file paths, line numbers, error messages)
|
|
133
|
+
- Duration
|
|
134
|
+
|
|
135
|
+
Record status and errors for each module.
|
|
136
|
+
|
|
137
|
+
### 5. Compile Test Code
|
|
138
|
+
|
|
139
|
+
For each test module, use the `/build-project` skill with compile target (which compiles both production and test code):
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
Skill tool call:
|
|
143
|
+
skill: "build-project"
|
|
144
|
+
args: "target=compile module={module}"
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The compile/build command typically compiles both production and test code (exact behavior depends on the build system).
|
|
148
|
+
|
|
149
|
+
Parse the skill output to extract compilation status and errors. Record status and errors.
|
|
150
|
+
|
|
151
|
+
### 6. Run Tests
|
|
152
|
+
|
|
153
|
+
For each test module, use the `/run-tests` skill:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
Skill tool call:
|
|
157
|
+
skill: "run-tests"
|
|
158
|
+
args: "target=module module={module}"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Parse the skill output to extract:
|
|
162
|
+
- Total tests
|
|
163
|
+
- Passed
|
|
164
|
+
- Failed
|
|
165
|
+
- Skipped
|
|
166
|
+
- Error details for failures with file paths and line numbers
|
|
167
|
+
|
|
168
|
+
Record test results for the verification report.
|
|
169
|
+
|
|
170
|
+
### 7. Determine Overall Status
|
|
171
|
+
|
|
172
|
+
- **passed**: All files exist, no errors, all compilations succeed, all tests pass, all planned tasks completed
|
|
173
|
+
- **passed-with-warnings**: Same as passed but warnings present OR minor deviations from plan (e.g., slightly different implementation approach that still achieves the goal)
|
|
174
|
+
- **failed**: Any missing files, errors, compilation failures, test failures, OR incomplete/missing tasks from the plan
|
|
175
|
+
|
|
176
|
+
### 8. Generate Verification Report
|
|
177
|
+
|
|
178
|
+
Create a Markdown report:
|
|
179
|
+
|
|
180
|
+
```markdown
|
|
181
|
+
# Verification Report: {feature-name}
|
|
182
|
+
|
|
183
|
+
**Status:** PASSED | PASSED WITH WARNINGS | FAILED
|
|
184
|
+
**Verified:** {ISO timestamp}
|
|
185
|
+
|
|
186
|
+
## Summary
|
|
187
|
+
|
|
188
|
+
- **Files checked:** {N} / {N} exist
|
|
189
|
+
- **Planned tasks:** {N} / {N} completed
|
|
190
|
+
- **Compilation:** Success | Failed
|
|
191
|
+
- **Tests:** All passing ({N} tests) | {N} failures
|
|
192
|
+
- **Errors:** {N} errors found
|
|
193
|
+
- **Warnings:** {N} warnings found
|
|
194
|
+
|
|
195
|
+
## Exit Criteria
|
|
196
|
+
|
|
197
|
+
- [x/fail] All expected files exist
|
|
198
|
+
- [x/fail] All planned tasks implemented
|
|
199
|
+
- [x/fail] No compilation errors
|
|
200
|
+
- [x/fail] All tests passing
|
|
201
|
+
- [x/fail] No blocking errors
|
|
202
|
+
|
|
203
|
+
## Implementation Completeness
|
|
204
|
+
|
|
205
|
+
### Tasks from Component Checklist
|
|
206
|
+
|
|
207
|
+
{List each task from the plan with status:}
|
|
208
|
+
- [x] Task description - COMPLETED
|
|
209
|
+
- [partial] Task description - PARTIALLY COMPLETED: {explanation}
|
|
210
|
+
- [fail] Task description - MISSING: {what's missing}
|
|
211
|
+
|
|
212
|
+
### Method Signatures
|
|
213
|
+
|
|
214
|
+
{For each expected method:}
|
|
215
|
+
- [x] MethodName(params) in File.{ext}:lineNumber - VERIFIED
|
|
216
|
+
- [fail] MethodName(params) in File.{ext} - NOT FOUND or INCORRECT: {details}
|
|
217
|
+
|
|
218
|
+
### Test Coverage
|
|
219
|
+
|
|
220
|
+
{For each expected test:}
|
|
221
|
+
- [x] testMethodName - EXISTS and covers {scenario}
|
|
222
|
+
- [fail] testMethodName - MISSING or doesn't cover {scenario}
|
|
223
|
+
|
|
224
|
+
### Acceptance Criteria Coverage
|
|
225
|
+
|
|
226
|
+
{For each AC from the plan:}
|
|
227
|
+
- [x] AC1: {description} - VERIFIED in {test method}
|
|
228
|
+
- [fail] AC2: {description} - NOT VERIFIED: {what's missing}
|
|
229
|
+
|
|
230
|
+
### Unexpected Changes
|
|
231
|
+
|
|
232
|
+
{List any files modified that weren't in the plan, with assessment of whether they're acceptable}
|
|
233
|
+
|
|
234
|
+
## File Existence Check
|
|
235
|
+
|
|
236
|
+
{per-file results}
|
|
237
|
+
|
|
238
|
+
## Problem Detection
|
|
239
|
+
|
|
240
|
+
{per-file problems with severity}
|
|
241
|
+
|
|
242
|
+
## Compilation Results
|
|
243
|
+
|
|
244
|
+
{per-module compilation status}
|
|
245
|
+
|
|
246
|
+
## Test Results
|
|
247
|
+
|
|
248
|
+
{test execution results with failure details}
|
|
249
|
+
|
|
250
|
+
## Errors (Must Fix)
|
|
251
|
+
|
|
252
|
+
{list of all errors with file paths and line numbers}
|
|
253
|
+
|
|
254
|
+
## Warnings (Optional)
|
|
255
|
+
|
|
256
|
+
{list of all warnings}
|
|
257
|
+
|
|
258
|
+
## Recommendations
|
|
259
|
+
|
|
260
|
+
{suggestions for improvement}
|
|
261
|
+
|
|
262
|
+
## Next Steps
|
|
263
|
+
|
|
264
|
+
{if PASSED: "All tasks completed as planned. Ready to commit and create pull request."}
|
|
265
|
+
{if PASSED WITH WARNINGS: "Implementation complete with minor deviations or warnings. Review warnings section, then ready to commit."}
|
|
266
|
+
{if FAILED: "Fix errors and complete missing tasks listed above, then re-run verification."}
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## Output Contract
|
|
270
|
+
|
|
271
|
+
Return:
|
|
272
|
+
|
|
273
|
+
```
|
|
274
|
+
Verification Results:
|
|
275
|
+
Status: passed | passed-with-warnings | failed
|
|
276
|
+
|
|
277
|
+
Implementation Completeness:
|
|
278
|
+
totalTasks: {N}
|
|
279
|
+
completedTasks: {N}
|
|
280
|
+
partialTasks: {N}
|
|
281
|
+
missingTasks: {N}
|
|
282
|
+
taskDetails:
|
|
283
|
+
- task: {description}
|
|
284
|
+
status: completed | partial | missing
|
|
285
|
+
notes: {explanation if partial or missing}
|
|
286
|
+
methodSignatures:
|
|
287
|
+
- method: {signature}
|
|
288
|
+
file: {path}
|
|
289
|
+
status: verified | incorrect | missing
|
|
290
|
+
notes: {details if not verified}
|
|
291
|
+
testCoverage:
|
|
292
|
+
- test: {testName}
|
|
293
|
+
status: exists | missing
|
|
294
|
+
coversScenario: {scenario}
|
|
295
|
+
acceptanceCriteria:
|
|
296
|
+
- criterion: {AC description}
|
|
297
|
+
status: verified | not-verified
|
|
298
|
+
verifiedBy: {test method or explanation}
|
|
299
|
+
unexpectedChanges:
|
|
300
|
+
- file: {path}
|
|
301
|
+
assessment: {acceptable or concerning}
|
|
302
|
+
|
|
303
|
+
File Existence:
|
|
304
|
+
total: {N}
|
|
305
|
+
existing: {N}
|
|
306
|
+
missing: [{paths}]
|
|
307
|
+
|
|
308
|
+
Problems:
|
|
309
|
+
errors: {N}
|
|
310
|
+
warnings: {N}
|
|
311
|
+
details:
|
|
312
|
+
- file: {path}
|
|
313
|
+
errors: [{message} at line {N}]
|
|
314
|
+
warnings: [{message} at line {N}]
|
|
315
|
+
|
|
316
|
+
Compilation:
|
|
317
|
+
production: success | failed
|
|
318
|
+
tests: success | failed
|
|
319
|
+
errors: |
|
|
320
|
+
{error output if failed}
|
|
321
|
+
|
|
322
|
+
Tests:
|
|
323
|
+
status: passed | failed
|
|
324
|
+
total: {N}
|
|
325
|
+
passed: {N}
|
|
326
|
+
failed: {N}
|
|
327
|
+
failures:
|
|
328
|
+
- test: {testName}
|
|
329
|
+
error: {message}
|
|
330
|
+
|
|
331
|
+
Report:
|
|
332
|
+
{full markdown report content}
|
|
333
|
+
|
|
334
|
+
Structured Results:
|
|
335
|
+
filesChecked: {N}
|
|
336
|
+
filesExist: {N}
|
|
337
|
+
tasksTotal: {N}
|
|
338
|
+
tasksCompleted: {N}
|
|
339
|
+
tasksPartial: {N}
|
|
340
|
+
tasksMissing: {N}
|
|
341
|
+
compilationStatus: success | failed
|
|
342
|
+
testStatus: passed | failed
|
|
343
|
+
testsTotal: {N}
|
|
344
|
+
testsPassed: {N}
|
|
345
|
+
testsFailed: {N}
|
|
346
|
+
errorsFound: {N}
|
|
347
|
+
warningsFound: {N}
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## Error Handling
|
|
351
|
+
|
|
352
|
+
- If a project build system command times out, report as failed with timeout message
|
|
353
|
+
- If IDE MCP is unavailable, skip file problem detection and note it in output
|
|
354
|
+
- Continue through all steps even if early steps fail (to get complete picture)
|
|
355
|
+
- If test execution fails entirely (not just test failures), report the error
|
|
356
|
+
|
|
357
|
+
## Important Guidelines for Implementation Verification
|
|
358
|
+
|
|
359
|
+
### Flexibility in Assessment
|
|
360
|
+
|
|
361
|
+
When verifying implementation completeness:
|
|
362
|
+
|
|
363
|
+
1. **Method Signatures:** Exact match is required for method name, but minor variations in parameter names are acceptable if types match. Focus on the contract, not the syntax.
|
|
364
|
+
|
|
365
|
+
2. **Logic Verification:** Look for the key algorithmic steps and business logic. The implementation doesn't need to match code snippets character-by-character. What matters is:
|
|
366
|
+
- Core logic is present
|
|
367
|
+
- Edge cases are handled
|
|
368
|
+
- The approach achieves the stated goal
|
|
369
|
+
|
|
370
|
+
3. **Test Coverage:** Test method names should follow the pattern but exact wording can vary. What matters:
|
|
371
|
+
- The scenario is tested
|
|
372
|
+
- The assertions verify the expected behavior
|
|
373
|
+
- All acceptance criteria have corresponding tests
|
|
374
|
+
|
|
375
|
+
4. **Partial Completion:** Mark as "partial" when:
|
|
376
|
+
- Core functionality is implemented but some edge cases missing
|
|
377
|
+
- Implementation approach differs but still achieves the goal
|
|
378
|
+
- Minor deviations that don't affect correctness
|
|
379
|
+
|
|
380
|
+
5. **Acceptable Deviations:** Don't fail verification for:
|
|
381
|
+
- Different variable names than suggested in plan
|
|
382
|
+
- Refactored code structure that's still correct
|
|
383
|
+
- Additional helper methods not in the plan
|
|
384
|
+
- Better error handling than specified
|
|
385
|
+
- More comprehensive tests than required
|
|
386
|
+
|
|
387
|
+
6. **What Must Match:**
|
|
388
|
+
- Public API contracts (method signatures, return types)
|
|
389
|
+
- Expected files exist
|
|
390
|
+
- Core business logic
|
|
391
|
+
- All acceptance criteria covered by tests
|
|
392
|
+
- No regressions (existing tests still pass)
|
|
393
|
+
|
|
394
|
+
### Reading Implementation Plans
|
|
395
|
+
|
|
396
|
+
Plans may have different structures. Look for:
|
|
397
|
+
- Sections titled "Component Checklist", "Tasks", "Waves"
|
|
398
|
+
- Numbered verification steps
|
|
399
|
+
- Acceptance criteria (often labeled AC1, AC2, etc.)
|
|
400
|
+
- Method signatures in code blocks
|
|
401
|
+
- Technical decisions that constrain implementation
|
|
402
|
+
|
|
403
|
+
## DO NOT
|
|
404
|
+
|
|
405
|
+
- DO NOT fix any errors (parent handles fixes and user interaction)
|
|
406
|
+
- DO NOT update the state file (parent handles state)
|
|
407
|
+
- DO NOT interact with the user (parent handles user interaction)
|
|
408
|
+
- DO NOT create commits
|
|
409
|
+
- DO NOT skip any verification step
|
|
410
|
+
- DO NOT stop at first failure (run all checks for complete picture)
|
|
411
|
+
- DO NOT be overly strict about matching every detail - focus on correctness and completeness
|