claude-flow-novice 2.9.1 → 2.10.0

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 (349) hide show
  1. package/.claude/agents/cfn-dev-team/CLAUDE.md +1086 -0
  2. package/.claude/agents/cfn-dev-team/README.md +116 -0
  3. package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
  4. package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
  5. package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
  6. package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
  7. package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
  8. package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
  9. package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
  10. package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
  11. package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
  12. package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
  13. package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
  14. package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
  15. package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
  16. package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
  17. package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
  18. package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
  19. package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
  20. package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
  21. package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
  22. package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
  23. package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
  24. package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
  25. package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
  26. package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
  27. package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
  28. package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
  29. package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
  30. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
  31. package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
  32. package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
  33. package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
  34. package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
  35. package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
  36. package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
  37. package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
  38. package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
  39. package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
  40. package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
  41. package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
  42. package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
  43. package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
  44. package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
  45. package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
  46. package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
  47. package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
  48. package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
  49. package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
  50. package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
  51. package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
  52. package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
  53. package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
  54. package/.claude/commands/cfn/cfn-loop.md +168 -7
  55. package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
  56. package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
  57. package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
  58. package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
  59. package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
  60. package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
  61. package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
  62. package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
  63. package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
  64. package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
  65. package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
  66. package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
  67. package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
  68. package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
  69. package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
  70. package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
  71. package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
  72. package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
  73. package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
  74. package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
  75. package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
  76. package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
  77. package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
  78. package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
  79. package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
  80. package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
  81. package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
  82. package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
  83. package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
  84. package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
  85. package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
  86. package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
  87. package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
  88. package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
  89. package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
  90. package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
  91. package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
  92. package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
  93. package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
  94. package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
  95. package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
  96. package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
  97. package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
  98. package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
  99. package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
  100. package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
  101. package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
  102. package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
  103. package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
  104. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
  105. package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
  106. package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
  107. package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
  108. package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
  109. package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
  110. package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
  111. package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
  112. package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
  113. package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
  114. package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
  115. package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
  116. package/.claude/skills/cfn-config-management/SKILL.md +34 -0
  117. package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
  118. package/.claude/skills/cfn-config-management/config.json +32 -0
  119. package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
  120. package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
  121. package/.claude/skills/cfn-event-bus/config.json +111 -0
  122. package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
  123. package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
  124. package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
  125. package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
  126. package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
  127. package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
  128. package/.claude/skills/cfn-fleet-manager/config.json +60 -0
  129. package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
  130. package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
  131. package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
  132. package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
  133. package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
  134. package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
  135. package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
  136. package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
  137. package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
  138. package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
  139. package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
  140. package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
  141. package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
  142. package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
  143. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
  144. package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
  145. package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
  146. package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
  147. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  148. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  149. package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
  150. package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
  151. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  152. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  153. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  154. package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
  155. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  156. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  157. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  158. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
  159. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
  160. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  161. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  162. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  163. package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
  164. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
  165. package/.claude/skills/cfn-loop-validation/config.json +161 -0
  166. package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
  167. package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
  168. package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
  169. package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
  170. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
  171. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
  172. package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
  173. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
  174. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
  175. package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
  176. package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
  177. package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
  178. package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
  179. package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
  180. package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
  181. package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
  182. package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
  183. package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
  184. package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
  185. package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
  186. package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
  187. package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
  188. package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
  189. package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
  190. package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
  191. package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
  192. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
  193. package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
  194. package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
  195. package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
  196. package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
  197. package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
  198. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
  199. package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
  200. package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
  201. package/.claude/skills/cfn-redis-coordination/config.json +61 -0
  202. package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
  203. package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
  204. package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
  205. package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
  206. package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
  207. package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
  208. package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
  209. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
  210. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
  211. package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
  212. package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
  213. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
  214. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
  215. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
  216. package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
  217. package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
  218. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
  219. package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
  220. package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
  221. package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
  222. package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
  223. package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
  224. package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
  225. package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
  226. package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
  227. package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
  228. package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
  229. package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
  230. package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
  231. package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
  232. package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
  233. package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
  234. package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
  235. package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
  236. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
  237. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  238. package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
  239. package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
  240. package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
  241. package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
  242. package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
  243. package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
  244. package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
  245. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  246. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
  247. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  248. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  249. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  250. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  251. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  252. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  253. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  254. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  255. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  256. package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  257. package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
  258. package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
  259. package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
  260. package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
  261. package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
  262. package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
  263. package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
  264. package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
  265. package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
  266. package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
  267. package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
  268. package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
  269. package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
  270. package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
  271. package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
  272. package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
  273. package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
  274. package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
  275. package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
  276. package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
  277. package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
  278. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
  279. package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
  280. package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
  281. package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
  282. package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  283. package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
  284. package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  285. package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
  286. package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
  287. package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
  288. package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
  289. package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
  290. package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
  291. package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
  292. package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
  293. package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
  294. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
  295. package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
  296. package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
  297. package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
  298. package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
  299. package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
  300. package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
  301. package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
  302. package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
  303. package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
  304. package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
  305. package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
  306. package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
  307. package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
  308. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
  309. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
  310. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
  311. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
  312. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
  313. package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
  314. package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
  315. package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
  316. package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
  317. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
  318. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
  319. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
  320. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
  321. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
  322. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
  323. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
  324. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
  325. package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  326. package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
  327. package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
  328. package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
  329. package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
  330. package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
  331. package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
  332. package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
  333. package/README.md +51 -2
  334. package/dist/ace/ace-reflector.js +109 -10
  335. package/dist/ace/ace-reflector.js.map +1 -1
  336. package/dist/cli/agent-executor.js +1 -1
  337. package/dist/cli/agent-executor.js.map +1 -1
  338. package/package.json +43 -7
  339. package/readme/README.md +15 -4
  340. package/scripts/init-project.js +39 -2
  341. package/scripts/run-marketing-tests.sh +43 -0
  342. package/scripts/update_paths.sh +47 -0
  343. package/tools/install-lizard.sh +37 -0
  344. package/tools/simple-complexity.sh +44 -0
  345. package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
  346. package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
  347. package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
  348. /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
  349. /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
