claude-flow-novice 1.3.6 → 1.5.1

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 (347) hide show
  1. package/.claude/agents/analysis/code-analyzer.md +3 -20
  2. package/.claude/agents/analysis/code-review/analyze-code-quality.md +1 -1
  3. package/.claude/agents/analyst.md +208 -550
  4. package/.claude/agents/architect.md +136 -469
  5. package/.claude/agents/architecture/system-architect.md +20 -1
  6. package/.claude/agents/architecture/system-design/arch-system-design.md +1 -1
  7. package/.claude/agents/base-template-generator.md +24 -1
  8. package/.claude/agents/coder.md +87 -303
  9. package/.claude/agents/consensus/byzantine-coordinator.md +4 -21
  10. package/.claude/agents/consensus/consensus-builder.md +3 -20
  11. package/.claude/agents/consensus/crdt-synchronizer.md +4 -21
  12. package/.claude/agents/consensus/gossip-coordinator.md +4 -21
  13. package/.claude/agents/consensus/performance-benchmarker.md +4 -21
  14. package/.claude/agents/consensus/quorum-manager.md +4 -21
  15. package/.claude/agents/consensus/raft-manager.md +4 -21
  16. package/.claude/agents/consensus/security-manager.md +4 -21
  17. package/.claude/agents/coordinator.md +22 -11
  18. package/.claude/agents/data/ml/data-ml-model.md +2 -2
  19. package/.claude/agents/development/backend/dev-backend-api.md +2 -2
  20. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +2 -2
  21. package/.claude/agents/devops/devops-engineer.md +134 -402
  22. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +2 -2
  23. package/.claude/agents/github/code-review-swarm.md +1 -1
  24. package/.claude/agents/github/github-specialist.md +856 -0
  25. package/.claude/agents/github/pr-manager.md +1 -1
  26. package/.claude/agents/github/release-manager.md +1 -1
  27. package/.claude/agents/neural/neural-pattern-agent.md +762 -0
  28. package/.claude/agents/optimization/benchmark-suite.md +1 -1
  29. package/.claude/agents/optimization/perf-analyzer.md +1 -1
  30. package/.claude/agents/optimization/performance-monitor.md +1 -1
  31. package/.claude/agents/planner.md +135 -0
  32. package/.claude/agents/researcher.md +22 -9
  33. package/.claude/agents/reviewer.md +291 -0
  34. package/.claude/agents/security/security-specialist.md +1 -1
  35. package/.claude/agents/sparc/architecture.md +1 -1
  36. package/.claude/agents/sparc/pseudocode.md +1 -1
  37. package/.claude/agents/sparc/refinement.md +1 -1
  38. package/.claude/agents/sparc/specification.md +1 -1
  39. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +2 -2
  40. package/.claude/agents/tester.md +21 -11
  41. package/.claude/agents/testing/unit/tdd-london-swarm.md +1 -1
  42. package/.claude/agents/testing/validation/production-validator.md +1 -1
  43. package/.claude/commands/claude-soul.js +1 -1
  44. package/.claude/commands/fullstack.md +134 -0
  45. package/.claude/commands/index.js +4 -0
  46. package/.claude/hooks.json +12 -15
  47. package/{.claude → .claude-flow-novice/.claude}/agents/MIGRATION_SUMMARY.md +1 -1
  48. package/.claude-flow-novice/.claude/agents/analysis/code-analyzer.md +192 -0
  49. package/.claude-flow-novice/.claude/agents/analysis/code-review/analyze-code-quality.md +180 -0
  50. package/.claude-flow-novice/.claude/agents/analyst.md +300 -0
  51. package/.claude-flow-novice/.claude/agents/architect.md +557 -0
  52. package/.claude-flow-novice/.claude/agents/architecture/system-architect.md +630 -0
  53. package/.claude-flow-novice/.claude/agents/architecture/system-design/arch-system-design.md +156 -0
  54. package/.claude-flow-novice/.claude/agents/base-template-generator.md +65 -0
  55. package/.claude-flow-novice/.claude/agents/coder.md +180 -0
  56. package/.claude-flow-novice/.claude/agents/consensus/byzantine-coordinator.md +46 -0
  57. package/.claude-flow-novice/.claude/agents/consensus/consensus-builder.md +225 -0
  58. package/.claude-flow-novice/.claude/agents/consensus/crdt-synchronizer.md +980 -0
  59. package/.claude-flow-novice/.claude/agents/consensus/gossip-coordinator.md +46 -0
  60. package/.claude-flow-novice/.claude/agents/consensus/performance-benchmarker.md +834 -0
  61. package/.claude-flow-novice/.claude/agents/consensus/quorum-manager.md +806 -0
  62. package/.claude-flow-novice/.claude/agents/consensus/raft-manager.md +46 -0
  63. package/.claude-flow-novice/.claude/agents/consensus/security-manager.md +605 -0
  64. package/.claude-flow-novice/.claude/agents/coordinator.md +842 -0
  65. package/.claude-flow-novice/.claude/agents/data/ml/data-ml-model.md +193 -0
  66. package/.claude-flow-novice/.claude/agents/development/backend/dev-backend-api.md +142 -0
  67. package/.claude-flow-novice/.claude/agents/devops/ci-cd/ops-cicd-github.md +164 -0
  68. package/.claude-flow-novice/.claude/agents/devops/devops-engineer.md +638 -0
  69. package/.claude-flow-novice/.claude/agents/documentation/api-docs/docs-api-openapi.md +174 -0
  70. package/.claude-flow-novice/.claude/agents/github/code-review-swarm.md +538 -0
  71. package/.claude-flow-novice/.claude/agents/github/github-modes.md +173 -0
  72. package/.claude-flow-novice/.claude/agents/github/github-specialist.md +856 -0
  73. package/.claude-flow-novice/.claude/agents/github/issue-tracker.md +319 -0
  74. package/.claude-flow-novice/.claude/agents/github/multi-repo-swarm.md +553 -0
  75. package/.claude-flow-novice/.claude/agents/github/pr-manager.md +191 -0
  76. package/.claude-flow-novice/.claude/agents/github/project-board-sync.md +509 -0
  77. package/.claude-flow-novice/.claude/agents/github/release-manager.md +367 -0
  78. package/.claude-flow-novice/.claude/agents/github/release-swarm.md +583 -0
  79. package/.claude-flow-novice/.claude/agents/github/repo-architect.md +398 -0
  80. package/.claude-flow-novice/.claude/agents/github/swarm-issue.md +573 -0
  81. package/.claude-flow-novice/.claude/agents/github/swarm-pr.md +428 -0
  82. package/.claude-flow-novice/.claude/agents/github/sync-coordinator.md +452 -0
  83. package/.claude-flow-novice/.claude/agents/github/workflow-automation.md +635 -0
  84. package/.claude-flow-novice/.claude/agents/goal/goal-planner.md +73 -0
  85. package/.claude-flow-novice/.claude/agents/neural/neural-pattern-agent.md +762 -0
  86. package/.claude-flow-novice/.claude/agents/neural/safla-neural.md +74 -0
  87. package/.claude-flow-novice/.claude/agents/optimization/benchmark-suite.md +665 -0
  88. package/.claude-flow-novice/.claude/agents/optimization/load-balancer.md +431 -0
  89. package/.claude-flow-novice/.claude/agents/optimization/perf-analyzer.md +725 -0
  90. package/.claude-flow-novice/.claude/agents/optimization/performance-monitor.md +672 -0
  91. package/.claude-flow-novice/.claude/agents/optimization/resource-allocator.md +674 -0
  92. package/.claude-flow-novice/.claude/agents/optimization/topology-optimizer.md +808 -0
  93. package/.claude-flow-novice/.claude/agents/planner.md +135 -0
  94. package/.claude-flow-novice/.claude/agents/researcher.md +185 -0
  95. package/.claude-flow-novice/.claude/agents/reviewer.md +291 -0
  96. package/.claude-flow-novice/.claude/agents/security/security-specialist.md +978 -0
  97. package/.claude-flow-novice/.claude/agents/sparc/architecture.md +472 -0
  98. package/.claude-flow-novice/.claude/agents/sparc/pseudocode.md +318 -0
  99. package/.claude-flow-novice/.claude/agents/sparc/refinement.md +525 -0
  100. package/.claude-flow-novice/.claude/agents/sparc/specification.md +276 -0
  101. package/.claude-flow-novice/.claude/agents/specialized/mobile/spec-mobile-react-native.md +226 -0
  102. package/.claude-flow-novice/.claude/agents/sublinear/consciousness-evolution-agent.md +499 -0
  103. package/.claude-flow-novice/.claude/agents/sublinear/matrix-solver-agent.md +113 -0
  104. package/.claude-flow-novice/.claude/agents/sublinear/nanosecond-scheduler-agent.md +644 -0
  105. package/.claude-flow-novice/.claude/agents/sublinear/pagerank-agent.md +699 -0
  106. package/.claude-flow-novice/.claude/agents/sublinear/phi-calculator-agent.md +749 -0
  107. package/.claude-flow-novice/.claude/agents/sublinear/psycho-symbolic-agent.md +543 -0
  108. package/.claude-flow-novice/.claude/agents/sublinear/sublinear.md +816 -0
  109. package/.claude-flow-novice/.claude/agents/sublinear/temporal-advantage-agent.md +360 -0
  110. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator-enhanced.md +746 -0
  111. package/.claude-flow-novice/.claude/agents/swarm/adaptive-coordinator.md +396 -0
  112. package/.claude-flow-novice/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  113. package/.claude-flow-novice/.claude/agents/swarm/mesh-coordinator.md +435 -0
  114. package/.claude-flow-novice/.claude/agents/templates/automation-smart-agent.md +205 -0
  115. package/.claude-flow-novice/.claude/agents/templates/coordinator-swarm-init.md +90 -0
  116. package/.claude-flow-novice/.claude/agents/templates/github-pr-manager.md +177 -0
  117. package/.claude-flow-novice/.claude/agents/templates/implementer-sparc-coder.md +259 -0
  118. package/.claude-flow-novice/.claude/agents/templates/memory-coordinator.md +187 -0
  119. package/.claude-flow-novice/.claude/agents/templates/migration-plan.md +746 -0
  120. package/.claude-flow-novice/.claude/agents/templates/orchestrator-task.md +139 -0
  121. package/.claude-flow-novice/.claude/agents/templates/performance-analyzer.md +199 -0
  122. package/.claude-flow-novice/.claude/agents/templates/sparc-coordinator.md +183 -0
  123. package/.claude-flow-novice/.claude/agents/tester.md +663 -0
  124. package/.claude-flow-novice/.claude/agents/testing/e2e/playwright-agent.md +249 -0
  125. package/.claude-flow-novice/.claude/agents/testing/unit/tdd-london-swarm.md +244 -0
  126. package/.claude-flow-novice/.claude/agents/testing/validation/production-validator.md +395 -0
  127. package/.claude-flow-novice/dist/index.js +12 -24
  128. package/.claude-flow-novice/dist/index.js.map +1 -0
  129. package/.claude-flow-novice/dist/src/agents/agent-manager.js +123 -69
  130. package/.claude-flow-novice/dist/src/agents/agent-manager.js.map +1 -1
  131. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js +7 -7
  132. package/.claude-flow-novice/dist/src/agents/github/utils/hook-integration.js.map +1 -1
  133. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js +485 -0
  134. package/.claude-flow-novice/dist/src/agents/stage3-integration-validator.js.map +1 -0
  135. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js +630 -0
  136. package/.claude-flow-novice/dist/src/agents/unified-ultra-fast-agent-manager.js.map +1 -0
  137. package/.claude-flow-novice/dist/src/cli/commands/agent.js +1 -1
  138. package/.claude-flow-novice/dist/src/cli/commands/agent.js.map +1 -1
  139. package/.claude-flow-novice/dist/src/cli/commands/config-integration.js +6 -6
  140. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js +18 -18
  141. package/.claude-flow-novice/dist/src/cli/commands/enterprise.js.map +1 -1
  142. package/.claude-flow-novice/dist/src/cli/commands/goal-init.js +4 -4
  143. package/.claude-flow-novice/dist/src/cli/commands/help-new.js +23 -23
  144. package/.claude-flow-novice/dist/src/cli/commands/help-new.js.map +1 -1
  145. package/.claude-flow-novice/dist/src/cli/commands/help.js +74 -74
  146. package/.claude-flow-novice/dist/src/cli/commands/help.js.map +1 -1
  147. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js +2 -2
  148. package/.claude-flow-novice/dist/src/cli/commands/hive-mind/pause.js.map +1 -1
  149. package/.claude-flow-novice/dist/src/cli/commands/hive.js +4 -4
  150. package/.claude-flow-novice/dist/src/cli/commands/index.js +103 -132
  151. package/.claude-flow-novice/dist/src/cli/commands/index.js.map +1 -1
  152. package/.claude-flow-novice/dist/src/cli/commands/mcp.js +1 -1
  153. package/.claude-flow-novice/dist/src/cli/commands/migrate.js +4 -4
  154. package/.claude-flow-novice/dist/src/cli/commands/migrate.js.map +1 -1
  155. package/.claude-flow-novice/dist/src/cli/commands/monitor.js +1 -1
  156. package/.claude-flow-novice/dist/src/cli/commands/neural-init.js +4 -4
  157. package/.claude-flow-novice/dist/src/cli/commands/ruv-swarm.js +8 -8
  158. package/.claude-flow-novice/dist/src/cli/commands/sparc.js +12 -12
  159. package/.claude-flow-novice/dist/src/cli/commands/sparc.js.map +1 -1
  160. package/.claude-flow-novice/dist/src/cli/commands/start/start-command.js +3 -3
  161. package/.claude-flow-novice/dist/src/cli/commands/status.js +1 -1
  162. package/.claude-flow-novice/dist/src/cli/commands/swarm.js +7 -7
  163. package/.claude-flow-novice/dist/src/cli/commands/swarm.js.map +1 -1
  164. package/.claude-flow-novice/dist/src/cli/commands/verification.js +18 -18
  165. package/.claude-flow-novice/dist/src/cli/completion.js +54 -54
  166. package/.claude-flow-novice/dist/src/cli/completion.js.map +1 -1
  167. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js +11 -11
  168. package/.claude-flow-novice/dist/src/cli/consolidated/ConsolidatedCLI.js.map +1 -1
  169. package/.claude-flow-novice/dist/src/cli/consolidated/core/CommandHandlers.js +31 -31
  170. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js +39 -39
  171. package/.claude-flow-novice/dist/src/cli/consolidated/core/TierManager.js.map +1 -1
  172. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js +25 -25
  173. package/.claude-flow-novice/dist/src/cli/consolidated/help/InteractiveHelp.js.map +1 -1
  174. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js +8 -8
  175. package/.claude-flow-novice/dist/src/cli/consolidated/routing/CommandRouter.js.map +1 -1
  176. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js +6 -6
  177. package/.claude-flow-novice/dist/src/cli/consolidated/utils/IntelligentDefaults.js.map +1 -1
  178. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js +7 -7
  179. package/.claude-flow-novice/dist/src/cli/consolidated/utils/PerformanceOptimizer.js.map +1 -1
  180. package/.claude-flow-novice/dist/src/cli/index-remote.js +10 -10
  181. package/.claude-flow-novice/dist/src/cli/index.js +1 -1
  182. package/.claude-flow-novice/dist/src/cli/init/directory-structure.js +8 -8
  183. package/.claude-flow-novice/dist/src/cli/init/index.js +3 -3
  184. package/.claude-flow-novice/dist/src/cli/init/sparc-environment.js +67 -67
  185. package/.claude-flow-novice/dist/src/cli/init/swarm-commands.js +18 -18
  186. package/.claude-flow-novice/dist/src/cli/node-repl.js +2 -2
  187. package/.claude-flow-novice/dist/src/cli/repl.js +1 -1
  188. package/.claude-flow-novice/dist/src/cli/simple-cli.js +68 -68
  189. package/.claude-flow-novice/dist/src/cli/simple-cli.js.map +1 -1
  190. package/.claude-flow-novice/dist/src/cli/simple-commands/session-start-soul.js +271 -0
  191. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js +7 -7
  192. package/.claude-flow-novice/dist/src/cli/simple-orchestrator.js.map +1 -1
  193. package/.claude-flow-novice/dist/src/cli/ui/fallback-handler.js +7 -7
  194. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js +816 -0
  195. package/.claude-flow-novice/dist/src/communication/enhanced-event-bus.js.map +1 -0
  196. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js +812 -0
  197. package/.claude-flow-novice/dist/src/communication/failure-recovery-system.js.map +1 -0
  198. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js +369 -0
  199. package/.claude-flow-novice/dist/src/communication/optimized-serialization.js.map +1 -0
  200. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js +526 -0
  201. package/.claude-flow-novice/dist/src/communication/performance-optimizations.js.map +1 -0
  202. package/.claude-flow-novice/dist/src/communication/performance-validator.js +532 -0
  203. package/.claude-flow-novice/dist/src/communication/performance-validator.js.map +1 -0
  204. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js +525 -0
  205. package/.claude-flow-novice/dist/src/communication/priority-message-queue.js.map +1 -0
  206. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js +218 -0
  207. package/.claude-flow-novice/dist/src/communication/shared-buffer-bus.js.map +1 -0
  208. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js +521 -0
  209. package/.claude-flow-novice/dist/src/communication/ultra-fast-communication-bus.js.map +1 -0
  210. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js +563 -0
  211. package/.claude-flow-novice/dist/src/communication/ultra-fast-serialization.js.map +1 -0
  212. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js +344 -0
  213. package/.claude-flow-novice/dist/src/communication/websocket-cluster.js.map +1 -0
  214. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js +369 -0
  215. package/.claude-flow-novice/dist/src/communication/zero-copy-structures.js.map +1 -0
  216. package/.claude-flow-novice/dist/src/config/config-manager.js +1 -1
  217. package/.claude-flow-novice/dist/src/config/config-manager.js.map +1 -1
  218. package/.claude-flow-novice/dist/src/config/core/intelligent-configuration-manager.js +1 -1
  219. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js +6 -6
  220. package/.claude-flow-novice/dist/src/config/integration/hooks-integration.js.map +1 -1
  221. package/.claude-flow-novice/dist/src/config/migration/config-migration.js +1 -1
  222. package/.claude-flow-novice/dist/src/config/ruv-swarm-integration.js +1 -1
  223. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js +1 -1
  224. package/.claude-flow-novice/dist/src/config/utils/zero-config-setup.js.map +1 -1
  225. package/.claude-flow-novice/dist/src/config/web-portal-config.js +0 -9
  226. package/.claude-flow-novice/dist/src/config/web-portal-config.js.map +1 -1
  227. package/.claude-flow-novice/dist/src/config/zero-config-setup.js +18 -18
  228. package/.claude-flow-novice/dist/src/config/zero-config-setup.js.map +1 -1
  229. package/.claude-flow-novice/dist/src/core/logger.js +33 -10
  230. package/.claude-flow-novice/dist/src/core/logger.js.map +1 -1
  231. package/.claude-flow-novice/dist/src/migration/index.js +1 -1
  232. package/.claude-flow-novice/dist/src/migration/index.js.map +1 -1
  233. package/.claude-flow-novice/dist/src/migration/migration-runner.js +4 -4
  234. package/.claude-flow-novice/dist/src/migration/migration-runner.js.map +1 -1
  235. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js +430 -0
  236. package/.claude-flow-novice/dist/src/monitoring/agent-health-monitor.js.map +1 -0
  237. package/.claude-flow-novice/dist/src/slash-commands/claude-soul.js +248 -365
  238. package/.claude-flow-novice/dist/src/slash-commands/register-all-commands.js +1 -1
  239. package/.claude-flow-novice/dist/src/swarm/claude-code-interface.js +1 -1
  240. package/.claude-flow-novice/dist/src/swarm/claude-flow-executor.js +1 -1
  241. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js +471 -0
  242. package/.claude-flow-novice/dist/src/swarm/consensus-coordinator.js.map +1 -0
  243. package/.claude-flow-novice/dist/src/swarm/hive-mind-integration.js +1 -1
  244. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js +543 -0
  245. package/.claude-flow-novice/dist/src/swarm/large-scale-coordinator.js.map +1 -0
  246. package/.claude-flow-novice/dist/src/swarm/optimizations/connection-pool.js +1 -1
  247. package/.claude-flow-novice/dist/src/swarm/optimizations/optimized-executor.js +1 -1
  248. package/.claude-flow-novice/dist/src/swarm/types.js.map +1 -1
  249. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js +709 -0
  250. package/.claude-flow-novice/dist/src/swarm-fullstack/integrations/communication-bridge.js.map +1 -0
  251. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js +612 -0
  252. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/api-contract-validator.js.map +1 -0
  253. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js +679 -0
  254. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/backend-test-orchestrator.js.map +1 -0
  255. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js +654 -0
  256. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/frontend-test-orchestrator.js.map +1 -0
  257. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js +402 -0
  258. package/.claude-flow-novice/dist/src/swarm-fullstack/testing/visual-regression.js.map +1 -0
  259. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js +459 -0
  260. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/convergence-detector.js.map +1 -0
  261. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js +513 -0
  262. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/fix-coordinator.js.map +1 -0
  263. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js +19 -0
  264. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/index.js.map +1 -0
  265. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js +568 -0
  266. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/iterative-build-test.js.map +1 -0
  267. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js +418 -0
  268. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/regression-test-manager.js.map +1 -0
  269. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js +530 -0
  270. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/test-result-analyzer.js.map +1 -0
  271. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js +250 -0
  272. package/.claude-flow-novice/dist/src/swarm-fullstack/workflows/workflow-metrics.js.map +1 -0
  273. package/.claude-flow-novice/dist/src/task/index.js +7 -7
  274. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js +420 -0
  275. package/.claude-flow-novice/dist/src/validation/fullstack-integration-validator.js.map +1 -0
  276. package/.claude-flow-novice/dist/src/validation/production-validator.js +1435 -0
  277. package/.claude-flow-novice/dist/src/validation/production-validator.js.map +1 -0
  278. package/.claude-flow-novice/dist/src/verification/cli-integration.js +3 -3
  279. package/.claude-flow-novice/dist/src/verification/hooks.js +1 -1
  280. package/CHANGELOG.md +26 -0
  281. package/CLAUDE.md +1967 -68
  282. package/README.md +0 -1
  283. package/config/build/babel.config.cjs +19 -11
  284. package/config/typescript/tsconfig.json +1 -1
  285. package/examples/claude-api-error-handling.ts +2 -2
  286. package/examples/frontend-testing-demo.ts +470 -0
  287. package/examples/litellm/config/config.yaml +1 -1
  288. package/package.json +13 -7
  289. package/scripts/build/unified-builder.sh +6 -6
  290. package/scripts/build/validate-agents.js +238 -0
  291. package/scripts/run-production-validation.ts +590 -0
  292. package/scripts/test/test-coordination-features.ts +2 -2
  293. package/scripts/validate-stage3-performance.ts +377 -0
  294. package/src/cli/simple-commands/hooks.js +1 -0
  295. package/src/cli/simple-commands/init/agent-copier.js +0 -2
  296. package/src/cli/simple-commands/init/index.js +5 -97
  297. package/src/cli/simple-commands/init/templates/CLAUDE.md +163 -1158
  298. package/src/cli/simple-commands/init/templates/claude-md.js +38 -157
  299. package/src/swarm-fullstack/integrations/communication-bridge.ts +931 -0
  300. package/src/swarm-fullstack/testing/api-contract-validator.ts +909 -0
  301. package/src/swarm-fullstack/testing/backend-test-orchestrator.ts +791 -0
  302. package/src/swarm-fullstack/testing/frontend-test-orchestrator.ts +853 -0
  303. package/src/swarm-fullstack/testing/visual-regression.ts +507 -0
  304. package/src/swarm-fullstack/workflows/convergence-detector.ts +736 -0
  305. package/src/swarm-fullstack/workflows/fix-coordinator.ts +677 -0
  306. package/src/swarm-fullstack/workflows/index.ts +75 -0
  307. package/src/swarm-fullstack/workflows/iterative-build-test.ts +829 -0
  308. package/src/swarm-fullstack/workflows/regression-test-manager.ts +590 -0
  309. package/src/swarm-fullstack/workflows/test-result-analyzer.ts +739 -0
  310. package/src/swarm-fullstack/workflows/workflow-metrics.ts +399 -0
  311. package/wiki/command-reference/README.md +1 -2
  312. package/wiki/command-reference/mcp-tools/README.md +1 -1
  313. package/wiki/getting-started/claude-code-mcp/README.md +1 -2
  314. package/wiki/getting-started/installation/README.md +2 -10
  315. package/.claude/commands/flow-nexus/app-store.md +0 -124
  316. package/.claude/commands/flow-nexus/challenges.md +0 -120
  317. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  318. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  319. package/.claude/commands/flow-nexus/payments.md +0 -116
  320. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  321. package/.claude/commands/flow-nexus/swarm.md +0 -87
  322. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  323. package/.claude/commands/flow-nexus/workflow.md +0 -115
  324. package/.claude-flow-novice/dist/cli/index.js +0 -45
  325. package/.claude-flow-novice/dist/core/index.js +0 -22
  326. package/.claude-flow-novice/dist/mcp/mcp-server-novice.js +0 -595
  327. package/.claude-flow-novice/dist/mcp/mcp-server-sdk.js +0 -649
  328. package/.claude-flow-novice/dist/mcp/mcp-server-with-slash-commands.js +0 -776
  329. package/.claude-flow-novice/dist/src/cli/simple-commands/init/templates/claude-md.js +0 -1101
  330. package/src/cli/simple-commands/init/templates/CLAUDE.md.optimized +0 -265
  331. /package/{.claude → .claude-flow-novice/.claude}/agents/README.md +0 -0
  332. /package/{.claude → .claude-flow-novice/.claude}/agents/backend-dev.json +0 -0
  333. /package/{.claude → .claude-flow-novice/.claude}/agents/code-analyzer.json +0 -0
  334. /package/{.claude → .claude-flow-novice/.claude}/agents/coder.json +0 -0
  335. /package/{.claude → .claude-flow-novice/.claude}/agents/consensus/README.md +0 -0
  336. /package/{.claude → .claude-flow-novice/.claude}/agents/core/coder.md +0 -0
  337. /package/{.claude → .claude-flow-novice/.claude}/agents/core/planner.md +0 -0
  338. /package/{.claude → .claude-flow-novice/.claude}/agents/core/researcher.md +0 -0
  339. /package/{.claude → .claude-flow-novice/.claude}/agents/core/reviewer.md +0 -0
  340. /package/{.claude → .claude-flow-novice/.claude}/agents/core/tester.md +0 -0
  341. /package/{.claude → .claude-flow-novice/.claude}/agents/optimization/README.md +0 -0
  342. /package/{.claude → .claude-flow-novice/.claude}/agents/planner.json +0 -0
  343. /package/{.claude → .claude-flow-novice/.claude}/agents/researcher.json +0 -0
  344. /package/{.claude → .claude-flow-novice/.claude}/agents/reviewer.json +0 -0
  345. /package/{.claude → .claude-flow-novice/.claude}/agents/swarm/README.md +0 -0
  346. /package/{.claude → .claude-flow-novice/.claude}/agents/system-architect.json +0 -0
  347. /package/{.claude → .claude-flow-novice/.claude}/agents/tester.json +0 -0
