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.
Files changed (212) hide show
  1. package/.ccw/workflows/cli-tools-usage.md +123 -521
  2. package/.claude/skills/brainstorm/SKILL.md +408 -408
  3. package/.claude/skills/review-cycle/SKILL.md +132 -132
  4. package/.claude/skills/spec-generator/SKILL.md +1 -1
  5. package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  6. package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
  7. package/.claude/skills/team-review/SKILL.md +1 -1
  8. package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
  9. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +1 -1
  10. package/.claude/skills/workflow-plan/SKILL.md +1 -1
  11. package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
  12. package/.codex/skills/analyze-with-file/SKILL.md +966 -966
  13. package/.codex/skills/issue-discover/SKILL.md +361 -361
  14. package/.codex/skills/review-cycle/SKILL.md +1 -1
  15. package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
  16. package/.codex/skills/spec-generator/SKILL.md +425 -425
  17. package/.codex/skills/spec-setup/SKILL.md +669 -669
  18. package/.codex/skills/team-arch-opt/SKILL.md +242 -175
  19. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
  20. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
  21. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
  22. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
  23. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
  24. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
  25. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
  26. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
  27. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
  28. package/.codex/skills/team-brainstorm/SKILL.md +72 -4
  29. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
  30. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
  31. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
  32. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
  33. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
  34. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
  35. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
  36. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
  37. package/.codex/skills/team-coordinate/SKILL.md +71 -3
  38. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
  39. package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
  40. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
  41. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
  42. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
  43. package/.codex/skills/team-designer/SKILL.md +153 -153
  44. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
  45. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
  46. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
  47. package/.codex/skills/team-designer/phases/04-validation.md +320 -320
  48. package/.codex/skills/team-executor/SKILL.md +29 -2
  49. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
  50. package/.codex/skills/team-frontend/SKILL.md +77 -3
  51. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
  52. package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
  53. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
  54. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
  55. package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
  56. package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
  57. package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
  58. package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
  59. package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
  60. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
  62. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
  63. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
  64. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
  65. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
  66. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
  67. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
  68. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
  69. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
  70. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
  71. package/.codex/skills/team-issue/SKILL.md +83 -4
  72. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
  73. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
  74. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
  75. package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
  76. package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
  77. package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
  78. package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
  79. package/.codex/skills/team-issue/roles/planner/role.md +81 -81
  80. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
  81. package/.codex/skills/team-issue/specs/pipelines.md +124 -124
  82. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
  83. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
  84. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  85. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
  86. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
  87. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  88. package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
  89. package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
  90. package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
  91. package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
  92. package/.codex/skills/team-perf-opt/SKILL.md +68 -3
  93. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
  94. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
  95. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
  96. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
  97. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
  98. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
  99. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
  100. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
  101. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
  102. package/.codex/skills/team-planex/SKILL.md +65 -3
  103. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
  104. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
  105. package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
  106. package/.codex/skills/team-planex/roles/executor/role.md +91 -91
  107. package/.codex/skills/team-planex/roles/planner/role.md +112 -112
  108. package/.codex/skills/team-planex/specs/pipelines.md +93 -93
  109. package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
  110. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
  111. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
  112. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
  113. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
  114. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
  115. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
  116. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
  117. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
  118. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
  119. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
  120. package/.codex/skills/team-review/SKILL.md +58 -3
  121. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
  122. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
  123. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
  124. package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
  125. package/.codex/skills/team-review/roles/fixer/role.md +76 -76
  126. package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
  127. package/.codex/skills/team-review/roles/scanner/role.md +71 -71
  128. package/.codex/skills/team-review/specs/pipelines.md +102 -102
  129. package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
  130. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
  131. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
  132. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
  133. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
  134. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
  135. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
  136. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
  137. package/.codex/skills/team-tech-debt/SKILL.md +56 -3
  138. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
  139. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
  140. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
  141. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
  142. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
  143. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
  144. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
  145. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
  146. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
  147. package/.codex/skills/team-testing/SKILL.md +72 -3
  148. package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
  149. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
  150. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
  151. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
  152. package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
  153. package/.codex/skills/team-testing/roles/executor/role.md +96 -96
  154. package/.codex/skills/team-testing/roles/generator/role.md +95 -95
  155. package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
  156. package/.codex/skills/team-testing/specs/pipelines.md +101 -101
  157. package/.codex/skills/team-uidesign/SKILL.md +65 -3
  158. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
  159. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
  160. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
  161. package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
  162. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
  163. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
  164. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
  165. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
  166. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
  167. package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
  168. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
  169. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
  170. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
  171. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
  172. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
  173. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
  174. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
  175. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
  176. package/.codex/skills/team-ux-improve/SKILL.md +64 -3
  177. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
  178. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
  179. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
  180. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
  181. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
  182. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
  183. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
  184. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
  185. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
  186. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
  187. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
  188. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
  189. package/README.md +1 -0
  190. package/package.json +1 -1
  191. package/.claude/skills/team-iterdev/SKILL.md +0 -127
  192. package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
  193. package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  194. package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
  195. package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
  196. package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
  197. package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
  198. package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
  199. package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
  200. package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
  201. package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
  202. package/.codex/skills/team-iterdev/SKILL.md +0 -158
  203. package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
  204. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  205. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
  206. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -186
  207. package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -181
  208. package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
  209. package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
  210. package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
  211. package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
  212. 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
