claude-code-workflow 7.2.23 → 7.2.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/.ccw/workflows/cli-tools-usage.md +123 -521
  2. package/.claude/skills/brainstorm/SKILL.md +408 -408
  3. package/.claude/skills/review-cycle/SKILL.md +132 -132
  4. package/.claude/skills/spec-generator/SKILL.md +1 -1
  5. package/.claude/skills/team-designer/phases/02-scaffold-generation.md +1 -1
  6. package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
  7. package/.claude/skills/team-review/SKILL.md +1 -1
  8. package/.claude/skills/team-ultra-analyze/SKILL.md +1 -1
  9. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +1 -1
  10. package/.claude/skills/workflow-plan/SKILL.md +1 -1
  11. package/.claude/skills/workflow-test-fix/SKILL.md +1 -1
  12. package/.codex/skills/analyze-with-file/SKILL.md +966 -966
  13. package/.codex/skills/issue-discover/SKILL.md +361 -361
  14. package/.codex/skills/review-cycle/SKILL.md +1 -1
  15. package/.codex/skills/roadmap-with-file/SKILL.md +901 -901
  16. package/.codex/skills/spec-generator/SKILL.md +425 -425
  17. package/.codex/skills/spec-setup/SKILL.md +669 -669
  18. package/.codex/skills/team-arch-opt/SKILL.md +242 -175
  19. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -78
  20. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -57
  21. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +246 -204
  22. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +196 -184
  23. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -115
  24. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -102
  25. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -111
  26. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -115
  27. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -102
  28. package/.codex/skills/team-brainstorm/SKILL.md +72 -4
  29. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -61
  30. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -58
  31. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +212 -171
  32. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +172 -160
  33. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -56
  34. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -69
  35. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -57
  36. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -72
  37. package/.codex/skills/team-coordinate/SKILL.md +71 -3
  38. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +45 -5
  39. package/.codex/skills/team-coordinate/roles/coordinator/role.md +402 -389
  40. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -111
  41. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -97
  42. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -112
  43. package/.codex/skills/team-designer/SKILL.md +153 -153
  44. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -250
  45. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -228
  46. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -330
  47. package/.codex/skills/team-designer/phases/04-validation.md +320 -320
  48. package/.codex/skills/team-executor/SKILL.md +29 -2
  49. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +23 -15
  50. package/.codex/skills/team-frontend/SKILL.md +77 -3
  51. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -92
  52. package/.codex/skills/team-frontend/roles/architect/role.md +86 -86
  53. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -52
  54. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +222 -188
  55. package/.codex/skills/team-frontend/roles/coordinator/role.md +189 -177
  56. package/.codex/skills/team-frontend/roles/developer/role.md +93 -93
  57. package/.codex/skills/team-frontend/roles/qa/role.md +79 -79
  58. package/.codex/skills/team-frontend/specs/pipelines.md +76 -76
  59. package/.codex/skills/team-frontend-debug/SKILL.md +66 -3
  60. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -208
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -174
  62. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -198
  63. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +177 -143
  64. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +164 -152
  65. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -147
  66. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -147
  67. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -231
  68. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -172
  69. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -215
  70. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -94
  71. package/.codex/skills/team-issue/SKILL.md +83 -4
  72. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -64
  73. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -273
  74. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +235 -194
  75. package/.codex/skills/team-issue/roles/coordinator/role.md +206 -194
  76. package/.codex/skills/team-issue/roles/explorer/role.md +94 -94
  77. package/.codex/skills/team-issue/roles/implementer/role.md +87 -87
  78. package/.codex/skills/team-issue/roles/integrator/role.md +84 -84
  79. package/.codex/skills/team-issue/roles/planner/role.md +81 -81
  80. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -86
  81. package/.codex/skills/team-issue/specs/pipelines.md +124 -124
  82. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +6 -6
  83. package/.codex/skills/team-lifecycle-v4/SKILL.md +305 -242
  84. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +1 -1
  85. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +66 -24
  86. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +13 -1
  87. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +1 -1
  88. package/.codex/skills/team-lifecycle-v4/templates/architecture.md +254 -254
  89. package/.codex/skills/team-lifecycle-v4/templates/epics.md +196 -196
  90. package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +133 -133
  91. package/.codex/skills/team-lifecycle-v4/templates/requirements.md +224 -224
  92. package/.codex/skills/team-perf-opt/SKILL.md +68 -3
  93. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -89
  94. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -61
  95. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +35 -1
  96. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +179 -167
  97. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -97
  98. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -73
  99. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -75
  100. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -94
  101. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -65
  102. package/.codex/skills/team-planex/SKILL.md +65 -3
  103. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -52
  104. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +210 -164
  105. package/.codex/skills/team-planex/roles/coordinator/role.md +171 -159
  106. package/.codex/skills/team-planex/roles/executor/role.md +91 -91
  107. package/.codex/skills/team-planex/roles/planner/role.md +112 -112
  108. package/.codex/skills/team-planex/specs/pipelines.md +93 -93
  109. package/.codex/skills/team-quality-assurance/SKILL.md +60 -3
  110. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -80
  111. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -72
  112. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -108
  113. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +243 -209
  114. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +176 -164
  115. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -66
  116. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -68
  117. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -67
  118. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -71
  119. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -115
  120. package/.codex/skills/team-review/SKILL.md +58 -3
  121. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -71
  122. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -90
  123. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +225 -185
  124. package/.codex/skills/team-review/roles/coordinator/role.md +175 -163
  125. package/.codex/skills/team-review/roles/fixer/role.md +76 -76
  126. package/.codex/skills/team-review/roles/reviewer/role.md +68 -68
  127. package/.codex/skills/team-review/roles/scanner/role.md +71 -71
  128. package/.codex/skills/team-review/specs/pipelines.md +102 -102
  129. package/.codex/skills/team-roadmap-dev/SKILL.md +55 -3
  130. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -61
  131. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +502 -468
  132. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +335 -322
  133. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -71
  134. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -76
  135. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -74
  136. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -93
  137. package/.codex/skills/team-tech-debt/SKILL.md +56 -3
  138. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -69
  139. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -47
  140. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +272 -231
  141. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +172 -160
  142. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -76
  143. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -69
  144. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -82
  145. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -75
  146. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -47
  147. package/.codex/skills/team-testing/SKILL.md +72 -3
  148. package/.codex/skills/team-testing/roles/analyst/role.md +95 -95
  149. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -70
  150. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -106
  151. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +283 -242
  152. package/.codex/skills/team-testing/roles/coordinator/role.md +184 -172
  153. package/.codex/skills/team-testing/roles/executor/role.md +96 -96
  154. package/.codex/skills/team-testing/roles/generator/role.md +95 -95
  155. package/.codex/skills/team-testing/roles/strategist/role.md +83 -83
  156. package/.codex/skills/team-testing/specs/pipelines.md +101 -101
  157. package/.codex/skills/team-uidesign/SKILL.md +65 -3
  158. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -59
  159. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -156
  160. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +234 -194
  161. package/.codex/skills/team-uidesign/roles/coordinator/role.md +211 -199
  162. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -69
  163. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -72
  164. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -82
  165. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -67
  166. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -76
  167. package/.codex/skills/team-ultra-analyze/SKILL.md +73 -3
  168. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -90
  169. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -73
  170. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +50 -9
  171. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +255 -243
  172. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -104
  173. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -74
  174. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -78
  175. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -64
  176. package/.codex/skills/team-ux-improve/SKILL.md +64 -3
  177. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -62
  178. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -233
  179. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +195 -160
  180. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +170 -158
  181. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -122
  182. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -93
  183. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -77
  184. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -102
  185. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -93
  186. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -84
  187. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -54
  188. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +402 -402
  189. package/README.md +1 -0
  190. package/package.json +1 -1
  191. package/.claude/skills/team-iterdev/SKILL.md +0 -127
  192. package/.claude/skills/team-iterdev/roles/architect/role.md +0 -65
  193. package/.claude/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  194. package/.claude/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -234
  195. package/.claude/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -182
  196. package/.claude/skills/team-iterdev/roles/coordinator/role.md +0 -153
  197. package/.claude/skills/team-iterdev/roles/developer/role.md +0 -74
  198. package/.claude/skills/team-iterdev/roles/reviewer/role.md +0 -66
  199. package/.claude/skills/team-iterdev/roles/tester/role.md +0 -88
  200. package/.claude/skills/team-iterdev/specs/pipelines.md +0 -94
  201. package/.claude/skills/team-iterdev/specs/team-config.json +0 -172
  202. package/.codex/skills/team-iterdev/SKILL.md +0 -158
  203. package/.codex/skills/team-iterdev/roles/architect/role.md +0 -65
  204. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +0 -62
  205. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +0 -187
  206. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +0 -186
  207. package/.codex/skills/team-iterdev/roles/coordinator/role.md +0 -181
  208. package/.codex/skills/team-iterdev/roles/developer/role.md +0 -74
  209. package/.codex/skills/team-iterdev/roles/reviewer/role.md +0 -66
  210. package/.codex/skills/team-iterdev/roles/tester/role.md +0 -88
  211. package/.codex/skills/team-iterdev/specs/pipelines.md +0 -94
  212. package/.codex/skills/team-iterdev/specs/team-config.json +0 -172
@@ -1,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