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,231 +1,272 @@
1
- # Monitor Pipeline
2
-
3
- Synchronous pipeline coordination using spawn_agent + wait_agent.
4
-
5
- ## Constants
6
-
7
- - WORKER_AGENT: team_worker
8
- - ONE_STEP_PER_INVOCATION: false (synchronous wait loop)
9
- - FAST_ADVANCE_AWARE: true
10
- - MAX_GC_ROUNDS: 3
11
-
12
- ## Handler Router
13
-
14
- | Source | Handler |
15
- |--------|---------|
16
- | "capability_gap" | handleAdapt |
17
- | "check" or "status" | handleCheck |
18
- | "resume" or "continue" | handleResume |
19
- | All tasks completed | handleComplete |
20
- | Default | handleSpawnNext |
21
-
22
- ## handleCheck
23
-
24
- Read-only status report from tasks.json, then STOP.
25
-
26
- 1. Read tasks.json
27
- 2. Count tasks by status (pending, in_progress, completed, failed)
28
-
29
- ```
30
- Pipeline Status (<mode>):
31
- [DONE] TDSCAN-001 (scanner) -> scan complete
32
- [DONE] TDEVAL-001 (assessor) -> assessment ready
33
- [RUN] TDPLAN-001 (planner) -> planning...
34
- [WAIT] TDFIX-001 (executor) -> blocked by TDPLAN-001
35
- [WAIT] TDVAL-001 (validator) -> blocked by TDFIX-001
36
-
37
- GC Rounds: 0/3
38
- Session: <session-id>
39
- Commands: 'resume' to advance | 'check' to refresh
40
- ```
41
-
42
- Output status -- do NOT advance pipeline.
43
-
44
- ## handleResume
45
-
46
- 1. Read tasks.json, check active_agents
47
- 2. Tasks stuck in "in_progress" -> reset to "pending"
48
- 3. Tasks with completed deps but still "pending" -> include in spawn list
49
- 4. -> handleSpawnNext
50
-
51
- ## handleSpawnNext
52
-
53
- Find ready tasks, spawn workers, wait for completion, process results.
54
-
55
- 1. Read tasks.json
56
- 2. Collect: completedTasks, inProgressTasks, readyTasks (pending + all deps completed)
57
- 3. No ready + work in progress -> report waiting, STOP
58
- 4. No ready + nothing in progress -> handleComplete
59
- 5. Has ready -> for each:
60
- a. Check inner loop role with active worker -> skip (worker picks up)
61
- b. Update task status in tasks.json -> in_progress
62
- c. team_msg log -> task_unblocked
63
-
64
- ### Spawn Workers
65
-
66
- For each ready task:
67
-
68
- ```javascript
69
- // 1) Update status in tasks.json
70
- state.tasks[taskId].status = 'in_progress'
71
-
72
- // 2) Spawn worker
73
- const agentId = spawn_agent({
74
- agent_type: "team_worker",
75
- items: [
76
- { type: "text", text: `## Role Assignment
77
- role: ${task.role}
78
- role_spec: ${skillRoot}/roles/${task.role}/role.md
79
- session: ${sessionFolder}
80
- session_id: ${sessionId}
81
- team_name: tech-debt
82
- requirement: ${task.description}
83
- inner_loop: ${task.role === 'executor'}` },
84
-
85
- { type: "text", text: `Read role_spec file (${skillRoot}/roles/${task.role}/role.md) to load Phase 2-4 domain instructions.
86
- Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` },
87
-
88
- { type: "text", text: `## Task Context
89
- task_id: ${taskId}
90
- title: ${task.title}
91
- description: ${task.description}` },
92
-
93
- { type: "text", text: `## Upstream Context\n${prevContext}` }
94
- ]
95
- })
96
-
97
- // 3) Track agent
98
- state.active_agents[taskId] = { agentId, role: task.role, started_at: now }
99
- ```
100
-
101
- Stage-to-role mapping:
102
- | Task Prefix | Role |
103
- |-------------|------|
104
- | TDSCAN | scanner |
105
- | TDEVAL | assessor |
106
- | TDPLAN | planner |
107
- | TDFIX | executor |
108
- | TDVAL | validator |
109
-
110
- ### Wait and Process Results
111
-
112
- After spawning all ready tasks:
113
-
114
- ```javascript
115
- // 4) Batch wait for all spawned workers
116
- const agentIds = Object.values(state.active_agents).map(a => a.agentId)
117
- wait_agent({ ids: agentIds, timeout_ms: 900000 })
118
-
119
- // 5) Collect results
120
- for (const [taskId, agent] of Object.entries(state.active_agents)) {
121
- state.tasks[taskId].status = 'completed'
122
- close_agent({ id: agent.agentId })
123
- delete state.active_agents[taskId]
124
- }
125
- ```
126
-
127
- ### Checkpoint Processing
128
-
129
- After task completion, check for checkpoints:
130
-
131
- - **TDPLAN-001 completes** -> Plan Approval Gate:
132
- ```javascript
133
- request_user_input({
134
- questions: [{
135
- question: "Remediation plan generated. Review and decide:",
136
- header: "Plan Review",
137
- multiSelect: false,
138
- options: [
139
- { label: "Approve", description: "Proceed with fix execution" },
140
- { label: "Revise", description: "Re-run planner with feedback" },
141
- { label: "Abort", description: "Stop pipeline" }
142
- ]
143
- }]
144
- })
145
- ```
146
- - Approve -> Worktree Creation -> continue handleSpawnNext loop
147
- - Revise -> Add TDPLAN-revised task to tasks.json -> continue
148
- - Abort -> Log shutdown -> handleComplete
149
-
150
- - **Worktree Creation** (before TDFIX):
151
- ```
152
- Bash("git worktree add .worktrees/TD-<slug>-<date> -b tech-debt/TD-<slug>-<date>")
153
- ```
154
- Update .msg/meta.json with worktree info.
155
-
156
- - **TDVAL-* completes** -> GC Loop Check:
157
- Read validation results from .msg/meta.json
158
-
159
- | Condition | Action |
160
- |-----------|--------|
161
- | No regressions | -> continue (pipeline complete) |
162
- | Regressions AND gc_rounds < 3 | Add fix-verify tasks to tasks.json, increment gc_rounds |
163
- | Regressions AND gc_rounds >= 3 | Accept current state -> handleComplete |
164
-
165
- Fix-Verify Task Creation (add to tasks.json):
166
- ```json
167
- {
168
- "TDFIX-fix-<round>": {
169
- "title": "Fix regressions (Fix-Verify #<round>)",
170
- "description": "PURPOSE: Fix regressions | Session: <session>",
171
- "role": "executor",
172
- "prefix": "TDFIX",
173
- "deps": [],
174
- "status": "pending",
175
- "findings": null,
176
- "error": null
177
- },
178
- "TDVAL-recheck-<round>": {
179
- "title": "Recheck after fix (Fix-Verify #<round>)",
180
- "description": "Re-validate after fix",
181
- "role": "validator",
182
- "prefix": "TDVAL",
183
- "deps": ["TDFIX-fix-<round>"],
184
- "status": "pending",
185
- "findings": null,
186
- "error": null
187
- }
188
- }
189
- ```
190
-
191
- ### Persist and Loop
192
-
193
- After processing all results:
194
- 1. Write updated tasks.json
195
- 2. Check if more tasks are now ready (deps newly resolved)
196
- 3. If yes -> loop back to step 1 of handleSpawnNext
197
- 4. If no more ready and all done -> handleComplete
198
- 5. If no more ready but some still blocked -> report status, STOP
199
-
200
- ## handleComplete
201
-
202
- Pipeline done. Generate report and completion action.
203
-
204
- 1. Verify all tasks (including fix-verify tasks) have status "completed"
205
- 2. If any not completed -> handleSpawnNext
206
- 3. If all completed:
207
- - Read final state from .msg/meta.json
208
- - If worktree exists and validation passed: commit, push, gh pr create, cleanup worktree
209
- - Compile summary: total tasks, completed, gc_rounds, debt_score_before, debt_score_after
210
- - Transition to coordinator Phase 5
211
- 4. Execute completion action per tasks.json completion_action:
212
- - interactive -> request_user_input (Archive/Keep/Export)
213
- - auto_archive -> Archive & Clean (rm -rf session folder)
214
- - auto_keep -> Keep Active (status=paused)
215
-
216
- ## handleAdapt
217
-
218
- Capability gap reported mid-pipeline.
219
-
220
- 1. Parse gap description
221
- 2. Check if existing role covers it -> redirect
222
- 3. Role count < 5 -> generate dynamic role spec in <session>/role-specs/
223
- 4. Add new task to tasks.json, spawn worker via spawn_agent + wait_agent
224
- 5. Role count >= 5 -> merge or pause
225
-
226
- ## Fast-Advance Reconciliation
227
-
228
- On every coordinator wake:
229
- 1. Read team_msg entries with type="fast_advance"
230
- 2. Sync active_agents with spawned successors
231
- 3. No duplicate spawns
1
+ # Monitor Pipeline
2
+
3
+ Synchronous pipeline coordination using spawn_agent + wait_agent.
4
+
5
+ ## Constants
6
+
7
+ - WORKER_AGENT: team_worker
8
+ - ONE_STEP_PER_INVOCATION: false (synchronous wait loop)
9
+ - FAST_ADVANCE_AWARE: true
10
+ - MAX_GC_ROUNDS: 3
11
+
12
+ ## Handler Router
13
+
14
+ | Source | Handler |
15
+ |--------|---------|
16
+ | "capability_gap" | handleAdapt |
17
+ | "check" or "status" | handleCheck |
18
+ | "resume" or "continue" | handleResume |
19
+ | All tasks completed | handleComplete |
20
+ | Default | handleSpawnNext |
21
+
22
+ ## handleCheck
23
+
24
+ Read-only status report from tasks.json, then STOP.
25
+
26
+ 1. Read tasks.json
27
+ 2. Count tasks by status (pending, in_progress, completed, failed)
28
+
29
+ ```
30
+ Pipeline Status (<mode>):
31
+ [DONE] TDSCAN-001 (scanner) -> scan complete
32
+ [DONE] TDEVAL-001 (assessor) -> assessment ready
33
+ [RUN] TDPLAN-001 (planner) -> planning...
34
+ [WAIT] TDFIX-001 (executor) -> blocked by TDPLAN-001
35
+ [WAIT] TDVAL-001 (validator) -> blocked by TDFIX-001
36
+
37
+ GC Rounds: 0/3
38
+ Session: <session-id>
39
+ Commands: 'resume' to advance | 'check' to refresh
40
+ ```
41
+
42
+ Output status -- do NOT advance pipeline.
43
+
44
+ ## handleResume
45
+
46
+ **Agent Health Check** (v4):
47
+ ```
48
+ // Verify actual running agents match session state
49
+ const runningAgents = list_agents({})
50
+ // For each active_agent in tasks.json:
51
+ // - If agent NOT in runningAgents -> agent crashed
52
+ // - Reset that task to pending, remove from active_agents
53
+ // This prevents stale agent references from blocking the pipeline
54
+ ```
55
+
56
+ 1. Read tasks.json, check active_agents
57
+ 2. Tasks stuck in "in_progress" -> reset to "pending"
58
+ 3. Tasks with completed deps but still "pending" -> include in spawn list
59
+ 4. -> handleSpawnNext
60
+
61
+ ## handleSpawnNext
62
+
63
+ Find ready tasks, spawn workers, wait for completion, process results.
64
+
65
+ 1. Read tasks.json
66
+ 2. Collect: completedTasks, inProgressTasks, readyTasks (pending + all deps completed)
67
+ 3. No ready + work in progress -> report waiting, STOP
68
+ 4. No ready + nothing in progress -> handleComplete
69
+ 5. Has ready -> for each:
70
+ a. Check inner loop role with active worker -> skip (worker picks up)
71
+ b. Update task status in tasks.json -> in_progress
72
+ c. team_msg log -> task_unblocked
73
+
74
+ ### Spawn Workers
75
+
76
+ For each ready task:
77
+
78
+ ```javascript
79
+ // 1) Update status in tasks.json
80
+ state.tasks[taskId].status = 'in_progress'
81
+
82
+ // 2) Spawn worker
83
+ const agentId = spawn_agent({
84
+ agent_type: "team_worker",
85
+ task_name: taskId, // e.g., "TDSCAN-001" enables named targeting
86
+ items: [
87
+ { type: "text", text: `## Role Assignment
88
+ role: ${task.role}
89
+ role_spec: ${skillRoot}/roles/${task.role}/role.md
90
+ session: ${sessionFolder}
91
+ session_id: ${sessionId}
92
+ team_name: tech-debt
93
+ requirement: ${task.description}
94
+ inner_loop: ${task.role === 'executor'}` },
95
+
96
+ { type: "text", text: `Read role_spec file (${skillRoot}/roles/${task.role}/role.md) to load Phase 2-4 domain instructions.
97
+ Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` },
98
+
99
+ { type: "text", text: `## Task Context
100
+ task_id: ${taskId}
101
+ title: ${task.title}
102
+ description: ${task.description}` },
103
+
104
+ { type: "text", text: `## Upstream Context\n${prevContext}` }
105
+ ]
106
+ })
107
+
108
+ // 3) Track agent
109
+ state.active_agents[taskId] = { agentId, role: task.role, started_at: now }
110
+ ```
111
+
112
+ Stage-to-role mapping:
113
+ | Task Prefix | Role |
114
+ |-------------|------|
115
+ | TDSCAN | scanner |
116
+ | TDEVAL | assessor |
117
+ | TDPLAN | planner |
118
+ | TDFIX | executor |
119
+ | TDVAL | validator |
120
+
121
+ ### Wait and Process Results
122
+
123
+ After spawning all ready tasks:
124
+
125
+ ```javascript
126
+ // 4) Batch wait — use task_name for stable targeting (v4)
127
+ const taskNames = Object.keys(state.active_agents)
128
+ const waitResult = wait_agent({ targets: taskNames, timeout_ms: 900000 })
129
+ if (waitResult.timed_out) {
130
+ for (const taskId of taskNames) {
131
+ state.tasks[taskId].status = 'timed_out'
132
+ close_agent({ target: taskId })
133
+ delete state.active_agents[taskId]
134
+ }
135
+ } else {
136
+ // 5) Collect results
137
+ for (const [taskId, agent] of Object.entries(state.active_agents)) {
138
+ state.tasks[taskId].status = 'completed'
139
+ close_agent({ target: taskId }) // Use task_name, not agentId
140
+ delete state.active_agents[taskId]
141
+ }
142
+ }
143
+ ```
144
+
145
+ ### Checkpoint Processing
146
+
147
+ After task completion, check for checkpoints:
148
+
149
+ - **TDPLAN-001 completes** -> Plan Approval Gate:
150
+ ```javascript
151
+ request_user_input({
152
+ questions: [{
153
+ question: "Remediation plan generated. Review and decide:",
154
+ header: "Plan Review",
155
+ multiSelect: false,
156
+ options: [
157
+ { label: "Approve", description: "Proceed with fix execution" },
158
+ { label: "Revise", description: "Re-run planner with feedback" },
159
+ { label: "Abort", description: "Stop pipeline" }
160
+ ]
161
+ }]
162
+ })
163
+ ```
164
+ - Approve -> Worktree Creation -> continue handleSpawnNext loop
165
+ - Revise -> Add TDPLAN-revised task to tasks.json -> continue
166
+ - Abort -> Log shutdown -> handleComplete
167
+
168
+ - **Worktree Creation** (before TDFIX):
169
+ ```
170
+ Bash("git worktree add .worktrees/TD-<slug>-<date> -b tech-debt/TD-<slug>-<date>")
171
+ ```
172
+ Update .msg/meta.json with worktree info.
173
+
174
+ - **TDVAL-* completes** -> GC Loop Check:
175
+ Read validation results from .msg/meta.json
176
+
177
+ | Condition | Action |
178
+ |-----------|--------|
179
+ | No regressions | -> continue (pipeline complete) |
180
+ | Regressions AND gc_rounds < 3 | Add fix-verify tasks to tasks.json, increment gc_rounds |
181
+ | Regressions AND gc_rounds >= 3 | Accept current state -> handleComplete |
182
+
183
+ Fix-Verify Task Creation (add to tasks.json):
184
+ ```json
185
+ {
186
+ "TDFIX-fix-<round>": {
187
+ "title": "Fix regressions (Fix-Verify #<round>)",
188
+ "description": "PURPOSE: Fix regressions | Session: <session>",
189
+ "role": "executor",
190
+ "prefix": "TDFIX",
191
+ "deps": [],
192
+ "status": "pending",
193
+ "findings": null,
194
+ "error": null
195
+ },
196
+ "TDVAL-recheck-<round>": {
197
+ "title": "Recheck after fix (Fix-Verify #<round>)",
198
+ "description": "Re-validate after fix",
199
+ "role": "validator",
200
+ "prefix": "TDVAL",
201
+ "deps": ["TDFIX-fix-<round>"],
202
+ "status": "pending",
203
+ "findings": null,
204
+ "error": null
205
+ }
206
+ }
207
+ ```
208
+
209
+ **Cross-Agent Supplementary Context** (v4):
210
+
211
+ When spawning workers in a later pipeline phase, send upstream results as supplementary context to already-running workers:
212
+
213
+ ```
214
+ // Example: Send scan results to running assessor
215
+ send_message({
216
+ target: "<running-agent-task-name>",
217
+ items: [{ type: "text", text: `## Supplementary Context\n${upstreamFindings}` }]
218
+ })
219
+ // Note: send_message queues info without interrupting the agent's current work
220
+ ```
221
+
222
+ Use `send_message` (not `assign_task`) for supplementary info that enriches but doesn't redirect the agent's current task.
223
+
224
+ ### Persist and Loop
225
+
226
+ After processing all results:
227
+ 1. Write updated tasks.json
228
+ 2. Check if more tasks are now ready (deps newly resolved)
229
+ 3. If yes -> loop back to step 1 of handleSpawnNext
230
+ 4. If no more ready and all done -> handleComplete
231
+ 5. If no more ready but some still blocked -> report status, STOP
232
+
233
+ ## handleComplete
234
+
235
+ **Cleanup Verification** (v4):
236
+ ```
237
+ // Verify all agents are properly closed
238
+ const remaining = list_agents({})
239
+ // If any team agents still running -> close_agent each
240
+ // Ensures clean session shutdown
241
+ ```
242
+
243
+ Pipeline done. Generate report and completion action.
244
+
245
+ 1. Verify all tasks (including fix-verify tasks) have status "completed"
246
+ 2. If any not completed -> handleSpawnNext
247
+ 3. If all completed:
248
+ - Read final state from .msg/meta.json
249
+ - If worktree exists and validation passed: commit, push, gh pr create, cleanup worktree
250
+ - Compile summary: total tasks, completed, gc_rounds, debt_score_before, debt_score_after
251
+ - Transition to coordinator Phase 5
252
+ 4. Execute completion action per tasks.json completion_action:
253
+ - interactive -> request_user_input (Archive/Keep/Export)
254
+ - auto_archive -> Archive & Clean (rm -rf session folder)
255
+ - auto_keep -> Keep Active (status=paused)
256
+
257
+ ## handleAdapt
258
+
259
+ Capability gap reported mid-pipeline.
260
+
261
+ 1. Parse gap description
262
+ 2. Check if existing role covers it -> redirect
263
+ 3. Role count < 5 -> generate dynamic role spec in <session>/role-specs/
264
+ 4. Add new task to tasks.json, spawn worker via spawn_agent + wait_agent
265
+ 5. Role count >= 5 -> merge or pause
266
+
267
+ ## Fast-Advance Reconciliation
268
+
269
+ On every coordinator wake:
270
+ 1. Read team_msg entries with type="fast_advance"
271
+ 2. Sync active_agents with spawned successors
272
+ 3. No duplicate spawns