claude-code-workflow 7.2.23 → 7.2.24

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 (181) hide show
  1. package/.codex/skills/team-arch-opt/SKILL.md +242 -175
  2. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
  3. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
  4. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
  5. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
  6. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
  7. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
  8. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
  9. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
  10. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
  11. package/.codex/skills/team-brainstorm/SKILL.md +72 -4
  12. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
  13. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
  14. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
  15. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
  16. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
  17. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
  18. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
  19. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
  20. package/.codex/skills/team-coordinate/SKILL.md +71 -3
  21. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
  22. package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
  23. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
  24. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
  25. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
  26. package/.codex/skills/team-designer/SKILL.md +153 -153
  27. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
  28. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
  29. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
  30. package/.codex/skills/team-designer/phases/04-validation.md +320 -320
  31. package/.codex/skills/team-executor/SKILL.md +29 -2
  32. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
  33. package/.codex/skills/team-frontend/SKILL.md +77 -3
  34. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
  35. package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
  36. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
  37. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
  38. package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
  39. package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
  40. package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
  41. package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
  42. package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
  43. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
  44. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
  45. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
  46. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
  47. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
  48. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
  49. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
  50. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
  51. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
  52. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
  53. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
  54. package/.codex/skills/team-issue/SKILL.md +83 -4
  55. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
  56. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
  57. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
  58. package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
  59. package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
  60. package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
  61. package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
  62. package/.codex/skills/team-issue/roles/planner/role.md +81 -81
  63. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
  64. package/.codex/skills/team-issue/specs/pipelines.md +124 -124
  65. package/.codex/skills/team-iterdev/SKILL.md +64 -3
  66. package/.codex/skills/team-iterdev/roles/architect/role.md +65 -65
  67. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -62
  68. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +227 -186
  69. package/.codex/skills/team-iterdev/roles/coordinator/role.md +193 -181
  70. package/.codex/skills/team-iterdev/roles/developer/role.md +74 -74
  71. package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -66
  72. package/.codex/skills/team-iterdev/roles/tester/role.md +88 -88
  73. package/.codex/skills/team-iterdev/specs/pipelines.md +94 -94
  74. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
  75. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
  76. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  77. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
  78. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
  79. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  80. package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
  81. package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
  82. package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
  83. package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
  84. package/.codex/skills/team-perf-opt/SKILL.md +68 -3
  85. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
  86. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
  87. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
  88. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
  89. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
  90. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
  91. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
  92. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
  93. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
  94. package/.codex/skills/team-planex/SKILL.md +65 -3
  95. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
  96. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
  97. package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
  98. package/.codex/skills/team-planex/roles/executor/role.md +91 -91
  99. package/.codex/skills/team-planex/roles/planner/role.md +112 -112
  100. package/.codex/skills/team-planex/specs/pipelines.md +93 -93
  101. package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
  102. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
  103. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
  104. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
  105. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
  106. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
  107. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
  108. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
  109. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
  110. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
  111. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
  112. package/.codex/skills/team-review/SKILL.md +58 -3
  113. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
  114. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
  115. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
  116. package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
  117. package/.codex/skills/team-review/roles/fixer/role.md +76 -76
  118. package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
  119. package/.codex/skills/team-review/roles/scanner/role.md +71 -71
  120. package/.codex/skills/team-review/specs/pipelines.md +102 -102
  121. package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
  122. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
  123. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
  124. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
  125. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
  126. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
  127. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
  128. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
  129. package/.codex/skills/team-tech-debt/SKILL.md +56 -3
  130. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
  131. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
  132. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
  133. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
  134. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
  135. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
  136. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
  137. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
  138. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
  139. package/.codex/skills/team-testing/SKILL.md +72 -3
  140. package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
  141. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
  142. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
  143. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
  144. package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
  145. package/.codex/skills/team-testing/roles/executor/role.md +96 -96
  146. package/.codex/skills/team-testing/roles/generator/role.md +95 -95
  147. package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
  148. package/.codex/skills/team-testing/specs/pipelines.md +101 -101
  149. package/.codex/skills/team-uidesign/SKILL.md +65 -3
  150. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
  151. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
  152. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
  153. package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
  154. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
  155. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
  156. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
  157. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
  158. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
  159. package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
  160. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
  161. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
  162. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
  163. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
  164. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
  165. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
  166. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
  167. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
  168. package/.codex/skills/team-ux-improve/SKILL.md +64 -3
  169. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
  170. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
  171. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
  172. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
  173. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
  174. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
  175. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
  176. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
  177. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
  178. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
  179. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
  180. package/README.md +1 -0
  181. package/package.json +1 -1
