claude-code-workflow 7.2.15 → 7.2.16

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 (526) hide show
  1. package/.ccw/workflows/cli-templates/schemas/team-tasks-schema.json +255 -0
  2. package/.codex/agents/team-supervisor.toml +39 -0
  3. package/.codex/agents/team-worker.toml +46 -0
  4. package/.codex/skills/team-arch-opt/SKILL.md +151 -698
  5. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -0
  6. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
  7. package/.codex/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +287 -0
  8. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +204 -0
  9. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +162 -0
  10. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -0
  11. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -0
  12. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -0
  13. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -0
  14. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -0
  15. package/.codex/skills/team-arch-opt/specs/team-config.json +263 -0
  16. package/.codex/skills/team-brainstorm/SKILL.md +167 -724
  17. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -0
  18. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
  19. package/.codex/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +162 -0
  20. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +171 -0
  21. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +140 -0
  22. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -0
  23. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -0
  24. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -0
  25. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -0
  26. package/.codex/skills/team-brainstorm/specs/team-config.json +86 -0
  27. package/.codex/skills/team-coordinate/SKILL.md +267 -667
  28. package/.codex/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  29. package/.codex/skills/team-coordinate/roles/coordinator/commands/dispatch.md +126 -0
  30. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +327 -0
  31. package/.codex/skills/team-coordinate/roles/coordinator/role.md +361 -0
  32. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  33. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -0
  34. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -0
  35. package/.codex/skills/team-coordinate/specs/role-spec-template.md +192 -0
  36. package/.codex/skills/team-designer/SKILL.md +153 -691
  37. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -0
  38. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -0
  39. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -0
  40. package/.codex/skills/team-designer/phases/04-validation.md +320 -0
  41. package/.codex/skills/team-executor/SKILL.md +191 -515
  42. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +280 -0
  43. package/.codex/skills/team-executor/roles/executor/role.md +170 -0
  44. package/.codex/skills/team-executor/specs/session-schema.md +264 -0
  45. package/.codex/skills/team-frontend/SKILL.md +129 -750
  46. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -0
  47. package/.codex/skills/team-frontend/roles/architect/role.md +86 -0
  48. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
  49. package/.codex/skills/team-frontend/roles/coordinator/commands/dispatch.md +151 -0
  50. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +188 -0
  51. package/.codex/skills/team-frontend/roles/coordinator/role.md +157 -0
  52. package/.codex/skills/team-frontend/roles/developer/role.md +93 -0
  53. package/.codex/skills/team-frontend/roles/qa/role.md +79 -0
  54. package/.codex/skills/team-frontend/specs/pipelines.md +76 -0
  55. package/.codex/skills/team-frontend/specs/team-config.json +84 -0
  56. package/.codex/skills/team-frontend-debug/SKILL.md +191 -821
  57. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -0
  58. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
  59. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -0
  60. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +143 -0
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
  62. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -0
  63. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -0
  64. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -0
  65. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -0
  66. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -0
  67. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -0
  68. package/.codex/skills/team-issue/SKILL.md +166 -751
  69. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
  70. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -0
  71. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +194 -0
  72. package/.codex/skills/team-issue/roles/coordinator/role.md +175 -0
  73. package/.codex/skills/team-issue/roles/explorer/role.md +94 -0
  74. package/.codex/skills/team-issue/roles/implementer/role.md +87 -0
  75. package/.codex/skills/team-issue/roles/integrator/role.md +84 -0
  76. package/.codex/skills/team-issue/roles/planner/role.md +81 -0
  77. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -0
  78. package/.codex/skills/team-issue/specs/pipelines.md +124 -0
  79. package/.codex/skills/team-issue/specs/team-config.json +70 -0
  80. package/.codex/skills/team-iterdev/SKILL.md +134 -825
  81. package/.codex/skills/team-iterdev/roles/architect/role.md +65 -0
  82. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -0
  83. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +187 -0
  84. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +186 -0
  85. package/.codex/skills/team-iterdev/roles/coordinator/role.md +161 -0
  86. package/.codex/skills/team-iterdev/roles/developer/role.md +74 -0
  87. package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -0
  88. package/.codex/skills/team-iterdev/roles/tester/role.md +88 -0
  89. package/.codex/skills/team-iterdev/specs/pipelines.md +94 -0
  90. package/.codex/skills/team-iterdev/specs/team-config.json +172 -0
  91. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +512 -0
  92. package/.codex/skills/team-lifecycle-v4/SKILL.md +166 -723
  93. package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +104 -0
  94. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  95. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +61 -0
  96. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +177 -0
  97. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +152 -0
  98. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  99. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +63 -0
  100. package/.codex/skills/team-lifecycle-v4/roles/executor/role.md +89 -0
  101. package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +108 -0
  102. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +57 -0
  103. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  104. package/.codex/skills/team-lifecycle-v4/roles/reviewer/role.md +98 -0
  105. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +210 -0
  106. package/.codex/skills/team-lifecycle-v4/roles/tester/role.md +126 -0
  107. package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +125 -0
  108. package/.codex/skills/team-lifecycle-v4/schemas/tasks-schema.md +82 -160
  109. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +136 -0
  110. package/.codex/skills/team-lifecycle-v4/specs/pipelines.md +125 -0
  111. package/.codex/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  112. package/.codex/skills/team-perf-opt/SKILL.md +169 -697
  113. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -0
  114. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
  115. package/.codex/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +262 -0
  116. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +320 -0
  117. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +147 -0
  118. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -0
  119. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -0
  120. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -0
  121. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -0
  122. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -0
  123. package/.codex/skills/team-perf-opt/specs/team-config.json +246 -0
  124. package/.codex/skills/team-planex/SKILL.md +103 -477
  125. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
  126. package/.codex/skills/team-planex/roles/coordinator/commands/dispatch.md +80 -0
  127. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +164 -0
  128. package/.codex/skills/team-planex/roles/coordinator/role.md +140 -0
  129. package/.codex/skills/team-planex/roles/executor/role.md +91 -0
  130. package/.codex/skills/team-planex/roles/planner/role.md +112 -0
  131. package/.codex/skills/team-planex/specs/pipelines.md +93 -0
  132. package/.codex/skills/team-quality-assurance/SKILL.md +148 -813
  133. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -0
  134. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  135. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -0
  136. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +209 -0
  137. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  138. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -0
  139. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -0
  140. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -0
  141. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -0
  142. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -0
  143. package/.codex/skills/team-quality-assurance/specs/team-config.json +131 -0
  144. package/.codex/skills/team-review/SKILL.md +148 -533
  145. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  146. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -0
  147. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +185 -0
  148. package/.codex/skills/team-review/roles/coordinator/role.md +142 -0
  149. package/.codex/skills/team-review/roles/fixer/role.md +76 -0
  150. package/.codex/skills/team-review/roles/reviewer/role.md +68 -0
  151. package/.codex/skills/team-review/roles/scanner/role.md +71 -0
  152. package/.codex/skills/team-review/specs/dimensions.md +82 -0
  153. package/.codex/skills/team-review/specs/finding-schema.json +82 -0
  154. package/.codex/skills/team-review/specs/pipelines.md +102 -0
  155. package/.codex/skills/team-review/specs/team-config.json +27 -0
  156. package/.codex/skills/team-roadmap-dev/SKILL.md +162 -683
  157. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
  158. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +241 -0
  159. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +468 -0
  160. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
  161. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
  162. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +243 -0
  163. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +303 -0
  164. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -0
  165. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -0
  166. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -0
  167. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -0
  168. package/.codex/skills/team-roadmap-dev/specs/team-config.json +95 -0
  169. package/.codex/skills/team-tech-debt/SKILL.md +129 -708
  170. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -0
  171. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  172. package/.codex/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +163 -0
  173. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +231 -0
  174. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +141 -0
  175. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -0
  176. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -0
  177. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -0
  178. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -0
  179. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -0
  180. package/.codex/skills/team-tech-debt/specs/team-config.json +129 -0
  181. package/.codex/skills/team-testing/SKILL.md +144 -769
  182. package/.codex/skills/team-testing/roles/analyst/role.md +95 -0
  183. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  184. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -0
  185. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
  186. package/.codex/skills/team-testing/roles/coordinator/role.md +151 -0
  187. package/.codex/skills/team-testing/roles/executor/role.md +96 -0
  188. package/.codex/skills/team-testing/roles/generator/role.md +95 -0
  189. package/.codex/skills/team-testing/roles/strategist/role.md +83 -0
  190. package/.codex/skills/team-testing/specs/pipelines.md +101 -0
  191. package/.codex/skills/team-testing/specs/team-config.json +93 -0
  192. package/.codex/skills/team-uidesign/SKILL.md +133 -767
  193. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
  194. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -0
  195. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +194 -0
  196. package/.codex/skills/team-uidesign/roles/coordinator/role.md +179 -0
  197. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -0
  198. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -0
  199. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -0
  200. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -0
  201. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -0
  202. package/.codex/skills/team-uidesign/specs/team-config.json +107 -0
  203. package/.codex/skills/team-ultra-analyze/SKILL.md +166 -786
  204. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -0
  205. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
  206. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +225 -0
  207. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +327 -0
  208. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +223 -0
  209. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -0
  210. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -0
  211. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -0
  212. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -0
  213. package/.codex/skills/team-ultra-analyze/specs/team-config.json +129 -0
  214. package/.codex/skills/team-ux-improve/SKILL.md +142 -638
  215. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
  216. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -0
  217. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +160 -0
  218. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +138 -0
  219. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -0
  220. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -0
  221. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -0
  222. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -0
  223. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -0
  224. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -0
  225. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -0
  226. package/.codex/skills/team-ux-improve/specs/team-config.json +181 -0
  227. package/.codex/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +17 -0
  228. package/.codex/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
  229. package/.codex/skills/team-ux-improve/wisdom/patterns/state-management.md +14 -0
  230. package/.codex/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +16 -0
  231. package/.codex/skills/team-ux-improve/wisdom/principles/general-ux.md +16 -0
  232. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
  233. package/ccw/dist/core/routes/cli-settings-routes.js +135 -133
  234. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
  235. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js → AlertDialog-CnpjWAGm.js} +2 -2
  236. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js.map → AlertDialog-CnpjWAGm.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js → AnalysisPage-BT2rDDUD.js} +2 -2
  238. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js.map → AnalysisPage-BT2rDDUD.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js → ApiSettingsPage-DGpjiNVu.js} +2 -2
  240. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js.map → ApiSettingsPage-DGpjiNVu.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js → CliModeToggle-BqUadHn3.js} +2 -2
  242. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js.map → CliModeToggle-BqUadHn3.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js → CliSessionSharePage-C3AdsDkm.js} +2 -2
  244. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js.map → CliSessionSharePage-C3AdsDkm.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js → CliViewerPage-BZXpgY0N.js} +2 -2
  246. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js.map → CliViewerPage-BZXpgY0N.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js → CodexLensPage-CePoJz-u.js} +2 -2
  248. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js.map → CodexLensPage-CePoJz-u.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js → Collapsible-DXVzWwmb.js} +2 -2
  250. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js.map → Collapsible-DXVzWwmb.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js → CommandsManagerPage-B6wJYF0z.js} +2 -2
  252. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js.map → CommandsManagerPage-B6wJYF0z.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js → DeepWikiPage-D55fcvSk.js} +2 -2
  254. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js.map → DeepWikiPage-D55fcvSk.js.map} +1 -1
  255. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js → EndpointsPage-DcGziJ5t.js} +2 -2
  256. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js.map → EndpointsPage-DcGziJ5t.js.map} +1 -1
  257. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js → ExplorerPage-C4eKzn7F.js} +2 -2
  258. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js.map → ExplorerPage-C4eKzn7F.js.map} +1 -1
  259. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js → FixSessionPage-BUHh954A.js} +2 -2
  260. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js.map → FixSessionPage-BUHh954A.js.map} +1 -1
  261. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js → FloatingFileBrowser-C3GF_u1C.js} +2 -2
  262. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js.map → FloatingFileBrowser-C3GF_u1C.js.map} +1 -1
  263. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js → FloatingPanel-Cn-q9PyJ.js} +2 -2
  264. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js.map → FloatingPanel-Cn-q9PyJ.js.map} +1 -1
  265. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js → GraphExplorerPage-DIpqgvoU.js} +2 -2
  266. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js.map → GraphExplorerPage-DIpqgvoU.js.map} +1 -1
  267. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js → HistoryPage-DzSvEAFe.js} +2 -2
  268. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js.map → HistoryPage-DzSvEAFe.js.map} +1 -1
  269. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js → HookManagerPage-C6LDhWrH.js} +2 -2
  270. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js.map → HookManagerPage-C6LDhWrH.js.map} +1 -1
  271. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js → InstallationsPage-D9ct9xFV.js} +2 -2
  272. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js.map → InstallationsPage-D9ct9xFV.js.map} +1 -1
  273. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js → IssueHubPage-CXgDC8pS.js} +2 -2
  274. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js.map → IssueHubPage-CXgDC8pS.js.map} +1 -1
  275. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js → LiteTasksPage-DMkauCwG.js} +2 -2
  276. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js.map → LiteTasksPage-DMkauCwG.js.map} +1 -1
  277. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js → McpManagerPage-DhLDydgc.js} +2 -2
  278. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js.map → McpManagerPage-DhLDydgc.js.map} +1 -1
  279. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js → MemoryPage-Be3nhq40.js} +2 -2
  280. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js.map → MemoryPage-Be3nhq40.js.map} +1 -1
  281. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js → NotFoundPage-0yGnCePd.js} +2 -2
  282. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js.map → NotFoundPage-0yGnCePd.js.map} +1 -1
  283. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js → OrchestratorPage-_SmXZcGl.js} +2 -2
  284. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js.map → OrchestratorPage-_SmXZcGl.js.map} +1 -1
  285. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js → ProjectOverviewPage-BeXTMsdo.js} +2 -2
  286. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js.map → ProjectOverviewPage-BeXTMsdo.js.map} +1 -1
  287. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js → PromptHistoryPage-DS6ycuAv.js} +2 -2
  288. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js.map → PromptHistoryPage-DS6ycuAv.js.map} +1 -1
  289. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js → ReviewSessionPage-BoqyjhPo.js} +2 -2
  290. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js.map → ReviewSessionPage-BoqyjhPo.js.map} +1 -1
  291. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js → RulesManagerPage-DMAwkKlc.js} +2 -2
  292. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js.map → RulesManagerPage-DMAwkKlc.js.map} +1 -1
  293. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js → SessionDetailPage-BgJRHIF4.js} +2 -2
  294. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js.map → SessionDetailPage-BgJRHIF4.js.map} +1 -1
  295. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js → SessionsPage-DBPdWlji.js} +2 -2
  296. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js.map → SessionsPage-DBPdWlji.js.map} +1 -1
  297. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js → SettingsPage-BY3QiJhm.js} +4 -4
  298. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js.map → SettingsPage-BY3QiJhm.js.map} +1 -1
  299. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js → SkillsManagerPage-DS101Adm.js} +2 -2
  300. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js.map → SkillsManagerPage-DS101Adm.js.map} +1 -1
  301. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js → SpecsSettingsPage-BcsLu1qq.js} +2 -2
  302. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js.map → SpecsSettingsPage-BcsLu1qq.js.map} +1 -1
  303. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js → Switch-BL9AmNPC.js} +2 -2
  304. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js.map → Switch-BL9AmNPC.js.map} +1 -1
  305. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js → TabsNavigation-BUcjsLeE.js} +2 -2
  306. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js.map → TabsNavigation-BUcjsLeE.js.map} +1 -1
  307. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js → TaskDrawer-BNvfS6dq.js} +2 -2
  308. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js.map → TaskDrawer-BNvfS6dq.js.map} +1 -1
  309. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js → TeamPage-CT-zNCrF.js} +2 -2
  310. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js.map → TeamPage-CT-zNCrF.js.map} +1 -1
  311. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js → TerminalDashboardPage-DfZFGs8g.js} +2 -2
  312. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js.map → TerminalDashboardPage-DfZFGs8g.js.map} +1 -1
  313. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js → archive-Cev1SaQq.js} +2 -2
  314. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js.map → archive-Cev1SaQq.js.map} +1 -1
  315. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js → archive-restore-BIVluaHZ.js} +2 -2
  316. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js.map → archive-restore-BIVluaHZ.js.map} +1 -1
  317. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js → arrow-right-DrivbS5j.js} +2 -2
  318. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js.map → arrow-right-DrivbS5j.js.map} +1 -1
  319. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js → bookmark-plus-DKyzL0Xg.js} +2 -2
  320. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js.map → bookmark-plus-DKyzL0Xg.js.map} +1 -1
  321. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js → bot-GBUkPAe3.js} +2 -2
  322. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js.map → bot-GBUkPAe3.js.map} +1 -1
  323. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js → braces-BWhm2c4g.js} +2 -2
  324. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js.map → braces-BWhm2c4g.js.map} +1 -1
  325. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js → circle-stop-CBcZSKNp.js} +2 -2
  326. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js.map → circle-stop-CBcZSKNp.js.map} +1 -1
  327. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js → cpu-CzNmuTZD.js} +2 -2
  328. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js.map → cpu-CzNmuTZD.js.map} +1 -1
  329. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js → ellipsis-vertical-BoIyQKaI.js} +2 -2
  330. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js.map → ellipsis-vertical-BoIyQKaI.js.map} +1 -1
  331. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js → eye-BqxyhxQq.js} +2 -2
  332. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js.map → eye-BqxyhxQq.js.map} +1 -1
  333. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js → eye-off-D9dTZP1A.js} +2 -2
  334. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js.map → eye-off-D9dTZP1A.js.map} +1 -1
  335. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js → file-json-CLYEUI6e.js} +2 -2
  336. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js.map → file-json-CLYEUI6e.js.map} +1 -1
  337. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js → file-text-D5j9C5XC.js} +2 -2
  338. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js.map → file-text-D5j9C5XC.js.map} +1 -1
  339. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js → filter-CEUK5jsA.js} +2 -2
  340. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js.map → filter-CEUK5jsA.js.map} +1 -1
  341. package/ccw/frontend/dist/assets/{folder-CV8511y9.js → folder-BEOY8txM.js} +2 -2
  342. package/ccw/frontend/dist/assets/{folder-CV8511y9.js.map → folder-BEOY8txM.js.map} +1 -1
  343. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js → gauge-CbumHmVn.js} +2 -2
  344. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js.map → gauge-CbumHmVn.js.map} +1 -1
  345. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js → globe-D8_IB9gV.js} +2 -2
  346. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js.map → globe-D8_IB9gV.js.map} +1 -1
  347. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js → grid-3x3-BpzWmYF5.js} +2 -2
  348. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js.map → grid-3x3-BpzWmYF5.js.map} +1 -1
  349. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js → hard-drive-QIHpGln7.js} +2 -2
  350. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js.map → hard-drive-QIHpGln7.js.map} +1 -1
  351. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js → hash-CP0YRHVs.js} +2 -2
  352. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js.map → hash-CP0YRHVs.js.map} +1 -1
  353. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js → history-hOjgVKax.js} +2 -2
  354. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js.map → history-hOjgVKax.js.map} +1 -1
  355. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js → index-B_ysvdnP.js} +2 -2
  356. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js.map → index-B_ysvdnP.js.map} +1 -1
  357. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js → index-C5Oqx2xI.js} +3 -3
  358. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js.map → index-C5Oqx2xI.js.map} +1 -1
  359. package/ccw/frontend/dist/assets/{index-CI8-rBff.js → index-CJi0bWL-.js} +2 -2
  360. package/ccw/frontend/dist/assets/{index-CI8-rBff.js.map → index-CJi0bWL-.js.map} +1 -1
  361. package/ccw/frontend/dist/assets/{index-anSMmEF8.js → index-CdQpo1x0.js} +2 -2
  362. package/ccw/frontend/dist/assets/{index-anSMmEF8.js.map → index-CdQpo1x0.js.map} +1 -1
  363. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js → layout-grid-C38fQyLs.js} +2 -2
  364. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js.map → layout-grid-C38fQyLs.js.map} +1 -1
  365. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js → lightbulb-CClbCUzu.js} +2 -2
  366. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js.map → lightbulb-CClbCUzu.js.map} +1 -1
  367. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js → link-2-CB-LKbI0.js} +2 -2
  368. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js.map → link-2-CB-LKbI0.js.map} +1 -1
  369. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js → link-BK6SBzHS.js} +2 -2
  370. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js.map → link-BK6SBzHS.js.map} +1 -1
  371. package/ccw/frontend/dist/assets/{list-DubWyY-U.js → list-BME_WOA_.js} +2 -2
  372. package/ccw/frontend/dist/assets/{list-DubWyY-U.js.map → list-BME_WOA_.js.map} +1 -1
  373. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js → map-pin-ADsnCyjJ.js} +2 -2
  374. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js.map → map-pin-ADsnCyjJ.js.map} +1 -1
  375. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js → messages-square-CLflB1Cq.js} +2 -2
  376. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js.map → messages-square-CLflB1Cq.js.map} +1 -1
  377. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js → minimize-2-B3ZNzfGr.js} +2 -2
  378. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js.map → minimize-2-B3ZNzfGr.js.map} +1 -1
  379. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js → package-CByPhtMG.js} +2 -2
  380. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js.map → package-CByPhtMG.js.map} +1 -1
  381. package/ccw/frontend/dist/assets/{plug-CiLce49C.js → plug-BggRzPX9.js} +2 -2
  382. package/ccw/frontend/dist/assets/{plug-CiLce49C.js.map → plug-BggRzPX9.js.map} +1 -1
  383. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js → power-CWuxQSJK.js} +2 -2
  384. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js.map → power-CWuxQSJK.js.map} +1 -1
  385. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js → save-BdJ6EX4Q.js} +2 -2
  386. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js.map → save-BdJ6EX4Q.js.map} +1 -1
  387. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js → send-Ce9wuY7Q.js} +2 -2
  388. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js.map → send-Ce9wuY7Q.js.map} +1 -1
  389. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js → square-check-big-D6jItkfw.js} +2 -2
  390. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js.map → square-check-big-D6jItkfw.js.map} +1 -1
  391. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js → square-pen-Byxq21zp.js} +2 -2
  392. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js.map → square-pen-Byxq21zp.js.map} +1 -1
  393. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js → star-Codj9dvK.js} +2 -2
  394. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js.map → star-Codj9dvK.js.map} +1 -1
  395. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js → style-4bYpUGcc.js} +2 -2
  396. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js.map → style-4bYpUGcc.js.map} +1 -1
  397. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js → target-DKBoDNCn.js} +2 -2
  398. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js.map → target-DKBoDNCn.js.map} +1 -1
  399. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js → test-tube-DTqZcBtA.js} +2 -2
  400. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js.map → test-tube-DTqZcBtA.js.map} +1 -1
  401. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js → upload-DlUl-e6b.js} +2 -2
  402. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js.map → upload-DlUl-e6b.js.map} +1 -1
  403. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js → useApiSettings-D4zhKKT-.js} +2 -2
  404. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js.map → useApiSettings-D4zhKKT-.js.map} +1 -1
  405. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js → useCli-D-qDwsAH.js} +2 -2
  406. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js.map → useCli-D-qDwsAH.js.map} +1 -1
  407. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js → useCommands-B0sidbbW.js} +2 -2
  408. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js.map → useCommands-B0sidbbW.js.map} +1 -1
  409. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js → useDebounce-eTtbKevt.js} +2 -2
  410. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js.map → useDebounce-eTtbKevt.js.map} +1 -1
  411. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js → useFileExplorer-MGSK0h33.js} +2 -2
  412. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js.map → useFileExplorer-MGSK0h33.js.map} +1 -1
  413. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js → useLocale-DDNxU7pJ.js} +2 -2
  414. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js.map → useLocale-DDNxU7pJ.js.map} +1 -1
  415. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js → useSkills-CZCRBtMY.js} +3 -3
  416. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js.map → useSkills-CZCRBtMY.js.map} +1 -1
  417. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js → useSystemSettings-DfQEFXSD.js} +2 -2
  418. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js.map → useSystemSettings-DfQEFXSD.js.map} +1 -1
  419. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js → wand-sparkles-DCLvfgl1.js} +2 -2
  420. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js.map → wand-sparkles-DCLvfgl1.js.map} +1 -1
  421. package/ccw/frontend/dist/index.html +1 -1
  422. package/package.json +1 -1
  423. package/.codex/skills/team-arch-opt/agents/completion-handler.md +0 -138
  424. package/.codex/skills/team-arch-opt/agents/fix-cycle-handler.md +0 -146
  425. package/.codex/skills/team-arch-opt/agents/plan-reviewer.md +0 -150
  426. package/.codex/skills/team-arch-opt/instructions/agent-instruction.md +0 -114
  427. package/.codex/skills/team-arch-opt/schemas/tasks-schema.md +0 -174
  428. package/.codex/skills/team-brainstorm/agents/gc-controller.md +0 -122
  429. package/.codex/skills/team-brainstorm/agents/topic-clarifier.md +0 -126
  430. package/.codex/skills/team-brainstorm/instructions/agent-instruction.md +0 -105
  431. package/.codex/skills/team-brainstorm/schemas/tasks-schema.md +0 -171
  432. package/.codex/skills/team-coordinate/agents/completion-handler.md +0 -127
  433. package/.codex/skills/team-coordinate/agents/plan-reviewer.md +0 -145
  434. package/.codex/skills/team-coordinate/instructions/agent-instruction.md +0 -184
  435. package/.codex/skills/team-coordinate/schemas/tasks-schema.md +0 -165
  436. package/.codex/skills/team-designer/agents/requirement-clarifier.md +0 -247
  437. package/.codex/skills/team-designer/agents/validation-reporter.md +0 -186
  438. package/.codex/skills/team-designer/instructions/agent-instruction.md +0 -163
  439. package/.codex/skills/team-designer/schemas/tasks-schema.md +0 -180
  440. package/.codex/skills/team-executor/instructions/agent-instruction.md +0 -62
  441. package/.codex/skills/team-executor/schemas/tasks-schema.md +0 -141
  442. package/.codex/skills/team-frontend/agents/completion-handler.md +0 -131
  443. package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +0 -153
  444. package/.codex/skills/team-frontend/instructions/agent-instruction.md +0 -197
  445. package/.codex/skills/team-frontend/schemas/tasks-schema.md +0 -188
  446. package/.codex/skills/team-frontend-debug/agents/completion-handler.md +0 -142
  447. package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +0 -130
  448. package/.codex/skills/team-frontend-debug/agents/iteration-handler.md +0 -120
  449. package/.codex/skills/team-frontend-debug/instructions/agent-instruction.md +0 -272
  450. package/.codex/skills/team-frontend-debug/schemas/tasks-schema.md +0 -198
  451. package/.codex/skills/team-issue/agents/reviewer.md +0 -204
  452. package/.codex/skills/team-issue/instructions/agent-instruction.md +0 -198
  453. package/.codex/skills/team-issue/schemas/tasks-schema.md +0 -198
  454. package/.codex/skills/team-iterdev/agents/gc-controller.md +0 -193
  455. package/.codex/skills/team-iterdev/agents/task-analyzer.md +0 -206
  456. package/.codex/skills/team-iterdev/instructions/agent-instruction.md +0 -118
  457. package/.codex/skills/team-iterdev/schemas/tasks-schema.md +0 -174
  458. package/.codex/skills/team-lifecycle/SKILL.md +0 -906
  459. package/.codex/skills/team-lifecycle/agents/analyst.md +0 -424
  460. package/.codex/skills/team-lifecycle/agents/architect.md +0 -274
  461. package/.codex/skills/team-lifecycle/agents/discuss-agent.md +0 -422
  462. package/.codex/skills/team-lifecycle/agents/executor.md +0 -423
  463. package/.codex/skills/team-lifecycle/agents/explore-agent.md +0 -471
  464. package/.codex/skills/team-lifecycle/agents/fe-developer.md +0 -239
  465. package/.codex/skills/team-lifecycle/agents/fe-qa.md +0 -357
  466. package/.codex/skills/team-lifecycle/agents/planner.md +0 -437
  467. package/.codex/skills/team-lifecycle/agents/reviewer.md +0 -483
  468. package/.codex/skills/team-lifecycle/agents/tester.md +0 -423
  469. package/.codex/skills/team-lifecycle/agents/writer.md +0 -502
  470. package/.codex/skills/team-lifecycle/phases/01-requirement-clarification.md +0 -209
  471. package/.codex/skills/team-lifecycle/phases/02-team-initialization.md +0 -263
  472. package/.codex/skills/team-lifecycle/phases/03-task-chain-creation.md +0 -251
  473. package/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md +0 -831
  474. package/.codex/skills/team-lifecycle/phases/05-completion-report.md +0 -309
  475. package/.codex/skills/team-lifecycle/specs/document-standards.md +0 -192
  476. package/.codex/skills/team-lifecycle/specs/quality-gates.md +0 -207
  477. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +0 -165
  478. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +0 -163
  479. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +0 -182
  480. package/.codex/skills/team-perf-opt/agents/completion-handler.md +0 -141
  481. package/.codex/skills/team-perf-opt/agents/fix-cycle-handler.md +0 -156
  482. package/.codex/skills/team-perf-opt/agents/plan-reviewer.md +0 -150
  483. package/.codex/skills/team-perf-opt/instructions/agent-instruction.md +0 -122
  484. package/.codex/skills/team-perf-opt/schemas/tasks-schema.md +0 -174
  485. package/.codex/skills/team-planex/instructions/agent-instruction.md +0 -301
  486. package/.codex/skills/team-planex/schemas/tasks-schema.md +0 -198
  487. package/.codex/skills/team-planex-v2/SKILL.md +0 -652
  488. package/.codex/skills/team-planex-v2/instructions/agent-instruction.md +0 -193
  489. package/.codex/skills/team-planex-v2/schemas/tasks-schema.md +0 -206
  490. package/.codex/skills/team-quality-assurance/agents/executor.md +0 -192
  491. package/.codex/skills/team-quality-assurance/agents/gc-loop-handler.md +0 -163
  492. package/.codex/skills/team-quality-assurance/instructions/agent-instruction.md +0 -185
  493. package/.codex/skills/team-quality-assurance/schemas/tasks-schema.md +0 -190
  494. package/.codex/skills/team-review/agents/fixer.md +0 -360
  495. package/.codex/skills/team-review/instructions/agent-instruction.md +0 -102
  496. package/.codex/skills/team-review/schemas/tasks-schema.md +0 -143
  497. package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +0 -176
  498. package/.codex/skills/team-roadmap-dev/agents/roadmap-planner.md +0 -194
  499. package/.codex/skills/team-roadmap-dev/agents/roadmap-verifier.md +0 -221
  500. package/.codex/skills/team-roadmap-dev/instructions/executor-instruction.md +0 -55
  501. package/.codex/skills/team-roadmap-dev/schemas/tasks-schema.md +0 -144
  502. package/.codex/skills/team-tech-debt/agents/gc-loop-manager.md +0 -130
  503. package/.codex/skills/team-tech-debt/agents/plan-approver.md +0 -151
  504. package/.codex/skills/team-tech-debt/instructions/agent-instruction.md +0 -390
  505. package/.codex/skills/team-tech-debt/schemas/tasks-schema.md +0 -196
  506. package/.codex/skills/team-testing/agents/executor.md +0 -195
  507. package/.codex/skills/team-testing/agents/gc-loop-handler.md +0 -155
  508. package/.codex/skills/team-testing/instructions/agent-instruction.md +0 -142
  509. package/.codex/skills/team-testing/schemas/tasks-schema.md +0 -172
  510. package/.codex/skills/team-uidesign/agents/completion-handler.md +0 -177
  511. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +0 -162
  512. package/.codex/skills/team-uidesign/instructions/agent-instruction.md +0 -509
  513. package/.codex/skills/team-uidesign/schemas/tasks-schema.md +0 -187
  514. package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +0 -155
  515. package/.codex/skills/team-ultra-analyze/agents/topic-analyzer.md +0 -153
  516. package/.codex/skills/team-ultra-analyze/instructions/agent-instruction.md +0 -169
  517. package/.codex/skills/team-ultra-analyze/schemas/tasks-schema.md +0 -180
  518. package/.codex/skills/team-ux-improve/agents/ux-designer.md +0 -136
  519. package/.codex/skills/team-ux-improve/agents/ux-explorer.md +0 -158
  520. package/.codex/skills/team-ux-improve/agents/ux-tester.md +0 -174
  521. package/.codex/skills/team-ux-improve/instructions/ux-worker-instruction.md +0 -55
  522. package/.codex/skills/team-ux-improve/schemas/tasks-schema.md +0 -87
  523. /package/.codex/skills/{team-lifecycle/templates/architecture-doc.md → team-lifecycle-v4/templates/architecture.md} +0 -0
  524. /package/.codex/skills/{team-lifecycle/templates/epics-template.md → team-lifecycle-v4/templates/epics.md} +0 -0
  525. /package/.codex/skills/{team-lifecycle → team-lifecycle-v4}/templates/product-brief.md +0 -0
  526. /package/.codex/skills/{team-lifecycle/templates/requirements-prd.md → team-lifecycle-v4/templates/requirements.md} +0 -0