@@ -0,0 +1,468 @@
1
+ #!/usr/bin/env bash
2
+ ##############################################################################
3
+ # CFN Loop Executor - Self-Contained Orchestration
4
+ #
5
+ # Purpose: Eliminates need for coordinator agent by making orchestration
6
+ # fully deterministic and self-contained in CLI layer.
7
+ #
8
+ # Usage:
9
+ # ./cfn-loop-exec.sh --task "Build React dashboard" [options]
10
+ #
11
+ # What this does:
12
+ # 1. Analyzes task description
13
+ # 2. Selects optimal agents using registry
14
+ # 3. Spawns orchestrator in background
15
+ # 4. Monitors via Redis
16
+ # 5. Returns structured JSON result
17
+ #
18
+ # Benefits:
19
+ # - No coordinator agent needed (more cost savings)
20
+ # - Fully deterministic (no LLM interpretation)
21
+ # - Direct Main Chat → orchestrator
22
+ # - JSON output for easy parsing
23
+ ##############################################################################
24
+
25
+ set -euo pipefail
26
+
27
+ # Configuration
28
+ TASK_DESCRIPTION=""
29
+ MODE="standard"
30
+ OUTPUT_FORMAT="json"
31
+ MAX_ITERATIONS=10
32
+ VERBOSE=false
33
+ WAIT_FOR_COMPLETION=true
34
+ DIFFICULTY="auto" # auto | simple | standard | complex | enterprise
35
+
36
+ # Parse arguments
37
+ while [[ $# -gt 0 ]]; do
38
+ case $1 in
39
+ --task)
40
+ TASK_DESCRIPTION="$2"
41
+ shift 2
42
+ ;;
43
+ --mode)
44
+ MODE="$2"
45
+ shift 2
46
+ ;;
47
+ --difficulty)
48
+ DIFFICULTY="$2"
49
+ shift 2
50
+ ;;
51
+ --output)
52
+ OUTPUT_FORMAT="$2"
53
+ shift 2
54
+ ;;
55
+ --max-iterations)
56
+ MAX_ITERATIONS="$2"
57
+ shift 2
58
+ ;;
59
+ --verbose)
60
+ VERBOSE=true
61
+ shift
62
+ ;;
63
+ --background)
64
+ WAIT_FOR_COMPLETION=false
65
+ shift
66
+ ;;
67
+ *)
68
+ echo "Unknown option: $1"
69
+ exit 1
70
+ ;;
71
+ esac
72
+ done
73
+
74
+ # Validation
75
+ if [ -z "$TASK_DESCRIPTION" ]; then
76
+ echo "Error: --task required"
77
+ echo "Usage: $0 --task \"Build React dashboard\" [--mode standard] [--output json]"
78
+ exit 1
79
+ fi
80
+
81
+ ##############################################################################
82
+ # Step 1: Analyze Task Complexity
83
+ ##############################################################################
84
+
85
+ log() {
86
+ if [ "$VERBOSE" = true ]; then
87
+ echo "[CFN-EXEC] $*" >&2
88
+ fi
89
+ }
90
+
91
+ log "Analyzing task complexity: $TASK_DESCRIPTION"
92
+
93
+ # Get script directory
94
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
95
+
96
+ # Run complexity analyzer
97
+ COMPLEXITY_RESULT=$("$SCRIPT_DIR/analyze-task-complexity.sh" \
98
+ --task "$TASK_DESCRIPTION" \
99
+ --difficulty "$DIFFICULTY")
100
+
101
+ # Extract complexity metrics
102
+ CALCULATED_DIFFICULTY=$(echo "$COMPLEXITY_RESULT" | jq -r '.difficulty')
103
+ COMPLEXITY_SCORE=$(echo "$COMPLEXITY_RESULT" | jq -r '.complexity_score')
104
+ SUGGESTED_LOOP3=$(echo "$COMPLEXITY_RESULT" | jq -r '.suggested_agents.loop3_count')
105
+ SUGGESTED_LOOP2=$(echo "$COMPLEXITY_RESULT" | jq -r '.suggested_agents.loop2_count')
106
+ DETECTED_DOMAINS=$(echo "$COMPLEXITY_RESULT" | jq -r '.domains[]' | paste -sd ',' -)
107
+
108
+ log "Complexity: $CALCULATED_DIFFICULTY (score: $COMPLEXITY_SCORE)"
109
+ log "Suggested agents - Loop 3: $SUGGESTED_LOOP3, Loop 2: $SUGGESTED_LOOP2"
110
+ log "Detected domains: $DETECTED_DOMAINS"
111
+
112
+ ##############################################################################
113
+ # Step 2: Select Agents Based on Domain & Complexity
114
+ ##############################################################################
115
+
116
+ # Convert task to lowercase for matching
117
+ TASK_LOWER=$(echo "$TASK_DESCRIPTION" | tr '[:upper:]' '[:lower:]')
118
+
119
+ # Initialize agent lists with base validators
120
+ LOOP3_AGENTS=""
121
+ LOOP2_AGENTS="reviewer,tester"
122
+
123
+ # Track how many agents we need per domain
124
+ LOOP3_COUNT=0
125
+ LOOP3_MAX=$SUGGESTED_LOOP3
126
+
127
+ # Frontend detection (can add multiple frontend specialists if complex)
128
+ if [[ "$TASK_LOWER" =~ react|component|ui|frontend|dashboard|web.*app ]]; then
129
+ LOOP3_AGENTS="react-frontend-engineer"
130
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
131
+ LOOP2_AGENTS="${LOOP2_AGENTS},accessibility-advocate"
132
+ log "Added: Frontend specialist"
133
+
134
+ # Add UI designer for complex frontend work
135
+ if [ "$CALCULATED_DIFFICULTY" = "complex" ] || [ "$CALCULATED_DIFFICULTY" = "enterprise" ]; then
136
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
137
+ LOOP3_AGENTS="${LOOP3_AGENTS},ui-designer"
138
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
139
+ log "Added: UI designer (complex frontend)"
140
+ fi
141
+ fi
142
+ fi
143
+
144
+ # Backend detection
145
+ if [[ "$TASK_LOWER" =~ api|backend|server|endpoint|rest|graphql|database|auth ]]; then
146
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
147
+ if [ -n "$LOOP3_AGENTS" ]; then
148
+ LOOP3_AGENTS="${LOOP3_AGENTS},backend-dev"
149
+ else
150
+ LOOP3_AGENTS="backend-dev"
151
+ fi
152
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
153
+ LOOP2_AGENTS="${LOOP2_AGENTS},security-specialist"
154
+ log "Added: Backend specialist"
155
+ fi
156
+ fi
157
+
158
+ # Database specialist for complex data work
159
+ if [[ "$TASK_LOWER" =~ database|schema|migration|query|sql ]]; then
160
+ if [ "$CALCULATED_DIFFICULTY" = "complex" ] || [ "$CALCULATED_DIFFICULTY" = "enterprise" ]; then
161
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
162
+ LOOP3_AGENTS="${LOOP3_AGENTS},backend-dev" # Additional backend specialist for DB work
163
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
164
+ log "Added: Database specialist (complex data work)"
165
+ fi
166
+ fi
167
+ fi
168
+
169
+ # Rust detection
170
+ if [[ "$TASK_LOWER" =~ rust|cargo|tokio ]]; then
171
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
172
+ if [ -n "$LOOP3_AGENTS" ]; then
173
+ LOOP3_AGENTS="${LOOP3_AGENTS},rust-developer"
174
+ else
175
+ LOOP3_AGENTS="rust-developer"
176
+ fi
177
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
178
+ log "Added: Rust specialist"
179
+ fi
180
+
181
+ # Add enterprise Rust developer for production work
182
+ if [ "$CALCULATED_DIFFICULTY" = "enterprise" ]; then
183
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
184
+ LOOP3_AGENTS="${LOOP3_AGENTS},rust-enterprise-developer"
185
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
186
+ log "Added: Enterprise Rust specialist"
187
+ fi
188
+ fi
189
+ fi
190
+
191
+ # Infrastructure detection
192
+ if [[ "$TASK_LOWER" =~ infra|devops|deploy|docker|k8s|kubernetes|aws ]]; then
193
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
194
+ if [ -n "$LOOP3_AGENTS" ]; then
195
+ LOOP3_AGENTS="${LOOP3_AGENTS},devops-engineer"
196
+ else
197
+ LOOP3_AGENTS="devops-engineer"
198
+ fi
199
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
200
+ log "Added: DevOps specialist"
201
+ fi
202
+ fi
203
+
204
+ # Architecture detection (always add for complex tasks)
205
+ if [[ "$TASK_LOWER" =~ architect|design|system|scalab|pattern ]] || \
206
+ [ "$CALCULATED_DIFFICULTY" = "complex" ] || [ "$CALCULATED_DIFFICULTY" = "enterprise" ]; then
207
+ if [ $LOOP3_COUNT -lt $LOOP3_MAX ]; then
208
+ if [ -n "$LOOP3_AGENTS" ]; then
209
+ LOOP3_AGENTS="${LOOP3_AGENTS},system-architect"
210
+ else
211
+ LOOP3_AGENTS="system-architect"
212
+ fi
213
+ LOOP3_COUNT=$((LOOP3_COUNT + 1))
214
+ LOOP2_AGENTS="${LOOP2_AGENTS},architect"
215
+ log "Added: System architect"
216
+ fi
217
+ fi
218
+
219
+ # Research detection (prepend for complex/unclear tasks)
220
+ if [[ "$TASK_LOWER" =~ research|explore|investigate|analyze|study ]] || \
221
+ [ "$CALCULATED_DIFFICULTY" = "complex" ] || [ "$CALCULATED_DIFFICULTY" = "enterprise" ]; then
222
+ # Researcher doesn't count against Loop 3 max (research is always valuable)
223
+ if [ -n "$LOOP3_AGENTS" ]; then
224
+ LOOP3_AGENTS="researcher,${LOOP3_AGENTS}"
225
+ else
226
+ LOOP3_AGENTS="researcher"
227
+ fi
228
+ log "Added: Researcher (complex task)"
229
+ fi
230
+
231
+ # Fill remaining slots with general specialists based on difficulty
232
+ REMAINING_SLOTS=$((LOOP3_MAX - LOOP3_COUNT))
233
+ if [ $REMAINING_SLOTS -gt 0 ] && [ -n "$LOOP3_AGENTS" ]; then
234
+ log "Filling $REMAINING_SLOTS remaining slots with specialists..."
235
+
236
+ # Add coder for general implementation
237
+ if [ $REMAINING_SLOTS -gt 0 ]; then
238
+ LOOP3_AGENTS="${LOOP3_AGENTS},coder"
239
+ REMAINING_SLOTS=$((REMAINING_SLOTS - 1))
240
+ fi
241
+
242
+ # Add performance specialist for enterprise tasks
243
+ if [ "$CALCULATED_DIFFICULTY" = "enterprise" ] && [ $REMAINING_SLOTS -gt 0 ]; then
244
+ LOOP3_AGENTS="${LOOP3_AGENTS},perf-analyzer"
245
+ REMAINING_SLOTS=$((REMAINING_SLOTS - 1))
246
+ fi
247
+ fi
248
+
249
+ # Default fallback (if no agents selected)
250
+ if [ -z "$LOOP3_AGENTS" ]; then
251
+ LOOP3_AGENTS="coder"
252
+ log "No specific domain detected, using general coder"
253
+ fi
254
+
255
+ # Ensure Loop 2 count matches suggestion
256
+ CURRENT_LOOP2_COUNT=$(echo "$LOOP2_AGENTS" | tr ',' '\n' | wc -l)
257
+ if [ "$CURRENT_LOOP2_COUNT" -lt "$SUGGESTED_LOOP2" ]; then
258
+ ADDITIONAL_VALIDATORS=$((SUGGESTED_LOOP2 - CURRENT_LOOP2_COUNT))
259
+ log "Adding $ADDITIONAL_VALIDATORS additional validators for $CALCULATED_DIFFICULTY difficulty"
260
+
261
+ # Add code-quality-validator for comprehensive review
262
+ if [ $ADDITIONAL_VALIDATORS -gt 0 ]; then
263
+ LOOP2_AGENTS="${LOOP2_AGENTS},code-quality-validator"
264
+ ADDITIONAL_VALIDATORS=$((ADDITIONAL_VALIDATORS - 1))
265
+ fi
266
+
267
+ # Add performance benchmarker for enterprise
268
+ if [ "$CALCULATED_DIFFICULTY" = "enterprise" ] && [ $ADDITIONAL_VALIDATORS -gt 0 ]; then
269
+ LOOP2_AGENTS="${LOOP2_AGENTS},performance-benchmarker"
270
+ fi
271
+ fi
272
+
273
+ # Product Owner (always included)
274
+ PRODUCT_OWNER="product-owner"
275
+
276
+ # Generate unique task ID
277
+ TASK_ID="cfn-$(echo "$TASK_DESCRIPTION" | tr ' ' '-' | tr '[:upper:]' '[:lower:]' | cut -c1-30)-$(date +%s)"
278
+
279
+ log "Task ID: $TASK_ID"
280
+ log "Loop 3 agents: $LOOP3_AGENTS"
281
+ log "Loop 2 agents: $LOOP2_AGENTS"
282
+ log "Product Owner: $PRODUCT_OWNER"
283
+
284
+ ##############################################################################
285
+ # Step 2: Invoke Orchestrator in Background
286
+ ##############################################################################
287
+
288
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
289
+ ORCHESTRATOR="$SCRIPT_DIR/orchestrate-cfn-loop.sh"
290
+
291
+ if [ ! -f "$ORCHESTRATOR" ]; then
292
+ echo "Error: Orchestrator not found at $ORCHESTRATOR"
293
+ exit 1
294
+ fi
295
+
296
+ log "Launching orchestrator..."
297
+
298
+ # Build success criteria from task
299
+ SUCCESS_CRITERIA=$(jq -nc \
300
+ --arg task "$TASK_DESCRIPTION" \
301
+ '{
302
+ acceptanceCriteria: ["Implementation complete", "Tests passing", "Code reviewed"],
303
+ gateThreshold: 0.75,
304
+ consensusThreshold: 0.90
305
+ }')
306
+
307
+ # Launch orchestrator in background
308
+ "$ORCHESTRATOR" \
309
+ --task-id "$TASK_ID" \
310
+ --mode "$MODE" \
311
+ --loop3-agents "$LOOP3_AGENTS" \
312
+ --loop2-agents "$LOOP2_AGENTS" \
313
+ --product-owner "$PRODUCT_OWNER" \
314
+ --max-iterations "$MAX_ITERATIONS" \
315
+ --epic-context "{\"epicGoal\": \"$TASK_DESCRIPTION\"}" \
316
+ --success-criteria "$SUCCESS_CRITERIA" \
317
+ > "/tmp/cfn-exec-${TASK_ID}.log" 2>&1 &
318
+
319
+ ORCHESTRATOR_PID=$!
320
+
321
+ log "Orchestrator started (PID: $ORCHESTRATOR_PID)"
322
+
323
+ # If background mode, return immediately
324
+ if [ "$WAIT_FOR_COMPLETION" = false ]; then
325
+ if [ "$OUTPUT_FORMAT" = "json" ]; then
326
+ MONITOR_CMD="redis-cli get \"swarm:${TASK_ID}:status\""
327
+ jq -nc \
328
+ --arg task_id "$TASK_ID" \
329
+ --arg pid "$ORCHESTRATOR_PID" \
330
+ --arg loop3 "$LOOP3_AGENTS" \
331
+ --arg loop2 "$LOOP2_AGENTS" \
332
+ --arg monitor "$MONITOR_CMD" \
333
+ '{
334
+ status: "running",
335
+ task_id: $task_id,
336
+ orchestrator_pid: ($pid | tonumber),
337
+ agents: {
338
+ loop3: ($loop3 | split(",")),
339
+ loop2: ($loop2 | split(","))
340
+ },
341
+ monitor: $monitor
342
+ }'
343
+ else
344
+ echo "Task ID: $TASK_ID"
345
+ echo "PID: $ORCHESTRATOR_PID"
346
+ echo "Monitor: redis-cli get 'swarm:${TASK_ID}:status'"
347
+ fi
348
+ exit 0
349
+ fi
350
+
351
+ ##############################################################################
352
+ # Step 3: Monitor via Redis (Zero-Token Polling)
353
+ ##############################################################################
354
+
355
+ log "Monitoring orchestrator completion..."
356
+
357
+ TIMEOUT=21600 # 6 hours max (10 iterations × 60min = 10hrs worst case, but realistically much less)
358
+ ELAPSED=0
359
+ CHECK_INTERVAL=30
360
+
361
+ while [ $ELAPSED -lt $TIMEOUT ]; do
362
+ # Check orchestrator status
363
+ STATUS=$(redis-cli get "swarm:${TASK_ID}:status" 2>/dev/null || echo "")
364
+
365
+ log "Status: ${STATUS:-initializing} (elapsed: ${ELAPSED}s)"
366
+
367
+ # Check for completion
368
+ if [ "$STATUS" = "complete" ] || [ "$STATUS" = "cancelled" ] || [ "$STATUS" = "failed" ]; then
369
+ log "Orchestrator finished: $STATUS"
370
+ break
371
+ fi
372
+
373
+ # Check if orchestrator process still running
374
+ if ! kill -0 "$ORCHESTRATOR_PID" 2>/dev/null; then
375
+ log "Orchestrator process exited"
376
+ # Check final status
377
+ STATUS=$(redis-cli get "swarm:${TASK_ID}:status" 2>/dev/null || echo "failed")
378
+ break
379
+ fi
380
+
381
+ sleep $CHECK_INTERVAL
382
+ ELAPSED=$((ELAPSED + CHECK_INTERVAL))
383
+ done
384
+
385
+ if [ $ELAPSED -ge $TIMEOUT ]; then
386
+ log "Timeout reached, orchestrator still running"
387
+ STATUS="timeout"
388
+ fi
389
+
390
+ ##############################################################################
391
+ # Step 4: Collect Results from Redis
392
+ ##############################################################################
393
+
394
+ log "Collecting results..."
395
+
396
+ # Get final consensus
397
+ FINAL_CONSENSUS=$(redis-cli lindex "swarm:${TASK_ID}:metrics:loop2_consensus" 0 2>/dev/null || echo '{"consensus": 0}')
398
+ CONSENSUS_VALUE=$(echo "$FINAL_CONSENSUS" | jq -r '.consensus // 0')
399
+
400
+ # Get iteration count
401
+ ITERATIONS=$(redis-cli llen "swarm:${TASK_ID}:metrics:iteration_start" 2>/dev/null || echo "0")
402
+
403
+ # Get deliverables
404
+ DELIVERABLES=$(redis-cli smembers "swarm:${TASK_ID}:deliverables" 2>/dev/null | jq -R -s -c 'split("\n") | map(select(length > 0))')
405
+
406
+ # Get execution time (first iteration start to last iteration end)
407
+ FIRST_START=$(redis-cli lindex "swarm:${TASK_ID}:metrics:iteration_start" -1 2>/dev/null || echo "0")
408
+ LAST_END=$(redis-cli lindex "swarm:${TASK_ID}:metrics:iteration_duration" 0 2>/dev/null | jq -r '.duration_ms // 0')
409
+ TOTAL_DURATION=$((LAST_END))
410
+
411
+ ##############################################################################
412
+ # Step 5: Return Structured Output
413
+ ##############################################################################
414
+
415
+ if [ "$OUTPUT_FORMAT" = "json" ]; then
416
+ jq -nc \
417
+ --arg status "$STATUS" \
418
+ --arg task "$TASK_DESCRIPTION" \
419
+ --arg task_id "$TASK_ID" \
420
+ --arg iterations "$ITERATIONS" \
421
+ --arg consensus "$CONSENSUS_VALUE" \
422
+ --arg loop3 "$LOOP3_AGENTS" \
423
+ --arg loop2 "$LOOP2_AGENTS" \
424
+ --arg duration "$TOTAL_DURATION" \
425
+ --argjson deliverables "$DELIVERABLES" \
426
+ '{
427
+ status: $status,
428
+ task: $task,
429
+ task_id: $task_id,
430
+ iterations: ($iterations | tonumber),
431
+ final_consensus: ($consensus | tonumber),
432
+ agents_selected: {
433
+ loop3: ($loop3 | split(",")),
434
+ loop2: ($loop2 | split(","))
435
+ },
436
+ deliverables: $deliverables,
437
+ execution_time_ms: ($duration | tonumber),
438
+ cost_model: "cli-spawning-95-98pct-savings"
439
+ }'
440
+ else
441
+ cat <<EOF
442
+ === CFN Loop Execution Complete ===
443
+ Status: $STATUS
444
+ Task: $TASK_DESCRIPTION
445
+ Task ID: $TASK_ID
446
+ Iterations: $ITERATIONS
447
+ Final Consensus: $CONSENSUS_VALUE
448
+ Loop 3 Agents: $LOOP3_AGENTS
449
+ Loop 2 Agents: $LOOP2_AGENTS
450
+ Deliverables: $DELIVERABLES
451
+ Execution Time: ${TOTAL_DURATION}ms
452
+ EOF
453
+ fi
454
+
455
+ # Cleanup
456
+ if [ "$STATUS" != "timeout" ]; then
457
+ log "Cleaning up Redis keys..."
458
+ redis-cli --scan --pattern "swarm:${TASK_ID}:*" | xargs -r redis-cli DEL >/dev/null 2>&1 || true
459
+ fi
460
+
461
+ # Exit with appropriate code
462
+ if [ "$STATUS" = "complete" ]; then
463
+ exit 0
464
+ elif [ "$STATUS" = "timeout" ]; then
465
+ exit 124
466
+ else
467
+ exit 1
468
+ fi
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+
4
+ TASK_ID="web-portal-skills-loop3"
5
+ AGENT_ID="tester"
6
+ CONTEXT="Relaunch Loop 3: Complete missing 5/8 test cases"
7
+
8
+ # Enter waiting mode
9
+ ./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh enter \
10
+ --task-id "$TASK_ID" \
11
+ --agent-id "$AGENT_ID" \
12
+ --context "$CONTEXT"
13
+
14
+ # Signal task details via Redis
15
+ redis-cli set "swarm:${TASK_ID}:details" "$CONTEXT"
16
+
17
+ # TODO: Actual agent spawning logic would be here
18
+ npx claude-flow-novice spawn-agent tester \
19
+ --task "Complete web portal skills test suite" \
20
+ --context "$CONTEXT" \
21
+ --skills cfn-loop-validation
22
+
23
+ # Report completion and confidence
24
+ ./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
25
+ --task-id "$TASK_ID" \
26
+ --agent-id "$AGENT_ID" \
27
+ --confidence 0.90 \
28
+ --iteration 1
29
+
@@ -0,0 +1,32 @@
1
+ #!/bin/bash
2
+ # Dependency checker for Redis Coordination
3
+
4
+ check_command() {
5
+ if command -v "$1" &> /dev/null; then
6
+ VERSION=$($1 --version 2>&1 | head -n1)
7
+ echo "✅ $1: $VERSION"
8
+ return 0
9
+ else
10
+ echo "❌ $1: NOT FOUND"
11
+ return 1
12
+ fi
13
+ }
14
+
15
+ echo "Checking dependencies for Redis Coordination..."
16
+ MISSING=0
17
+
18
+ # Required dependencies
19
+ check_command "node" || MISSING=$((MISSING+1))
20
+ check_command "redis-server" || MISSING=$((MISSING+1))
21
+ check_command "redis-cli" || MISSING=$((MISSING+1))
22
+ check_command "jq" || MISSING=$((MISSING+1))
23
+
24
+ if [ $MISSING -eq 0 ]; then
25
+ echo ""
26
+ echo "✅ All required dependencies installed"
27
+ exit 0
28
+ else
29
+ echo ""
30
+ echo "❌ Missing $MISSING required dependencies"
31
+ exit 1
32
+ fi