claude-flow-novice 2.9.1 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +76 -6
  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,97 @@
1
+ #!/bin/bash
2
+ # Utility functions for quorum testing
3
+
4
+ # Check absolute quorum
5
+ check_quorum() {
6
+ local total_agents="$1"
7
+ local quorum="$2"
8
+ local completed_agents="$3"
9
+
10
+ if [ "$completed_agents" -ge "$quorum" ]; then
11
+ echo "SUCCESS"
12
+ else
13
+ echo "FAILURE"
14
+ fi
15
+ }
16
+
17
+ # Check percentage-based quorum
18
+ check_percentage_quorum() {
19
+ local total_agents="$1"
20
+ local quorum_percentage="$2"
21
+ local completed_agents="$3"
22
+
23
+ # Calculate the minimum number of agents required (round up)
24
+ local required_agents=$(echo "scale=0; ceil($total_agents * $quorum_percentage)" | bc)
25
+
26
+ if [ "$completed_agents" -ge "$required_agents" ]; then
27
+ echo "SUCCESS"
28
+ else
29
+ echo "FAILURE"
30
+ fi
31
+ }
32
+
33
+ # Graceful degradation strategy
34
+ simulate_graceful_degradation() {
35
+ local total_agents="$1"
36
+ local initial_quorum="$2"
37
+ local max_failures="$3"
38
+
39
+ # Dynamically adjust quorum based on failures
40
+ local current_quorum="$initial_quorum"
41
+ local adjusted_agents=$((total_agents - max_failures))
42
+ local adjusted_quorum_threshold=$(echo "scale=2; $current_quorum * 0.8" | bc)
43
+
44
+ if (( $(echo "$adjusted_quorum_threshold <= 0.65" | bc -l) )); then
45
+ echo "HALT" # Prevent degradation below minimum viable quorum
46
+ else
47
+ echo "$(check_percentage_quorum "$adjusted_agents" "$adjusted_quorum_threshold" "$adjusted_agents")"
48
+ fi
49
+ }
50
+
51
+ # Assertion functions
52
+ assert_equals() {
53
+ local actual="$1"
54
+ local expected="$2"
55
+ local message="${3:-Assertion failed}"
56
+
57
+ if [ "$actual" != "$expected" ]; then
58
+ echo "FAIL: $message (Expected: $expected, Got: $actual)"
59
+ exit 1
60
+ fi
61
+ }
62
+
63
+ assert_greater_than() {
64
+ local actual="$1"
65
+ local expected="$2"
66
+ local message="${3:-Assertion failed}"
67
+
68
+ if [ "$actual" -le "$expected" ]; then
69
+ echo "FAIL: $message (Expected > $expected, Got: $actual)"
70
+ exit 1
71
+ fi
72
+ }
73
+
74
+ assert_not_empty() {
75
+ local value="$1"
76
+ local message="${2:-Value is empty}"
77
+
78
+ if [ -z "$value" ]; then
79
+ echo "FAIL: $message"
80
+ exit 1
81
+ fi
82
+ }
83
+
84
+ # Error handling and logging
85
+ log_error() {
86
+ local message="$1"
87
+ echo "[ERROR] $message" >&2
88
+ }
89
+
90
+ # Cleanup function
91
+ cleanup() {
92
+ # Remove any temporary files or reset test environments
93
+ echo "Cleaning up test environment..."
94
+ }
95
+
96
+ # Trap to ensure cleanup happens even if script fails
97
+ trap cleanup EXIT
@@ -0,0 +1,59 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # Test script for Redis Coordination Waiting Mode (v1.3.0)
5
+
6
+ # Utility functions
7
+ log_success() {
8
+ echo -e "\033[32m[PASS]\033[0m $1"
9
+ }
10
+
11
+ log_failure() {
12
+ echo -e "\033[31m[FAIL]\033[0m $1"
13
+ exit 1
14
+ }
15
+
16
+ # Setup test variables
17
+ TASK_ID="test-task-$(date +%s)"
18
+ AGENT_IDS=("agent1" "agent2" "agent3")
19
+
20
+ # Ensure clean test environment
21
+ ./invoke-redis-pattern.sh
22
+
23
+ # Test 1: Enter Waiting Mode
24
+ echo "### Test 1: Enter Waiting Mode ###"
25
+ wait_result=$(./invoke-redis-pattern.sh wait --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --context "test-context")
26
+ echo "$wait_result" | jq -e '.status == "timeout"' > /dev/null || log_failure "Failed to enter waiting mode"
27
+ log_success "Entered waiting mode successfully"
28
+
29
+ # Test 2: Wake Agent
30
+ echo -e "\n### Test 2: Wake Agent ###"
31
+ payload='{"iteration": 2, "feedback": "Add error handling"}'
32
+ wake_result=$(./invoke-redis-pattern.sh wake --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --payload "$payload")
33
+ echo "$wake_result" | jq -e '.status == "success"' > /dev/null || log_failure "Failed to wake agent"
34
+ log_success "Woke agent successfully"
35
+
36
+ # Test 3: Report Result
37
+ echo -e "\n### Test 3: Report Result ###"
38
+ report_result=$(./invoke-redis-pattern.sh report --task-id "$TASK_ID" --agent-id "${AGENT_IDS[0]}" --confidence 0.92 --result '{"key": "value"}')
39
+ echo "$report_result" | jq -e '.status == "success" and .confidence == 0.92' > /dev/null || log_failure "Failed to report result"
40
+ log_success "Reported result successfully"
41
+
42
+ # Test 4: Collect Consensus
43
+ echo -e "\n### Test 4: Collect Consensus ###"
44
+ for agent in "${AGENT_IDS[@]}"; do
45
+ ./invoke-redis-pattern.sh report --task-id "$TASK_ID" --agent-id "$agent" --confidence 0.95 --result "{\"result\": \"test-$agent\"}"
46
+ done
47
+
48
+ collect_result=$(./invoke-redis-pattern.sh collect --task-id "$TASK_ID" --agent-ids "$(IFS=,; echo "${AGENT_IDS[*]}")")
49
+ echo "$collect_result" | jq -e '.status == "consensus" and .avgConfidence >= 0.90' > /dev/null || log_failure "Failed to collect consensus"
50
+ log_success "Collected consensus successfully"
51
+
52
+ # Test 5: Timeout Handling
53
+ echo -e "\n### Test 5: Timeout Handling ###"
54
+ timeout_task_id="timeout-test-$(date +%s)"
55
+ timeout_result=$(./invoke-redis-pattern.sh wait --task-id "$timeout_task_id" --agent-id "${AGENT_IDS[0]}" --context "timeout-test")
56
+ echo "$timeout_result" | jq -e '.status == "timeout"' > /dev/null || log_failure "Failed to handle timeout"
57
+ log_success "Timeout handled successfully"
58
+
59
+ echo -e "\n\033[32m✅ ALL REDIS COORDINATION TESTS PASSED!\033[0m"
@@ -0,0 +1,73 @@
1
+ # CFN Loop Metrics Dashboard
2
+
3
+ ## Grafana Dashboard for CFN Loop Performance Monitoring
4
+
5
+ ### Dashboard Overview
6
+
7
+ This Grafana dashboard is designed to visualize and monitor the performance metrics of Continuous Flow Normalization (CFN) Loop iterations. It provides insights into:
8
+
9
+ - Iteration Duration Trends
10
+ - Consensus Convergence
11
+ - Agent Latency
12
+ - Error Rates
13
+
14
+ ### Prerequisites
15
+
16
+ - Prometheus as the metrics backend
17
+ - Grafana 7.3.7 or higher
18
+ - Configured Prometheus metrics for CFN Loop
19
+
20
+ ### Metrics Requirements
21
+
22
+ The following Prometheus metrics must be exported:
23
+
24
+ 1. `cfn_loop_iteration_duration_seconds`
25
+ - Time series of iteration durations
26
+ - Labels: `iteration`
27
+
28
+ 2. `cfn_loop_confidence`
29
+ - Confidence scores for Loop 3
30
+ - Labels: `stage="loop3"`
31
+
32
+ 3. `cfn_loop_consensus`
33
+ - Consensus scores for Loop 2
34
+ - Labels: `stage="loop2"`
35
+
36
+ 4. `cfn_loop_agent_latency_seconds_bucket`
37
+ - Histogram of agent latencies
38
+ - Labels: `agent_id`
39
+
40
+ 5. `cfn_loop_errors_total`
41
+ - Counter for different error types
42
+ - Labels: `error_type` (e.g., "timeout", "retry", "quorum_fallback", "gate_failure")
43
+
44
+ ### Installation Steps
45
+
46
+ 1. Open Grafana
47
+ 2. Navigate to Dashboard > Import
48
+ 3. Upload `grafana-dashboard.json`
49
+ 4. Select Prometheus data source
50
+ 5. Click "Import"
51
+
52
+ ### Customization
53
+
54
+ - Adjust time ranges in the dashboard settings
55
+ - Modify thresholds in panel configurations as needed
56
+
57
+ ### Troubleshooting
58
+
59
+ - Ensure all required Prometheus metrics are being exported
60
+ - Check data source configuration
61
+ - Verify metric naming matches exported metrics
62
+
63
+ ### Performance Tuning
64
+
65
+ The dashboard is optimized for minimal performance overhead:
66
+ - Uses efficient PromQL queries
67
+ - Configurable refresh intervals
68
+ - Dark theme for reduced eye strain during long monitoring sessions
69
+
70
+ ### Version
71
+
72
+ - Dashboard Version: 1.0.0
73
+ - Last Updated: 2025-10-19
@@ -0,0 +1,352 @@
1
+ {
2
+ "annotations": {
3
+ "list": []
4
+ },
5
+ "editable": true,
6
+ "gnetId": null,
7
+ "graphTooltip": 0,
8
+ "id": null,
9
+ "links": [],
10
+ "panels": [
11
+ {
12
+ "aliasColors": {},
13
+ "bars": false,
14
+ "dashLength": 10,
15
+ "dashes": false,
16
+ "datasource": "prometheus",
17
+ "description": "Duration of each CFN Loop iteration over time",
18
+ "fill": 1,
19
+ "gridPos": {
20
+ "h": 8,
21
+ "w": 12,
22
+ "x": 0,
23
+ "y": 0
24
+ },
25
+ "id": 1,
26
+ "legend": {
27
+ "avg": false,
28
+ "current": false,
29
+ "max": false,
30
+ "min": false,
31
+ "show": true,
32
+ "total": false,
33
+ "values": false
34
+ },
35
+ "lines": true,
36
+ "linewidth": 1,
37
+ "links": [],
38
+ "nullPointMode": "null",
39
+ "percentage": false,
40
+ "pointradius": 5,
41
+ "points": false,
42
+ "renderer": "flot",
43
+ "seriesOverrides": [],
44
+ "spaceLength": 10,
45
+ "stack": false,
46
+ "steppedLine": false,
47
+ "targets": [
48
+ {
49
+ "expr": "cfn_loop_iteration_duration_seconds",
50
+ "format": "time_series",
51
+ "intervalFactor": 2,
52
+ "legendFormat": "Iteration {{iteration}}",
53
+ "refId": "A"
54
+ }
55
+ ],
56
+ "thresholds": [],
57
+ "timeFrom": null,
58
+ "timeRegions": [],
59
+ "timeShift": null,
60
+ "title": "Iteration Duration Trends",
61
+ "tooltip": {
62
+ "shared": true,
63
+ "sort": 0,
64
+ "value_type": "individual"
65
+ },
66
+ "type": "graph",
67
+ "xaxis": {
68
+ "buckets": null,
69
+ "mode": "time",
70
+ "name": null,
71
+ "show": true,
72
+ "values": []
73
+ },
74
+ "yaxes": [
75
+ {
76
+ "format": "s",
77
+ "label": "Duration",
78
+ "logBase": 1,
79
+ "max": null,
80
+ "min": "0",
81
+ "show": true
82
+ },
83
+ {
84
+ "format": "short",
85
+ "label": null,
86
+ "logBase": 1,
87
+ "max": null,
88
+ "min": null,
89
+ "show": true
90
+ }
91
+ ],
92
+ "yaxis": {
93
+ "align": false,
94
+ "alignLevel": null
95
+ }
96
+ },
97
+ {
98
+ "cacheTimeout": null,
99
+ "datasource": "prometheus",
100
+ "description": "Consensus and confidence across CFN Loop iterations",
101
+ "fieldConfig": {
102
+ "defaults": {
103
+ "color": {
104
+ "mode": "thresholds"
105
+ },
106
+ "mappings": [],
107
+ "thresholds": {
108
+ "mode": "absolute",
109
+ "steps": [
110
+ {
111
+ "color": "red",
112
+ "value": null
113
+ },
114
+ {
115
+ "color": "yellow",
116
+ "value": 0.75
117
+ },
118
+ {
119
+ "color": "green",
120
+ "value": 0.90
121
+ }
122
+ ]
123
+ },
124
+ "unit": "percentunit"
125
+ },
126
+ "overrides": []
127
+ },
128
+ "gridPos": {
129
+ "h": 8,
130
+ "w": 12,
131
+ "x": 12,
132
+ "y": 0
133
+ },
134
+ "id": 2,
135
+ "links": [],
136
+ "options": {
137
+ "orientation": "auto",
138
+ "reduceOptions": {
139
+ "calcs": [
140
+ "mean"
141
+ ],
142
+ "fields": "",
143
+ "values": false
144
+ },
145
+ "showThresholdLabels": false,
146
+ "showThresholdMarkers": true
147
+ },
148
+ "pluginVersion": "7.3.7",
149
+ "targets": [
150
+ {
151
+ "expr": "cfn_loop_confidence{stage=\"loop3\"}",
152
+ "format": "time_series",
153
+ "intervalFactor": 2,
154
+ "legendFormat": "Loop 3 Confidence",
155
+ "refId": "A"
156
+ },
157
+ {
158
+ "expr": "cfn_loop_consensus{stage=\"loop2\"}",
159
+ "format": "time_series",
160
+ "intervalFactor": 2,
161
+ "legendFormat": "Loop 2 Consensus",
162
+ "refId": "B"
163
+ }
164
+ ],
165
+ "timeFrom": null,
166
+ "title": "Consensus Convergence",
167
+ "type": "gauge"
168
+ },
169
+ {
170
+ "cards": {
171
+ "cardPadding": null,
172
+ "cardRound": null
173
+ },
174
+ "color": {
175
+ "cardColor": "#FADE2A",
176
+ "colorScale": "linear",
177
+ "colorScheme": "interpolateOranges",
178
+ "exponent": 0.5,
179
+ "mode": "opacity"
180
+ },
181
+ "datasource": "prometheus",
182
+ "description": "Agent latency heatmap to identify performance bottlenecks",
183
+ "gridPos": {
184
+ "h": 8,
185
+ "w": 12,
186
+ "x": 0,
187
+ "y": 8
188
+ },
189
+ "heatmap": {},
190
+ "hideZeroBuckets": false,
191
+ "highlightCards": true,
192
+ "id": 3,
193
+ "legend": {
194
+ "show": false
195
+ },
196
+ "links": [],
197
+ "targets": [
198
+ {
199
+ "expr": "sum(rate(cfn_loop_agent_latency_seconds_bucket[5m])) by (agent_id)",
200
+ "format": "heatmap",
201
+ "intervalFactor": 2,
202
+ "legendFormat": "{{agent_id}}",
203
+ "refId": "A"
204
+ }
205
+ ],
206
+ "title": "Agent Latency Heatmap",
207
+ "tooltip": {
208
+ "show": true,
209
+ "showPalette": false
210
+ },
211
+ "type": "heatmap",
212
+ "xAxis": {
213
+ "show": true
214
+ },
215
+ "yAxis": {
216
+ "decimals": 0,
217
+ "show": true,
218
+ "title": "Agent"
219
+ },
220
+ "yBucketBound": "auto"
221
+ },
222
+ {
223
+ "aliasColors": {},
224
+ "bars": true,
225
+ "dashLength": 10,
226
+ "dashes": false,
227
+ "datasource": "prometheus",
228
+ "description": "Error and fallback metrics for CFN Loop iterations",
229
+ "fill": 1,
230
+ "gridPos": {
231
+ "h": 8,
232
+ "w": 12,
233
+ "x": 12,
234
+ "y": 8
235
+ },
236
+ "id": 4,
237
+ "legend": {
238
+ "avg": false,
239
+ "current": false,
240
+ "max": false,
241
+ "min": false,
242
+ "show": true,
243
+ "total": false,
244
+ "values": false
245
+ },
246
+ "lines": false,
247
+ "linewidth": 1,
248
+ "links": [],
249
+ "nullPointMode": "null",
250
+ "percentage": false,
251
+ "pointradius": 5,
252
+ "points": false,
253
+ "renderer": "flot",
254
+ "seriesOverrides": [],
255
+ "spaceLength": 10,
256
+ "stack": true,
257
+ "steppedLine": false,
258
+ "targets": [
259
+ {
260
+ "expr": "sum(increase(cfn_loop_errors_total[1h])) by (error_type)",
261
+ "format": "time_series",
262
+ "intervalFactor": 2,
263
+ "legendFormat": "{{error_type}}",
264
+ "refId": "A"
265
+ }
266
+ ],
267
+ "thresholds": [],
268
+ "timeFrom": null,
269
+ "timeRegions": [],
270
+ "timeShift": null,
271
+ "title": "Error Rates",
272
+ "tooltip": {
273
+ "shared": true,
274
+ "sort": 0,
275
+ "value_type": "individual"
276
+ },
277
+ "type": "graph",
278
+ "xaxis": {
279
+ "buckets": null,
280
+ "mode": "time",
281
+ "name": null,
282
+ "show": true,
283
+ "values": []
284
+ },
285
+ "yaxes": [
286
+ {
287
+ "format": "short",
288
+ "label": "Error Count",
289
+ "logBase": 1,
290
+ "max": null,
291
+ "min": "0",
292
+ "show": true
293
+ },
294
+ {
295
+ "format": "short",
296
+ "label": null,
297
+ "logBase": 1,
298
+ "max": null,
299
+ "min": null,
300
+ "show": true
301
+ }
302
+ ],
303
+ "yaxis": {
304
+ "align": false,
305
+ "alignLevel": null
306
+ }
307
+ }
308
+ ],
309
+ "schemaVersion": 22,
310
+ "style": "dark",
311
+ "tags": [
312
+ "cfn-loop",
313
+ "redis-coordination",
314
+ "performance"
315
+ ],
316
+ "templating": {
317
+ "list": []
318
+ },
319
+ "time": {
320
+ "from": "now-6h",
321
+ "to": "now"
322
+ },
323
+ "timepicker": {
324
+ "refresh_intervals": [
325
+ "5s",
326
+ "10s",
327
+ "30s",
328
+ "1m",
329
+ "5m",
330
+ "15m",
331
+ "30m",
332
+ "1h",
333
+ "2h",
334
+ "1d"
335
+ ],
336
+ "time_options": [
337
+ "5m",
338
+ "15m",
339
+ "1h",
340
+ "6h",
341
+ "12h",
342
+ "24h",
343
+ "2d",
344
+ "7d",
345
+ "30d"
346
+ ]
347
+ },
348
+ "timezone": "",
349
+ "title": "CFN Loop Metrics",
350
+ "uid": "cfn_loop_metrics",
351
+ "version": 1
352
+ }
@@ -0,0 +1,127 @@
1
+ #!/bin/bash
2
+ # Hierarchical Pattern: 1:Many Broadcast Coordination
3
+ # Use Case: One agent's output feeds multiple downstream agents
4
+ # Pattern: Coordinator receives result and broadcasts to multiple agent inboxes
5
+
6
+ set -e
7
+
8
+ TASK_ID="demo:hierarchical"
9
+ TIMEOUT=300 # 5 minutes
10
+
11
+ echo "=== Hierarchical Pattern Demo (1:Many Broadcast) ==="
12
+ echo "Scenario: Researcher → [Analyzer, Architect, Coder]"
13
+ echo ""
14
+
15
+ # Cleanup previous demo data
16
+ echo "Cleaning up previous demo data..."
17
+ redis-cli del "${TASK_ID}:researcher:done" > /dev/null 2>&1 || true
18
+ redis-cli del "${TASK_ID}:analyzer:inbox" > /dev/null 2>&1 || true
19
+ redis-cli del "${TASK_ID}:architect:inbox" > /dev/null 2>&1 || true
20
+ redis-cli del "${TASK_ID}:coder:inbox" > /dev/null 2>&1 || true
21
+ redis-cli del "${TASK_ID}:coordinator:status" > /dev/null 2>&1 || true
22
+
23
+ # Simulate Researcher Agent (runs in background)
24
+ (
25
+ echo "[Researcher] Starting research..."
26
+ sleep 2
27
+
28
+ FINDINGS='{
29
+ "agent": "researcher",
30
+ "confidence": 0.85,
31
+ "findings": "JWT-based authentication recommended",
32
+ "patterns": ["OAuth2", "JWT", "Session-based"],
33
+ "recommendation": "Use JWT with refresh tokens"
34
+ }'
35
+
36
+ redis-cli lpush "${TASK_ID}:researcher:done" "$FINDINGS" > /dev/null
37
+ echo "[Researcher] Research complete, published to ${TASK_ID}:researcher:done"
38
+ ) &
39
+
40
+ # Coordinator: Wait for researcher, then broadcast to multiple agents
41
+ echo "[Coordinator] Waiting for researcher to complete..."
42
+ RESEARCH_DATA=$(timeout $TIMEOUT redis-cli --csv blpop "${TASK_ID}:researcher:done" 0 2>/dev/null || echo "")
43
+
44
+ if [ -z "$RESEARCH_DATA" ]; then
45
+ echo "[Coordinator] ERROR: Researcher timeout after ${TIMEOUT}s"
46
+ redis-cli lpush "${TASK_ID}:coordinator:status" '{"status":"error","error":"researcher_timeout"}' > /dev/null
47
+ exit 1
48
+ fi
49
+
50
+ echo "[Coordinator] Received research data, broadcasting to 3 agents..."
51
+
52
+ # Broadcast to multiple agents (separate inboxes)
53
+ redis-cli lpush "${TASK_ID}:analyzer:inbox" "$RESEARCH_DATA" > /dev/null
54
+ redis-cli lpush "${TASK_ID}:architect:inbox" "$RESEARCH_DATA" > /dev/null
55
+ redis-cli lpush "${TASK_ID}:coder:inbox" "$RESEARCH_DATA" > /dev/null
56
+
57
+ echo "[Coordinator] Broadcast complete to: analyzer, architect, coder"
58
+
59
+ # Simulate Analyzer Agent
60
+ (
61
+ echo "[Analyzer] Waiting for research data in inbox..."
62
+ DATA=$(timeout $TIMEOUT redis-cli --csv blpop "${TASK_ID}:analyzer:inbox" 0 2>/dev/null || echo "")
63
+
64
+ if [ -z "$DATA" ]; then
65
+ echo "[Analyzer] ERROR: Timeout waiting for data"
66
+ exit 1
67
+ fi
68
+
69
+ echo "[Analyzer] Received data: ${DATA:0:50}..."
70
+ echo "[Analyzer] Analyzing security implications..."
71
+ sleep 1
72
+ echo "[Analyzer] Analysis complete (confidence: 0.90)"
73
+ ) &
74
+
75
+ # Simulate Architect Agent
76
+ (
77
+ echo "[Architect] Waiting for research data in inbox..."
78
+ DATA=$(timeout $TIMEOUT redis-cli --csv blpop "${TASK_ID}:architect:inbox" 0 2>/dev/null || echo "")
79
+
80
+ if [ -z "$DATA" ]; then
81
+ echo "[Architect] ERROR: Timeout waiting for data"
82
+ exit 1
83
+ fi
84
+
85
+ echo "[Architect] Received data: ${DATA:0:50}..."
86
+ echo "[Architect] Designing authentication architecture..."
87
+ sleep 1
88
+ echo "[Architect] Architecture designed (confidence: 0.88)"
89
+ ) &
90
+
91
+ # Simulate Coder Agent
92
+ (
93
+ echo "[Coder] Waiting for research data in inbox..."
94
+ DATA=$(timeout $TIMEOUT redis-cli --csv blpop "${TASK_ID}:coder:inbox" 0 2>/dev/null || echo "")
95
+
96
+ if [ -z "$DATA" ]; then
97
+ echo "[Coder] ERROR: Timeout waiting for data"
98
+ exit 1
99
+ fi
100
+
101
+ echo "[Coder] Received data: ${DATA:0:50}..."
102
+ echo "[Coder] Implementing JWT authentication..."
103
+ sleep 1
104
+ echo "[Coder] Implementation complete (confidence: 0.86)"
105
+ ) &
106
+
107
+ # Wait for all background jobs to complete
108
+ wait
109
+
110
+ echo ""
111
+ echo "=== Hierarchical Pattern Complete ==="
112
+ echo "✅ Coordinator successfully broadcast researcher data to 3 agents"
113
+ echo "✅ All agents received data in parallel from dedicated inboxes"
114
+ echo "✅ No message loss (BLPOP destructive limitation solved)"
115
+ echo ""
116
+ echo "Key Pattern:"
117
+ echo " 1. Researcher → coordinator (LPUSH/BLPOP)"
118
+ echo " 2. Coordinator → 3 separate agent inboxes (LPUSH x3)"
119
+ echo " 3. Each agent reads from dedicated inbox (BLPOP)"
120
+ echo ""
121
+
122
+ # Cleanup
123
+ redis-cli del "${TASK_ID}:researcher:done" > /dev/null 2>&1 || true
124
+ redis-cli del "${TASK_ID}:analyzer:inbox" > /dev/null 2>&1 || true
125
+ redis-cli del "${TASK_ID}:architect:inbox" > /dev/null 2>&1 || true
126
+ redis-cli del "${TASK_ID}:coder:inbox" > /dev/null 2>&1 || true
127
+ redis-cli del "${TASK_ID}:coordinator:status" > /dev/null 2>&1 || true