claude-flow-novice 2.15.4 → 2.15.6

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 (456) hide show
  1. package/.claude/cfn-extras/.gs-api-quota.json +16 -0
  2. package/.claude/cfn-extras/.gs-progress-state.json +22 -0
  3. package/.claude/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  4. package/.claude/cfn-extras/agents/google-sheets/README.md +114 -0
  5. package/.claude/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  6. package/.claude/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  7. package/.claude/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  8. package/.claude/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  9. package/.claude/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  10. package/.claude/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  11. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  12. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  13. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  14. package/.claude/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  15. package/.claude/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  16. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  17. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  18. package/.claude/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  19. package/.claude/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  20. package/.claude/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  21. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  22. package/.claude/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  23. package/.claude/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  24. package/.claude/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  25. package/.claude/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  26. package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  27. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  28. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  29. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  30. package/.claude/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  31. package/.claude/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  32. package/.claude/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  33. package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  34. package/.claude/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  35. package/.claude/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  36. package/.claude/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  37. package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  38. package/.claude/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  39. package/.claude/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  40. package/.claude/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  41. package/.claude/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  42. package/.claude/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  43. package/.claude/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  44. package/.claude/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  45. package/.claude/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  46. package/.claude/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  47. package/.claude/commands/cfn-context.md +10 -0
  48. package/.claude/commands/cfn-loop-cli.md +44 -14
  49. package/.claude/commands/google-sheets/google-sheets-loop.md +289 -0
  50. package/.claude/skills/cfn-agent-selector/SKILL.md +143 -0
  51. package/.claude/skills/cfn-agent-selector/select-agents.sh +94 -0
  52. package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  53. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  54. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  55. package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  56. package/.claude/skills/cfn-docker-redis-coordination/README.md +294 -0
  57. package/.claude/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  58. package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  59. package/.claude/skills/cfn-docker-redis-coordination/package.json +40 -0
  60. package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  61. package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  62. package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  63. package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  64. package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  65. package/.claude/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  66. package/.claude/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  67. package/.claude/skills/cfn-loop-orchestration/README.md +149 -41
  68. package/.claude/skills/cfn-loop-orchestration/jest.config.js +67 -0
  69. package/.claude/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  70. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +147 -16
  71. package/.claude/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  72. package/.claude/skills/cfn-loop-orchestration/package.json +49 -0
  73. package/.claude/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  74. package/.claude/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  75. package/.claude/skills/cfn-loop-orchestration/src/index.ts +14 -0
  76. package/.claude/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  77. package/.claude/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  78. package/.claude/skills/cfn-loop-orchestration/src/types.ts +188 -0
  79. package/.claude/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  80. package/.claude/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  81. package/.claude/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  82. package/.claude/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  83. package/.claude/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  84. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  85. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  86. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  87. package/.claude/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  88. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  89. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  90. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  91. package/.claude/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  92. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  93. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  94. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  95. package/.claude/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  96. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  97. package/.claude/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  98. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  99. package/.claude/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  100. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  101. package/.claude/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  102. package/.claude/skills/cfn-redis-coordination/dist/index.js +114 -0
  103. package/.claude/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  104. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  105. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  106. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  107. package/.claude/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  108. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  109. package/.claude/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  110. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  111. package/.claude/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  112. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  113. package/.claude/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  114. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  115. package/.claude/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  116. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  117. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  118. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  119. package/.claude/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  120. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  121. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  122. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  123. package/.claude/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  124. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  125. package/.claude/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  126. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  127. package/.claude/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  128. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  129. package/.claude/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  130. package/.claude/skills/cfn-redis-coordination/dist/types.js +81 -0
  131. package/.claude/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  132. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  133. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  134. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  135. package/.claude/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  136. package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  137. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -2
  138. package/.claude/skills/cfn-redis-coordination/jest.config.js +23 -0
  139. package/.claude/skills/cfn-redis-coordination/package-lock.json +5272 -0
  140. package/.claude/skills/cfn-redis-coordination/package.json +45 -0
  141. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  142. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +3 -2
  143. package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  144. package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  145. package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  146. package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  147. package/.claude/skills/cfn-redis-coordination/src/index.ts +82 -0
  148. package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  149. package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  150. package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  151. package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  152. package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  153. package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  154. package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  155. package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  156. package/.claude/skills/cfn-redis-coordination/src/types.ts +235 -0
  157. package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  158. package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  159. package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  160. package/.claude/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  161. package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  162. package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +779 -0
  163. package/.claude/skills/cfn-redis-coordination/tsconfig.json +31 -0
  164. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +172 -2
  165. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +1 -1
  166. package/claude-assets/agents/custom/cfn-redis-operations.md +530 -0
  167. package/claude-assets/agents/custom/cfn-system-expert.md +77 -0
  168. package/claude-assets/cfn-extras/.gs-api-quota.json +16 -0
  169. package/claude-assets/cfn-extras/.gs-progress-state.json +22 -0
  170. package/claude-assets/cfn-extras/GOOGLE_SHEETS_IMPLEMENTATION_SUMMARY.md +414 -0
  171. package/claude-assets/cfn-extras/agents/google-sheets/README.md +114 -0
  172. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +288 -0
  173. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +127 -0
  174. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +195 -0
  175. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +179 -0
  176. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +240 -0
  177. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +214 -0
  178. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +127 -0
  179. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +177 -0
  180. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +119 -0
  181. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +135 -0
  182. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +109 -0
  183. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +127 -0
  184. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +138 -0
  185. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +128 -0
  186. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-generalist.md +645 -0
  187. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +258 -0
  188. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +125 -0
  189. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +211 -0
  190. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +130 -0
  191. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +259 -0
  192. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +617 -0
  193. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +453 -0
  194. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +272 -0
  195. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +254 -0
  196. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/test.sh +174 -0
  197. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +98 -0
  198. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/SKILL.md +269 -0
  199. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/decompose.sh +313 -0
  200. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +237 -0
  201. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +220 -0
  202. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/test.sh +172 -0
  203. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/validate.sh +98 -0
  204. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +287 -0
  205. package/claude-assets/cfn-extras/skills/google-sheets-progress/test.sh +385 -0
  206. package/claude-assets/cfn-extras/skills/google-sheets-progress/track-progress.sh +516 -0
  207. package/claude-assets/cfn-extras/skills/google-sheets-progress/validate.sh +119 -0
  208. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +277 -0
  209. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +233 -0
  210. package/claude-assets/cfn-extras/skills/google-sheets-validation/SKILL.md +352 -0
  211. package/claude-assets/cfn-extras/skills/google-sheets-validation/test.sh +355 -0
  212. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate-state.sh +374 -0
  213. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate.sh +128 -0
  214. package/claude-assets/commands/cfn-context.md +10 -0
  215. package/claude-assets/commands/cfn-loop-cli.md +44 -14
  216. package/claude-assets/commands/google-sheets/google-sheets-loop.md +289 -0
  217. package/claude-assets/hooks/cfn-pre-execution/SESSION_START_README.md +87 -0
  218. package/claude-assets/hooks/cfn-pre-execution/TEST_SESSION_START.md +128 -0
  219. package/claude-assets/hooks/cfn-pre-execution/session-start-context.sh +111 -0
  220. package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_EXAMPLE.md +209 -0
  221. package/claude-assets/skills/cfn-agent-selection-with-fallback/README.md +130 -0
  222. package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +243 -0
  223. package/claude-assets/skills/cfn-agent-selection-with-fallback/agent-mappings.json +142 -0
  224. package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +173 -0
  225. package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +71 -0
  226. package/claude-assets/skills/cfn-agent-selection-with-fallback/test-agent-selection.sh +282 -0
  227. package/claude-assets/skills/cfn-agent-selector/SKILL.md +143 -0
  228. package/claude-assets/skills/cfn-agent-selector/select-agents.sh +94 -0
  229. package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -2
  230. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +21 -2
  231. package/claude-assets/skills/cfn-docker-coordination/.eslintrc.json +33 -0
  232. package/claude-assets/skills/cfn-docker-coordination/README.md +349 -0
  233. package/claude-assets/skills/cfn-docker-coordination/docker-helpers.sh +433 -0
  234. package/claude-assets/skills/cfn-docker-coordination/jest.config.js +25 -0
  235. package/claude-assets/skills/cfn-docker-coordination/package-lock.json +6827 -0
  236. package/claude-assets/skills/cfn-docker-coordination/package.json +38 -0
  237. package/claude-assets/skills/cfn-docker-coordination/src/agent-container.ts +471 -0
  238. package/claude-assets/skills/cfn-docker-coordination/src/docker-client.ts +483 -0
  239. package/claude-assets/skills/cfn-docker-coordination/src/health-checker.ts +418 -0
  240. package/claude-assets/skills/cfn-docker-coordination/src/index.ts +45 -0
  241. package/claude-assets/skills/cfn-docker-coordination/src/network-manager.ts +377 -0
  242. package/claude-assets/skills/cfn-docker-coordination/src/types.ts +412 -0
  243. package/claude-assets/skills/cfn-docker-coordination/src/volume-manager.ts +389 -0
  244. package/claude-assets/skills/cfn-docker-coordination/tests/agent-container.test.ts +379 -0
  245. package/claude-assets/skills/cfn-docker-coordination/tests/docker-client.test.ts +345 -0
  246. package/claude-assets/skills/cfn-docker-coordination/tests/health-checker.test.ts +535 -0
  247. package/claude-assets/skills/cfn-docker-coordination/tests/integration.test.ts +193 -0
  248. package/claude-assets/skills/cfn-docker-coordination/tests/network-manager.test.ts +352 -0
  249. package/claude-assets/skills/cfn-docker-coordination/tests/setup.ts +36 -0
  250. package/claude-assets/skills/cfn-docker-coordination/tsconfig.json +29 -0
  251. package/claude-assets/skills/cfn-docker-logging/INTEGRATION.md +268 -0
  252. package/claude-assets/skills/cfn-docker-logging/SAMPLE_OUTPUTS.md +237 -0
  253. package/claude-assets/skills/cfn-docker-logging/SKILL.md +442 -0
  254. package/claude-assets/skills/cfn-docker-logging/capture-container-logs.sh +120 -0
  255. package/claude-assets/skills/cfn-docker-logging/enable-logging.sh +430 -0
  256. package/claude-assets/skills/cfn-docker-logging/init-hybrid-logging.sh +210 -0
  257. package/claude-assets/skills/cfn-docker-logging/queries/analytics-summary.sh +87 -0
  258. package/claude-assets/skills/cfn-docker-logging/queries/query-agent-timeline.sh +51 -0
  259. package/claude-assets/skills/cfn-docker-logging/queries/query-consensus-history.sh +56 -0
  260. package/claude-assets/skills/cfn-docker-logging/queries/query-coordination-timeline.sh +39 -0
  261. package/claude-assets/skills/cfn-docker-logging/queries/query-failed-containers.sh +40 -0
  262. package/claude-assets/skills/cfn-docker-logging/queries/query-gate-checks.sh +39 -0
  263. package/claude-assets/skills/cfn-docker-logging/schema.sql +111 -0
  264. package/claude-assets/skills/cfn-docker-logging/sqlite-helpers.sh +240 -0
  265. package/claude-assets/skills/cfn-docker-logging/test-hybrid-logging.sh +331 -0
  266. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +11 -5
  267. package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +348 -0
  268. package/claude-assets/skills/cfn-docker-redis-coordination/README.md +294 -0
  269. package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +37 -0
  270. package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +5259 -0
  271. package/claude-assets/skills/cfn-docker-redis-coordination/package.json +40 -0
  272. package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +801 -0
  273. package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +42 -0
  274. package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +351 -0
  275. package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +1464 -0
  276. package/claude-assets/skills/cfn-docker-redis-coordination/tsconfig.json +30 -0
  277. package/claude-assets/skills/cfn-error-logging/.eslintrc.json +57 -0
  278. package/claude-assets/skills/cfn-error-logging/.prettierrc.json +10 -0
  279. package/claude-assets/skills/cfn-error-logging/MIGRATION_SUMMARY.md +485 -0
  280. package/claude-assets/skills/cfn-error-logging/package.json +47 -0
  281. package/claude-assets/skills/cfn-error-logging/src/error-logger.ts +1042 -0
  282. package/claude-assets/skills/cfn-error-logging/src/index.ts +12 -0
  283. package/claude-assets/skills/cfn-error-logging/src/types.ts +456 -0
  284. package/claude-assets/skills/cfn-error-logging/tests/error-logger.test.ts +1302 -0
  285. package/claude-assets/skills/cfn-error-logging/tsconfig.json +38 -0
  286. package/claude-assets/skills/cfn-loop-orchestration/.eslintrc.js +56 -0
  287. package/claude-assets/skills/cfn-loop-orchestration/.prettierrc.json +18 -0
  288. package/claude-assets/skills/cfn-loop-orchestration/README.md +149 -41
  289. package/claude-assets/skills/cfn-loop-orchestration/jest.config.js +67 -0
  290. package/claude-assets/skills/cfn-loop-orchestration/orchestrate-wrapper.sh +268 -0
  291. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +147 -16
  292. package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +5470 -0
  293. package/claude-assets/skills/cfn-loop-orchestration/package.json +49 -0
  294. package/claude-assets/skills/cfn-loop-orchestration/src/agent-spawner/agent-spawner.ts +34 -0
  295. package/claude-assets/skills/cfn-loop-orchestration/src/gate-checker/gate-checker.ts +36 -0
  296. package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +14 -0
  297. package/claude-assets/skills/cfn-loop-orchestration/src/orchestrator/orchestrator.ts +31 -0
  298. package/claude-assets/skills/cfn-loop-orchestration/src/redis/redis-coordinator.ts +72 -0
  299. package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +188 -0
  300. package/claude-assets/skills/cfn-loop-orchestration/src/utils/logger.ts +32 -0
  301. package/claude-assets/skills/cfn-loop-orchestration/tests/setup.ts +22 -0
  302. package/claude-assets/skills/cfn-loop-orchestration/tests/types.test.ts +132 -0
  303. package/claude-assets/skills/cfn-loop-orchestration/tsconfig.json +54 -0
  304. package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/store-context.sh +23 -0
  305. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts +92 -0
  306. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.d.ts.map +1 -0
  307. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js +329 -0
  308. package/claude-assets/skills/cfn-redis-coordination/dist/agent-logger.js.map +1 -0
  309. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts +75 -0
  310. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.d.ts.map +1 -0
  311. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js +302 -0
  312. package/claude-assets/skills/cfn-redis-coordination/dist/agent-recovery.js.map +1 -0
  313. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts +58 -0
  314. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.d.ts.map +1 -0
  315. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js +237 -0
  316. package/claude-assets/skills/cfn-redis-coordination/dist/completion-reporter.js.map +1 -0
  317. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts +63 -0
  318. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.d.ts.map +1 -0
  319. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js +230 -0
  320. package/claude-assets/skills/cfn-redis-coordination/dist/context-manager.js.map +1 -0
  321. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts +45 -0
  322. package/claude-assets/skills/cfn-redis-coordination/dist/index.d.ts.map +1 -0
  323. package/claude-assets/skills/cfn-redis-coordination/dist/index.js +114 -0
  324. package/claude-assets/skills/cfn-redis-coordination/dist/index.js.map +1 -0
  325. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts +31 -0
  326. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.d.ts.map +1 -0
  327. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js +185 -0
  328. package/claude-assets/skills/cfn-redis-coordination/dist/mode-detector.js.map +1 -0
  329. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts +191 -0
  330. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.d.ts.map +1 -0
  331. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js +509 -0
  332. package/claude-assets/skills/cfn-redis-coordination/dist/redis-client.js.map +1 -0
  333. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts +75 -0
  334. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.d.ts.map +1 -0
  335. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js +281 -0
  336. package/claude-assets/skills/cfn-redis-coordination/dist/result-collector.js.map +1 -0
  337. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts +75 -0
  338. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.d.ts.map +1 -0
  339. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js +354 -0
  340. package/claude-assets/skills/cfn-redis-coordination/dist/swarm-manager.js.map +1 -0
  341. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts +62 -0
  342. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.d.ts.map +1 -0
  343. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js +305 -0
  344. package/claude-assets/skills/cfn-redis-coordination/dist/task-analyzer.js.map +1 -0
  345. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts +97 -0
  346. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.d.ts.map +1 -0
  347. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js +283 -0
  348. package/claude-assets/skills/cfn-redis-coordination/dist/task-executor.js.map +1 -0
  349. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts +176 -0
  350. package/claude-assets/skills/cfn-redis-coordination/dist/types.d.ts.map +1 -0
  351. package/claude-assets/skills/cfn-redis-coordination/dist/types.js +81 -0
  352. package/claude-assets/skills/cfn-redis-coordination/dist/types.js.map +1 -0
  353. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts +86 -0
  354. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.d.ts.map +1 -0
  355. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js +419 -0
  356. package/claude-assets/skills/cfn-redis-coordination/dist/waiting-coordinator.js.map +1 -0
  357. package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +553 -0
  358. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -2
  359. package/claude-assets/skills/cfn-redis-coordination/jest.config.js +23 -0
  360. package/claude-assets/skills/cfn-redis-coordination/package-lock.json +5272 -0
  361. package/claude-assets/skills/cfn-redis-coordination/package.json +45 -0
  362. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +21 -8
  363. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +3 -2
  364. package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +446 -0
  365. package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +454 -0
  366. package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +396 -0
  367. package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +327 -0
  368. package/claude-assets/skills/cfn-redis-coordination/src/index.ts +82 -0
  369. package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +155 -0
  370. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +305 -0
  371. package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +283 -0
  372. package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +654 -0
  373. package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +437 -0
  374. package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +494 -0
  375. package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +404 -0
  376. package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +423 -0
  377. package/claude-assets/skills/cfn-redis-coordination/src/types.ts +235 -0
  378. package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +587 -0
  379. package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +70 -0
  380. package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +121 -0
  381. package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +84 -0
  382. package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +391 -0
  383. package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +779 -0
  384. package/claude-assets/skills/cfn-redis-coordination/tsconfig.json +31 -0
  385. package/claude-assets/skills/cfn-skill-propagation/README.md +233 -0
  386. package/claude-assets/skills/cfn-skill-propagation/package-lock.json +5174 -0
  387. package/claude-assets/skills/cfn-skill-propagation/package.json +52 -0
  388. package/claude-assets/skills/cfn-skill-propagation/propagate-skill-update.sh +32 -0
  389. package/claude-assets/skills/cfn-skill-propagation/src/cli.ts +75 -0
  390. package/claude-assets/skills/cfn-skill-propagation/src/database-adapter.ts +239 -0
  391. package/claude-assets/skills/cfn-skill-propagation/src/file-system-adapter.ts +113 -0
  392. package/claude-assets/skills/cfn-skill-propagation/src/index.ts +72 -0
  393. package/claude-assets/skills/cfn-skill-propagation/src/logger.ts +43 -0
  394. package/claude-assets/skills/cfn-skill-propagation/src/metadata-parser.ts +154 -0
  395. package/claude-assets/skills/cfn-skill-propagation/src/skill-propagator.ts +274 -0
  396. package/claude-assets/skills/cfn-skill-propagation/src/skill-validator.ts +179 -0
  397. package/claude-assets/skills/cfn-skill-propagation/src/types.ts +143 -0
  398. package/claude-assets/skills/cfn-skill-propagation/src/version-manager.ts +118 -0
  399. package/claude-assets/skills/cfn-skill-propagation/tests/file-system-adapter.test.ts +91 -0
  400. package/claude-assets/skills/cfn-skill-propagation/tests/metadata-parser.test.ts +176 -0
  401. package/claude-assets/skills/cfn-skill-propagation/tests/skill-propagator.test.ts +209 -0
  402. package/claude-assets/skills/cfn-skill-propagation/tests/skill-validator.test.ts +203 -0
  403. package/claude-assets/skills/cfn-skill-propagation/tests/version-manager.test.ts +115 -0
  404. package/claude-assets/skills/cfn-skill-propagation/tsconfig.json +34 -0
  405. package/claude-assets/skills/task-classifier/SKILL.md +81 -0
  406. package/claude-assets/skills/task-classifier/classify-task.sh +62 -0
  407. package/claude-assets/skills/workflow-codification/package-lock.json +5170 -0
  408. package/claude-assets/skills/workflow-codification/package.json +30 -0
  409. package/claude-assets/skills/workflow-codification/src/index.ts +24 -0
  410. package/claude-assets/skills/workflow-codification/src/pattern-analyzer.ts +537 -0
  411. package/claude-assets/skills/workflow-codification/src/types.ts +180 -0
  412. package/claude-assets/skills/workflow-codification/tests/pattern-analyzer.test.ts +960 -0
  413. package/claude-assets/skills/workflow-codification/tsconfig.json +34 -0
  414. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  415. package/dist/agent-spawner/agent-spawner.js +448 -0
  416. package/dist/agent-spawner/agent-spawner.js.map +1 -0
  417. package/dist/agent-spawner/index.js +10 -0
  418. package/dist/agent-spawner/index.js.map +1 -0
  419. package/dist/agent-spawner/types.js +14 -0
  420. package/dist/agent-spawner/types.js.map +1 -0
  421. package/dist/cli/agent-executor.js +47 -1
  422. package/dist/cli/agent-executor.js.map +1 -1
  423. package/dist/cli/agent-spawn.js +4 -1
  424. package/dist/cli/agent-spawn.js.map +1 -1
  425. package/dist/cli/config-manager.js +109 -91
  426. package/dist/cli/config-manager.js.map +1 -1
  427. package/dist/cli/conversation-fork-cleanup.js +201 -0
  428. package/dist/cli/conversation-fork-cleanup.js.map +1 -0
  429. package/dist/cli/conversation-fork.js +16 -3
  430. package/dist/cli/conversation-fork.js.map +1 -1
  431. package/dist/cli/tool-executor.js +3 -1
  432. package/dist/cli/tool-executor.js.map +1 -1
  433. package/dist/gate-checker/gate-checker.js +292 -0
  434. package/dist/gate-checker/gate-checker.js.map +1 -0
  435. package/dist/gate-checker/types.js +94 -0
  436. package/dist/gate-checker/types.js.map +1 -0
  437. package/dist/lib/database-service/connection-pool-manager.js +2 -1
  438. package/dist/lib/database-service/connection-pool-manager.js.map +1 -1
  439. package/dist/orchestrator/index.js +10 -0
  440. package/dist/orchestrator/index.js.map +1 -0
  441. package/dist/orchestrator/orchestrate.js +496 -0
  442. package/dist/orchestrator/orchestrate.js.map +1 -0
  443. package/dist/orchestrator/types.js +58 -0
  444. package/dist/orchestrator/types.js.map +1 -0
  445. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +405 -0
  446. package/docs/MEMORY_CLEANUP_GUIDE.md +358 -0
  447. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +322 -0
  448. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +319 -0
  449. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +574 -0
  450. package/package.json +208 -201
  451. package/readme/README.md +34 -1
  452. package/scripts/switch-api.sh +142 -4
  453. package/scripts/verify-no-secrets.sh +6 -13
  454. package/scripts/verify-redis-cleanup.sh +173 -0
  455. package/tests/README.md +201 -0
  456. package/tests/test-memory-leak-task-mode.sh +435 -0
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es2020",
4
+ "module": "commonjs",
5
+ "lib": ["es2020"],
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "outDir": "./dist",
9
+ "rootDir": "./src",
10
+ "strict": true,
11
+ "esModuleInterop": true,
12
+ "skipLibCheck": true,
13
+ "forceConsistentCasingInFileNames": true,
14
+ "resolveJsonModule": true,
15
+ "allowSyntheticDefaultImports": true,
16
+ "moduleResolution": "node",
17
+ "isolatedModules": true,
18
+ "noImplicitAny": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noImplicitReturns": true,
22
+ "noFallthroughCasesInSwitch": true,
23
+ "baseUrl": ".",
24
+ "paths": {
25
+ "@/*": ["src/*"]
26
+ }
27
+ },
28
+ "include": ["src/**/*"],
29
+ "exclude": ["node_modules", "dist", "tests"]
30
+ }
@@ -0,0 +1,56 @@
1
+ module.exports = {
2
+ root: true,
3
+ parser: '@typescript-eslint/parser',
4
+ parserOptions: {
5
+ ecmaVersion: 2022,
6
+ sourceType: 'module',
7
+ },
8
+ env: {
9
+ node: true,
10
+ es2022: true,
11
+ jest: true,
12
+ },
13
+ extends: [
14
+ 'eslint:recommended',
15
+ 'plugin:@typescript-eslint/recommended',
16
+ ],
17
+ plugins: ['@typescript-eslint'],
18
+ rules: {
19
+ // TypeScript specific rules
20
+ '@typescript-eslint/no-explicit-any': 'error',
21
+ '@typescript-eslint/no-non-null-assertion': 'warn',
22
+ '@typescript-eslint/no-unused-vars': [
23
+ 'error',
24
+ {
25
+ argsIgnorePattern: '^_',
26
+ varsIgnorePattern: '^_',
27
+ },
28
+ ],
29
+ '@typescript-eslint/require-await': 'off',
30
+
31
+ // General ESLint rules
32
+ 'no-console': [
33
+ 'warn',
34
+ {
35
+ allow: ['warn', 'error'],
36
+ },
37
+ ],
38
+ 'no-debugger': 'error',
39
+ 'prefer-const': 'warn',
40
+ 'no-var': 'error',
41
+ 'eqeqeq': ['error', 'always'],
42
+ 'no-eval': 'error',
43
+ 'no-implied-eval': 'error',
44
+ 'object-shorthand': 'warn',
45
+ 'prefer-arrow-callback': 'warn',
46
+ 'prefer-template': 'warn',
47
+ },
48
+ overrides: [
49
+ {
50
+ files: ['**/*.test.ts', '**/*.spec.ts', 'tests/**/*'],
51
+ rules: {
52
+ '@typescript-eslint/no-explicit-any': 'off',
53
+ },
54
+ },
55
+ ],
56
+ };
@@ -0,0 +1,18 @@
1
+ {
2
+ "printWidth": 100,
3
+ "tabWidth": 2,
4
+ "useTabs": false,
5
+ "semi": true,
6
+ "singleQuote": true,
7
+ "quoteProps": "as-needed",
8
+ "jsxSingleQuote": false,
9
+ "trailingComma": "es5",
10
+ "bracketSpacing": true,
11
+ "bracketSameLine": false,
12
+ "arrowParens": "always",
13
+ "requirePragma": false,
14
+ "insertPragma": false,
15
+ "proseWrap": "preserve",
16
+ "htmlWhitespaceSensitivity": "css",
17
+ "embeddedLanguageFormatting": "auto"
18
+ }
@@ -1,41 +1,149 @@
1
- # CFN Loop Orchestration Skill
2
-
3
- Modular skill for orchestrating Complete Fail Never (CFN) Loop workflows with clean separation from Redis coordination primitives.
4
-
5
- ## Quick Start
6
-
7
- ```bash
8
- # Execute a CFN Loop
9
- ./.claude/skills/cfn-loop-orchestration/orchestrate.sh \
10
- --task-id "my-task-001" \
11
- --mode standard \
12
- --loop3-agents "backend-dev,researcher,architect" \
13
- --loop2-agents "reviewer,tester,security" \
14
- --product-owner "product-owner" \
15
- --epic-context '{"epicGoal":"Build auth system","deliverables":["auth.js","tests.js"]}' \
16
- --max-iterations 10
17
- ```
18
-
19
- ## Monitoring Capabilities
20
-
21
- ### Monitoring Script: `monitor-execution.sh`
22
-
23
- #### Key Features
24
- - Real-time Progress Tracking
25
- - Performance Metrics Collection
26
- - Error Detection
27
- - Flexible Monitoring Configuration
28
-
29
- #### Basic Usage
30
- ```bash
31
- ./monitor-execution.sh --task-id <unique_task_id>
32
- ```
33
-
34
- #### Metrics Tracked
35
- - Iteration Progression
36
- - Agent Completion Signals
37
- - Gate Check Results
38
- - Consensus Validation
39
- - Execution Performance
40
-
41
- [Rest of the previous README content remains the same]
1
+ # CFN Loop Orchestration Engine - TypeScript v3.0
2
+
3
+ Type-safe implementation of the CFN Loop orchestration system with test-driven validation.
4
+
5
+ ## Overview
6
+
7
+ This is the TypeScript migration of the CFN Loop orchestration system, replacing the bash-based implementation with a fully type-safe, well-tested TypeScript codebase.
8
+
9
+ **Key Features:**
10
+ - Full type safety with TypeScript strict mode
11
+ - Test-driven validation (≥95% pass rate gates)
12
+ - Mode-specific execution (MVP, Standard, Enterprise)
13
+ - Redis-based agent coordination
14
+ - Comprehensive test coverage (80-100% per module)
15
+
16
+ ## Project Structure
17
+
18
+ ```
19
+ src/
20
+ ├── orchestrator/ # Main orchestration engine
21
+ ├── gate-checker/ # Test result validation
22
+ ├── agent-spawner/ # Agent spawning and coordination
23
+ ├── redis/ # Redis coordination layer
24
+ ├── utils/ # Utilities and helpers
25
+ └── types.ts # Core type definitions
26
+
27
+ tests/
28
+ ├── orchestrator/ # Orchestrator tests
29
+ ├── gate-checker/ # Gate checker tests
30
+ └── agent-spawner/ # Agent spawner tests
31
+
32
+ bash-wrappers/ # Shell wrappers for CLI compatibility
33
+ ```
34
+
35
+ ## Quick Start
36
+
37
+ ```bash
38
+ # Install dependencies
39
+ npm install
40
+
41
+ # Build the project
42
+ npm run build
43
+
44
+ # Run tests
45
+ npm test
46
+
47
+ # Run tests with coverage
48
+ npm run test:coverage
49
+
50
+ # Type check
51
+ npm run type-check
52
+
53
+ # Lint
54
+ npm run lint
55
+ ```
56
+
57
+ ## Development
58
+
59
+ ```bash
60
+ # Watch mode for development
61
+ npm run build:watch
62
+
63
+ # Watch mode for tests
64
+ npm run test:watch
65
+
66
+ # Format code
67
+ npm run format
68
+
69
+ # Fix linting issues
70
+ npm run lint:fix
71
+ ```
72
+
73
+ ## Configuration
74
+
75
+ ### tsconfig.json
76
+ Strict TypeScript configuration with:
77
+ - ES2022 target
78
+ - CommonJS module format
79
+ - Path mapping for clean imports
80
+ - All strict compiler options enabled
81
+
82
+ ### jest.config.js
83
+ Test configuration with:
84
+ - ts-jest preset for TypeScript support
85
+ - Coverage thresholds (80-100% per module)
86
+ - Path mapping for imports
87
+ - 30-second test timeout
88
+
89
+ ### .eslintrc.js
90
+ Linting configuration with:
91
+ - TypeScript-specific rules
92
+ - Strict null checking
93
+ - No implicit any
94
+ - Prefer const and proper variable declarations
95
+
96
+ ## Test Coverage
97
+
98
+ Target coverage per module:
99
+ - `src/orchestrator/`: 100%
100
+ - `src/gate-checker/`: 100%
101
+ - `src/agent-spawner/`: 90%
102
+ - `src/utils/`: 80%
103
+ - Global minimum: 80%
104
+
105
+ ## Type Definitions
106
+
107
+ Core types are defined in `src/types.ts`:
108
+
109
+ - `ExecutionMode` - 'mvp' | 'standard' | 'enterprise'
110
+ - `OrchestrationConfig` - Task configuration
111
+ - `AgentSpec` - Agent specification with resources
112
+ - `TestResult` - Test execution results
113
+ - `GateResult` - Gate check results
114
+ - `ProductOwnerDecision` - 'PROCEED' | 'ITERATE' | 'ABORT'
115
+ - `OrchestrationResult` - Final result
116
+
117
+ ## Mode Configuration
118
+
119
+ | Mode | Test Gate | Consensus | Max Iterations | Validators |
120
+ |------|-----------|-----------|----------------|------------|
121
+ | mvp | 70% | 80% | 5 | 2 |
122
+ | standard | 95% | 90% | 10 | 3 |
123
+ | enterprise | 98% | 95% | 15 | 5 |
124
+
125
+ ## Migration Plan
126
+
127
+ See `docs/migration/BASH_TO_TYPESCRIPT_MIGRATION_PLAN.md` for the complete migration strategy from bash to TypeScript.
128
+
129
+ ## Building and Deployment
130
+
131
+ ```bash
132
+ # Production build
133
+ npm run build
134
+
135
+ # Distribution files are in dist/
136
+ # Include in packages: dist/, package.json, README.md
137
+ ```
138
+
139
+ ## Environment Variables
140
+
141
+ ```
142
+ CFN_REDIS_HOST=localhost (default)
143
+ CFN_REDIS_PORT=6379 (default)
144
+ NODE_ENV=test|development|production
145
+ ```
146
+
147
+ ## License
148
+
149
+ MIT
@@ -0,0 +1,67 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ roots: ['<rootDir>/src', '<rootDir>/tests'],
5
+ testMatch: ['**/__tests__/**/*.ts', '**/?(*.)+(spec|test).ts'],
6
+ moduleFileExtensions: ['ts', 'js', 'json'],
7
+ transform: {
8
+ '^.+\\.ts$': [
9
+ 'ts-jest',
10
+ {
11
+ tsconfig: {
12
+ esModuleInterop: true,
13
+ allowSyntheticDefaultImports: true,
14
+ },
15
+ },
16
+ ],
17
+ },
18
+ moduleNameMapper: {
19
+ '^@orchestrator/(.*)$': '<rootDir>/src/orchestrator/$1',
20
+ '^@gate-checker/(.*)$': '<rootDir>/src/gate-checker/$1',
21
+ '^@agent-spawner/(.*)$': '<rootDir>/src/agent-spawner/$1',
22
+ '^@redis/(.*)$': '<rootDir>/src/redis/$1',
23
+ '^@utils/(.*)$': '<rootDir>/src/utils/$1',
24
+ '^@types/(.*)$': '<rootDir>/src/types/$1',
25
+ },
26
+ collectCoverageFrom: [
27
+ 'src/**/*.ts',
28
+ '!src/**/*.d.ts',
29
+ '!src/index.ts',
30
+ ],
31
+ coverageThreshold: {
32
+ global: {
33
+ branches: 80,
34
+ functions: 80,
35
+ lines: 80,
36
+ statements: 80,
37
+ },
38
+ './src/orchestrator/': {
39
+ branches: 100,
40
+ functions: 100,
41
+ lines: 100,
42
+ statements: 100,
43
+ },
44
+ './src/gate-checker/': {
45
+ branches: 100,
46
+ functions: 100,
47
+ lines: 100,
48
+ statements: 100,
49
+ },
50
+ './src/agent-spawner/': {
51
+ branches: 90,
52
+ functions: 90,
53
+ lines: 90,
54
+ statements: 90,
55
+ },
56
+ './src/utils/': {
57
+ branches: 80,
58
+ functions: 80,
59
+ lines: 80,
60
+ statements: 80,
61
+ },
62
+ },
63
+ setupFilesAfterEnv: ['<rootDir>/tests/setup.ts'],
64
+ testTimeout: 30000,
65
+ verbose: true,
66
+ collectCoverage: false,
67
+ };
@@ -0,0 +1,268 @@
1
+ #!/bin/bash
2
+
3
+ ##############################################################################
4
+ # CFN Loop Orchestration Wrapper - Parameter Validation & Fallback Enforcement
5
+ # Version: 1.0.0 (BUG #22 Phase 2 - Parameter Fallback)
6
+ #
7
+ # Purpose:
8
+ # Validates and enforces non-empty parameters for orchestrate.sh invocation.
9
+ # Applies task-appropriate hardcoded fallbacks when parameters are empty or unset.
10
+ # Guarantees that orchestrator is always called with valid, non-empty agent lists.
11
+ #
12
+ # Usage:
13
+ # ./orchestrate-wrapper.sh --task-id <id> \
14
+ # --mode <mvp|standard|enterprise> \
15
+ # [--loop3-agents <agents>] \
16
+ # [--loop2-agents <agents>] \
17
+ # [--product-owner <agent>] \
18
+ # [--task-type <backend|full-stack|default>] \
19
+ # [--max-iterations <n>] \
20
+ # [other orchestrate.sh args...]
21
+ #
22
+ # Exit Codes:
23
+ # 0 = Success (orchestrator invoked)
24
+ # 1 = Invalid orchestrator path or orchestrator execution failed
25
+ # 2 = Missing required parameters (task-id, mode)
26
+ ##############################################################################
27
+
28
+ set -euo pipefail
29
+
30
+ # Determine script location and project root
31
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
32
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
33
+ ORCHESTRATOR_PATH="$SCRIPT_DIR/orchestrate.sh"
34
+
35
+ # Parameter storage
36
+ TASK_ID=""
37
+ MODE=""
38
+ LOOP3_AGENTS=""
39
+ LOOP2_AGENTS=""
40
+ PRODUCT_OWNER=""
41
+ TASK_TYPE="default" # backend, full-stack, or default
42
+ REMAINING_ARGS=()
43
+
44
+ ##############################################################################
45
+ # Fallback Agent Configuration by Task Type
46
+ ##############################################################################
47
+
48
+ # Default fallbacks (for generic tasks with no specific type)
49
+ DEFAULT_LOOP3_AGENTS="backend-developer,coder"
50
+ DEFAULT_LOOP2_AGENTS="code-reviewer,tester"
51
+ DEFAULT_PRODUCT_OWNER="product-owner"
52
+
53
+ # Backend-specific fallbacks (for API, database, infrastructure tasks)
54
+ BACKEND_LOOP3_AGENTS="backend-developer,backend-dev"
55
+ BACKEND_LOOP2_AGENTS="code-reviewer,security-specialist,tester"
56
+ BACKEND_PRODUCT_OWNER="product-owner"
57
+
58
+ # Full-stack fallbacks (for tasks requiring both backend and frontend)
59
+ FULLSTACK_LOOP3_AGENTS="backend-developer,react-frontend-engineer"
60
+ FULLSTACK_LOOP2_AGENTS="code-reviewer,security-specialist,tester,qa-engineer"
61
+ FULLSTACK_PRODUCT_OWNER="product-owner"
62
+
63
+ ##############################################################################
64
+ # Argument Parsing
65
+ ##############################################################################
66
+
67
+ while [[ $# -gt 0 ]]; do
68
+ case $1 in
69
+ --task-id)
70
+ if [[ $# -lt 2 ]]; then
71
+ echo "Error: --task-id requires a value" >&2
72
+ exit 2
73
+ fi
74
+ TASK_ID="$2"
75
+ shift 2
76
+ ;;
77
+ --mode)
78
+ if [[ $# -lt 2 ]]; then
79
+ echo "Error: --mode requires a value" >&2
80
+ exit 2
81
+ fi
82
+ # Validate mode is one of: mvp, standard, enterprise
83
+ if [[ ! "$2" =~ ^(mvp|standard|enterprise)$ ]]; then
84
+ echo "Error: --mode must be one of: mvp, standard, enterprise (got: '$2')" >&2
85
+ exit 2
86
+ fi
87
+ MODE="$2"
88
+ shift 2
89
+ ;;
90
+ --loop3-agents)
91
+ if [[ $# -lt 2 ]]; then
92
+ echo "Error: --loop3-agents requires a value" >&2
93
+ exit 2
94
+ fi
95
+ LOOP3_AGENTS="$2"
96
+ shift 2
97
+ ;;
98
+ --loop2-agents)
99
+ if [[ $# -lt 2 ]]; then
100
+ echo "Error: --loop2-agents requires a value" >&2
101
+ exit 2
102
+ fi
103
+ LOOP2_AGENTS="$2"
104
+ shift 2
105
+ ;;
106
+ --product-owner)
107
+ if [[ $# -lt 2 ]]; then
108
+ echo "Error: --product-owner requires a value" >&2
109
+ exit 2
110
+ fi
111
+ PRODUCT_OWNER="$2"
112
+ shift 2
113
+ ;;
114
+ --task-type)
115
+ if [[ $# -lt 2 ]]; then
116
+ echo "Error: --task-type requires a value" >&2
117
+ exit 2
118
+ fi
119
+ TASK_TYPE="$2"
120
+ shift 2
121
+ ;;
122
+ *)
123
+ # Collect remaining arguments for orchestrator
124
+ REMAINING_ARGS+=("$1")
125
+ shift
126
+ ;;
127
+ esac
128
+ done
129
+
130
+ ##############################################################################
131
+ # Required Parameter Validation
132
+ ##############################################################################
133
+
134
+ if [[ -z "$TASK_ID" ]]; then
135
+ echo "❌ Error: --task-id is required" >&2
136
+ exit 2
137
+ fi
138
+
139
+ if [[ -z "$MODE" ]]; then
140
+ echo "❌ Error: --mode is required" >&2
141
+ exit 2
142
+ fi
143
+
144
+ ##############################################################################
145
+ # Parameter Normalization & Fallback Enforcement
146
+ ##############################################################################
147
+
148
+ # Helper function to check if a value is effectively empty
149
+ # (handles empty strings, unset variables, and whitespace-only strings)
150
+ is_empty() {
151
+ local value="${1:-}"
152
+ # Remove leading/trailing whitespace
153
+ value=$(echo "$value" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
154
+ [[ -z "$value" ]]
155
+ }
156
+
157
+ # Apply task-type-specific fallbacks to empty parameters
158
+ case "$TASK_TYPE" in
159
+ backend)
160
+ # Backend-specific task defaults
161
+ if is_empty "$LOOP3_AGENTS"; then
162
+ LOOP3_AGENTS="$BACKEND_LOOP3_AGENTS"
163
+ fi
164
+ if is_empty "$LOOP2_AGENTS"; then
165
+ LOOP2_AGENTS="$BACKEND_LOOP2_AGENTS"
166
+ fi
167
+ if is_empty "$PRODUCT_OWNER"; then
168
+ PRODUCT_OWNER="$BACKEND_PRODUCT_OWNER"
169
+ fi
170
+ ;;
171
+ full-stack)
172
+ # Full-stack task defaults
173
+ if is_empty "$LOOP3_AGENTS"; then
174
+ LOOP3_AGENTS="$FULLSTACK_LOOP3_AGENTS"
175
+ fi
176
+ if is_empty "$LOOP2_AGENTS"; then
177
+ LOOP2_AGENTS="$FULLSTACK_LOOP2_AGENTS"
178
+ fi
179
+ if is_empty "$PRODUCT_OWNER"; then
180
+ PRODUCT_OWNER="$FULLSTACK_PRODUCT_OWNER"
181
+ fi
182
+ ;;
183
+ *)
184
+ # Default/generic task fallbacks
185
+ if is_empty "$LOOP3_AGENTS"; then
186
+ LOOP3_AGENTS="$DEFAULT_LOOP3_AGENTS"
187
+ fi
188
+ if is_empty "$LOOP2_AGENTS"; then
189
+ LOOP2_AGENTS="$DEFAULT_LOOP2_AGENTS"
190
+ fi
191
+ if is_empty "$PRODUCT_OWNER"; then
192
+ PRODUCT_OWNER="$DEFAULT_PRODUCT_OWNER"
193
+ fi
194
+ ;;
195
+ esac
196
+
197
+ ##############################################################################
198
+ # Post-Fallback Parameter Validation
199
+ ##############################################################################
200
+
201
+ # Verify all parameters are now non-empty (guaranteed by fallbacks)
202
+ if is_empty "$LOOP3_AGENTS"; then
203
+ echo "❌ Fatal: LOOP3_AGENTS is empty (fallback failed)" >&2
204
+ echo " Task Type: $TASK_TYPE" >&2
205
+ echo " Value: '$LOOP3_AGENTS'" >&2
206
+ exit 1
207
+ fi
208
+
209
+ if is_empty "$LOOP2_AGENTS"; then
210
+ echo "❌ Fatal: LOOP2_AGENTS is empty (fallback failed)" >&2
211
+ echo " Task Type: $TASK_TYPE" >&2
212
+ echo " Value: '$LOOP2_AGENTS'" >&2
213
+ exit 1
214
+ fi
215
+
216
+ if is_empty "$PRODUCT_OWNER"; then
217
+ echo "❌ Fatal: PRODUCT_OWNER is empty (fallback failed)" >&2
218
+ echo " Task Type: $TASK_TYPE" >&2
219
+ echo " Value: '$PRODUCT_OWNER'" >&2
220
+ exit 1
221
+ fi
222
+
223
+ ##############################################################################
224
+ # Orchestrator Path Validation
225
+ ##############################################################################
226
+
227
+ if [[ ! -f "$ORCHESTRATOR_PATH" ]]; then
228
+ echo "❌ Error: Orchestrator not found at $ORCHESTRATOR_PATH" >&2
229
+ exit 1
230
+ fi
231
+
232
+ if [[ ! -x "$ORCHESTRATOR_PATH" ]]; then
233
+ echo "⚠️ Warning: Orchestrator is not executable. Attempting to fix..." >&2
234
+ chmod +x "$ORCHESTRATOR_PATH" || {
235
+ echo "❌ Error: Cannot make orchestrator executable at $ORCHESTRATOR_PATH" >&2
236
+ exit 1
237
+ }
238
+ fi
239
+
240
+ ##############################################################################
241
+ # Agent Configuration Logging
242
+ ##############################################################################
243
+
244
+ echo "📋 Agent Configuration ($(date +%Y-%m-%d' '%H:%M:%S)):" >&2
245
+ echo " Task ID: $TASK_ID" >&2
246
+ echo " Mode: $MODE" >&2
247
+ echo " Task Type: $TASK_TYPE" >&2
248
+ echo " Loop 3 Agents: $LOOP3_AGENTS" >&2
249
+ echo " Loop 2 Agents: $LOOP2_AGENTS" >&2
250
+ echo " Product Owner: $PRODUCT_OWNER" >&2
251
+ echo "" >&2
252
+
253
+ ##############################################################################
254
+ # Orchestrator Invocation with Validated Parameters
255
+ ##############################################################################
256
+
257
+ # Use exec to replace this process with orchestrator
258
+ # This ensures clean exit and proper signal handling
259
+ exec "$ORCHESTRATOR_PATH" \
260
+ --task-id "$TASK_ID" \
261
+ --mode "$MODE" \
262
+ --loop3-agents "$LOOP3_AGENTS" \
263
+ --loop2-agents "$LOOP2_AGENTS" \
264
+ --product-owner "$PRODUCT_OWNER" \
265
+ "${REMAINING_ARGS[@]}"
266
+
267
+ # Note: exec replaces the shell process, so code below never executes
268
+ # Exit code comes directly from orchestrator execution