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,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 |