- 1. No active workers -> handleSpawnNext
99
- 2. Has active -> check each status
100
- - completed -> mark done (update tasks.json)
101
- - in_progress -> still running
102
- 3. Some completed -> handleSpawnNext
103
- 4. All running -> report status, STOP
104
-
105
- ## handleSpawnNext
106
-
107
- Find ready tasks, spawn workers, STOP.
108
-
109
- 1. Collect from `<session>/tasks.json`:
110
- - completedSubjects: status = completed
111
- - inProgressSubjects: status = in_progress
112
- - readySubjects: status = pending AND all blockedBy in completedSubjects
113
-
114
- 2. No ready + work in progress -> report waiting, STOP
115
- 3. No ready + nothing in progress -> handleComplete
116
- 4. Has ready -> for each:
117
- a. Determine role from task prefix:
118
-
119
- | Prefix | Role | inner_loop |
120
- |--------|------|------------|
121
- | SCOUT-* | scout | false |
122
- | QASTRAT-* | strategist | false |
123
- | QAGEN-* | generator | false |
124
- | QARUN-* | executor | true |
125
- | QAANA-* | analyst | false |
126
-
127
- b. Check if inner loop role with active worker -> skip (worker picks up next task)
128
- c. Update task status to "in_progress" in tasks.json
129
- d. team_msg log -> task_unblocked
130
- e. Spawn team-worker:
131
-
132
- ```
133
- spawn_agent({
134
- agent_type: "team_worker",
135
- items: [{
136
- description: "Spawn <role> worker for <subject>",
137
- team_name: "quality-assurance",
138
- name: "<role>",
139
- prompt: `## Role Assignment
140
- role: <role>
141
- role_spec: ~ or <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md
142
- session: <session-folder>
143
- session_id: <session-id>
144
- team_name: quality-assurance
145
- requirement: <task-description>
146
- inner_loop: <true|false>
147
-
148
- ## Current Task
149
- - Task ID: <task-id>
150
- - Task: <subject>
151
-
152
- Read role_spec file to load Phase 2-4 domain instructions.
153
- Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
154
- }]
155
- })
156
- ```
157
-
158
- f. Add to active_workers
159
- 5. Update session, output summary, STOP
160
- 6. Use `wait_agent({ ids: [<spawned-agent-ids>] })` to wait for callbacks. Workers use `report_agent_job_result()` to send results back.
161
-
162
- ## handleComplete
163
-
164
- Pipeline done. Generate report and completion action.
165
-
166
- 1. Verify all tasks (including GC fix/recheck tasks) have status "completed" or "deleted" in tasks.json
167
- 2. If any tasks incomplete -> return to handleSpawnNext
168
- 3. If all complete:
169
- - Read final state from meta.json (quality_score, coverage, gc_rounds)
170
- - Generate summary (deliverables, stats, discussions)
171
- 4. Read session.completion_action:
172
- - interactive -> request_user_input (Archive/Keep/Export)
173
- - auto_archive -> Archive & Clean (status=completed, remove/archive session folder)
174
- - auto_keep -> Keep Active (status=paused)
175
-
176
- ## handleAdapt
177
-
178
- Capability gap reported mid-pipeline.
179
-
180
- 1. Parse gap description
181
- 2. Check if existing role covers it -> redirect
182
- 3. Role count < 6 -> generate dynamic role-spec in <session>/role-specs/
183
- 4. Add new task entry to tasks.json, spawn worker
184
- 5. Role count >= 6 -> merge or pause
185
-
186
- ## Fast-Advance Reconciliation
187
-
188
- On every coordinator wake:
189
- 1. Read team_msg entries with type="fast_advance"
190
- 2. Sync active_workers with spawned successors
191
- 3. No duplicate spawns
192
-
193
- ## Phase 4: State Persistence
194
-
195
- After every handler execution:
196
- 1. Reconcile active_workers with actual tasks.json states
197
- 2. Remove entries for completed/deleted tasks
198
- 3. Write updated meta.json
199
- 4. STOP (wait for next callback)
200
-
201
- ## Error Handling
202
-
203
- | Scenario | Resolution |
204
- |----------|------------|
205
- | Session file not found | Error, suggest re-initialization |
206
- | Worker callback from unknown role | Log info, scan for other completions |
207
- | Pipeline stall (no ready, no running, has pending) | Check blockedBy chains, report to user |
208
- | GC loop exceeded | Accept current coverage with warning, proceed |
209
- | Scout finds 0 issues | Skip to testing mode, proceed to QASTRAT |
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 |