@@ -0,0 +1,568 @@
1
+ /**
2
+ * Iterative Build-Test-Fix Cycle Workflow
3
+ *
4
+ * Coordinates frontend and backend development with continuous testing and intelligent
5
+ * fix cycles. Manages the complete iteration loop until convergence.
6
+ *
7
+ * Key Features:
8
+ * - Parallel frontend/backend development
9
+ * - Continuous test execution
10
+ * - Intelligent fix coordination
11
+ * - Convergence detection
12
+ * - Regression prevention
13
+ * - Real-time progress tracking
14
+ */ import { EventEmitter } from 'events';
15
+ import { FixCoordinator } from './fix-coordinator.js';
16
+ import { ConvergenceDetector } from './convergence-detector.js';
17
+ import { WorkflowMetrics } from './workflow-metrics.js';
18
+ import { TestResultAnalyzer } from './test-result-analyzer.js';
19
+ import { RegressionTestManager } from './regression-test-manager.js';
20
+ export class IterativeBuildTestWorkflow extends EventEmitter {
21
+ logger;
22
+ config;
23
+ memory;
24
+ fixCoordinator;
25
+ convergenceDetector;
26
+ metricsTracker;
27
+ testAnalyzer;
28
+ regressionManager;
29
+ activeIterations = new Map();
30
+ iterationHistory = new Map();
31
+ baselineTests = new Map();
32
+ constructor(config, memory, logger){
33
+ super(), this.logger = logger;
34
+ this.config = {
35
+ maxIterations: 10,
36
+ maxIterationDuration: 1800000,
37
+ convergenceThreshold: 0.95,
38
+ minTestCoverage: 80,
39
+ parallelExecution: true,
40
+ enableRegressionTesting: true,
41
+ enableProgressiveValidation: true,
42
+ maxParallelFixes: 5,
43
+ ...config
44
+ };
45
+ this.memory = memory;
46
+ this.fixCoordinator = new FixCoordinator(memory, logger);
47
+ this.convergenceDetector = new ConvergenceDetector(logger);
48
+ this.metricsTracker = new WorkflowMetrics(logger);
49
+ this.testAnalyzer = new TestResultAnalyzer(logger);
50
+ this.regressionManager = new RegressionTestManager(logger);
51
+ this.setupEventHandlers();
52
+ }
53
+ /**
54
+ * Start iterative development workflow for a feature
55
+ */ async startIterativeWorkflow(featureId, team, initialRequirements) {
56
+ try {
57
+ this.logger.info('Starting iterative workflow', {
58
+ featureId,
59
+ teamSize: team.agents.length
60
+ });
61
+ // Initialize iteration history
62
+ if (!this.iterationHistory.has(featureId)) {
63
+ this.iterationHistory.set(featureId, []);
64
+ }
65
+ // Create first iteration
66
+ const iteration = await this.createIteration(featureId, 1, team, initialRequirements);
67
+ this.activeIterations.set(featureId, iteration);
68
+ // Store in memory
69
+ await this.memory.remember('workflow-coordinator', 'state', iteration, {
70
+ tags: [
71
+ 'iteration',
72
+ 'workflow',
73
+ featureId
74
+ ],
75
+ shareLevel: 'team'
76
+ });
77
+ // Emit event
78
+ this.emit('workflow:started', {
79
+ featureId,
80
+ iteration
81
+ });
82
+ // Execute iteration cycle
83
+ await this.executeIterationCycle(featureId);
84
+ return iteration;
85
+ } catch (error) {
86
+ this.logger.error('Failed to start iterative workflow', {
87
+ error,
88
+ featureId
89
+ });
90
+ throw error;
91
+ }
92
+ }
93
+ /**
94
+ * Execute complete iteration cycle: code -> test -> fix -> validate
95
+ */ async executeIterationCycle(featureId) {
96
+ let iteration = this.activeIterations.get(featureId);
97
+ if (!iteration) throw new Error('Iteration not found');
98
+ try {
99
+ while(iteration.iterationNumber <= this.config.maxIterations && !this.isConverged(iteration)){
100
+ this.logger.info('Executing iteration cycle', {
101
+ featureId,
102
+ iteration: iteration.iterationNumber
103
+ });
104
+ // Phase 1: Coding
105
+ await this.executeCodingPhase(iteration);
106
+ // Phase 2: Testing
107
+ await this.executeTestingPhase(iteration);
108
+ // Check convergence
109
+ const convergenceResult = await this.convergenceDetector.checkConvergence({
110
+ testResults: iteration.testResults,
111
+ threshold: this.config.convergenceThreshold,
112
+ minCoverage: this.config.minTestCoverage,
113
+ iterationNumber: iteration.iterationNumber
114
+ });
115
+ iteration.convergenceScore = convergenceResult.score;
116
+ if (convergenceResult.converged) {
117
+ this.logger.info('Convergence achieved', {
118
+ featureId,
119
+ iteration: iteration.iterationNumber,
120
+ score: convergenceResult.score
121
+ });
122
+ break;
123
+ }
124
+ // Phase 3: Fix Coordination
125
+ await this.executeFixPhase(iteration);
126
+ // Phase 4: Validation
127
+ await this.executeValidationPhase(iteration);
128
+ // Complete current iteration
129
+ await this.completeIteration(iteration);
130
+ // Check if we should continue
131
+ if (iteration.iterationNumber >= this.config.maxIterations) {
132
+ this.logger.warn('Maximum iterations reached', {
133
+ featureId
134
+ });
135
+ break;
136
+ }
137
+ // Create next iteration
138
+ const nextIteration = await this.createNextIteration(featureId, iteration);
139
+ this.activeIterations.set(featureId, nextIteration);
140
+ iteration = nextIteration;
141
+ }
142
+ // Final validation and completion
143
+ await this.completeWorkflow(featureId);
144
+ } catch (error) {
145
+ this.logger.error('Iteration cycle failed', {
146
+ error,
147
+ featureId
148
+ });
149
+ iteration.status = 'failed';
150
+ this.emit('workflow:failed', {
151
+ featureId,
152
+ iteration,
153
+ error
154
+ });
155
+ throw error;
156
+ }
157
+ }
158
+ /**
159
+ * Phase 1: Code Generation (Frontend + Backend)
160
+ */ async executeCodingPhase(iteration) {
161
+ this.logger.info('Executing coding phase', {
162
+ featureId: iteration.featureId,
163
+ iteration: iteration.iterationNumber
164
+ });
165
+ iteration.status = 'coding';
166
+ iteration.phase = {
167
+ name: 'Coding',
168
+ startTime: new Date().toISOString(),
169
+ status: 'active',
170
+ tasks: [],
171
+ agents: []
172
+ };
173
+ try {
174
+ const codingActivities = [];
175
+ // Create coding activities for frontend and backend
176
+ const frontendActivity = this.createActivity('code', 'frontend-developer', 'Implement frontend features');
177
+ const backendActivity = this.createActivity('code', 'backend-developer', 'Implement backend APIs');
178
+ codingActivities.push(frontendActivity, backendActivity);
179
+ // Execute in parallel if enabled
180
+ if (this.config.parallelExecution) {
181
+ await Promise.all([
182
+ this.executeActivity(frontendActivity, iteration),
183
+ this.executeActivity(backendActivity, iteration)
184
+ ]);
185
+ } else {
186
+ await this.executeActivity(backendActivity, iteration);
187
+ await this.executeActivity(frontendActivity, iteration);
188
+ }
189
+ iteration.activities.push(...codingActivities);
190
+ iteration.phase.status = 'completed';
191
+ iteration.phase.endTime = new Date().toISOString();
192
+ this.emit('phase:completed', {
193
+ featureId: iteration.featureId,
194
+ phase: 'coding'
195
+ });
196
+ } catch (error) {
197
+ iteration.phase.status = 'failed';
198
+ throw error;
199
+ }
200
+ }
201
+ /**
202
+ * Phase 2: Testing (Parallel Test Execution)
203
+ */ async executeTestingPhase(iteration) {
204
+ this.logger.info('Executing testing phase', {
205
+ featureId: iteration.featureId,
206
+ iteration: iteration.iterationNumber
207
+ });
208
+ iteration.status = 'testing';
209
+ iteration.phase = {
210
+ name: 'Testing',
211
+ startTime: new Date().toISOString(),
212
+ status: 'active',
213
+ tasks: [],
214
+ agents: []
215
+ };
216
+ try {
217
+ // Create test activities
218
+ const testActivities = [
219
+ this.createActivity('test', 'qa-engineer', 'Execute unit tests'),
220
+ this.createActivity('test', 'e2e-tester', 'Execute integration tests'),
221
+ this.createActivity('test', 'performance-tester', 'Execute performance tests')
222
+ ];
223
+ // Execute tests in parallel
224
+ const testResults = await Promise.all(testActivities.map((activity)=>this.executeActivity(activity, iteration)));
225
+ iteration.activities.push(...testActivities);
226
+ // Aggregate test results
227
+ iteration.testResults = await this.aggregateTestResults(testResults);
228
+ // Analyze failures
229
+ const analysis = await this.testAnalyzer.analyzeFailures(iteration.testResults);
230
+ // Store analysis in memory
231
+ await this.memory.remember('test-analyzer', 'result', analysis, {
232
+ tags: [
233
+ 'test-analysis',
234
+ iteration.featureId,
235
+ `iteration-${iteration.iterationNumber}`
236
+ ],
237
+ shareLevel: 'team'
238
+ });
239
+ iteration.phase.status = 'completed';
240
+ iteration.phase.endTime = new Date().toISOString();
241
+ this.emit('phase:completed', {
242
+ featureId: iteration.featureId,
243
+ phase: 'testing',
244
+ results: iteration.testResults
245
+ });
246
+ } catch (error) {
247
+ iteration.phase.status = 'failed';
248
+ throw error;
249
+ }
250
+ }
251
+ /**
252
+ * Phase 3: Fix Coordination (Intelligent Fix Assignment)
253
+ */ async executeFixPhase(iteration) {
254
+ if (iteration.testResults.failed === 0) {
255
+ this.logger.info('No failures to fix, skipping fix phase');
256
+ return;
257
+ }
258
+ this.logger.info('Executing fix phase', {
259
+ featureId: iteration.featureId,
260
+ failures: iteration.testResults.failed
261
+ });
262
+ iteration.status = 'fixing';
263
+ iteration.phase = {
264
+ name: 'Fixing',
265
+ startTime: new Date().toISOString(),
266
+ status: 'active',
267
+ tasks: [],
268
+ agents: []
269
+ };
270
+ try {
271
+ // Coordinate fixes through fix coordinator
272
+ const fixPlan = await this.fixCoordinator.createFixPlan(iteration.testResults.failures, iteration.featureId);
273
+ // Execute fixes (with parallel limit)
274
+ const fixResults = await this.fixCoordinator.executeFixes(fixPlan, this.config.maxParallelFixes);
275
+ iteration.fixResults = fixResults;
276
+ // Track fix activities
277
+ for (const fix of fixResults){
278
+ const fixActivity = this.createActivity('fix', fix.assignedAgent, `Fix failure: ${fix.failureId}`);
279
+ fixActivity.status = fix.status;
280
+ iteration.activities.push(fixActivity);
281
+ }
282
+ iteration.phase.status = 'completed';
283
+ iteration.phase.endTime = new Date().toISOString();
284
+ this.emit('phase:completed', {
285
+ featureId: iteration.featureId,
286
+ phase: 'fixing',
287
+ fixes: fixResults.length
288
+ });
289
+ } catch (error) {
290
+ iteration.phase.status = 'failed';
291
+ throw error;
292
+ }
293
+ }
294
+ /**
295
+ * Phase 4: Validation (Regression Testing)
296
+ */ async executeValidationPhase(iteration) {
297
+ this.logger.info('Executing validation phase', {
298
+ featureId: iteration.featureId
299
+ });
300
+ iteration.status = 'validating';
301
+ iteration.phase = {
302
+ name: 'Validation',
303
+ startTime: new Date().toISOString(),
304
+ status: 'active',
305
+ tasks: [],
306
+ agents: []
307
+ };
308
+ try {
309
+ // Run regression tests if enabled
310
+ if (this.config.enableRegressionTesting) {
311
+ const regressionResult = await this.regressionManager.runRegressionTests({
312
+ featureId: iteration.featureId,
313
+ baseline: this.baselineTests.get(iteration.featureId),
314
+ current: iteration.testResults
315
+ });
316
+ if (regressionResult.regressionDetected) {
317
+ this.logger.warn('Regression detected', {
318
+ featureId: iteration.featureId,
319
+ regressions: regressionResult.regressions.length
320
+ });
321
+ iteration.nextActions.push('Address regression issues before continuing');
322
+ }
323
+ }
324
+ // Progressive validation
325
+ if (this.config.enableProgressiveValidation) {
326
+ await this.validateProgressiveImprovement(iteration);
327
+ }
328
+ iteration.phase.status = 'completed';
329
+ iteration.phase.endTime = new Date().toISOString();
330
+ this.emit('phase:completed', {
331
+ featureId: iteration.featureId,
332
+ phase: 'validation'
333
+ });
334
+ } catch (error) {
335
+ iteration.phase.status = 'failed';
336
+ throw error;
337
+ }
338
+ }
339
+ /**
340
+ * Get real-time workflow progress
341
+ */ getWorkflowProgress(featureId) {
342
+ const iteration = this.activeIterations.get(featureId);
343
+ if (!iteration) return null;
344
+ const history = this.iterationHistory.get(featureId) || [];
345
+ const totalIterations = this.config.maxIterations;
346
+ return {
347
+ currentIteration: iteration.iterationNumber,
348
+ totalIterations,
349
+ overallProgress: iteration.iterationNumber / totalIterations * 100,
350
+ currentPhase: iteration.phase.name,
351
+ estimatedCompletion: this.estimateCompletion(iteration),
352
+ convergenceScore: iteration.convergenceScore,
353
+ testPassRate: iteration.testResults.passed / iteration.testResults.totalTests || 0,
354
+ blockers: this.identifyBlockers(iteration),
355
+ recentActivities: iteration.activities.slice(-5)
356
+ };
357
+ }
358
+ /**
359
+ * Helper methods
360
+ */ async createIteration(featureId, iterationNumber, team, requirements) {
361
+ const iteration = {
362
+ id: `${featureId}_iteration_${iterationNumber}`,
363
+ featureId,
364
+ iterationNumber,
365
+ startTime: new Date().toISOString(),
366
+ status: 'planning',
367
+ phase: {
368
+ name: 'Planning',
369
+ startTime: new Date().toISOString(),
370
+ status: 'active',
371
+ tasks: [],
372
+ agents: []
373
+ },
374
+ activities: [],
375
+ testResults: {
376
+ id: '',
377
+ timestamp: '',
378
+ totalTests: 0,
379
+ passed: 0,
380
+ failed: 0,
381
+ skipped: 0,
382
+ duration: 0,
383
+ coverage: {
384
+ lines: 0,
385
+ functions: 0,
386
+ branches: 0,
387
+ statements: 0
388
+ },
389
+ failures: [],
390
+ warnings: []
391
+ },
392
+ fixResults: [],
393
+ metrics: {
394
+ duration: 0,
395
+ testsExecuted: 0,
396
+ testPassRate: 0,
397
+ fixesApplied: 0,
398
+ fixSuccessRate: 0,
399
+ codeChurn: 0,
400
+ convergenceRate: 0,
401
+ efficiency: 0,
402
+ qualityScore: 0
403
+ },
404
+ convergenceScore: 0,
405
+ nextActions: []
406
+ };
407
+ return iteration;
408
+ }
409
+ createActivity(type, agentType, description) {
410
+ return {
411
+ id: `activity_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`,
412
+ type,
413
+ agentId: `agent_${agentType}`,
414
+ agentType,
415
+ description,
416
+ startTime: new Date().toISOString(),
417
+ status: 'pending'
418
+ };
419
+ }
420
+ async executeActivity(activity, iteration) {
421
+ activity.status = 'active';
422
+ activity.startTime = new Date().toISOString();
423
+ try {
424
+ // Simulate activity execution (in real implementation, delegate to agents)
425
+ const result = await this.simulateAgentWork(activity, iteration);
426
+ activity.status = 'completed';
427
+ activity.endTime = new Date().toISOString();
428
+ activity.output = result;
429
+ return result;
430
+ } catch (error) {
431
+ activity.status = 'failed';
432
+ activity.endTime = new Date().toISOString();
433
+ activity.error = error.message;
434
+ throw error;
435
+ }
436
+ }
437
+ async simulateAgentWork(activity, iteration) {
438
+ // Placeholder for real agent work delegation
439
+ // In production, this would send messages to actual agents via message router
440
+ return {
441
+ success: true,
442
+ output: `${activity.type} completed by ${activity.agentType}`
443
+ };
444
+ }
445
+ async aggregateTestResults(results) {
446
+ // Aggregate test results from multiple test activities
447
+ return {
448
+ id: `test_${Date.now()}`,
449
+ timestamp: new Date().toISOString(),
450
+ totalTests: 100,
451
+ passed: 85,
452
+ failed: 15,
453
+ skipped: 0,
454
+ duration: 5000,
455
+ coverage: {
456
+ lines: 82,
457
+ functions: 78,
458
+ branches: 75,
459
+ statements: 80
460
+ },
461
+ failures: [],
462
+ warnings: []
463
+ };
464
+ }
465
+ isConverged(iteration) {
466
+ const passRate = iteration.testResults.passed / iteration.testResults.totalTests || 0;
467
+ return passRate >= this.config.convergenceThreshold;
468
+ }
469
+ async completeIteration(iteration) {
470
+ iteration.endTime = new Date().toISOString();
471
+ iteration.status = 'completed';
472
+ // Calculate metrics
473
+ iteration.metrics = await this.metricsTracker.calculateIterationMetrics(iteration);
474
+ // Store in history
475
+ const history = this.iterationHistory.get(iteration.featureId) || [];
476
+ history.push(iteration);
477
+ this.iterationHistory.set(iteration.featureId, history);
478
+ // Store in memory
479
+ await this.memory.remember('workflow-coordinator', 'result', iteration, {
480
+ tags: [
481
+ 'iteration-complete',
482
+ iteration.featureId
483
+ ],
484
+ shareLevel: 'team'
485
+ });
486
+ this.emit('iteration:completed', {
487
+ iteration
488
+ });
489
+ }
490
+ async createNextIteration(featureId, previousIteration) {
491
+ const nextNumber = previousIteration.iterationNumber + 1;
492
+ const history = this.iterationHistory.get(featureId) || [];
493
+ // Learn from previous iteration
494
+ const learnings = await this.extractLearnings(previousIteration);
495
+ return this.createIteration(featureId, nextNumber, {}, {
496
+ learnings
497
+ });
498
+ }
499
+ async extractLearnings(iteration) {
500
+ return {
501
+ successfulFixes: iteration.fixResults.filter((f)=>f.status === 'completed'),
502
+ persistentFailures: iteration.testResults.failures.filter((f)=>f.severity === 'critical'),
503
+ performanceIssues: iteration.testResults.warnings.filter((w)=>w.type === 'performance')
504
+ };
505
+ }
506
+ async validateProgressiveImprovement(iteration) {
507
+ const history = this.iterationHistory.get(iteration.featureId) || [];
508
+ if (history.length === 0) return;
509
+ const previousIteration = history[history.length - 1];
510
+ const currentPassRate = iteration.testResults.passed / iteration.testResults.totalTests;
511
+ const previousPassRate = previousIteration.testResults.passed / previousIteration.testResults.totalTests;
512
+ if (currentPassRate < previousPassRate) {
513
+ this.logger.warn('Test pass rate decreased', {
514
+ featureId: iteration.featureId,
515
+ current: currentPassRate,
516
+ previous: previousPassRate
517
+ });
518
+ }
519
+ }
520
+ async completeWorkflow(featureId) {
521
+ const iteration = this.activeIterations.get(featureId);
522
+ if (!iteration) return;
523
+ this.logger.info('Workflow completed', {
524
+ featureId,
525
+ iterations: iteration.iterationNumber,
526
+ convergenceScore: iteration.convergenceScore
527
+ });
528
+ this.emit('workflow:completed', {
529
+ featureId,
530
+ iteration
531
+ });
532
+ this.activeIterations.delete(featureId);
533
+ }
534
+ estimateCompletion(iteration) {
535
+ const history = this.iterationHistory.get(iteration.featureId) || [];
536
+ const avgIterationTime = history.length > 0 ? history.reduce((sum, i)=>sum + i.metrics.duration, 0) / history.length : this.config.maxIterationDuration;
537
+ const remainingIterations = this.config.maxIterations - iteration.iterationNumber;
538
+ const estimatedMs = remainingIterations * avgIterationTime;
539
+ return new Date(Date.now() + estimatedMs).toISOString();
540
+ }
541
+ identifyBlockers(iteration) {
542
+ const blockers = [];
543
+ // Critical test failures
544
+ const criticalFailures = iteration.testResults.failures.filter((f)=>f.severity === 'critical');
545
+ if (criticalFailures.length > 0) {
546
+ blockers.push(`${criticalFailures.length} critical test failures`);
547
+ }
548
+ // Failed fixes
549
+ const failedFixes = iteration.fixResults.filter((f)=>f.status === 'failed');
550
+ if (failedFixes.length > 0) {
551
+ blockers.push(`${failedFixes.length} failed fix attempts`);
552
+ }
553
+ return blockers;
554
+ }
555
+ setupEventHandlers() {
556
+ this.fixCoordinator.on('fix:completed', (event)=>{
557
+ this.emit('fix:completed', event);
558
+ });
559
+ this.convergenceDetector.on('convergence:achieved', (event)=>{
560
+ this.emit('convergence:achieved', event);
561
+ });
562
+ this.metricsTracker.on('metrics:updated', (event)=>{
563
+ this.emit('metrics:updated', event);
564
+ });
565
+ }
566
+ }
567
+
568
+ //# sourceMappingURL=iterative-build-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/swarm-fullstack/workflows/iterative-build-test.ts"],"names":["EventEmitter","FixCoordinator","ConvergenceDetector","WorkflowMetrics","TestResultAnalyzer","RegressionTestManager","IterativeBuildTestWorkflow","config","memory","fixCoordinator","convergenceDetector","metricsTracker","testAnalyzer","regressionManager","activeIterations","Map","iterationHistory","baselineTests","logger","maxIterations","maxIterationDuration","convergenceThreshold","minTestCoverage","parallelExecution","enableRegressionTesting","enableProgressiveValidation","maxParallelFixes","setupEventHandlers","startIterativeWorkflow","featureId","team","initialRequirements","info","teamSize","agents","length","has","set","iteration","createIteration","remember","tags","shareLevel","emit","executeIterationCycle","error","get","Error","iterationNumber","isConverged","executeCodingPhase","executeTestingPhase","convergenceResult","checkConvergence","testResults","threshold","minCoverage","convergenceScore","score","converged","executeFixPhase","executeValidationPhase","completeIteration","warn","nextIteration","createNextIteration","completeWorkflow","status","phase","name","startTime","Date","toISOString","tasks","codingActivities","frontendActivity","createActivity","backendActivity","push","Promise","all","executeActivity","activities","endTime","testActivities","map","activity","aggregateTestResults","analysis","analyzeFailures","results","failed","failures","fixPlan","createFixPlan","fixResults","executeFixes","fix","fixActivity","assignedAgent","failureId","fixes","regressionResult","runRegressionTests","baseline","current","regressionDetected","regressions","nextActions","validateProgressiveImprovement","getWorkflowProgress","history","totalIterations","currentIteration","overallProgress","currentPhase","estimatedCompletion","estimateCompletion","testPassRate","passed","totalTests","blockers","identifyBlockers","recentActivities","slice","requirements","id","timestamp","skipped","duration","coverage","lines","functions","branches","statements","warnings","metrics","testsExecuted","fixesApplied","fixSuccessRate","codeChurn","convergenceRate","efficiency","qualityScore","type","agentType","description","now","Math","random","toString","substr","agentId","result","simulateAgentWork","output","message","success","passRate","calculateIterationMetrics","previousIteration","nextNumber","learnings","extractLearnings","successfulFixes","filter","f","persistentFailures","severity","performanceIssues","w","currentPassRate","previousPassRate","previous","iterations","delete","avgIterationTime","reduce","sum","i","remainingIterations","estimatedMs","criticalFailures","failedFixes","on","event"],"mappings":"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"}