@@ -1,831 +0,0 @@
1
- # Phase 4: Pipeline Coordination
2
-
3
- > **COMPACT PROTECTION**: This is an execution document. After context compression, phase instructions become summaries only. You MUST immediately re-read this file via `Read("~/~ or <project>/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md")` before continuing. Never execute based on summaries.
4
-
5
- ## Objective
6
-
7
- Execute the main spawn/wait/close coordination loop. This is the core phase where the orchestrator spawns agents for pipeline tasks, waits for results, processes outputs (including consensus severity routing), handles checkpoints, and advances the pipeline through fast-advance or sequential beats until all tasks complete.
8
-
9
- ---
10
-
11
- ## Input
12
-
13
- | Input | Source | Required |
14
- |-------|--------|----------|
15
- | sessionDir | Phase 2/3 output | Yes |
16
- | state | team-session.json (current) | Yes |
17
- | state.pipeline | Task chain from Phase 3 | Yes |
18
- | state.mode | Pipeline mode | Yes |
19
- | state.execution | sequential or parallel | Yes |
20
-
21
- ---
22
-
23
- ## Constants
24
-
25
- | Constant | Value | Description |
26
- |----------|-------|-------------|
27
- | SPEC_AGENT_TIMEOUT | 900000 (15 min) | Timeout for spec pipeline agents (analyst, writer, reviewer) |
28
- | IMPL_AGENT_TIMEOUT | 1800000 (30 min) | Timeout for impl pipeline agents (executor, tester, planner) |
29
- | CONVERGENCE_WAIT | 120000 (2 min) | Additional wait after sending convergence request |
30
- | MAX_RETRIES_PER_TASK | 3 | Maximum retries for a failing task before escalation |
31
- | MAX_GC_ROUNDS | 2 | Maximum QA-FE fix-retest iterations |
32
- | ORPHAN_THRESHOLD | 300000 (5 min) | Time before orphaned in_progress task is reset |
33
-
34
- ---
35
-
36
- ## Execution Steps
37
-
38
- ### Step 4.1: Compute Ready Tasks
39
-
40
- Read the state file and find all tasks that can be started.
41
-
42
- ```javascript
43
- // Read current state
44
- const state = JSON.parse(Read("<session-dir>/team-session.json"))
45
-
46
- // Compute sets
47
- const completedIds = state.pipeline
48
- .filter(t => t.status === "completed")
49
- .map(t => t.id)
50
-
51
- const inProgressIds = state.pipeline
52
- .filter(t => t.status === "in_progress")
53
- .map(t => t.id)
54
-
55
- const readyTasks = state.pipeline.filter(t =>
56
- t.status === "pending"
57
- && t.blocked_by.every(dep => completedIds.includes(dep))
58
- )
59
- ```
60
-
61
- **Decision table** (what to do with ready tasks):
62
-
63
- | Ready Count | In-Progress Count | Action |
64
- |-------------|-------------------|--------|
65
- | 0 | >0 | Wait for running agents (enter wait loop) |
66
- | 0 | 0 | Pipeline complete -> proceed to Phase 5 |
67
- | 1 | 0 | Spawn single agent, enter wait loop |
68
- | 1+ | 0 | Spawn all ready agents (parallel or sequential per config), enter wait loop |
69
- | 1+ | >0 | Spawn ready agents alongside running, enter wait loop |
70
-
71
- ### Step 4.2: Checkpoint Check
72
-
73
- Before spawning, check if a checkpoint was just reached.
74
-
75
- ```javascript
76
- // Check if the most recently completed task has is_checkpoint_after = true
77
- const justCompleted = state.pipeline.filter(t => t.status === "completed")
78
- const lastCompleted = justCompleted[justCompleted.length - 1]
79
-
80
- if (lastCompleted && lastCompleted.is_checkpoint_after
81
- && !state.checkpoints_hit.includes(lastCompleted.id)) {
82
- // Checkpoint reached
83
- state.checkpoints_hit.push(lastCompleted.id)
84
- // Write state
85
- // Output checkpoint message and pause
86
- }
87
- ```
88
-
89
- **Checkpoint behavior**:
90
-
91
- | Checkpoint Task | Message | Resume Condition |
92
- |----------------|---------|-----------------|
93
- | QUALITY-001 | "SPEC PHASE COMPLETE. Review spec artifacts before proceeding to implementation. Type 'resume' to continue." | User types 'resume' |
94
- | DISCUSS-006 HIGH | "Final sign-off blocked with HIGH severity. Review divergences and decide. Type 'resume' to proceed or 'revise' to create revision." | User command |
95
-
96
- When paused at checkpoint:
97
- 1. Update state: `status = "paused"`
98
- 2. Write state file
99
- 3. Output checkpoint message
100
- 4. Yield -- orchestrator stops, waits for user
101
-
102
- When user resumes from checkpoint:
103
- 1. Update state: `status = "active"`
104
- 2. Proceed to spawn ready tasks
105
-
106
- ### Step 4.3: Spawn Agents
107
-
108
- For each ready task, spawn an agent using the agent spawn template.
109
-
110
- ```javascript
111
- const spawnedAgents = []
112
-
113
- for (const task of readyTasks) {
114
- // Determine timeout based on pipeline phase
115
- const timeout = isSpecTask(task.id) ? SPEC_AGENT_TIMEOUT : IMPL_AGENT_TIMEOUT
116
-
117
- // Build predecessor context
118
- const predecessorContext = task.blocked_by.map(depId => {
119
- const depTask = state.pipeline.find(t => t.id === depId)
120
- return `${depId}: ${depTask.artifact_path || "(no artifact)"}`
121
- }).join("\n")
122
-
123
- // Spawn agent
124
- const agentId = spawn_agent({
125
- message: `
126
- ## TASK ASSIGNMENT
127
-
128
- ### MANDATORY FIRST STEPS (Agent Execute)
129
- 1. **Read role definition**: ~/.codex/agents/${task.owner}.md (MUST read first)
130
- 2. Read session state: ${sessionDir}/team-session.json
131
- 3. Read wisdom files: ${sessionDir}/wisdom/*.md (if exists)
132
-
133
- ---
134
-
135
- ## Session
136
- Session directory: ${sessionDir}
137
- Task ID: ${task.id}
138
- Pipeline mode: ${state.mode}
139
-
140
- ## Scope
141
- ${state.scope}
142
-
143
- ## Task
144
- ${task.description}
145
-
146
- ## InlineDiscuss
147
- ${task.inline_discuss || "none"}
148
-
149
- ## Dependencies (completed predecessors)
150
- ${predecessorContext || "(none - this is the first task)"}
151
-
152
- ## Constraints
153
- - Only process ${task.id} (prefix: ${task.id.split('-')[0]}-*)
154
- - All output prefixed with [${task.owner}] tag
155
- - Write artifacts to ${sessionDir}/${getArtifactSubdir(task)}
156
- - Read wisdom files for cross-task knowledge before starting
157
- - After completion, append discoveries to wisdom files
158
- - If InlineDiscuss is set, spawn discuss subagent after primary artifact creation
159
- (Read ~/.codex/agents/discuss-agent.md for protocol)
160
- - If codebase exploration is needed, spawn explore subagent
161
- (Read ~/.codex/agents/explore-agent.md for protocol)
162
-
163
- ## Completion Protocol
164
- When work is complete, output EXACTLY:
165
-
166
- TASK_COMPLETE:
167
- - task_id: ${task.id}
168
- - status: <success | failed | partial>
169
- - artifact: <path-to-primary-artifact>
170
- - discuss_verdict: <consensus_reached | consensus_blocked | none>
171
- - discuss_severity: <HIGH | MEDIUM | LOW | none>
172
- - summary: <one-line summary>
173
- `
174
- })
175
-
176
- // Record in state
177
- task.status = "in_progress"
178
- task.agent_id = agentId
179
- task.started_at = new Date().toISOString()
180
-
181
- spawnedAgents.push({ agentId, taskId: task.id, owner: task.owner, timeout })
182
-
183
- state.active_agents.push({
184
- agent_id: agentId,
185
- task_id: task.id,
186
- owner: task.owner,
187
- spawned_at: new Date().toISOString()
188
- })
189
- }
190
-
191
- // Update state file
192
- state.updated_at = new Date().toISOString()
193
- Write("<session-dir>/team-session.json", JSON.stringify(state, null, 2))
194
- ```
195
-
196
- **Agent-to-artifact-subdirectory mapping** (`getArtifactSubdir`):
197
-
198
- | Agent / Task Prefix | Subdirectory |
199
- |---------------------|-------------|
200
- | analyst / RESEARCH-* | spec/ |
201
- | writer / DRAFT-* | spec/ |
202
- | reviewer / QUALITY-* | spec/ |
203
- | planner / PLAN-* | plan/ |
204
- | executor / IMPL-* | (project root - code changes) |
205
- | tester / TEST-* | qa/ |
206
- | reviewer / REVIEW-* | qa/ |
207
- | architect / ARCH-* | architecture/ |
208
- | fe-developer / DEV-FE-* | (project root - code changes) |
209
- | fe-qa / QA-FE-* | qa/ |
210
-
211
- ### Step 4.4: Wait Loop
212
-
213
- Enter the main wait loop. Wait for all spawned agents, then process results.
214
-
215
- ```javascript
216
- // Collect all active agent IDs
217
- const activeAgentIds = spawnedAgents.map(a => a.agentId)
218
-
219
- // Determine timeout (use the maximum among spawned agents)
220
- const maxTimeout = Math.max(...spawnedAgents.map(a => a.timeout))
221
-
222
- // Wait for all agents
223
- const results = wait({ ids: activeAgentIds, timeout_ms: maxTimeout })
224
- ```
225
-
226
- ### Step 4.5: Timeout Handling
227
-
228
- If any agent timed out, send convergence request and retry.
229
-
230
- ```javascript
231
- if (results.timed_out) {
232
- for (const agent of spawnedAgents) {
233
- if (!results.status[agent.agentId]?.completed) {
234
- // Send convergence request
235
- send_input({
236
- id: agent.agentId,
237
- message: `
238
- ## TIMEOUT NOTIFICATION
239
-
240
- Execution timeout reached for task ${agent.taskId}. Please:
241
- 1. Save all current progress to artifact files
242
- 2. Output TASK_COMPLETE with status: partial
243
- 3. Include summary of completed vs remaining work
244
- `
245
- })
246
- }
247
- }
248
-
249
- // Wait additional convergence period
250
- const convergenceResults = wait({
251
- ids: activeAgentIds.filter(id => !results.status[id]?.completed),
252
- timeout_ms: CONVERGENCE_WAIT
253
- })
254
-
255
- // Merge results
256
- // Agents still not complete after convergence -> force close
257
- for (const agent of spawnedAgents) {
258
- const agentResult = results.status[agent.agentId]?.completed
259
- || convergenceResults.status?.[agent.agentId]?.completed
260
-
261
- if (!agentResult) {
262
- // Force close and mark as failed
263
- close_agent({ id: agent.agentId })
264
- handleTaskFailure(agent.taskId, "timeout after convergence request")
265
- }
266
- }
267
- }
268
- ```
269
-
270
- ### Step 4.6: Process Agent Results
271
-
272
- For each completed agent, extract TASK_COMPLETE data and update state.
273
-
274
- ```javascript
275
- // Message counter for NDJSON log
276
- let msgCounter = getLastMsgCounter("<session-dir>/.msg/messages.jsonl") + 1
277
-
278
- for (const agent of spawnedAgents) {
279
- const output = results.status[agent.agentId]?.completed
280
- if (!output) continue // handled in timeout section
281
-
282
- // Parse TASK_COMPLETE from output
283
- const taskResult = parseTaskComplete(output)
284
-
285
- if (!taskResult) {
286
- // Malformed output - treat as partial success
287
- handleMalformedOutput(agent.taskId, output)
288
- continue
289
- }
290
-
291
- // Update task in state
292
- const task = state.pipeline.find(t => t.id === agent.taskId)
293
- task.status = taskResult.status === "failed" ? "failed" : "completed"
294
- task.artifact_path = taskResult.artifact
295
- task.discuss_verdict = taskResult.discuss_verdict
296
- task.discuss_severity = taskResult.discuss_severity
297
- task.completed_at = new Date().toISOString()
298
-
299
- // Remove from active agents
300
- state.active_agents = state.active_agents.filter(
301
- a => a.agent_id !== agent.agentId
302
- )
303
-
304
- // Add to completed
305
- if (task.status === "completed") {
306
- state.completed_tasks.push(task.id)
307
- state.tasks_completed++
308
- }
309
-
310
- // Close agent
311
- close_agent({ id: agent.agentId })
312
-
313
- // Log to message bus
314
- logToMessageBus("<session-dir>", msgCounter++, {
315
- from: task.owner,
316
- type: "impl_complete",
317
- summary: `${task.id} completed: ${taskResult.summary || task.status}`,
318
- data: {
319
- task_id: task.id,
320
- status: task.status,
321
- artifact: task.artifact_path,
322
- discuss_verdict: task.discuss_verdict
323
- }
324
- })
325
-
326
- // Update role_state in meta.json
327
- updateMetaRoleState("<session-dir>", task.owner, {
328
- status: task.status,
329
- task_id: task.id,
330
- completed_at: task.completed_at
331
- })
332
-
333
- // Route by consensus verdict
334
- if (taskResult.discuss_verdict === "consensus_blocked") {
335
- handleConsensusBlocked(task, taskResult)
336
- }
337
- }
338
-
339
- // Write updated state
340
- state.updated_at = new Date().toISOString()
341
- Write("<session-dir>/team-session.json", JSON.stringify(state, null, 2))
342
- ```
343
-
344
- ### Step 4.7: Consensus Severity Routing
345
-
346
- Handle consensus_blocked results from agents with inline discuss.
347
-
348
- ```javascript
349
- function handleConsensusBlocked(task, taskResult) {
350
- const severity = taskResult.discuss_severity
351
-
352
- switch (severity) {
353
- case "LOW":
354
- // Treat as consensus_reached with notes
355
- // No special action needed, proceed normally
356
- break
357
-
358
- case "MEDIUM":
359
- // Log warning to wisdom/issues.md
360
- appendToFile("<session-dir>/wisdom/issues.md",
361
- `\n## ${task.id} - Consensus Warning (MEDIUM)\n`
362
- + `Divergences: ${taskResult.divergences || "see discussion record"}\n`
363
- + `Action items: ${taskResult.action_items || "see discussion record"}\n`)
364
- // Proceed normally
365
- break
366
-
367
- case "HIGH":
368
- // Check if this is DISCUSS-006 (final sign-off)
369
- if (task.inline_discuss === "DISCUSS-006") {
370
- // Always pause for user decision
371
- state.status = "paused"
372
- state.checkpoints_hit.push(`${task.id}-DISCUSS-006-HIGH`)
373
- // Output will include pause message
374
- return // Do not advance pipeline
375
- }
376
-
377
- // Check revision limit
378
- if (task.revision_count >= 1) {
379
- // Already revised once, escalate to user
380
- state.status = "paused"
381
- // Output escalation message
382
- return
383
- }
384
-
385
- // Create revision task
386
- const revisionTask = {
387
- id: `${task.id}-R1`,
388
- owner: task.owner,
389
- status: "pending",
390
- blocked_by: [],
391
- description: `Revision of ${task.id}: address consensus-blocked divergences.\n`
392
- + `Session: ${sessionDir}\n`
393
- + `Original artifact: ${task.artifact_path}\n`
394
- + `Divergences: ${taskResult.divergences || "see discussion record"}\n`
395
- + `Action items: ${taskResult.action_items || "see discussion record"}\n`
396
- + `InlineDiscuss: ${task.inline_discuss}`,
397
- inline_discuss: task.inline_discuss,
398
- agent_id: null,
399
- artifact_path: null,
400
- discuss_verdict: null,
401
- discuss_severity: null,
402
- started_at: null,
403
- completed_at: null,
404
- revision_of: task.id,
405
- revision_count: task.revision_count + 1,
406
- is_checkpoint_after: task.is_checkpoint_after
407
- }
408
-
409
- // Insert revision into pipeline (after the original task)
410
- const taskIndex = state.pipeline.findIndex(t => t.id === task.id)
411
- state.pipeline.splice(taskIndex + 1, 0, revisionTask)
412
- state.tasks_total++
413
-
414
- // Update dependent tasks: anything blocked_by task.id should now be blocked_by revision.id
415
- for (const t of state.pipeline) {
416
- const depIdx = t.blocked_by.indexOf(task.id)
417
- if (depIdx !== -1) {
418
- t.blocked_by[depIdx] = revisionTask.id
419
- }
420
- }
421
-
422
- // Track revision chain
423
- state.revision_chains[task.id] = revisionTask.id
424
- break
425
- }
426
- }
427
- ```
428
-
429
- ### Step 4.8: GC Loop Handling (Frontend QA)
430
-
431
- When QA-FE agent completes with verdict NEEDS_FIX:
432
-
433
- ```javascript
434
- function handleGCLoop(qaTask, taskResult) {
435
- if (state.gc_loop_count >= MAX_GC_ROUNDS) {
436
- // Max rounds reached, stop loop
437
- // Output: "QA-FE max rounds reached. Latest report: <artifact-path>"
438
- return
439
- }
440
-
441
- state.gc_loop_count++
442
- const round = state.gc_loop_count + 1
443
-
444
- // Create DEV-FE-NNN (fix task)
445
- const devFeTask = {
446
- id: `DEV-FE-${String(round).padStart(3, '0')}`,
447
- owner: "fe-developer",
448
- status: "pending",
449
- blocked_by: [qaTask.id],
450
- description: `Frontend fix round ${round}: address QA findings.\n`
451
- + `Session: ${sessionDir}\n`
452
- + `QA Report: ${qaTask.artifact_path}\n`
453
- + `Scope: ${state.scope}`,
454
- inline_discuss: null,
455
- agent_id: null,
456
- artifact_path: null,
457
- discuss_verdict: null,
458
- discuss_severity: null,
459
- started_at: null,
460
- completed_at: null,
461
- revision_of: null,
462
- revision_count: 0,
463
- is_checkpoint_after: false
464
- }
465
-
466
- // Create QA-FE-NNN (retest task)
467
- const qaFeTask = {
468
- id: `QA-FE-${String(round).padStart(3, '0')}`,
469
- owner: "fe-qa",
470
- status: "pending",
471
- blocked_by: [devFeTask.id],
472
- description: `Frontend QA round ${round}: retest after fixes.\n`
473
- + `Session: ${sessionDir}\n`
474
- + `Scope: ${state.scope}`,
475
- inline_discuss: null,
476
- agent_id: null,
477
- artifact_path: null,
478
- discuss_verdict: null,
479
- discuss_severity: null,
480
- started_at: null,
481
- completed_at: null,
482
- revision_of: null,
483
- revision_count: 0,
484
- is_checkpoint_after: false
485
- }
486
-
487
- // Add to pipeline
488
- state.pipeline.push(devFeTask, qaFeTask)
489
- state.tasks_total += 2
490
-
491
- // Update downstream dependencies (e.g., REVIEW-001 blocked_by QA-FE-001 -> QA-FE-NNN)
492
- for (const t of state.pipeline) {
493
- const depIdx = t.blocked_by.indexOf(qaTask.id)
494
- if (depIdx !== -1 && t.id !== devFeTask.id) {
495
- t.blocked_by[depIdx] = qaFeTask.id
496
- }
497
- }
498
- }
499
- ```
500
-
501
- ### Step 4.9: Fast-Advance Check
502
-
503
- After processing all results, determine whether to fast-advance or yield.
504
-
505
- ```javascript
506
- // Recompute ready tasks after processing
507
- const newReadyTasks = state.pipeline.filter(t =>
508
- t.status === "pending"
509
- && t.blocked_by.every(dep =>
510
- state.pipeline.find(p => p.id === dep)?.status === "completed"
511
- )
512
- )
513
-
514
- const stillRunning = state.active_agents.length > 0
515
- ```
516
-
517
- **Fast-advance decision table**:
518
-
519
- | Ready Count | Still Running | Checkpoint Pending | Action |
520
- |-------------|---------------|-------------------|--------|
521
- | 0 | Yes | No | Yield, wait for running agents |
522
- | 0 | No | No | Pipeline complete -> Phase 5 |
523
- | 0 | No | Yes | Paused at checkpoint, yield |
524
- | 1 | No | No | Fast-advance: spawn immediately, re-enter Step 4.3 |
525
- | 1 | Yes | No | Spawn alongside running, re-enter wait loop |
526
- | 2+ | Any | No | Spawn all ready (batch), re-enter wait loop |
527
- | Any | Any | Yes | Paused at checkpoint, yield |
528
-
529
- ```javascript
530
- if (state.status === "paused") {
531
- // Checkpoint or escalation - yield
532
- // Output pause message
533
- return
534
- }
535
-
536
- if (newReadyTasks.length === 0 && state.active_agents.length === 0) {
537
- // Pipeline complete
538
- // Proceed to Phase 5
539
- return "PIPELINE_COMPLETE"
540
- }
541
-
542
- if (newReadyTasks.length > 0) {
543
- // Fast-advance: loop back to Step 4.3 with new ready tasks
544
- readyTasks = newReadyTasks
545
- // Continue to Step 4.3 (spawn agents)
546
- }
547
-
548
- if (newReadyTasks.length === 0 && state.active_agents.length > 0) {
549
- // Wait for running agents
550
- // Re-enter Step 4.4 (wait loop)
551
- }
552
- ```
553
-
554
- ### Step 4.10: Orphan Detection
555
-
556
- When processing a resume command or between beats, check for orphaned tasks.
557
-
558
- ```javascript
559
- function detectOrphans(state) {
560
- const now = Date.now()
561
-
562
- for (const task of state.pipeline) {
563
- if (task.status !== "in_progress") continue
564
-
565
- // Check if there is an active agent for this task
566
- const hasAgent = state.active_agents.some(a => a.task_id === task.id)
567
-
568
- if (!hasAgent) {
569
- // Task is in_progress but no agent is tracking it
570
- const elapsed = now - new Date(task.started_at).getTime()
571
-
572
- if (elapsed > ORPHAN_THRESHOLD) {
573
- // Orphaned task (likely fast-advance failure)
574
- task.status = "pending"
575
- task.agent_id = null
576
- task.started_at = null
577
-
578
- // Log to wisdom
579
- appendToFile("<session-dir>/wisdom/issues.md",
580
- `\n## Orphaned Task Reset: ${task.id}\n`
581
- + `Task was in_progress for ${Math.round(elapsed / 1000)}s with no active agent. Reset to pending.\n`)
582
- }
583
- }
584
- }
585
- }
586
- ```
587
-
588
- ### Step 4.11: Status Output
589
-
590
- After each beat cycle, output a status summary.
591
-
592
- ```
593
- [orchestrator] Beat complete
594
- Completed this beat: <task-ids>
595
- Still running: <task-ids> (<agent-roles>)
596
- Ready to spawn: <task-ids>
597
- Progress: <completed>/<total> (<percent>%)
598
- Next action: <spawning | waiting | checkpoint-paused | pipeline-complete>
599
- ```
600
-
601
- ### Step 4.12: User Command Handling
602
-
603
- During Phase 4, user may issue commands.
604
-
605
- **`check` / `status`**:
606
-
607
- ```
608
- Read state file -> output status graph (see orchestrator.md User Commands) -> yield
609
- No pipeline advancement.
610
- ```
611
-
612
- **`resume` / `continue`**:
613
-
614
- ```
615
- Read state file
616
- +- status === "paused"?
617
- | +- YES -> update status to "active" -> detectOrphans -> Step 4.1 (compute ready)
618
- | +- NO -> detectOrphans -> Step 4.1 (compute ready)
619
- ```
620
-
621
- ---
622
-
623
- ## Pipeline Execution Patterns
624
-
625
- ### Spec-only (6 linear beats)
626
-
627
- ```javascript
628
- // Beat 1: RESEARCH-001 (analyst)
629
- analyst = spawn_agent(analystPrompt)
630
- result = wait([analyst]) -> close_agent(analyst)
631
- // Process discuss result (DISCUSS-001)
632
- // Fast-advance to beat 2
633
-
634
- // Beat 2: DRAFT-001 (writer)
635
- writer1 = spawn_agent(writerPromptForDRAFT001)
636
- result = wait([writer1]) -> close_agent(writer1)
637
- // Process discuss result (DISCUSS-002)
638
- // Fast-advance to beat 3
639
-
640
- // Beats 3-5: DRAFT-002, DRAFT-003, DRAFT-004 (same pattern)
641
- // Each: spawn writer -> wait -> close -> process discuss -> fast-advance
642
-
643
- // Beat 6: QUALITY-001 (reviewer)
644
- reviewer = spawn_agent(reviewerPromptForQUALITY001)
645
- result = wait([reviewer]) -> close_agent(reviewer)
646
- // Process discuss result (DISCUSS-006)
647
- // If full-lifecycle: CHECKPOINT -> pause for user
648
- // If spec-only: PIPELINE_COMPLETE -> Phase 5
649
- ```
650
-
651
- ### Impl-only (3 beats with parallel window)
652
-
653
- ```javascript
654
- // Beat 1: PLAN-001 (planner)
655
- planner = spawn_agent(plannerPrompt)
656
- result = wait([planner]) -> close_agent(planner)
657
-
658
- // Beat 2: IMPL-001 (executor)
659
- executor = spawn_agent(executorPrompt)
660
- result = wait([executor]) -> close_agent(executor)
661
-
662
- // Beat 3: TEST-001 || REVIEW-001 (parallel)
663
- tester = spawn_agent(testerPrompt)
664
- reviewer = spawn_agent(reviewerPrompt)
665
- results = wait([tester, reviewer]) // batch wait
666
- close_agent(tester)
667
- close_agent(reviewer)
668
- // PIPELINE_COMPLETE -> Phase 5
669
- ```
670
-
671
- ### Fullstack (4 beats with dual parallel)
672
-
673
- ```javascript
674
- // Beat 1: PLAN-001
675
- planner = spawn_agent(plannerPrompt)
676
- result = wait([planner]) -> close_agent(planner)
677
-
678
- // Beat 2: IMPL-001 || DEV-FE-001 (parallel)
679
- executor = spawn_agent(executorPrompt)
680
- feDev = spawn_agent(feDevPrompt)
681
- results = wait([executor, feDev])
682
- close_agent(executor)
683
- close_agent(feDev)
684
-
685
- // Beat 3: TEST-001 || QA-FE-001 (parallel)
686
- tester = spawn_agent(testerPrompt)
687
- feQa = spawn_agent(feQaPrompt)
688
- results = wait([tester, feQa])
689
- close_agent(tester)
690
- close_agent(feQa)
691
- // Handle GC loop if QA-FE verdict is NEEDS_FIX
692
-
693
- // Beat 4: REVIEW-001 (sync barrier)
694
- reviewer = spawn_agent(reviewerPrompt)
695
- result = wait([reviewer]) -> close_agent(reviewer)
696
- // PIPELINE_COMPLETE -> Phase 5
697
- ```
698
-
699
- ---
700
-
701
- ## Output
702
-
703
- | Output | Type | Destination |
704
- |--------|------|-------------|
705
- | state (final) | Object | Updated in team-session.json throughout |
706
- | Pipeline status | String | "PIPELINE_COMPLETE" or "PAUSED" |
707
- | All task artifacts | Files | Written by agents to session subdirectories |
708
-
709
- ---
710
-
711
- ## Success Criteria
712
-
713
- - All pipeline tasks reach "completed" status (or "partial" with user acknowledgment)
714
- - State file reflects accurate pipeline status at all times
715
- - Checkpoints are properly enforced (spec-to-impl transition)
716
- - Consensus severity routing executed correctly
717
- - GC loop respects maximum round limit
718
- - No orphaned tasks at pipeline end
719
- - All agents properly closed
720
-
721
- ---
722
-
723
- ## Error Handling
724
-
725
- | Error | Detection | Resolution |
726
- |-------|-----------|------------|
727
- | Agent timeout | wait() returns timed_out | Send convergence via send_input, wait 2 min, force close |
728
- | Agent crash | wait() returns error | Reset task to pending, respawn (max 3 retries) |
729
- | 3+ retries on same task | retry_count in task state | Pause pipeline, report to user |
730
- | Orphaned task | in_progress + no agent + elapsed > 5 min | Reset to pending, respawn |
731
- | Malformed TASK_COMPLETE | parseTaskComplete returns null | Treat as partial, log warning |
732
- | State file write conflict | Write error | Retry once, fail on second error |
733
- | Pipeline stall | No ready + no running + has pending | Inspect blocked_by, report to user |
734
- | DISCUSS-006 HIGH | Parsed from reviewer output | Always pause for user |
735
- | Revision also blocked | Revision task returns HIGH | Pause, escalate to user |
736
- | GC loop exceeded | gc_loop_count >= MAX_GC_ROUNDS | Stop loop, report QA state |
737
-
738
- ---
739
-
740
- ## Message Bus Helpers
741
-
742
- Helper functions for writing to `.msg/messages.jsonl` and updating `.msg/meta.json`. These maintain compatibility with the Claude version's `team_msg` tool format.
743
-
744
- ### logToMessageBus
745
-
746
- Append an NDJSON event to `messages.jsonl`:
747
-
748
- ```javascript
749
- function logToMessageBus(sessionDir, counter, { from, to, type, summary, data }) {
750
- const msg = {
751
- id: `MSG-${String(counter).padStart(3, '0')}`,
752
- ts: new Date().toISOString(),
753
- from: from || "coordinator",
754
- to: to || "coordinator",
755
- type: type || "message",
756
- summary: summary || `${type} from ${from}`,
757
- data: data || {}
758
- }
759
-
760
- // Append to NDJSON log
761
- appendToFile(`${sessionDir}/.msg/messages.jsonl`, JSON.stringify(msg) + "\n")
762
- }
763
- ```
764
-
765
- ### updateMetaRoleState
766
-
767
- Update role-specific state in `meta.json`:
768
-
769
- ```javascript
770
- function updateMetaRoleState(sessionDir, role, stateData) {
771
- const metaPath = `${sessionDir}/.msg/meta.json`
772
- const meta = JSON.parse(Read(metaPath))
773
-
774
- if (!meta.role_state) meta.role_state = {}
775
- meta.role_state[role] = {
776
- ...meta.role_state[role],
777
- ...stateData,
778
- _updated_at: new Date().toISOString()
779
- }
780
- meta.updated_at = new Date().toISOString()
781
-
782
- Write(metaPath, JSON.stringify(meta, null, 2))
783
- }
784
- ```
785
-
786
- ### getLastMsgCounter
787
-
788
- Read the last message counter from `messages.jsonl`:
789
-
790
- ```javascript
791
- function getLastMsgCounter(logPath) {
792
- try {
793
- const content = Read(logPath)
794
- const lines = content.trim().split("\n").filter(Boolean)
795
- if (lines.length === 0) return 0
796
- const lastMsg = JSON.parse(lines[lines.length - 1])
797
- return parseInt(lastMsg.id.replace("MSG-", ""), 10)
798
- } catch {
799
- return 0
800
- }
801
- }
802
- ```
803
-
804
- ### meta.json Schema
805
-
806
- The `.msg/meta.json` file follows this schema (compatible with Claude version's `team_msg state_update`):
807
-
808
- ```json
809
- {
810
- "status": "active | paused | completed",
811
- "pipeline_mode": "<mode>",
812
- "pipeline_stages": ["role1", "role2", "..."],
813
- "roles": ["coordinator", "role1", "role2", "..."],
814
- "team_name": "lifecycle",
815
- "role_state": {
816
- "<role>": {
817
- "status": "completed",
818
- "task_id": "TASK-ID",
819
- "completed_at": "<ISO8601>",
820
- "_updated_at": "<ISO8601>"
821
- }
822
- },
823
- "updated_at": "<ISO8601>"
824
- }
825
- ```
826
-
827
- ---
828
-
829
- ## Next Phase
830
-
831
- When pipeline completes (all tasks done, no paused checkpoint), proceed to [Phase 5: Completion Report](05-completion-report.md).