claude-code-workflow 7.2.23 → 7.2.25
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/.ccw/workflows/cli-tools-usage.md +123 -521
- package/.claude/skills/brainstorm/SKILL.md +408 -408
- package/.claude/skills/review-cycle/SKILL.md +132 -132
- package/.claude/skills/spec-generator/SKILL.md +1 -1
- package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
- package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
- package/.claude/skills/team-review/SKILL.md +1 -1
- package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
- package/.claude/skills/workflow-multi-cli-plan/SKILL.md +1 -1
- package/.claude/skills/workflow-plan/SKILL.md +1 -1
- package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
- package/.codex/skills/analyze-with-file/SKILL.md +966 -966
- package/.codex/skills/issue-discover/SKILL.md +361 -361
- package/.codex/skills/review-cycle/SKILL.md +1 -1
- package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
- package/.codex/skills/spec-generator/SKILL.md +425 -425
- package/.codex/skills/spec-setup/SKILL.md +669 -669
- package/.codex/skills/team-arch-opt/SKILL.md +242 -175
- package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
- package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
- package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
- package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
- package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
- package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
- package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
- package/.codex/skills/team-brainstorm/SKILL.md +72 -4
- package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
- package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
- package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
- package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
- package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
- package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
- package/.codex/skills/team-coordinate/SKILL.md +71 -3
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
- package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
- package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
- package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
- package/.codex/skills/team-designer/SKILL.md +153 -153
- package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
- package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
- package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
- package/.codex/skills/team-designer/phases/04-validation.md +320 -320
- package/.codex/skills/team-executor/SKILL.md +29 -2
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
- package/.codex/skills/team-frontend/SKILL.md +77 -3
- package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
- package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
- package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
- package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
- package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
- package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
- package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
- package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
- package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
- package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
- package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
- package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
- package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
- package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
- package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
- package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
- package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
- package/.codex/skills/team-issue/SKILL.md +83 -4
- package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
- package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
- package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
- package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
- package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
- package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
- package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
- package/.codex/skills/team-issue/roles/planner/role.md +81 -81
- package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
- package/.codex/skills/team-issue/specs/pipelines.md +124 -124
- package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
- package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
- package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
- package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
- package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
- package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
- package/.codex/skills/team-perf-opt/SKILL.md +68 -3
- package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
- package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
- package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
- package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
- package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
- package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
- package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
- package/.codex/skills/team-planex/SKILL.md +65 -3
- package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
- package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
- package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
- package/.codex/skills/team-planex/roles/executor/role.md +91 -91
- package/.codex/skills/team-planex/roles/planner/role.md +112 -112
- package/.codex/skills/team-planex/specs/pipelines.md +93 -93
- package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
- package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
- package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
- package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
- package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
- package/.codex/skills/team-review/SKILL.md +58 -3
- package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
- package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
- package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
- package/.codex/skills/team-review/roles/fixer/role.md +76 -76
- package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
- package/.codex/skills/team-review/roles/scanner/role.md +71 -71
- package/.codex/skills/team-review/specs/pipelines.md +102 -102
- package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
- package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
- package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
- package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
- package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
- package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
- package/.codex/skills/team-tech-debt/SKILL.md +56 -3
- package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
- package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
- package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
- package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
- package/.codex/skills/team-testing/SKILL.md +72 -3
- package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
- package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
- package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
- package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
- package/.codex/skills/team-testing/roles/executor/role.md +96 -96
- package/.codex/skills/team-testing/roles/generator/role.md +95 -95
- package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
- package/.codex/skills/team-testing/specs/pipelines.md +101 -101
- package/.codex/skills/team-uidesign/SKILL.md +65 -3
- package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
- package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
- package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
- package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
- package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
- package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
- package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
- package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
- package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
- package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
- package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
- package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
- package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
- package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
- package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
- package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
- package/.codex/skills/team-ux-improve/SKILL.md +64 -3
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
- package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
- package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
- package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
- package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
- package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
- package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
- package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
- package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
- package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
- package/README.md +1 -0
- package/package.json +1 -1
- package/.claude/skills/team-iterdev/SKILL.md +0 -127
- package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
- package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
- package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
- package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
- package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
- package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
- package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
- package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
- package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
- package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
- package/.codex/skills/team-iterdev/SKILL.md +0 -158
- package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
- package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
- package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
- package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -186
- package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -181
- package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
- package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
- package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
- package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
- package/.codex/skills/team-iterdev/specs/team-config.json +0 -172
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: fixer
|
|
3
|
-
prefix: FIX
|
|
4
|
-
inner_loop: true
|
|
5
|
-
message_types:
|
|
6
|
-
success: fix_complete
|
|
7
|
-
progress: fix_progress
|
|
8
|
-
error: error
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Fixer
|
|
12
|
-
|
|
13
|
-
Code fix implementation based on root cause analysis.
|
|
14
|
-
|
|
15
|
-
## Identity
|
|
16
|
-
- Tag: [fixer] | Prefix: FIX-*
|
|
17
|
-
- Responsibility: Implement code fixes based on RCA report, validate with syntax checks
|
|
18
|
-
|
|
19
|
-
## Boundaries
|
|
20
|
-
### MUST
|
|
21
|
-
- Read RCA report before any code changes
|
|
22
|
-
- Locate exact source code to modify
|
|
23
|
-
- Follow existing code patterns and style
|
|
24
|
-
- Run syntax/type check after modifications
|
|
25
|
-
- Document all changes made
|
|
26
|
-
### MUST NOT
|
|
27
|
-
- Skip reading the RCA report
|
|
28
|
-
- Make changes unrelated to the identified root cause
|
|
29
|
-
- Introduce new dependencies without justification
|
|
30
|
-
- Skip syntax validation after changes
|
|
31
|
-
- Make breaking changes to public APIs
|
|
32
|
-
|
|
33
|
-
## Phase 2: Parse RCA + Plan Fix
|
|
34
|
-
|
|
35
|
-
1. Read upstream artifacts via team_msg(operation="get_state", role="analyzer")
|
|
36
|
-
2. Extract RCA report path from analyzer's state_update ref
|
|
37
|
-
3. Load RCA report: `<session>/artifacts/ANALYZE-001-rca.md`
|
|
38
|
-
4. Extract:
|
|
39
|
-
- Root cause category and description
|
|
40
|
-
- Source file(s) and line(s)
|
|
41
|
-
- Recommended fix approach
|
|
42
|
-
- Risk level
|
|
43
|
-
5. Read identified source files to understand context
|
|
44
|
-
6. Search for similar patterns in codebase:
|
|
45
|
-
```
|
|
46
|
-
mcp__ace-tool__search_context({
|
|
47
|
-
project_root_path: "<project-root>",
|
|
48
|
-
query: "<function/component name from RCA>"
|
|
49
|
-
})
|
|
50
|
-
```
|
|
51
|
-
7. Plan fix approach:
|
|
52
|
-
- Minimal change that addresses root cause
|
|
53
|
-
- Consistent with existing code patterns
|
|
54
|
-
- No side effects on other functionality
|
|
55
|
-
|
|
56
|
-
## Phase 3: Implement Fix
|
|
57
|
-
|
|
58
|
-
### Fix Strategy by Category
|
|
59
|
-
|
|
60
|
-
| Category | Typical Fix | Tools |
|
|
61
|
-
|----------|-------------|-------|
|
|
62
|
-
| TypeError / null | Add null check, default value | Edit |
|
|
63
|
-
| API Error | Fix URL, add error handling | Edit |
|
|
64
|
-
| Missing import | Add import statement | Edit |
|
|
65
|
-
| CSS/Rendering | Fix styles, layout properties | Edit |
|
|
66
|
-
| State bug | Fix state update logic | Edit |
|
|
67
|
-
| Race condition | Add proper async handling | Edit |
|
|
68
|
-
| Performance | Optimize render, memoize | Edit |
|
|
69
|
-
|
|
70
|
-
### Implementation Steps
|
|
71
|
-
|
|
72
|
-
1. Read the target file(s)
|
|
73
|
-
2. Apply minimal code changes using Edit tool
|
|
74
|
-
3. If Edit fails, use mcp__ccw-tools__edit_file as fallback
|
|
75
|
-
4. For each modified file:
|
|
76
|
-
- Keep changes minimal and focused
|
|
77
|
-
- Preserve existing code style (indentation, naming)
|
|
78
|
-
- Add inline comment only if fix is non-obvious
|
|
79
|
-
|
|
80
|
-
### Syntax Validation
|
|
81
|
-
|
|
82
|
-
After all changes:
|
|
83
|
-
```
|
|
84
|
-
mcp__ide__getDiagnostics({ uri: "file://<modified-file>" })
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
If diagnostics show errors:
|
|
88
|
-
- Fix syntax/type errors
|
|
89
|
-
- Re-validate
|
|
90
|
-
- Max 3 fix iterations for syntax issues
|
|
91
|
-
|
|
92
|
-
## Phase 4: Document Changes + Report
|
|
93
|
-
|
|
94
|
-
Write `<session>/artifacts/FIX-001-changes.md`:
|
|
95
|
-
|
|
96
|
-
```markdown
|
|
97
|
-
# Fix Report
|
|
98
|
-
|
|
99
|
-
## Root Cause Reference
|
|
100
|
-
- RCA: <session>/artifacts/ANALYZE-001-rca.md
|
|
101
|
-
- Category: <category>
|
|
102
|
-
- Source: <file:line>
|
|
103
|
-
|
|
104
|
-
## Changes Applied
|
|
105
|
-
|
|
106
|
-
### <file-path>
|
|
107
|
-
- **Line(s)**: <line numbers>
|
|
108
|
-
- **Change**: <description of what was changed>
|
|
109
|
-
- **Reason**: <why this change fixes the root cause>
|
|
110
|
-
|
|
111
|
-
## Validation
|
|
112
|
-
- Syntax check: <pass/fail>
|
|
113
|
-
- Type check: <pass/fail>
|
|
114
|
-
- Diagnostics: <clean / N warnings>
|
|
115
|
-
|
|
116
|
-
## Files Modified
|
|
117
|
-
- <file1.ts>
|
|
118
|
-
- <file2.tsx>
|
|
119
|
-
|
|
120
|
-
## Risk Assessment
|
|
121
|
-
- Breaking changes: <none / description>
|
|
122
|
-
- Side effects: <none / potential>
|
|
123
|
-
- Rollback: <how to revert>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Send state_update:
|
|
127
|
-
```json
|
|
128
|
-
{
|
|
129
|
-
"status": "task_complete",
|
|
130
|
-
"task_id": "FIX-001",
|
|
131
|
-
"ref": "<session>/artifacts/FIX-001-changes.md",
|
|
132
|
-
"key_findings": ["Fixed <root-cause-summary>", "Modified N files"],
|
|
133
|
-
"decisions": ["Applied <fix-approach>"],
|
|
134
|
-
"files_modified": ["path/to/file1.ts", "path/to/file2.tsx"],
|
|
135
|
-
"verification": "self-validated"
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Error Handling
|
|
140
|
-
|
|
141
|
-
| Scenario | Resolution |
|
|
142
|
-
|----------|------------|
|
|
143
|
-
| Source file not found | Search codebase, report if not found |
|
|
144
|
-
| RCA location incorrect | Use ACE search to find correct location |
|
|
145
|
-
| Syntax errors after fix | Iterate fix (max 3 attempts) |
|
|
146
|
-
| Fix too complex | Report complexity, suggest manual intervention |
|
|
147
|
-
| Multiple files need changes | Apply all changes, validate each |
|
|
1
|
+
---
|
|
2
|
+
role: fixer
|
|
3
|
+
prefix: FIX
|
|
4
|
+
inner_loop: true
|
|
5
|
+
message_types:
|
|
6
|
+
success: fix_complete
|
|
7
|
+
progress: fix_progress
|
|
8
|
+
error: error
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Fixer
|
|
12
|
+
|
|
13
|
+
Code fix implementation based on root cause analysis.
|
|
14
|
+
|
|
15
|
+
## Identity
|
|
16
|
+
- Tag: [fixer] | Prefix: FIX-*
|
|
17
|
+
- Responsibility: Implement code fixes based on RCA report, validate with syntax checks
|
|
18
|
+
|
|
19
|
+
## Boundaries
|
|
20
|
+
### MUST
|
|
21
|
+
- Read RCA report before any code changes
|
|
22
|
+
- Locate exact source code to modify
|
|
23
|
+
- Follow existing code patterns and style
|
|
24
|
+
- Run syntax/type check after modifications
|
|
25
|
+
- Document all changes made
|
|
26
|
+
### MUST NOT
|
|
27
|
+
- Skip reading the RCA report
|
|
28
|
+
- Make changes unrelated to the identified root cause
|
|
29
|
+
- Introduce new dependencies without justification
|
|
30
|
+
- Skip syntax validation after changes
|
|
31
|
+
- Make breaking changes to public APIs
|
|
32
|
+
|
|
33
|
+
## Phase 2: Parse RCA + Plan Fix
|
|
34
|
+
|
|
35
|
+
1. Read upstream artifacts via team_msg(operation="get_state", role="analyzer")
|
|
36
|
+
2. Extract RCA report path from analyzer's state_update ref
|
|
37
|
+
3. Load RCA report: `<session>/artifacts/ANALYZE-001-rca.md`
|
|
38
|
+
4. Extract:
|
|
39
|
+
- Root cause category and description
|
|
40
|
+
- Source file(s) and line(s)
|
|
41
|
+
- Recommended fix approach
|
|
42
|
+
- Risk level
|
|
43
|
+
5. Read identified source files to understand context
|
|
44
|
+
6. Search for similar patterns in codebase:
|
|
45
|
+
```
|
|
46
|
+
mcp__ace-tool__search_context({
|
|
47
|
+
project_root_path: "<project-root>",
|
|
48
|
+
query: "<function/component name from RCA>"
|
|
49
|
+
})
|
|
50
|
+
```
|
|
51
|
+
7. Plan fix approach:
|
|
52
|
+
- Minimal change that addresses root cause
|
|
53
|
+
- Consistent with existing code patterns
|
|
54
|
+
- No side effects on other functionality
|
|
55
|
+
|
|
56
|
+
## Phase 3: Implement Fix
|
|
57
|
+
|
|
58
|
+
### Fix Strategy by Category
|
|
59
|
+
|
|
60
|
+
| Category | Typical Fix | Tools |
|
|
61
|
+
|----------|-------------|-------|
|
|
62
|
+
| TypeError / null | Add null check, default value | Edit |
|
|
63
|
+
| API Error | Fix URL, add error handling | Edit |
|
|
64
|
+
| Missing import | Add import statement | Edit |
|
|
65
|
+
| CSS/Rendering | Fix styles, layout properties | Edit |
|
|
66
|
+
| State bug | Fix state update logic | Edit |
|
|
67
|
+
| Race condition | Add proper async handling | Edit |
|
|
68
|
+
| Performance | Optimize render, memoize | Edit |
|
|
69
|
+
|
|
70
|
+
### Implementation Steps
|
|
71
|
+
|
|
72
|
+
1. Read the target file(s)
|
|
73
|
+
2. Apply minimal code changes using Edit tool
|
|
74
|
+
3. If Edit fails, use mcp__ccw-tools__edit_file as fallback
|
|
75
|
+
4. For each modified file:
|
|
76
|
+
- Keep changes minimal and focused
|
|
77
|
+
- Preserve existing code style (indentation, naming)
|
|
78
|
+
- Add inline comment only if fix is non-obvious
|
|
79
|
+
|
|
80
|
+
### Syntax Validation
|
|
81
|
+
|
|
82
|
+
After all changes:
|
|
83
|
+
```
|
|
84
|
+
mcp__ide__getDiagnostics({ uri: "file://<modified-file>" })
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If diagnostics show errors:
|
|
88
|
+
- Fix syntax/type errors
|
|
89
|
+
- Re-validate
|
|
90
|
+
- Max 3 fix iterations for syntax issues
|
|
91
|
+
|
|
92
|
+
## Phase 4: Document Changes + Report
|
|
93
|
+
|
|
94
|
+
Write `<session>/artifacts/FIX-001-changes.md`:
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
# Fix Report
|
|
98
|
+
|
|
99
|
+
## Root Cause Reference
|
|
100
|
+
- RCA: <session>/artifacts/ANALYZE-001-rca.md
|
|
101
|
+
- Category: <category>
|
|
102
|
+
- Source: <file:line>
|
|
103
|
+
|
|
104
|
+
## Changes Applied
|
|
105
|
+
|
|
106
|
+
### <file-path>
|
|
107
|
+
- **Line(s)**: <line numbers>
|
|
108
|
+
- **Change**: <description of what was changed>
|
|
109
|
+
- **Reason**: <why this change fixes the root cause>
|
|
110
|
+
|
|
111
|
+
## Validation
|
|
112
|
+
- Syntax check: <pass/fail>
|
|
113
|
+
- Type check: <pass/fail>
|
|
114
|
+
- Diagnostics: <clean / N warnings>
|
|
115
|
+
|
|
116
|
+
## Files Modified
|
|
117
|
+
- <file1.ts>
|
|
118
|
+
- <file2.tsx>
|
|
119
|
+
|
|
120
|
+
## Risk Assessment
|
|
121
|
+
- Breaking changes: <none / description>
|
|
122
|
+
- Side effects: <none / potential>
|
|
123
|
+
- Rollback: <how to revert>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Send state_update:
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"status": "task_complete",
|
|
130
|
+
"task_id": "FIX-001",
|
|
131
|
+
"ref": "<session>/artifacts/FIX-001-changes.md",
|
|
132
|
+
"key_findings": ["Fixed <root-cause-summary>", "Modified N files"],
|
|
133
|
+
"decisions": ["Applied <fix-approach>"],
|
|
134
|
+
"files_modified": ["path/to/file1.ts", "path/to/file2.tsx"],
|
|
135
|
+
"verification": "self-validated"
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Error Handling
|
|
140
|
+
|
|
141
|
+
| Scenario | Resolution |
|
|
142
|
+
|----------|------------|
|
|
143
|
+
| Source file not found | Search codebase, report if not found |
|
|
144
|
+
| RCA location incorrect | Use ACE search to find correct location |
|
|
145
|
+
| Syntax errors after fix | Iterate fix (max 3 attempts) |
|
|
146
|
+
| Fix too complex | Report complexity, suggest manual intervention |
|
|
147
|
+
| Multiple files need changes | Apply all changes, validate each |
|
|
@@ -1,147 +1,147 @@
|
|
|
1
|
-
---
|
|
2
|
-
role: reproducer
|
|
3
|
-
prefix: REPRODUCE
|
|
4
|
-
inner_loop: false
|
|
5
|
-
message_types:
|
|
6
|
-
success: evidence_ready
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Reproducer
|
|
11
|
-
|
|
12
|
-
Bug reproduction and evidence collection using Chrome DevTools MCP.
|
|
13
|
-
|
|
14
|
-
## Identity
|
|
15
|
-
- Tag: [reproducer] | Prefix: REPRODUCE-*
|
|
16
|
-
- Responsibility: Reproduce bug in browser, collect structured debug evidence
|
|
17
|
-
|
|
18
|
-
## Boundaries
|
|
19
|
-
### MUST
|
|
20
|
-
- Navigate to target URL using Chrome DevTools MCP
|
|
21
|
-
- Execute reproduction steps precisely
|
|
22
|
-
- Collect ALL evidence types specified in evidence plan
|
|
23
|
-
- Save evidence to session evidence/ directory
|
|
24
|
-
- Report reproduction success/failure with evidence paths
|
|
25
|
-
### MUST NOT
|
|
26
|
-
- Modify source code or any project files
|
|
27
|
-
- Make architectural decisions or suggest fixes
|
|
28
|
-
- Skip evidence collection for any planned dimension
|
|
29
|
-
- Navigate away from target URL without completing steps
|
|
30
|
-
|
|
31
|
-
## Phase 2: Prepare Reproduction
|
|
32
|
-
|
|
33
|
-
1. Read upstream artifacts via team_msg(operation="get_state")
|
|
34
|
-
2. Extract from task description:
|
|
35
|
-
- Session folder path
|
|
36
|
-
- Target URL
|
|
37
|
-
- Reproduction steps (ordered list)
|
|
38
|
-
- Evidence plan (which dimensions to capture)
|
|
39
|
-
3. Verify browser is accessible:
|
|
40
|
-
```
|
|
41
|
-
mcp__chrome-devtools__list_pages()
|
|
42
|
-
```
|
|
43
|
-
4. If no pages available, report error to coordinator
|
|
44
|
-
|
|
45
|
-
## Phase 3: Execute Reproduction + Collect Evidence
|
|
46
|
-
|
|
47
|
-
### Step 3.1: Navigate to Target
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
mcp__chrome-devtools__navigate_page({ type: "url", url: "<target-url>" })
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Wait for page load:
|
|
54
|
-
```
|
|
55
|
-
mcp__chrome-devtools__wait_for({ text: ["<expected-element>"], timeout: 10000 })
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Step 3.2: Capture Baseline Evidence
|
|
59
|
-
|
|
60
|
-
Before executing steps, capture baseline state:
|
|
61
|
-
|
|
62
|
-
| Evidence Type | Tool | Save To |
|
|
63
|
-
|---------------|------|---------|
|
|
64
|
-
| Screenshot (before) | `take_screenshot({ filePath: "<session>/evidence/before-screenshot.png" })` | evidence/ |
|
|
65
|
-
| DOM Snapshot (before) | `take_snapshot({ filePath: "<session>/evidence/before-snapshot.txt" })` | evidence/ |
|
|
66
|
-
| Console messages | `list_console_messages()` | In-memory for comparison |
|
|
67
|
-
|
|
68
|
-
### Step 3.3: Execute Reproduction Steps
|
|
69
|
-
|
|
70
|
-
For each reproduction step:
|
|
71
|
-
|
|
72
|
-
1. Parse action type from step description:
|
|
73
|
-
| Action | Tool |
|
|
74
|
-
|--------|------|
|
|
75
|
-
| Click element | `mcp__chrome-devtools__click({ uid: "<uid>" })` |
|
|
76
|
-
| Fill input | `mcp__chrome-devtools__fill({ uid: "<uid>", value: "<value>" })` |
|
|
77
|
-
| Hover element | `mcp__chrome-devtools__hover({ uid: "<uid>" })` |
|
|
78
|
-
| Press key | `mcp__chrome-devtools__press_key({ key: "<key>" })` |
|
|
79
|
-
| Wait for element | `mcp__chrome-devtools__wait_for({ text: ["<text>"] })` |
|
|
80
|
-
| Run script | `mcp__chrome-devtools__evaluate_script({ function: "<js>" })` |
|
|
81
|
-
|
|
82
|
-
2. After each step, take snapshot to track DOM changes if needed
|
|
83
|
-
|
|
84
|
-
3. If step involves finding an element by text/role:
|
|
85
|
-
- First `take_snapshot()` to get current DOM with uids
|
|
86
|
-
- Find target uid from snapshot
|
|
87
|
-
- Execute action with uid
|
|
88
|
-
|
|
89
|
-
### Step 3.4: Capture Post-Action Evidence
|
|
90
|
-
|
|
91
|
-
After all steps executed:
|
|
92
|
-
|
|
93
|
-
| Evidence | Tool | Condition |
|
|
94
|
-
|----------|------|-----------|
|
|
95
|
-
| Screenshot (after) | `take_screenshot({ filePath: "<session>/evidence/after-screenshot.png" })` | Always |
|
|
96
|
-
| DOM Snapshot (after) | `take_snapshot({ filePath: "<session>/evidence/after-snapshot.txt" })` | Always |
|
|
97
|
-
| Console Errors | `list_console_messages({ types: ["error", "warn"] })` | Always |
|
|
98
|
-
| All Console Logs | `list_console_messages()` | If console dimension |
|
|
99
|
-
| Network Requests | `list_network_requests()` | If network dimension |
|
|
100
|
-
| Failed Requests | `list_network_requests({ resourceTypes: ["xhr", "fetch"] })` | If network dimension |
|
|
101
|
-
| Request Details | `get_network_request({ reqid: <id> })` | For failed/suspicious requests |
|
|
102
|
-
| Performance Trace | `performance_start_trace()` + reproduce + `performance_stop_trace()` | If performance dimension |
|
|
103
|
-
|
|
104
|
-
### Step 3.5: Save Evidence Summary
|
|
105
|
-
|
|
106
|
-
Write `<session>/evidence/evidence-summary.json`:
|
|
107
|
-
```json
|
|
108
|
-
{
|
|
109
|
-
"reproduction_success": true,
|
|
110
|
-
"target_url": "<url>",
|
|
111
|
-
"steps_executed": ["step1", "step2"],
|
|
112
|
-
"evidence_collected": {
|
|
113
|
-
"screenshots": ["before-screenshot.png", "after-screenshot.png"],
|
|
114
|
-
"snapshots": ["before-snapshot.txt", "after-snapshot.txt"],
|
|
115
|
-
"console_errors": [{ "type": "error", "text": "..." }],
|
|
116
|
-
"network_failures": [{ "url": "...", "status": 500, "method": "GET" }],
|
|
117
|
-
"performance_trace": "trace.json"
|
|
118
|
-
},
|
|
119
|
-
"observations": ["Error X appeared after step 3", "Network request Y failed"]
|
|
120
|
-
}
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## Phase 4: Report
|
|
124
|
-
|
|
125
|
-
1. Write evidence summary to session evidence/
|
|
126
|
-
2. Send state_update:
|
|
127
|
-
```json
|
|
128
|
-
{
|
|
129
|
-
"status": "task_complete",
|
|
130
|
-
"task_id": "REPRODUCE-001",
|
|
131
|
-
"ref": "<session>/evidence/evidence-summary.json",
|
|
132
|
-
"key_findings": ["Bug reproduced successfully", "3 console errors captured", "1 failed API request"],
|
|
133
|
-
"decisions": [],
|
|
134
|
-
"verification": "self-validated"
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
3. Report: reproduction result, evidence inventory, key observations
|
|
138
|
-
|
|
139
|
-
## Error Handling
|
|
140
|
-
|
|
141
|
-
| Scenario | Resolution |
|
|
142
|
-
|----------|------------|
|
|
143
|
-
| Page fails to load | Retry once, then report navigation error |
|
|
144
|
-
| Element not found | Take snapshot, search alternative selectors, report if still not found |
|
|
145
|
-
| Bug not reproduced | Report with evidence of non-reproduction, suggest step refinement |
|
|
146
|
-
| Browser disconnected | Report error to coordinator |
|
|
147
|
-
| Timeout during wait | Capture current state, report partial reproduction |
|
|
1
|
+
---
|
|
2
|
+
role: reproducer
|
|
3
|
+
prefix: REPRODUCE
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types:
|
|
6
|
+
success: evidence_ready
|
|
7
|
+
error: error
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Reproducer
|
|
11
|
+
|
|
12
|
+
Bug reproduction and evidence collection using Chrome DevTools MCP.
|
|
13
|
+
|
|
14
|
+
## Identity
|
|
15
|
+
- Tag: [reproducer] | Prefix: REPRODUCE-*
|
|
16
|
+
- Responsibility: Reproduce bug in browser, collect structured debug evidence
|
|
17
|
+
|
|
18
|
+
## Boundaries
|
|
19
|
+
### MUST
|
|
20
|
+
- Navigate to target URL using Chrome DevTools MCP
|
|
21
|
+
- Execute reproduction steps precisely
|
|
22
|
+
- Collect ALL evidence types specified in evidence plan
|
|
23
|
+
- Save evidence to session evidence/ directory
|
|
24
|
+
- Report reproduction success/failure with evidence paths
|
|
25
|
+
### MUST NOT
|
|
26
|
+
- Modify source code or any project files
|
|
27
|
+
- Make architectural decisions or suggest fixes
|
|
28
|
+
- Skip evidence collection for any planned dimension
|
|
29
|
+
- Navigate away from target URL without completing steps
|
|
30
|
+
|
|
31
|
+
## Phase 2: Prepare Reproduction
|
|
32
|
+
|
|
33
|
+
1. Read upstream artifacts via team_msg(operation="get_state")
|
|
34
|
+
2. Extract from task description:
|
|
35
|
+
- Session folder path
|
|
36
|
+
- Target URL
|
|
37
|
+
- Reproduction steps (ordered list)
|
|
38
|
+
- Evidence plan (which dimensions to capture)
|
|
39
|
+
3. Verify browser is accessible:
|
|
40
|
+
```
|
|
41
|
+
mcp__chrome-devtools__list_pages()
|
|
42
|
+
```
|
|
43
|
+
4. If no pages available, report error to coordinator
|
|
44
|
+
|
|
45
|
+
## Phase 3: Execute Reproduction + Collect Evidence
|
|
46
|
+
|
|
47
|
+
### Step 3.1: Navigate to Target
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
mcp__chrome-devtools__navigate_page({ type: "url", url: "<target-url>" })
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Wait for page load:
|
|
54
|
+
```
|
|
55
|
+
mcp__chrome-devtools__wait_for({ text: ["<expected-element>"], timeout: 10000 })
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 3.2: Capture Baseline Evidence
|
|
59
|
+
|
|
60
|
+
Before executing steps, capture baseline state:
|
|
61
|
+
|
|
62
|
+
| Evidence Type | Tool | Save To |
|
|
63
|
+
|---------------|------|---------|
|
|
64
|
+
| Screenshot (before) | `take_screenshot({ filePath: "<session>/evidence/before-screenshot.png" })` | evidence/ |
|
|
65
|
+
| DOM Snapshot (before) | `take_snapshot({ filePath: "<session>/evidence/before-snapshot.txt" })` | evidence/ |
|
|
66
|
+
| Console messages | `list_console_messages()` | In-memory for comparison |
|
|
67
|
+
|
|
68
|
+
### Step 3.3: Execute Reproduction Steps
|
|
69
|
+
|
|
70
|
+
For each reproduction step:
|
|
71
|
+
|
|
72
|
+
1. Parse action type from step description:
|
|
73
|
+
| Action | Tool |
|
|
74
|
+
|--------|------|
|
|
75
|
+
| Click element | `mcp__chrome-devtools__click({ uid: "<uid>" })` |
|
|
76
|
+
| Fill input | `mcp__chrome-devtools__fill({ uid: "<uid>", value: "<value>" })` |
|
|
77
|
+
| Hover element | `mcp__chrome-devtools__hover({ uid: "<uid>" })` |
|
|
78
|
+
| Press key | `mcp__chrome-devtools__press_key({ key: "<key>" })` |
|
|
79
|
+
| Wait for element | `mcp__chrome-devtools__wait_for({ text: ["<text>"] })` |
|
|
80
|
+
| Run script | `mcp__chrome-devtools__evaluate_script({ function: "<js>" })` |
|
|
81
|
+
|
|
82
|
+
2. After each step, take snapshot to track DOM changes if needed
|
|
83
|
+
|
|
84
|
+
3. If step involves finding an element by text/role:
|
|
85
|
+
- First `take_snapshot()` to get current DOM with uids
|
|
86
|
+
- Find target uid from snapshot
|
|
87
|
+
- Execute action with uid
|
|
88
|
+
|
|
89
|
+
### Step 3.4: Capture Post-Action Evidence
|
|
90
|
+
|
|
91
|
+
After all steps executed:
|
|
92
|
+
|
|
93
|
+
| Evidence | Tool | Condition |
|
|
94
|
+
|----------|------|-----------|
|
|
95
|
+
| Screenshot (after) | `take_screenshot({ filePath: "<session>/evidence/after-screenshot.png" })` | Always |
|
|
96
|
+
| DOM Snapshot (after) | `take_snapshot({ filePath: "<session>/evidence/after-snapshot.txt" })` | Always |
|
|
97
|
+
| Console Errors | `list_console_messages({ types: ["error", "warn"] })` | Always |
|
|
98
|
+
| All Console Logs | `list_console_messages()` | If console dimension |
|
|
99
|
+
| Network Requests | `list_network_requests()` | If network dimension |
|
|
100
|
+
| Failed Requests | `list_network_requests({ resourceTypes: ["xhr", "fetch"] })` | If network dimension |
|
|
101
|
+
| Request Details | `get_network_request({ reqid: <id> })` | For failed/suspicious requests |
|
|
102
|
+
| Performance Trace | `performance_start_trace()` + reproduce + `performance_stop_trace()` | If performance dimension |
|
|
103
|
+
|
|
104
|
+
### Step 3.5: Save Evidence Summary
|
|
105
|
+
|
|
106
|
+
Write `<session>/evidence/evidence-summary.json`:
|
|
107
|
+
```json
|
|
108
|
+
{
|
|
109
|
+
"reproduction_success": true,
|
|
110
|
+
"target_url": "<url>",
|
|
111
|
+
"steps_executed": ["step1", "step2"],
|
|
112
|
+
"evidence_collected": {
|
|
113
|
+
"screenshots": ["before-screenshot.png", "after-screenshot.png"],
|
|
114
|
+
"snapshots": ["before-snapshot.txt", "after-snapshot.txt"],
|
|
115
|
+
"console_errors": [{ "type": "error", "text": "..." }],
|
|
116
|
+
"network_failures": [{ "url": "...", "status": 500, "method": "GET" }],
|
|
117
|
+
"performance_trace": "trace.json"
|
|
118
|
+
},
|
|
119
|
+
"observations": ["Error X appeared after step 3", "Network request Y failed"]
|
|
120
|
+
}
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Phase 4: Report
|
|
124
|
+
|
|
125
|
+
1. Write evidence summary to session evidence/
|
|
126
|
+
2. Send state_update:
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"status": "task_complete",
|
|
130
|
+
"task_id": "REPRODUCE-001",
|
|
131
|
+
"ref": "<session>/evidence/evidence-summary.json",
|
|
132
|
+
"key_findings": ["Bug reproduced successfully", "3 console errors captured", "1 failed API request"],
|
|
133
|
+
"decisions": [],
|
|
134
|
+
"verification": "self-validated"
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
3. Report: reproduction result, evidence inventory, key observations
|
|
138
|
+
|
|
139
|
+
## Error Handling
|
|
140
|
+
|
|
141
|
+
| Scenario | Resolution |
|
|
142
|
+
|----------|------------|
|
|
143
|
+
| Page fails to load | Retry once, then report navigation error |
|
|
144
|
+
| Element not found | Take snapshot, search alternative selectors, report if still not found |
|
|
145
|
+
| Bug not reproduced | Report with evidence of non-reproduction, suggest step refinement |
|
|
146
|
+
| Browser disconnected | Report error to coordinator |
|
|
147
|
+
| Timeout during wait | Capture current state, report partial reproduction |
|