@@ -1,194 +1,235 @@
1
- # Monitor Pipeline
2
-
3
- Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
4
-
5
- ## Constants
6
-
7
- - SPAWN_MODE: spawn_agent
8
- - ONE_STEP_PER_INVOCATION: true
9
- - FAST_ADVANCE_AWARE: true
10
- - WORKER_AGENT: team_worker
11
- - MAX_FIX_CYCLES: 2
12
-
13
- ## Handler Router
14
-
15
- | Source | Handler |
16
- |--------|---------|
17
- | Message contains [explorer], [planner], [reviewer], [integrator], [implementer] | handleCallback |
18
- | "consensus_blocked" | handleConsensus |
19
- | "capability_gap" | handleAdapt |
20
- | "check" or "status" | handleCheck |
21
- | "resume" or "continue" | handleResume |
22
- | All tasks completed | handleComplete |
23
- | Default | handleSpawnNext |
24
-
25
- ## handleCallback
26
-
27
- Worker completed. Process and advance.
28
-
29
- 1. Parse message to identify role and task ID:
30
-
31
- | Message Pattern | Role Detection |
32
- |----------------|---------------|
33
- | `[explorer]` or task ID `EXPLORE-*` | explorer |
34
- | `[planner]` or task ID `SOLVE-*` | planner |
35
- | `[reviewer]` or task ID `AUDIT-*` | reviewer |
36
- | `[integrator]` or task ID `MARSHAL-*` | integrator |
37
- | `[implementer]` or task ID `BUILD-*` | implementer |
38
-
39
- 2. Mark task as completed: Read tasks.json, update matching entry status to "completed", write back
40
- 3. Record completion in session state
41
-
42
- 4. **Review gate check** (when reviewer completes):
43
- - If completed task is AUDIT-* AND pipeline is full or batch:
44
- - Read audit report from `<session>/audits/audit-report.json`
45
- - Read .msg/meta.json for fix_cycles
46
-
47
- | Verdict | fix_cycles < max | Action |
48
- |---------|-----------------|--------|
49
- | rejected | Yes | Increment fix_cycles, create SOLVE-fix + AUDIT re-review tasks (add to tasks.json per dispatch.md Review-Fix Cycle), proceed to handleSpawnNext |
50
- | rejected | No (>= max) | Force proceed -- log warning, unblock MARSHAL |
51
- | concerns | - | Log concerns, proceed to MARSHAL (non-blocking) |
52
- | approved | - | Proceed to MARSHAL via handleSpawnNext |
53
-
54
- - Log team_msg with type "review_result" or "fix_required"
55
- - If force proceeding past rejection, mark skipped fix tasks as completed (skip)
56
-
57
- 5. **Deferred BUILD task creation** (when integrator completes):
58
- - If completed task is MARSHAL-* AND pipeline is batch:
59
- - Read execution queue from `.workflow/issues/queue/execution-queue.json`
60
- - Parse parallel_groups to determine BUILD task count M
61
- - Create BUILD-001..M tasks dynamically (add to tasks.json per dispatch.md Batch Pipeline BUILD section)
62
- - Proceed to handleSpawnNext
63
-
64
- 6. Close completed agent: `close_agent({ id: <agentId> })`
65
- 7. Proceed to handleSpawnNext
66
-
67
- ## handleCheck
68
-
69
- Read-only status report, then STOP.
70
-
71
- ```
72
- [coordinator] Pipeline Status (<pipeline-mode>)
73
- [coordinator] Progress: <done>/<total> (<pct>%)
74
- [coordinator] Active: <workers with elapsed time>
75
- [coordinator] Ready: <pending tasks with resolved deps>
76
- [coordinator] Fix Cycles: <fix_cycles>/<max_fix_cycles>
77
- [coordinator] Commands: 'resume' to advance | 'check' to refresh
78
- ```
79
-
80
- ## handleResume
81
-
82
- 1. Audit task list: Tasks stuck in "in_progress" -> reset to "pending"
83
- 2. Proceed to handleSpawnNext
84
-
85
- ## handleSpawnNext
86
-
87
- Find ready tasks, spawn workers, STOP.
88
-
89
- 1. Collect: completedSubjects, inProgressSubjects, readySubjects
90
- 2. No ready + work in progress -> report waiting, STOP
91
- 3. No ready + nothing in progress -> handleComplete
92
- 4. Has ready -> for each:
93
- a. Update tasks.json entry status -> "in_progress"
94
- b. team_msg log -> task_unblocked
95
- c. Spawn team_worker:
96
- ```
97
- const agentId = spawn_agent({
98
- agent_type: "team_worker",
99
- items: [{ type: "text", text: `## Role Assignment
100
- role: <role>
101
- role_spec: ~ or <project>/.codex/skills/team-issue/roles/<role>/role.md
102
- session: <session-folder>
103
- session_id: <session-id>
104
- team_name: issue
105
- requirement: <task-description>
106
- inner_loop: false
107
-
108
- Read role_spec file to load Phase 2-4 domain instructions.
109
- Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` }]
110
- })
111
- ```
112
- d. Collect results: `wait_agent({ ids: [agentId], timeout_ms: 900000 })`
113
- e. Read discoveries from output files
114
- f. Update tasks.json with results
115
- g. Close agent: `close_agent({ id: agentId })`
116
-
117
- 5. Parallel spawn rules:
118
-
119
- | Pipeline | Scenario | Spawn Behavior |
120
- |----------|----------|---------------|
121
- | Quick | All stages | One worker at a time |
122
- | Full | All stages | One worker at a time |
123
- | Batch | EXPLORE-001..N unblocked | Spawn ALL N explorer workers in parallel (max 5) |
124
- | Batch | BUILD-001..M unblocked | Spawn ALL M implementer workers in parallel (max 3) |
125
- | Batch | Other stages | One worker at a time |
126
-
127
- **Parallel spawn** (Batch mode with multiple ready tasks for same role):
128
- ```
129
- const agentIds = []
130
- for (const task of readyTasks) {
131
- agentIds.push(spawn_agent({
132
- agent_type: "team_worker",
133
- items: [{ type: "text", text: `## Role Assignment
134
- role: <role>
135
- role_spec: ~ or <project>/.codex/skills/team-issue/roles/<role>/role.md
136
- session: <session-folder>
137
- session_id: <session-id>
138
- team_name: issue
139
- requirement: <task-description>
140
- agent_name: <role>-<N>
141
- inner_loop: false
142
-
143
- Read role_spec file to load Phase 2-4 domain instructions.
144
- Execute built-in Phase 1 (task discovery, owner=<role>-<N>) -> role Phase 2-4 -> built-in Phase 5 (report).` }]
145
- }))
146
- }
147
- const results = wait_agent({ ids: agentIds, timeout_ms: 900000 })
148
- // Process results, close agents
149
- for (const id of agentIds) { close_agent({ id }) }
150
- ```
151
-
152
- 6. Update session, output summary, STOP
153
-
154
- ## handleComplete
155
-
156
- Pipeline done. Generate report and completion action.
157
-
158
- Completion check by mode:
159
- | Mode | Completion Condition |
160
- |------|---------------------|
161
- | quick | All 4 tasks completed |
162
- | full | All 5 tasks (+ any fix cycle tasks) completed |
163
- | batch | All N EXPLORE + N SOLVE + 1 AUDIT + 1 MARSHAL + M BUILD (+ any fix cycle tasks) completed |
164
-
165
- 1. Verify all tasks completed via reading tasks.json
166
- 2. If any tasks not completed, return to handleSpawnNext
167
- 3. If all completed -> transition to coordinator Phase 5
168
-
169
- ## handleConsensus
170
-
171
- Handle consensus_blocked signals.
172
-
173
- | Severity | Action |
174
- |----------|--------|
175
- | HIGH | Pause pipeline, notify user with findings summary |
176
- | MEDIUM | Log finding, attempt to continue |
177
- | LOW | Log finding, continue pipeline |
178
-
179
- ## handleAdapt
180
-
181
- Capability gap reported mid-pipeline.
182
-
183
- 1. Parse gap description
184
- 2. Check if existing role covers it -> redirect
185
- 3. Role count < 6 -> generate dynamic role-spec in <session>/role-specs/
186
- 4. Create new task (add to tasks.json), spawn worker
187
- 5. Role count >= 6 -> merge or pause
188
-
189
- ## Fast-Advance Reconciliation
190
-
191
- On every coordinator wake:
192
- 1. Read team_msg entries with type="fast_advance"
193
- 2. Sync active_workers with spawned successors
194
- 3. No duplicate spawns
1
+ # Monitor Pipeline
2
+
3
+ Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
4
+
5
+ ## Constants
6
+
7
+ - SPAWN_MODE: spawn_agent
8
+ - ONE_STEP_PER_INVOCATION: true
9
+ - FAST_ADVANCE_AWARE: true
10
+ - WORKER_AGENT: team_worker
11
+ - MAX_FIX_CYCLES: 2
12
+
13
+ ## Handler Router
14
+
15
+ | Source | Handler |
16
+ |--------|---------|
17
+ | Message contains [explorer], [planner], [reviewer], [integrator], [implementer] | handleCallback |
18
+ | "consensus_blocked" | handleConsensus |
19
+ | "capability_gap" | handleAdapt |
20
+ | "check" or "status" | handleCheck |
21
+ | "resume" or "continue" | handleResume |
22
+ | All tasks completed | handleComplete |
23
+ | Default | handleSpawnNext |
24
+
25
+ ## handleCallback
26
+
27
+ Worker completed. Process and advance.
28
+
29
+ 1. Parse message to identify role and task ID:
30
+
31
+ | Message Pattern | Role Detection |
32
+ |----------------|---------------|
33
+ | `[explorer]` or task ID `EXPLORE-*` | explorer |
34
+ | `[planner]` or task ID `SOLVE-*` | planner |
35
+ | `[reviewer]` or task ID `AUDIT-*` | reviewer |
36
+ | `[integrator]` or task ID `MARSHAL-*` | integrator |
37
+ | `[implementer]` or task ID `BUILD-*` | implementer |
38
+
39
+ 2. Mark task as completed: Read tasks.json, update matching entry status to "completed", write back
40
+ 3. Record completion in session state
41
+
42
+ 4. **Review gate check** (when reviewer completes):
43
+ - If completed task is AUDIT-* AND pipeline is full or batch:
44
+ - Read audit report from `<session>/audits/audit-report.json`
45
+ - Read .msg/meta.json for fix_cycles
46
+
47
+ | Verdict | fix_cycles < max | Action |
48
+ |---------|-----------------|--------|
49
+ | rejected | Yes | Increment fix_cycles, create SOLVE-fix + AUDIT re-review tasks (add to tasks.json per dispatch.md Review-Fix Cycle), proceed to handleSpawnNext |
50
+ | rejected | No (>= max) | Force proceed -- log warning, unblock MARSHAL |
51
+ | concerns | - | Log concerns, proceed to MARSHAL (non-blocking) |
52
+ | approved | - | Proceed to MARSHAL via handleSpawnNext |
53
+
54
+ - Log team_msg with type "review_result" or "fix_required"
55
+ - If force proceeding past rejection, mark skipped fix tasks as completed (skip)
56
+
57
+ 5. **Deferred BUILD task creation** (when integrator completes):
58
+ - If completed task is MARSHAL-* AND pipeline is batch:
59
+ - Read execution queue from `.workflow/issues/queue/execution-queue.json`
60
+ - Parse parallel_groups to determine BUILD task count M
61
+ - Create BUILD-001..M tasks dynamically (add to tasks.json per dispatch.md Batch Pipeline BUILD section)
62
+ - Proceed to handleSpawnNext
63
+
64
+ 6. Close completed agent: `close_agent({ target: <agentId> })`
65
+ 7. Proceed to handleSpawnNext
66
+
67
+ ## handleCheck
68
+
69
+ Read-only status report, then STOP.
70
+
71
+ ```
72
+ [coordinator] Pipeline Status (<pipeline-mode>)
73
+ [coordinator] Progress: <done>/<total> (<pct>%)
74
+ [coordinator] Active: <workers with elapsed time>
75
+ [coordinator] Ready: <pending tasks with resolved deps>
76
+ [coordinator] Fix Cycles: <fix_cycles>/<max_fix_cycles>
77
+ [coordinator] Commands: 'resume' to advance | 'check' to refresh
78
+ ```
79
+
80
+ ## handleResume
81
+
82
+ **Agent Health Check** (v4):
83
+ ```
84
+ // Verify actual running agents match session state
85
+ const runningAgents = list_agents({})
86
+ // For each active_agent in tasks.json:
87
+ // - If agent NOT in runningAgents -> agent crashed
88
+ // - Reset that task to pending, remove from active_agents
89
+ // This prevents stale agent references from blocking the pipeline
90
+ ```
91
+
92
+ 1. Audit task list: Tasks stuck in "in_progress" -> reset to "pending"
93
+ 2. Proceed to handleSpawnNext
94
+
95
+ ## handleSpawnNext
96
+
97
+ Find ready tasks, spawn workers, STOP.
98
+
99
+ 1. Collect: completedSubjects, inProgressSubjects, readySubjects
100
+ 2. No ready + work in progress -> report waiting, STOP
101
+ 3. No ready + nothing in progress -> handleComplete
102
+ 4. Has ready -> for each:
103
+ a. Update tasks.json entry status -> "in_progress"
104
+ b. team_msg log -> task_unblocked
105
+ c. Spawn team_worker:
106
+ ```
107
+ const agentId = spawn_agent({
108
+ agent_type: "team_worker",
109
+ task_name: taskId, // e.g., "EXPLORE-001" enables named targeting
110
+ items: [{ type: "text", text: `## Role Assignment
111
+ role: <role>
112
+ role_spec: ~ or <project>/.codex/skills/team-issue/roles/<role>/role.md
113
+ session: <session-folder>
114
+ session_id: <session-id>
115
+ team_name: issue
116
+ requirement: <task-description>
117
+ inner_loop: false
118
+
119
+ Read role_spec file to load Phase 2-4 domain instructions.
120
+ Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` }]
121
+ })
122
+ ```
123
+ d. Collect results: `wait_agent({ targets: [taskId], timeout_ms: 900000 })`
124
+ e. Read discoveries from output files
125
+ f. Update tasks.json with results
126
+ g. Close agent: `close_agent({ target: taskId })` // Use task_name, not agentId
127
+
128
+ 5. Parallel spawn rules:
129
+
130
+ | Pipeline | Scenario | Spawn Behavior |
131
+ |----------|----------|---------------|
132
+ | Quick | All stages | One worker at a time |
133
+ | Full | All stages | One worker at a time |
134
+ | Batch | EXPLORE-001..N unblocked | Spawn ALL N explorer workers in parallel (max 5) |
135
+ | Batch | BUILD-001..M unblocked | Spawn ALL M implementer workers in parallel (max 3) |
136
+ | Batch | Other stages | One worker at a time |
137
+
138
+ **Parallel spawn** (Batch mode with multiple ready tasks for same role):
139
+ ```
140
+ const agentIds = []
141
+ for (const task of readyTasks) {
142
+ agentIds.push(spawn_agent({
143
+ agent_type: "team_worker",
144
+ task_name: task.id, // e.g., "EXPLORE-001" enables named targeting
145
+ items: [{ type: "text", text: `## Role Assignment
146
+ role: <role>
147
+ role_spec: ~ or <project>/.codex/skills/team-issue/roles/<role>/role.md
148
+ session: <session-folder>
149
+ session_id: <session-id>
150
+ team_name: issue
151
+ requirement: <task-description>
152
+ agent_name: <role>-<N>
153
+ inner_loop: false
154
+
155
+ Read role_spec file to load Phase 2-4 domain instructions.
156
+ Execute built-in Phase 1 (task discovery, owner=<role>-<N>) -> role Phase 2-4 -> built-in Phase 5 (report).` }]
157
+ }))
158
+ }
159
+ // Use task_name for stable targeting (v4)
160
+ const taskNames = readyTasks.map(t => t.id)
161
+ const results = wait_agent({ targets: taskNames, timeout_ms: 900000 })
162
+ if (results.timed_out) {
163
+ for (const taskId of taskNames) { state.tasks[taskId].status = 'timed_out'; close_agent({ target: taskId }) }
164
+ } else {
165
+ // Process results, close agents
166
+ for (const taskId of taskNames) { close_agent({ target: taskId }) }
167
+ }
168
+ ```
169
+
170
+ **Cross-Agent Supplementary Context** (v4):
171
+
172
+ When spawning workers in a later pipeline phase, send upstream results as supplementary context to already-running workers:
173
+
174
+ ```
175
+ // Example: Send exploration results to running planner
176
+ send_message({
177
+ target: "<running-agent-task-name>",
178
+ items: [{ type: "text", text: `## Supplementary Context\n${upstreamFindings}` }]
179
+ })
180
+ // Note: send_message queues info without interrupting the agent's current work
181
+ ```
182
+
183
+ Use `send_message` (not `assign_task`) for supplementary info that enriches but doesn't redirect the agent's current task.
184
+
185
+ 6. Update session, output summary, STOP
186
+
187
+ ## handleComplete
188
+
189
+ **Cleanup Verification** (v4):
190
+ ```
191
+ // Verify all agents are properly closed
192
+ const remaining = list_agents({})
193
+ // If any team agents still running -> close_agent each
194
+ // Ensures clean session shutdown
195
+ ```
196
+
197
+ Pipeline done. Generate report and completion action.
198
+
199
+ Completion check by mode:
200
+ | Mode | Completion Condition |
201
+ |------|---------------------|
202
+ | quick | All 4 tasks completed |
203
+ | full | All 5 tasks (+ any fix cycle tasks) completed |
204
+ | batch | All N EXPLORE + N SOLVE + 1 AUDIT + 1 MARSHAL + M BUILD (+ any fix cycle tasks) completed |
205
+
206
+ 1. Verify all tasks completed via reading tasks.json
207
+ 2. If any tasks not completed, return to handleSpawnNext
208
+ 3. If all completed -> transition to coordinator Phase 5
209
+
210
+ ## handleConsensus
211
+
212
+ Handle consensus_blocked signals.
213
+
214
+ | Severity | Action |
215
+ |----------|--------|
216
+ | HIGH | Pause pipeline, notify user with findings summary |
217
+ | MEDIUM | Log finding, attempt to continue |
218
+ | LOW | Log finding, continue pipeline |
219
+
220
+ ## handleAdapt
221
+
222
+ Capability gap reported mid-pipeline.
223
+
224
+ 1. Parse gap description
225
+ 2. Check if existing role covers it -> redirect
226
+ 3. Role count < 6 -> generate dynamic role-spec in <session>/role-specs/
227
+ 4. Create new task (add to tasks.json), spawn worker
228
+ 5. Role count >= 6 -> merge or pause
229
+
230
+ ## Fast-Advance Reconciliation
231
+
232
+ On every coordinator wake:
233
+ 1. Read team_msg entries with type="fast_advance"
234
+ 2. Sync active_workers with spawned successors
235
+ 3. No duplicate spawns