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,209 +1,243 @@
|
|
|
1
|
-
# Monitor Pipeline
|
|
2
|
-
|
|
3
|
-
Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
|
|
4
|
-
|
|
5
|
-
## Constants
|
|
6
|
-
|
|
7
|
-
- SPAWN_MODE: background
|
|
8
|
-
- ONE_STEP_PER_INVOCATION: true
|
|
9
|
-
- FAST_ADVANCE_AWARE: true
|
|
10
|
-
- WORKER_AGENT: team-worker
|
|
11
|
-
- MAX_GC_ROUNDS: 3
|
|
12
|
-
|
|
13
|
-
## Handler Router
|
|
14
|
-
|
|
15
|
-
| Source | Handler |
|
|
16
|
-
|--------|---------|
|
|
17
|
-
| Message contains [scout], [strategist], [generator], [executor], [analyst] | handleCallback |
|
|
18
|
-
| "capability_gap" | handleAdapt |
|
|
19
|
-
| "check" or "status" | handleCheck |
|
|
20
|
-
| "resume" or "continue" | handleResume |
|
|
21
|
-
| All tasks completed | handleComplete |
|
|
22
|
-
| Default | handleSpawnNext |
|
|
23
|
-
|
|
24
|
-
## handleCallback
|
|
25
|
-
|
|
26
|
-
Worker completed. Process and advance.
|
|
27
|
-
|
|
28
|
-
1. Parse message to identify role and task ID:
|
|
29
|
-
|
|
30
|
-
| Message Pattern | Role Detection |
|
|
31
|
-
|----------------|---------------|
|
|
32
|
-
| `[scout]` or task ID `SCOUT-*` | scout |
|
|
33
|
-
| `[strategist]` or task ID `QASTRAT-*` | strategist |
|
|
34
|
-
| `[generator]` or task ID `QAGEN-*` | generator |
|
|
35
|
-
| `[executor]` or task ID `QARUN-*` | executor |
|
|
36
|
-
| `[analyst]` or task ID `QAANA-*` | analyst |
|
|
37
|
-
|
|
38
|
-
2. Check if progress update (inner loop) or final completion
|
|
39
|
-
3. Progress -> update session state, STOP
|
|
40
|
-
4. Completion -> mark task done (read `<session>/tasks.json`, set status to "completed", write back), remove from active_workers
|
|
41
|
-
5. Check for checkpoints:
|
|
42
|
-
- QARUN-* completes -> read meta.json for coverage:
|
|
43
|
-
- coverage >= target OR gc_rounds >= MAX_GC_ROUNDS -> proceed to handleSpawnNext
|
|
44
|
-
- coverage < target AND gc_rounds < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds
|
|
45
|
-
|
|
46
|
-
**GC Fix Task Creation** (when coverage below target) -- add new entries to `<session>/tasks.json`:
|
|
47
|
-
```json
|
|
48
|
-
{
|
|
49
|
-
"id": "QAGEN-fix-<round>",
|
|
50
|
-
"subject": "QAGEN-fix-<round>: Fix tests for <layer> (GC #<round>)",
|
|
51
|
-
"description": "PURPOSE: Fix failing tests and improve coverage | Success: Coverage meets target\nTASK:\n - Load execution results and failing test details\n - Fix broken tests and add missing coverage\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<layer>.json\nEXPECTED: Fixed test files | Improved coverage\nCONSTRAINTS: Only modify test files | No source changes\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/generator/role.md",
|
|
52
|
-
"status": "pending",
|
|
53
|
-
"owner": "generator",
|
|
54
|
-
"blockedBy": []
|
|
55
|
-
}
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
{
|
|
60
|
-
"id": "QARUN-gc-<round>",
|
|
61
|
-
"subject": "QARUN-gc-<round>: Re-execute <layer> (GC #<round>)",
|
|
62
|
-
"description": "PURPOSE: Re-execute tests after fixes | Success: Coverage >= target\nTASK: Execute test suite, measure coverage, report results\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\nEXPECTED: <session>/results/run-<layer>-gc-<round>.json\nCONSTRAINTS: Read-only execution\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/executor/role.md",
|
|
63
|
-
"status": "pending",
|
|
64
|
-
"owner": "executor",
|
|
65
|
-
"blockedBy": ["QAGEN-fix-<round>"]
|
|
66
|
-
}
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
6. -> handleSpawnNext
|
|
70
|
-
|
|
71
|
-
## handleCheck
|
|
72
|
-
|
|
73
|
-
Read-only status report, then STOP.
|
|
74
|
-
|
|
75
|
-
Output:
|
|
76
|
-
```
|
|
77
|
-
[coordinator] QA Pipeline Status
|
|
78
|
-
[coordinator] Mode: <pipeline_mode>
|
|
79
|
-
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
80
|
-
[coordinator] GC Rounds: <gc_rounds>/3
|
|
81
|
-
|
|
82
|
-
[coordinator] Pipeline Graph:
|
|
83
|
-
SCOUT-001: <done|run|wait> <summary>
|
|
84
|
-
QASTRAT-001: <done|run|wait> <summary>
|
|
85
|
-
QAGEN-001: <done|run|wait> <summary>
|
|
86
|
-
QARUN-001: <done|run|wait> <summary>
|
|
87
|
-
QAANA-001: <done|run|wait> <summary>
|
|
88
|
-
|
|
89
|
-
[coordinator] Active Workers: <list with elapsed time>
|
|
90
|
-
[coordinator] Ready: <pending tasks with resolved deps>
|
|
91
|
-
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
Then STOP.
|
|
95
|
-
|
|
96
|
-
## handleResume
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
-
|
|
111
|
-
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
1
|
+
# Monitor Pipeline
|
|
2
|
+
|
|
3
|
+
Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
|
|
4
|
+
|
|
5
|
+
## Constants
|
|
6
|
+
|
|
7
|
+
- SPAWN_MODE: background
|
|
8
|
+
- ONE_STEP_PER_INVOCATION: true
|
|
9
|
+
- FAST_ADVANCE_AWARE: true
|
|
10
|
+
- WORKER_AGENT: team-worker
|
|
11
|
+
- MAX_GC_ROUNDS: 3
|
|
12
|
+
|
|
13
|
+
## Handler Router
|
|
14
|
+
|
|
15
|
+
| Source | Handler |
|
|
16
|
+
|--------|---------|
|
|
17
|
+
| Message contains [scout], [strategist], [generator], [executor], [analyst] | handleCallback |
|
|
18
|
+
| "capability_gap" | handleAdapt |
|
|
19
|
+
| "check" or "status" | handleCheck |
|
|
20
|
+
| "resume" or "continue" | handleResume |
|
|
21
|
+
| All tasks completed | handleComplete |
|
|
22
|
+
| Default | handleSpawnNext |
|
|
23
|
+
|
|
24
|
+
## handleCallback
|
|
25
|
+
|
|
26
|
+
Worker completed. Process and advance.
|
|
27
|
+
|
|
28
|
+
1. Parse message to identify role and task ID:
|
|
29
|
+
|
|
30
|
+
| Message Pattern | Role Detection |
|
|
31
|
+
|----------------|---------------|
|
|
32
|
+
| `[scout]` or task ID `SCOUT-*` | scout |
|
|
33
|
+
| `[strategist]` or task ID `QASTRAT-*` | strategist |
|
|
34
|
+
| `[generator]` or task ID `QAGEN-*` | generator |
|
|
35
|
+
| `[executor]` or task ID `QARUN-*` | executor |
|
|
36
|
+
| `[analyst]` or task ID `QAANA-*` | analyst |
|
|
37
|
+
|
|
38
|
+
2. Check if progress update (inner loop) or final completion
|
|
39
|
+
3. Progress -> update session state, STOP
|
|
40
|
+
4. Completion -> mark task done (read `<session>/tasks.json`, set status to "completed", write back), remove from active_workers
|
|
41
|
+
5. Check for checkpoints:
|
|
42
|
+
- QARUN-* completes -> read meta.json for coverage:
|
|
43
|
+
- coverage >= target OR gc_rounds >= MAX_GC_ROUNDS -> proceed to handleSpawnNext
|
|
44
|
+
- coverage < target AND gc_rounds < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds
|
|
45
|
+
|
|
46
|
+
**GC Fix Task Creation** (when coverage below target) -- add new entries to `<session>/tasks.json`:
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"id": "QAGEN-fix-<round>",
|
|
50
|
+
"subject": "QAGEN-fix-<round>: Fix tests for <layer> (GC #<round>)",
|
|
51
|
+
"description": "PURPOSE: Fix failing tests and improve coverage | Success: Coverage meets target\nTASK:\n - Load execution results and failing test details\n - Fix broken tests and add missing coverage\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<layer>.json\nEXPECTED: Fixed test files | Improved coverage\nCONSTRAINTS: Only modify test files | No source changes\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/generator/role.md",
|
|
52
|
+
"status": "pending",
|
|
53
|
+
"owner": "generator",
|
|
54
|
+
"blockedBy": []
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"id": "QARUN-gc-<round>",
|
|
61
|
+
"subject": "QARUN-gc-<round>: Re-execute <layer> (GC #<round>)",
|
|
62
|
+
"description": "PURPOSE: Re-execute tests after fixes | Success: Coverage >= target\nTASK: Execute test suite, measure coverage, report results\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\nEXPECTED: <session>/results/run-<layer>-gc-<round>.json\nCONSTRAINTS: Read-only execution\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/executor/role.md",
|
|
63
|
+
"status": "pending",
|
|
64
|
+
"owner": "executor",
|
|
65
|
+
"blockedBy": ["QAGEN-fix-<round>"]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
6. -> handleSpawnNext
|
|
70
|
+
|
|
71
|
+
## handleCheck
|
|
72
|
+
|
|
73
|
+
Read-only status report, then STOP.
|
|
74
|
+
|
|
75
|
+
Output:
|
|
76
|
+
```
|
|
77
|
+
[coordinator] QA Pipeline Status
|
|
78
|
+
[coordinator] Mode: <pipeline_mode>
|
|
79
|
+
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
80
|
+
[coordinator] GC Rounds: <gc_rounds>/3
|
|
81
|
+
|
|
82
|
+
[coordinator] Pipeline Graph:
|
|
83
|
+
SCOUT-001: <done|run|wait> <summary>
|
|
84
|
+
QASTRAT-001: <done|run|wait> <summary>
|
|
85
|
+
QAGEN-001: <done|run|wait> <summary>
|
|
86
|
+
QARUN-001: <done|run|wait> <summary>
|
|
87
|
+
QAANA-001: <done|run|wait> <summary>
|
|
88
|
+
|
|
89
|
+
[coordinator] Active Workers: <list with elapsed time>
|
|
90
|
+
[coordinator] Ready: <pending tasks with resolved deps>
|
|
91
|
+
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then STOP.
|
|
95
|
+
|
|
96
|
+
## handleResume
|
|
97
|
+
|
|
98
|
+
**Agent Health Check** (v4):
|
|
99
|
+
```
|
|
100
|
+
// Verify actual running agents match session state
|
|
101
|
+
const runningAgents = list_agents({})
|
|
102
|
+
// For each active_agent in tasks.json:
|
|
103
|
+
// - If agent NOT in runningAgents -> agent crashed
|
|
104
|
+
// - Reset that task to pending, remove from active_agents
|
|
105
|
+
// This prevents stale agent references from blocking the pipeline
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
1. No active workers -> handleSpawnNext
|
|
109
|
+
2. Has active -> check each status
|
|
110
|
+
- completed -> mark done (update tasks.json)
|
|
111
|
+
- in_progress -> still running
|
|
112
|
+
3. Some completed -> handleSpawnNext
|
|
113
|
+
4. All running -> report status, STOP
|
|
114
|
+
|
|
115
|
+
## handleSpawnNext
|
|
116
|
+
|
|
117
|
+
Find ready tasks, spawn workers, STOP.
|
|
118
|
+
|
|
119
|
+
1. Collect from `<session>/tasks.json`:
|
|
120
|
+
- completedSubjects: status = completed
|
|
121
|
+
- inProgressSubjects: status = in_progress
|
|
122
|
+
- readySubjects: status = pending AND all blockedBy in completedSubjects
|
|
123
|
+
|
|
124
|
+
2. No ready + work in progress -> report waiting, STOP
|
|
125
|
+
3. No ready + nothing in progress -> handleComplete
|
|
126
|
+
4. Has ready -> for each:
|
|
127
|
+
a. Determine role from task prefix:
|
|
128
|
+
|
|
129
|
+
| Prefix | Role | inner_loop |
|
|
130
|
+
|--------|------|------------|
|
|
131
|
+
| SCOUT-* | scout | false |
|
|
132
|
+
| QASTRAT-* | strategist | false |
|
|
133
|
+
| QAGEN-* | generator | false |
|
|
134
|
+
| QARUN-* | executor | true |
|
|
135
|
+
| QAANA-* | analyst | false |
|
|
136
|
+
|
|
137
|
+
b. Check if inner loop role with active worker -> skip (worker picks up next task)
|
|
138
|
+
c. Update task status to "in_progress" in tasks.json
|
|
139
|
+
d. team_msg log -> task_unblocked
|
|
140
|
+
e. Spawn team-worker:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
spawn_agent({
|
|
144
|
+
agent_type: "team_worker",
|
|
145
|
+
task_name: taskId, // e.g., "SCOUT-001" — enables named targeting
|
|
146
|
+
items: [{
|
|
147
|
+
description: "Spawn <role> worker for <subject>",
|
|
148
|
+
team_name: "quality-assurance",
|
|
149
|
+
name: "<role>",
|
|
150
|
+
prompt: `## Role Assignment
|
|
151
|
+
role: <role>
|
|
152
|
+
role_spec: ~ or <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md
|
|
153
|
+
session: <session-folder>
|
|
154
|
+
session_id: <session-id>
|
|
155
|
+
team_name: quality-assurance
|
|
156
|
+
requirement: <task-description>
|
|
157
|
+
inner_loop: <true|false>
|
|
158
|
+
|
|
159
|
+
## Current Task
|
|
160
|
+
- Task ID: <task-id>
|
|
161
|
+
- Task: <subject>
|
|
162
|
+
|
|
163
|
+
Read role_spec file to load Phase 2-4 domain instructions.
|
|
164
|
+
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
|
|
165
|
+
}]
|
|
166
|
+
})
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
f. Add to active_workers
|
|
170
|
+
5. Update session, output summary, STOP
|
|
171
|
+
6. Use `wait_agent({ targets: [<spawned-task-names>], timeout_ms: 900000 })` to wait for callbacks. If `result.timed_out`, mark tasks as `timed_out` and close agents. Use `close_agent({ target: taskId })` with task_name for cleanup. Workers use `report_agent_job_result()` to send results back.
|
|
172
|
+
|
|
173
|
+
**Cross-Agent Supplementary Context** (v4):
|
|
174
|
+
|
|
175
|
+
When spawning workers in a later pipeline phase, send upstream results as supplementary context to already-running workers:
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
// Example: Send scout results to running strategist
|
|
179
|
+
send_message({
|
|
180
|
+
target: "<running-agent-task-name>",
|
|
181
|
+
items: [{ type: "text", text: `## Supplementary Context\n${upstreamFindings}` }]
|
|
182
|
+
})
|
|
183
|
+
// Note: send_message queues info without interrupting the agent's current work
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Use `send_message` (not `assign_task`) for supplementary info that enriches but doesn't redirect the agent's current task.
|
|
187
|
+
|
|
188
|
+
## handleComplete
|
|
189
|
+
|
|
190
|
+
**Cleanup Verification** (v4):
|
|
191
|
+
```
|
|
192
|
+
// Verify all agents are properly closed
|
|
193
|
+
const remaining = list_agents({})
|
|
194
|
+
// If any team agents still running -> close_agent each
|
|
195
|
+
// Ensures clean session shutdown
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
Pipeline done. Generate report and completion action.
|
|
199
|
+
|
|
200
|
+
1. Verify all tasks (including GC fix/recheck tasks) have status "completed" or "deleted" in tasks.json
|
|
201
|
+
2. If any tasks incomplete -> return to handleSpawnNext
|
|
202
|
+
3. If all complete:
|
|
203
|
+
- Read final state from meta.json (quality_score, coverage, gc_rounds)
|
|
204
|
+
- Generate summary (deliverables, stats, discussions)
|
|
205
|
+
4. Read session.completion_action:
|
|
206
|
+
- interactive -> request_user_input (Archive/Keep/Export)
|
|
207
|
+
- auto_archive -> Archive & Clean (status=completed, remove/archive session folder)
|
|
208
|
+
- auto_keep -> Keep Active (status=paused)
|
|
209
|
+
|
|
210
|
+
## handleAdapt
|
|
211
|
+
|
|
212
|
+
Capability gap reported mid-pipeline.
|
|
213
|
+
|
|
214
|
+
1. Parse gap description
|
|
215
|
+
2. Check if existing role covers it -> redirect
|
|
216
|
+
3. Role count < 6 -> generate dynamic role-spec in <session>/role-specs/
|
|
217
|
+
4. Add new task entry to tasks.json, spawn worker
|
|
218
|
+
5. Role count >= 6 -> merge or pause
|
|
219
|
+
|
|
220
|
+
## Fast-Advance Reconciliation
|
|
221
|
+
|
|
222
|
+
On every coordinator wake:
|
|
223
|
+
1. Read team_msg entries with type="fast_advance"
|
|
224
|
+
2. Sync active_workers with spawned successors
|
|
225
|
+
3. No duplicate spawns
|
|
226
|
+
|
|
227
|
+
## Phase 4: State Persistence
|
|
228
|
+
|
|
229
|
+
After every handler execution:
|
|
230
|
+
1. Reconcile active_workers with actual tasks.json states
|
|
231
|
+
2. Remove entries for completed/deleted tasks
|
|
232
|
+
3. Write updated meta.json
|
|
233
|
+
4. STOP (wait for next callback)
|
|
234
|
+
|
|
235
|
+
## Error Handling
|
|
236
|
+
|
|
237
|
+
| Scenario | Resolution |
|
|
238
|
+
|----------|------------|
|
|
239
|
+
| Session file not found | Error, suggest re-initialization |
|
|
240
|
+
| Worker callback from unknown role | Log info, scan for other completions |
|
|
241
|
+
| Pipeline stall (no ready, no running, has pending) | Check blockedBy chains, report to user |
|
|
242
|
+
| GC loop exceeded | Accept current coverage with warning, proceed |
|
|
243
|
+
| Scout finds 0 issues | Skip to testing mode, proceed to QASTRAT |
|