claude-flow-novice 2.15.2 → 2.15.4

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 (533) hide show
  1. package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  2. package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  3. package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  4. package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  5. package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  6. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  7. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  8. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  9. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  10. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  11. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  12. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  13. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  14. package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  15. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  16. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  17. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  18. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  19. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  20. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  21. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  22. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  23. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  24. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  25. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  26. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  27. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  28. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  29. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  30. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  31. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  32. package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  33. package/.claude/commands/cfn-loop-cli.md +16 -2
  34. package/.claude/commands/switch-api.md +31 -10
  35. package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
  36. package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
  37. package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
  38. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  39. package/.claude/hooks/cfn-post-edit.config.json +44 -44
  40. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
  41. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  42. package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  43. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  44. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  45. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  46. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  47. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  48. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  49. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  50. package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  51. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  52. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  53. package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
  54. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  55. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  56. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  57. package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
  58. package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  59. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  60. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  61. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  62. package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
  63. package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
  64. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  65. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  66. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  67. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  68. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  69. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  70. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  71. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  72. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  73. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  74. package/README.md +116 -475
  75. package/claude-assets/agents/cfn-dev-team/README.md +103 -0
  76. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
  77. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
  78. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
  79. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
  80. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
  81. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
  82. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
  83. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
  84. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
  85. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
  86. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
  87. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
  88. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
  89. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
  90. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
  91. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
  92. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
  93. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
  94. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
  95. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
  96. package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
  97. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
  98. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
  99. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
  100. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
  101. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
  102. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
  103. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
  104. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  105. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
  106. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
  107. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
  108. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
  109. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
  110. package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
  111. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
  112. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
  113. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
  114. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
  115. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
  116. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
  117. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  118. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  119. package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  120. package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  121. package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  122. package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  123. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  124. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  125. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  126. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  127. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  128. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  129. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  130. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  131. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  132. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  133. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  134. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  135. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  136. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  137. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  138. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  139. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  140. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  141. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  142. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  143. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  144. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  145. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  146. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  147. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  148. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  149. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  150. package/claude-assets/commands/cfn-loop-cli.md +16 -2
  151. package/claude-assets/commands/switch-api.md +31 -10
  152. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
  153. package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
  154. package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
  155. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  156. package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
  157. package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
  158. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
  159. package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
  160. package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
  161. package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
  162. package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
  163. package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
  164. package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
  165. package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
  166. package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
  167. package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
  168. package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
  169. package/claude-assets/skills/bootstrap/database-connection.md +464 -0
  170. package/claude-assets/skills/bootstrap/error-handling.md +580 -0
  171. package/claude-assets/skills/bootstrap/file-operations.md +699 -0
  172. package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
  173. package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
  174. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  175. package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
  176. package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
  177. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
  178. package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
  179. package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
  180. package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
  181. package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  182. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  183. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  184. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
  185. package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
  186. package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
  187. package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
  188. package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
  189. package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
  190. package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
  191. package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
  192. package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  193. package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
  194. package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
  195. package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
  196. package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
  197. package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
  198. package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
  199. package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
  200. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  201. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  202. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  203. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  204. package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  205. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  206. package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
  207. package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
  208. package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
  209. package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
  210. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
  211. package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
  212. package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
  213. package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
  214. package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
  215. package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
  216. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  217. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
  218. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  219. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  220. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  221. package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
  222. package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  223. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  224. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  225. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  226. package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
  227. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
  228. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  229. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  230. package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
  231. package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
  232. package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
  233. package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
  234. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  235. package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
  236. package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
  237. package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
  238. package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
  239. package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
  240. package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
  241. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
  242. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
  243. package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
  244. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  245. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  246. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  247. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  248. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  249. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  250. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  251. package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
  252. package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
  253. package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
  254. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
  255. package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
  256. package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
  257. package/claude-assets/skills/cfn-utilities/test.sh +317 -0
  258. package/claude-assets/skills/docker-build/SKILL.md +96 -203
  259. package/claude-assets/skills/docker-build/build.sh +73 -73
  260. package/claude-assets/skills/integration/agent-handoff.sh +492 -0
  261. package/claude-assets/skills/integration/file-operations.sh +414 -0
  262. package/claude-assets/skills/json-validation/SKILL.md +431 -0
  263. package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
  264. package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
  265. package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
  266. package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
  267. package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
  268. package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
  269. package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
  270. package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
  271. package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
  272. package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
  273. package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
  274. package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
  275. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
  276. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
  277. package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
  278. package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
  279. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
  280. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
  281. package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
  282. package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
  283. package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
  284. package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
  285. package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
  286. package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
  287. package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
  288. package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
  289. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  290. package/dist/ace/ace-curator.js +10 -2
  291. package/dist/ace/ace-curator.js.map +1 -1
  292. package/dist/ace/ace-generator.js +4 -0
  293. package/dist/ace/ace-generator.js.map +1 -1
  294. package/dist/ace/ace-reflector.js +1 -1
  295. package/dist/ace/ace-reflector.js.map +1 -1
  296. package/dist/ace/context-injection.js +24 -2
  297. package/dist/ace/context-injection.js.map +1 -1
  298. package/dist/agents/agent-loader.js +146 -165
  299. package/dist/agents/agent-loader.js.map +1 -1
  300. package/dist/agents/task-agent-integration.js +1 -1
  301. package/dist/agents/task-agent-integration.js.map +1 -1
  302. package/dist/api/health-endpoints.js +390 -0
  303. package/dist/api/health-endpoints.js.map +1 -0
  304. package/dist/cli/agent-executor.js +4 -1
  305. package/dist/cli/agent-executor.js.map +1 -1
  306. package/dist/cli/agent-prompt-builder.js +89 -1
  307. package/dist/cli/agent-prompt-builder.js.map +1 -1
  308. package/dist/cli/agent-spawn.js +130 -37
  309. package/dist/cli/agent-spawn.js.map +1 -1
  310. package/dist/cli/config-manager.js +91 -109
  311. package/dist/cli/config-manager.js.map +1 -1
  312. package/dist/cli/skill-cache-validator.js +412 -0
  313. package/dist/cli/skill-cache-validator.js.map +1 -0
  314. package/dist/cli/skill-cli.js +991 -0
  315. package/dist/cli/skill-cli.js.map +1 -0
  316. package/dist/cli/skill-execution-logger.js +284 -0
  317. package/dist/cli/skill-execution-logger.js.map +1 -0
  318. package/dist/cli/skill-loader.js +457 -0
  319. package/dist/cli/skill-loader.js.map +1 -0
  320. package/dist/coordination/event-bus.js +2 -2
  321. package/dist/coordination/event-bus.js.map +1 -1
  322. package/dist/coordination/fleet-manager.js +1 -1
  323. package/dist/coordination/fleet-manager.js.map +1 -1
  324. package/dist/coordination/index.js +23 -9
  325. package/dist/coordination/index.js.map +1 -1
  326. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  327. package/dist/db/migration-manager.js +483 -0
  328. package/dist/db/migration-manager.js.map +1 -0
  329. package/dist/db/skills-query.js +535 -0
  330. package/dist/db/skills-query.js.map +1 -0
  331. package/dist/integration/DatabaseHandoff.js +507 -0
  332. package/dist/integration/DatabaseHandoff.js.map +1 -0
  333. package/dist/integration/StandardAdapter.js +291 -0
  334. package/dist/integration/StandardAdapter.js.map +1 -0
  335. package/dist/jobs/edge-case-analyzer.js +367 -0
  336. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  337. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  338. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  339. package/dist/lib/agent-output-parser.js +518 -0
  340. package/dist/lib/agent-output-parser.js.map +1 -0
  341. package/dist/lib/agent-output-validator.js +950 -0
  342. package/dist/lib/agent-output-validator.js.map +1 -0
  343. package/dist/lib/agent-workspace.js +281 -0
  344. package/dist/lib/agent-workspace.js.map +1 -0
  345. package/dist/lib/artifact-registry.js +443 -0
  346. package/dist/lib/artifact-registry.js.map +1 -0
  347. package/dist/lib/atomic-file-writer.js +377 -0
  348. package/dist/lib/atomic-file-writer.js.map +1 -0
  349. package/dist/lib/backup-manager.js +779 -0
  350. package/dist/lib/backup-manager.js.map +1 -0
  351. package/dist/lib/checkpoint-manager.js +837 -0
  352. package/dist/lib/checkpoint-manager.js.map +1 -0
  353. package/dist/lib/circuit-breaker.js +340 -0
  354. package/dist/lib/circuit-breaker.js.map +1 -0
  355. package/dist/lib/completion-signal-handler.js +243 -0
  356. package/dist/lib/completion-signal-handler.js.map +1 -0
  357. package/dist/lib/config-manager.js +312 -0
  358. package/dist/lib/config-manager.js.map +1 -0
  359. package/dist/lib/config-migrator.js +386 -0
  360. package/dist/lib/config-migrator.js.map +1 -0
  361. package/dist/lib/config-validator.js +687 -0
  362. package/dist/lib/config-validator.js.map +1 -0
  363. package/dist/lib/correlation-cache.js +311 -0
  364. package/dist/lib/correlation-cache.js.map +1 -0
  365. package/dist/lib/correlation.js +263 -0
  366. package/dist/lib/correlation.js.map +1 -0
  367. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  368. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  369. package/dist/lib/database-service/correlation.js +329 -0
  370. package/dist/lib/database-service/correlation.js.map +1 -0
  371. package/dist/lib/database-service/errors.js +120 -0
  372. package/dist/lib/database-service/errors.js.map +1 -0
  373. package/dist/lib/database-service/index.js +168 -0
  374. package/dist/lib/database-service/index.js.map +1 -0
  375. package/dist/lib/database-service/postgres-adapter.js +526 -0
  376. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  377. package/dist/lib/database-service/redis-adapter.js +360 -0
  378. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  379. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  380. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  381. package/dist/lib/database-service/transaction-manager.js +773 -0
  382. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  383. package/dist/lib/database-service/types.js +23 -0
  384. package/dist/lib/database-service/types.js.map +1 -0
  385. package/dist/lib/deadlock-resolver.js +292 -0
  386. package/dist/lib/deadlock-resolver.js.map +1 -0
  387. package/dist/lib/distributed-lock.js +451 -0
  388. package/dist/lib/distributed-lock.js.map +1 -0
  389. package/dist/lib/edge-case-deduplicator.js +227 -0
  390. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  391. package/dist/lib/encryption-manager.js +322 -0
  392. package/dist/lib/encryption-manager.js.map +1 -0
  393. package/dist/lib/error-aggregator.js +234 -0
  394. package/dist/lib/error-aggregator.js.map +1 -0
  395. package/dist/lib/errors.js +287 -0
  396. package/dist/lib/errors.js.map +1 -0
  397. package/dist/lib/file-lock-manager.js +578 -0
  398. package/dist/lib/file-lock-manager.js.map +1 -0
  399. package/dist/lib/file-operations.js +367 -0
  400. package/dist/lib/file-operations.js.map +1 -0
  401. package/dist/lib/idempotent-write.js +237 -0
  402. package/dist/lib/idempotent-write.js.map +1 -0
  403. package/dist/lib/integration-schema-validator.js +522 -0
  404. package/dist/lib/integration-schema-validator.js.map +1 -0
  405. package/dist/lib/lock-health-monitor.js +298 -0
  406. package/dist/lib/lock-health-monitor.js.map +1 -0
  407. package/dist/lib/log-shipper.js +422 -0
  408. package/dist/lib/log-shipper.js.map +1 -0
  409. package/dist/lib/logging.js +146 -0
  410. package/dist/lib/logging.js.map +1 -0
  411. package/dist/lib/message-deduplicator.js +439 -0
  412. package/dist/lib/message-deduplicator.js.map +1 -0
  413. package/dist/lib/multi-system-query.js +604 -0
  414. package/dist/lib/multi-system-query.js.map +1 -0
  415. package/dist/lib/orphan-detector.js +332 -0
  416. package/dist/lib/orphan-detector.js.map +1 -0
  417. package/dist/lib/password-generator.js +166 -0
  418. package/dist/lib/password-generator.js.map +1 -0
  419. package/dist/lib/path-validator.js +429 -0
  420. package/dist/lib/path-validator.js.map +1 -0
  421. package/dist/lib/query-translator.js +905 -0
  422. package/dist/lib/query-translator.js.map +1 -0
  423. package/dist/lib/queue-recovery.js +469 -0
  424. package/dist/lib/queue-recovery.js.map +1 -0
  425. package/dist/lib/redis-queue-manager.js +512 -0
  426. package/dist/lib/redis-queue-manager.js.map +1 -0
  427. package/dist/lib/reflection-archiver.js +272 -0
  428. package/dist/lib/reflection-archiver.js.map +1 -0
  429. package/dist/lib/retry-manager.js +453 -0
  430. package/dist/lib/retry-manager.js.map +1 -0
  431. package/dist/lib/retry.js +262 -0
  432. package/dist/lib/retry.js.map +1 -0
  433. package/dist/lib/schema-transform.js +695 -0
  434. package/dist/lib/schema-transform.js.map +1 -0
  435. package/dist/lib/schema-validator.js +491 -0
  436. package/dist/lib/schema-validator.js.map +1 -0
  437. package/dist/lib/skill-cache.js +297 -0
  438. package/dist/lib/skill-cache.js.map +1 -0
  439. package/dist/lib/skill-content-manager.js +337 -0
  440. package/dist/lib/skill-content-manager.js.map +1 -0
  441. package/dist/lib/skill-frontmatter-parser.js +237 -0
  442. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  443. package/dist/lib/skill-git-integration.js +275 -0
  444. package/dist/lib/skill-git-integration.js.map +1 -0
  445. package/dist/lib/skill-markdown-validator.js +396 -0
  446. package/dist/lib/skill-markdown-validator.js.map +1 -0
  447. package/dist/lib/skill-output-parser.js +312 -0
  448. package/dist/lib/skill-output-parser.js.map +1 -0
  449. package/dist/lib/unified-query-api.js +467 -0
  450. package/dist/lib/unified-query-api.js.map +1 -0
  451. package/dist/middleware/auth-middleware.js +350 -0
  452. package/dist/middleware/auth-middleware.js.map +1 -0
  453. package/dist/middleware/schema-validation.js +347 -0
  454. package/dist/middleware/schema-validation.js.map +1 -0
  455. package/dist/providers/anthropic-provider.js +1 -1
  456. package/dist/providers/anthropic-provider.js.map +1 -1
  457. package/dist/providers/provider-factory.js +2 -2
  458. package/dist/providers/provider-factory.js.map +1 -1
  459. package/dist/services/edge-case-analyzer.js +321 -0
  460. package/dist/services/edge-case-analyzer.js.map +1 -0
  461. package/dist/services/edge-case-deduplicator.js +266 -0
  462. package/dist/services/edge-case-deduplicator.js.map +1 -0
  463. package/dist/services/edge-case-detector.js +337 -0
  464. package/dist/services/edge-case-detector.js.map +1 -0
  465. package/dist/services/edge-case-tracker.js +547 -0
  466. package/dist/services/edge-case-tracker.js.map +1 -0
  467. package/dist/services/health-check-system.js +586 -0
  468. package/dist/services/health-check-system.js.map +1 -0
  469. package/dist/services/metrics-logger.js +412 -0
  470. package/dist/services/metrics-logger.js.map +1 -0
  471. package/dist/services/patch-generator.js +378 -0
  472. package/dist/services/patch-generator.js.map +1 -0
  473. package/dist/services/patch-validator.js +337 -0
  474. package/dist/services/patch-validator.js.map +1 -0
  475. package/dist/services/performance-monitor.js +811 -0
  476. package/dist/services/performance-monitor.js.map +1 -0
  477. package/dist/services/promotion-pipeline.js +918 -0
  478. package/dist/services/promotion-pipeline.js.map +1 -0
  479. package/dist/services/promotion-validator.js +394 -0
  480. package/dist/services/promotion-validator.js.map +1 -0
  481. package/dist/services/reflection-logger.js +388 -0
  482. package/dist/services/reflection-logger.js.map +1 -0
  483. package/dist/services/skill-deployment.js +472 -0
  484. package/dist/services/skill-deployment.js.map +1 -0
  485. package/dist/services/skill-loader.js +427 -0
  486. package/dist/services/skill-loader.js.map +1 -0
  487. package/dist/services/skill-promotion.js +372 -0
  488. package/dist/services/skill-promotion.js.map +1 -0
  489. package/dist/services/skill-validator.js +454 -0
  490. package/dist/services/skill-validator.js.map +1 -0
  491. package/dist/services/skill-versioning.js +244 -0
  492. package/dist/services/skill-versioning.js.map +1 -0
  493. package/dist/services/workspace-supervisor.js +597 -0
  494. package/dist/services/workspace-supervisor.js.map +1 -0
  495. package/dist/types/agent-output.js +44 -0
  496. package/dist/types/agent-output.js.map +1 -0
  497. package/dist/types/config.js +28 -0
  498. package/dist/types/config.js.map +1 -0
  499. package/dist/types/edge-case.js +45 -0
  500. package/dist/types/edge-case.js.map +1 -0
  501. package/package.json +201 -176
  502. package/readme/README.md +19 -4
  503. package/scripts/artifact-cleanup.sh +392 -0
  504. package/scripts/backup-cleanup.sh +627 -0
  505. package/scripts/cleanup-workspaces.sh +412 -0
  506. package/scripts/cleanup-yaml-configs.sh +141 -0
  507. package/scripts/deploy-approved-skills.sh +263 -0
  508. package/scripts/deploy-production.sh +355 -355
  509. package/scripts/docker-playwright-fix.sh +311 -311
  510. package/scripts/docker-rebuild-all-agents.sh +127 -127
  511. package/scripts/health-check.sh +447 -0
  512. package/scripts/log-aggregator.sh +554 -0
  513. package/scripts/log-monitor.sh +629 -0
  514. package/scripts/manage-agent-workspaces.sh +434 -0
  515. package/scripts/memory-leak-prevention.sh +305 -305
  516. package/scripts/migrate-artifacts.sh +563 -0
  517. package/scripts/migrate-schema.sh +533 -0
  518. package/scripts/migrate-yaml-to-json.sh +465 -0
  519. package/scripts/promote-staged-skills.sh +423 -0
  520. package/scripts/run-marketing-tests.sh +42 -42
  521. package/scripts/update_paths.sh +46 -46
  522. package/scripts/verify-no-secrets.sh +88 -35
  523. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  524. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  525. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  526. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  527. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  528. package/README.md.backup_before_replace +0 -781
  529. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  530. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  531. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  532. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  533. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
@@ -0,0 +1,319 @@
1
+ # Centralized Redis Wrapper - Graceful Fallback for Task Mode
2
+
3
+ **Version:** 1.0
4
+ **Date:** 2025-11-16
5
+ **Status:** Production Ready
6
+
7
+ ---
8
+
9
+ ## Overview
10
+
11
+ This document describes the centralized Redis wrapper implementation that provides graceful fallback for Task mode execution, solving the ANTI-023 memory leak issue without requiring mode detection.
12
+
13
+ ## Problem Statement
14
+
15
+ **Original Issue:**
16
+ - CLI mode agents (spawned via `npx claude-flow-novice`) need Redis for coordination
17
+ - Task mode agents (spawned via `Task()` tool) should NOT use Redis (causes memory leaks)
18
+ - Mode detection was unreliable (both modes could have TASK_ID/AGENT_ID)
19
+
20
+ **Solution:**
21
+ Instead of trying to detect mode, **make Redis commands fail gracefully** when Redis is unavailable.
22
+
23
+ ## Architecture
24
+
25
+ ### Components
26
+
27
+ **1. redis-cli-wrapper.sh** (Centralized wrapper)
28
+ - Checks if Redis is available (1 second timeout)
29
+ - If available → execute command normally (CLI/Docker mode)
30
+ - If unavailable → soft fail with informative message (Task mode)
31
+
32
+ **2. redis-functions.sh** (Function override)
33
+ - Sources the wrapper
34
+ - Exports `redis-cli()` function that overrides the system command
35
+ - All scripts using redis-cli automatically get graceful fallback
36
+
37
+ **3. Coordination scripts** (Updated to source redis-functions.sh)
38
+ - `report-completion.sh` - Main agent completion protocol
39
+ - Other scripts can be updated as needed
40
+
41
+ ### How It Works
42
+
43
+ ```bash
44
+ # Script sources redis-functions.sh
45
+ source ./.claude/skills/cfn-redis-coordination/redis-functions.sh
46
+
47
+ # All redis-cli calls now use the wrapper
48
+ redis-cli LPUSH "key" "value" # Fails gracefully if Redis unavailable
49
+ ```
50
+
51
+ **Execution Flow:**
52
+
53
+ ```text
54
+ 1. Script calls redis-cli LPUSH "key" "value"
55
+ 2. redis-functions.sh overrides redis-cli → calls wrapper
56
+ 3. Wrapper checks: timeout 1 redis-cli ping
57
+ ├─ Success? → Execute command (CLI/Docker mode)
58
+ └─ Timeout? → Print warning, exit 0 (Task mode)
59
+ 4. Script continues (no fatal error)
60
+ ```
61
+
62
+ ## Benefits
63
+
64
+ ✅ **No mode detection needed** - Just check if Redis responds
65
+ ✅ **Simpler** - One code path, graceful degradation
66
+ ✅ **Self-healing** - Works in both Task mode (no Redis) AND CLI mode (has Redis)
67
+ ✅ **No memory leak** - If Redis isn't available, commands fail fast (exit 0)
68
+ ✅ **Clear feedback** - Informative messages explain what's happening
69
+ ✅ **Centralized** - One place to change behavior (redis-cli-wrapper.sh)
70
+ ✅ **Backward compatible** - Scripts without redis-functions.sh still work (use system redis-cli)
71
+
72
+ ## Usage
73
+
74
+ ### For New Scripts
75
+
76
+ Add this at the top of any script that uses Redis:
77
+
78
+ ```bash
79
+ #!/bin/bash
80
+ set -euo pipefail
81
+
82
+ # Source centralized Redis functions (provides graceful fallback for Task mode)
83
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
84
+ source "${SCRIPT_DIR}/redis-functions.sh"
85
+
86
+ # Now use redis-cli normally
87
+ redis-cli LPUSH "swarm:task-123:done" "complete"
88
+ redis-cli SET "key" "value" EX 3600
89
+ ```
90
+
91
+ ### For Existing Scripts
92
+
93
+ 1. Add the source block after `set -euo pipefail`
94
+ 2. Remove manual ANTI-023 checks (wrapper handles it)
95
+ 3. Simplify redis-cli calls (no need for `-h` / `-p` flags)
96
+
97
+ **Before:**
98
+ ```bash
99
+ if [[ -z "${TASK_ID:-}" || -z "${AGENT_ID:-}" ]]; then
100
+ echo "❌ TASK MODE DETECTED - Redis coordination forbidden" >&2
101
+ exit 1
102
+ fi
103
+
104
+ redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" LPUSH "key" "value"
105
+ ```
106
+
107
+ **After:**
108
+ ```bash
109
+ source "${SCRIPT_DIR}/redis-functions.sh"
110
+
111
+ redis-cli LPUSH "key" "value"
112
+ ```
113
+
114
+ ### Testing Graceful Fallback
115
+
116
+ Test that your script handles Redis unavailability:
117
+
118
+ ```bash
119
+ # Simulate Task mode (Redis unavailable)
120
+ REDIS_HOST="nonexistent" bash your-script.sh --args
121
+
122
+ # Expected output:
123
+ ⚠️ Redis unavailable - command skipped (soft fail)
124
+ 💡 This is expected in Task mode (Main Chat coordination)
125
+ 🔧 Agents should output JSON directly instead of Redis coordination
126
+ ✅ Script completed successfully
127
+ ```
128
+
129
+ ## Implementation Details
130
+
131
+ ### redis-cli-wrapper.sh
132
+
133
+ ```bash
134
+ #!/bin/bash
135
+ set -euo pipefail
136
+
137
+ REDIS_HOST="${REDIS_HOST:-localhost}"
138
+ REDIS_PORT="${REDIS_PORT:-6379}"
139
+
140
+ # Graceful Redis availability check (1 second timeout)
141
+ if ! timeout 1 redis-cli -h "$REDIS_HOST" -p "$REDIS_PORT" ping &>/dev/null; then
142
+ # Redis unavailable - likely Task mode
143
+ echo "⚠️ Redis unavailable - command skipped (soft fail)" >&2
144
+ echo "💡 This is expected in Task mode (Main Chat coordination)" >&2
145
+ echo "🔧 Agents should output JSON directly instead of Redis coordination" >&2
146
+ exit 0 # Soft fail - don't break agent execution
147
+ fi
148
+
149
+ # Redis available - execute command normally (CLI/Docker mode)
150
+ exec redis-cli -h "$REDIS_HOST" -p "$REDIS_PORT" "$@"
151
+ ```
152
+
153
+ **Key Features:**
154
+ - 1 second timeout (prevents hanging)
155
+ - Informative error messages
156
+ - Exit 0 (soft fail, agent continues)
157
+ - Respects REDIS_HOST/REDIS_PORT environment variables
158
+
159
+ ### redis-functions.sh
160
+
161
+ ```bash
162
+ #!/bin/bash
163
+
164
+ # Get the directory where this script is located
165
+ REDIS_FUNCTIONS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
166
+
167
+ # Override redis-cli to always use the wrapper
168
+ redis-cli() {
169
+ "${REDIS_FUNCTIONS_DIR}/redis-cli-wrapper.sh" "$@"
170
+ }
171
+
172
+ # Export the function so it's available in subshells
173
+ export -f redis-cli
174
+
175
+ # Helper: Check if Redis is available (useful for conditional logic)
176
+ is_redis_available() {
177
+ timeout 1 "${REDIS_FUNCTIONS_DIR}/redis-cli-wrapper.sh" ping &>/dev/null
178
+ return $?
179
+ }
180
+
181
+ export -f is_redis_available
182
+ ```
183
+
184
+ **Key Features:**
185
+ - Function override (all redis-cli calls use wrapper)
186
+ - Exported for subshells
187
+ - Helper function `is_redis_available()` for conditional logic
188
+
189
+ ## Migration Guide
190
+
191
+ ### Step 1: Update Core Scripts
192
+
193
+ Update the most critical coordination scripts first:
194
+
195
+ 1. `report-completion.sh` ✅ (Already updated)
196
+ 2. `collect-confidence-scores.sh`
197
+ 3. `invoke-waiting-mode.sh`
198
+ 4. `store-context.sh`
199
+ 5. `get-context.sh`
200
+
201
+ ### Step 2: Test Each Script
202
+
203
+ For each updated script:
204
+
205
+ ```bash
206
+ # Test with Redis available (CLI mode simulation)
207
+ bash script.sh --args
208
+
209
+ # Test with Redis unavailable (Task mode simulation)
210
+ REDIS_HOST="nonexistent" bash script.sh --args
211
+ ```
212
+
213
+ ### Step 3: Update Agent Profiles (Optional)
214
+
215
+ Agent profiles can now simplify their Redis usage examples:
216
+
217
+ **Before:**
218
+ ```markdown
219
+ redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" LPUSH "key" "value"
220
+ ```
221
+
222
+ **After:**
223
+ ```markdown
224
+ # Redis coordination (automatically fails gracefully in Task mode)
225
+ redis-cli LPUSH "key" "value"
226
+ ```
227
+
228
+ ## Troubleshooting
229
+
230
+ ### Issue: "Permission denied" when running wrapper
231
+
232
+ **Solution:**
233
+ ```bash
234
+ chmod +x .claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh
235
+ chmod +x .claude/skills/cfn-redis-coordination/redis-functions.sh
236
+ ```
237
+
238
+ ### Issue: "$'\r': command not found" (CRLF line endings)
239
+
240
+ **Solution:**
241
+ ```bash
242
+ sed -i 's/\r$//' .claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh
243
+ sed -i 's/\r$//' .claude/skills/cfn-redis-coordination/redis-functions.sh
244
+ ```
245
+
246
+ ### Issue: Redis commands still hanging
247
+
248
+ **Cause:** Script not sourcing redis-functions.sh
249
+
250
+ **Solution:** Add source line at top of script:
251
+ ```bash
252
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
253
+ source "${SCRIPT_DIR}/redis-functions.sh"
254
+ ```
255
+
256
+ ## Performance Impact
257
+
258
+ **Redis Available (CLI/Docker mode):**
259
+ - Ping check: ~1-5ms overhead per script execution
260
+ - Command execution: No overhead (exec replaces process)
261
+
262
+ **Redis Unavailable (Task mode):**
263
+ - Ping timeout: 1 second (one-time per script, not per command)
264
+ - Total overhead: ~1 second per script execution
265
+ - Acceptable for Task mode (not performance-critical)
266
+
267
+ ## Security Considerations
268
+
269
+ **Timeout Protection:**
270
+ - 1 second timeout prevents indefinite hanging
271
+ - Protects against network issues
272
+
273
+ **Environment Variables:**
274
+ - Respects REDIS_HOST/REDIS_PORT for configuration
275
+ - No hardcoded credentials
276
+
277
+ **Soft Failure:**
278
+ - Exit 0 prevents cascade failures
279
+ - Agent can continue execution
280
+
281
+ ## Success Metrics
282
+
283
+ **Test Results:**
284
+ - ✅ report-completion.sh tested with nonexistent Redis host
285
+ - ✅ All 6 redis-cli calls failed gracefully (exit 0)
286
+ - ✅ Script completed successfully with informative warnings
287
+ - ✅ No memory leaks (commands timeout after 1 second)
288
+
289
+ **Expected Behavior:**
290
+ - CLI mode: Redis available → normal execution
291
+ - Docker mode: Redis available → normal execution
292
+ - Task mode: Redis unavailable → graceful fallback, agent continues
293
+
294
+ ## Conclusion
295
+
296
+ The centralized Redis wrapper provides a robust, simple solution to the ANTI-023 memory leak issue. By focusing on **graceful failure** instead of **mode detection**, we achieve:
297
+
298
+ 1. **Reliability** - Works regardless of mode detection accuracy
299
+ 2. **Simplicity** - One code path, clear behavior
300
+ 3. **Maintainability** - Centralized in one wrapper file
301
+ 4. **Safety** - No memory leaks, no hanging processes
302
+
303
+ This approach is **production-ready** and can be rolled out incrementally (script by script) without disrupting existing workflows.
304
+
305
+ ---
306
+
307
+ **See Also:**
308
+ - `docs/architecture/task-mode-redis-safety-patterns.md` - Original ANTI-023 analysis
309
+ - `CLAUDE.md` - CFN Loop execution modes
310
+ - `.claude/skills/cfn-redis-coordination/SKILL.md` - Coordination protocols
311
+
312
+ **Next Steps:**
313
+ 1. Update remaining coordination scripts
314
+ 2. Test in production CFN Loop execution
315
+ 3. Document in agent profiles
316
+ 4. Monitor for any edge cases
317
+
318
+ **Version History:**
319
+ - v1.0 (2025-11-16): Initial implementation with graceful fallback
@@ -12,6 +12,10 @@
12
12
 
13
13
  set -euo pipefail
14
14
 
15
+ # Source centralized Redis functions (provides graceful fallback for Task mode)
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ source "${SCRIPT_DIR}/redis-functions.sh"
18
+
15
19
  # Color codes for terminal output
16
20
  COLOR_RESET="\033[0m"
17
21
  COLOR_DEBUG="\033[0;36m" # Cyan
@@ -0,0 +1,124 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Agent Logging Utility - Dual output (terminal + Redis)
4
+ #
5
+ # Usage:
6
+ # source agent-log.sh
7
+ # agent_log "info" "Message here"
8
+ # agent_log "error" "Error occurred"
9
+ #
10
+ # Or as standalone:
11
+ # ./agent-log.sh "info" "Agent started" --agent-id "researcher-1" --task-id "task-123"
12
+
13
+ set -euo pipefail
14
+
15
+ # Color codes for terminal output
16
+ COLOR_RESET="\033[0m"
17
+ COLOR_DEBUG="\033[0;36m" # Cyan
18
+ COLOR_INFO="\033[0;32m" # Green
19
+ COLOR_WARN="\033[0;33m" # Yellow
20
+ COLOR_ERROR="\033[0;31m" # Red
21
+ COLOR_AGENT="\033[0;35m" # Magenta
22
+
23
+ # Get color for log level
24
+ get_log_color() {
25
+ local level="$1"
26
+ case "$level" in
27
+ debug) echo "$COLOR_DEBUG" ;;
28
+ info) echo "$COLOR_INFO" ;;
29
+ warn) echo "$COLOR_WARN" ;;
30
+ error) echo "$COLOR_ERROR" ;;
31
+ *) echo "$COLOR_RESET" ;;
32
+ esac
33
+ }
34
+
35
+ # Main logging function
36
+ # Usage: agent_log <level> <message> [--agent-id <id>] [--task-id <id>] [--no-terminal] [--no-redis]
37
+ agent_log() {
38
+ local LEVEL="${1:-info}"
39
+ local MESSAGE="${2:-}"
40
+ local AGENT_ID="${AGENT_ID:-unknown}"
41
+ local TASK_ID="${TASK_ID:-unknown}"
42
+ local REPOSITORY=$(basename "$(pwd)")
43
+ local NO_TERMINAL=false
44
+ local NO_REDIS=false
45
+
46
+ # Parse optional arguments
47
+ shift 2 || true
48
+ while [[ $# -gt 0 ]]; do
49
+ case "$1" in
50
+ --agent-id)
51
+ AGENT_ID="$2"
52
+ shift 2
53
+ ;;
54
+ --task-id)
55
+ TASK_ID="$2"
56
+ shift 2
57
+ ;;
58
+ --no-terminal)
59
+ NO_TERMINAL=true
60
+ shift
61
+ ;;
62
+ --no-redis)
63
+ NO_REDIS=true
64
+ shift
65
+ ;;
66
+ *)
67
+ shift
68
+ ;;
69
+ esac
70
+ done
71
+
72
+ local TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
73
+ local COLOR=$(get_log_color "$LEVEL")
74
+
75
+ # 1. Terminal output (with colors)
76
+ if [ "$NO_TERMINAL" = false ]; then
77
+ echo -e "${COLOR}[${LEVEL^^}]${COLOR_RESET} ${COLOR_AGENT}[${AGENT_ID}]${COLOR_RESET} ${MESSAGE}"
78
+ fi
79
+
80
+ # 2. File output (no colors, in /tmp)
81
+ local LOG_FILE="/tmp/agent-${AGENT_ID}.log"
82
+ echo "[${TIMESTAMP}] [${LEVEL^^}] [${AGENT_ID}] ${MESSAGE}" >> "$LOG_FILE"
83
+
84
+ # 3. Redis pub/sub (for portal)
85
+ if [ "$NO_REDIS" = false ]; then
86
+ local LOG_PAYLOAD=$(cat <<EOF
87
+ {
88
+ "level": "${LEVEL}",
89
+ "message": "${MESSAGE}",
90
+ "agentId": "${AGENT_ID}",
91
+ "taskId": "${TASK_ID}",
92
+ "repository": "${REPOSITORY}",
93
+ "timestamp": "${TIMESTAMP}"
94
+ }
95
+ EOF
96
+ )
97
+
98
+ # Publish to Redis channel: swarm:<task-id>:logs
99
+ redis-cli publish "swarm:${TASK_ID}:logs" "$LOG_PAYLOAD" > /dev/null 2>&1 || true
100
+
101
+ # Also add to sorted set for persistence (with timestamp as score)
102
+ local SCORE=$(date +%s)
103
+ redis-cli zadd "swarm:${TASK_ID}:logs:history" "$SCORE" "$LOG_PAYLOAD" > /dev/null 2>&1 || true
104
+
105
+ # Set TTL on history (7 days)
106
+ redis-cli expire "swarm:${TASK_ID}:logs:history" 604800 > /dev/null 2>&1 || true
107
+ fi
108
+ }
109
+
110
+ # If script is executed directly (not sourced)
111
+ if [ "${BASH_SOURCE[0]}" = "${0}" ]; then
112
+ if [ $# -lt 2 ]; then
113
+ echo "Usage: $0 <level> <message> [--agent-id <id>] [--task-id <id>]"
114
+ echo ""
115
+ echo "Levels: debug, info, warn, error"
116
+ echo ""
117
+ echo "Examples:"
118
+ echo " $0 info \"Agent started\" --agent-id researcher-1 --task-id task-123"
119
+ echo " $0 error \"Connection failed\" --agent-id reviewer-2 --task-id task-456"
120
+ exit 1
121
+ fi
122
+
123
+ agent_log "$@"
124
+ fi
@@ -1,75 +1,75 @@
1
- #!/bin/bash
2
- # Redis Coordination Skill - Agent Emergency Recovery
3
- # Version: 1.0.0
4
- # Last Updated: 2025-10-19
5
-
6
- # Strict error handling
7
- set -euo pipefail
8
-
9
- # Default values
10
- TASK_ID=""
11
- AGENT_ID=""
12
- RECOVERY_MODE="soft" # Options: soft, hard
13
-
14
- # Parse command-line arguments
15
- while [[ $# -gt 0 ]]; do
16
- case "$1" in
17
- --task-id)
18
- TASK_ID="$2"
19
- shift 2
20
- ;;
21
- --agent-id)
22
- AGENT_ID="$2"
23
- shift 2
24
- ;;
25
- --mode)
26
- RECOVERY_MODE="$2"
27
- shift 2
28
- ;;
29
- *)
30
- echo "Unknown parameter: $1"
31
- exit 1
32
- ;;
33
- esac
34
- done
35
-
36
- # Validate required parameters
37
- if [[ -z "$TASK_ID" || -z "$AGENT_ID" ]]; then
38
- echo "Error: task-id and agent-id are required"
39
- exit 1
40
- fi
41
-
42
- # Log recovery attempt
43
- echo "[$(date -u)] Attempting ${RECOVERY_MODE} recovery for agent: ${AGENT_ID}" >> /var/log/claude-flow/agent-recovery.log
44
-
45
- # Retrieve agent context before recovery
46
- AGENT_CONTEXT=$(redis-cli get "swarm:${TASK_ID}:${AGENT_ID}:context")
47
-
48
- # Recovery actions based on mode
49
- case "$RECOVERY_MODE" in
50
- "soft")
51
- # Soft recovery: Spawn new agent with previous context
52
- npx claude-flow@alpha spawn "$AGENT_ID" \
53
- --task-id "$TASK_ID" \
54
- --recovery-context "$AGENT_CONTEXT"
55
- ;;
56
- "hard")
57
- # Hard recovery: Full agent replacement
58
- npx claude-flow@alpha spawn "$AGENT_ID" \
59
- --task-id "$TASK_ID" \
60
- --mode replace \
61
- --recovery-context "$AGENT_CONTEXT"
62
- ;;
63
- *)
64
- echo "Invalid recovery mode: ${RECOVERY_MODE}"
65
- exit 1
66
- ;;
67
- esac
68
-
69
- # Update active agents set
70
- redis-cli sadd "swarm:${TASK_ID}:active-agents" "$AGENT_ID"
71
-
72
- # Log recovery completion
73
- echo "[$(date -u)] Recovery completed for agent: ${AGENT_ID}" >> /var/log/claude-flow/agent-recovery.log
74
-
1
+ #!/bin/bash
2
+ # Redis Coordination Skill - Agent Emergency Recovery
3
+ # Version: 1.0.0
4
+ # Last Updated: 2025-10-19
5
+
6
+ # Strict error handling
7
+ set -euo pipefail
8
+
9
+ # Default values
10
+ TASK_ID=""
11
+ AGENT_ID=""
12
+ RECOVERY_MODE="soft" # Options: soft, hard
13
+
14
+ # Parse command-line arguments
15
+ while [[ $# -gt 0 ]]; do
16
+ case "$1" in
17
+ --task-id)
18
+ TASK_ID="$2"
19
+ shift 2
20
+ ;;
21
+ --agent-id)
22
+ AGENT_ID="$2"
23
+ shift 2
24
+ ;;
25
+ --mode)
26
+ RECOVERY_MODE="$2"
27
+ shift 2
28
+ ;;
29
+ *)
30
+ echo "Unknown parameter: $1"
31
+ exit 1
32
+ ;;
33
+ esac
34
+ done
35
+
36
+ # Validate required parameters
37
+ if [[ -z "$TASK_ID" || -z "$AGENT_ID" ]]; then
38
+ echo "Error: task-id and agent-id are required"
39
+ exit 1
40
+ fi
41
+
42
+ # Log recovery attempt
43
+ echo "[$(date -u)] Attempting ${RECOVERY_MODE} recovery for agent: ${AGENT_ID}" >> /var/log/claude-flow/agent-recovery.log
44
+
45
+ # Retrieve agent context before recovery
46
+ AGENT_CONTEXT=$(redis-cli get "swarm:${TASK_ID}:${AGENT_ID}:context")
47
+
48
+ # Recovery actions based on mode
49
+ case "$RECOVERY_MODE" in
50
+ "soft")
51
+ # Soft recovery: Spawn new agent with previous context
52
+ cfn-spawn agent "$AGENT_ID" \
53
+ --task-id "$TASK_ID" \
54
+ --recovery-context "$AGENT_CONTEXT"
55
+ ;;
56
+ "hard")
57
+ # Hard recovery: Full agent replacement
58
+ cfn-spawn agent "$AGENT_ID" \
59
+ --task-id "$TASK_ID" \
60
+ --mode replace \
61
+ --recovery-context "$AGENT_CONTEXT"
62
+ ;;
63
+ *)
64
+ echo "Invalid recovery mode: ${RECOVERY_MODE}"
65
+ exit 1
66
+ ;;
67
+ esac
68
+
69
+ # Update active agents set
70
+ redis-cli sadd "swarm:${TASK_ID}:active-agents" "$AGENT_ID"
71
+
72
+ # Log recovery completion
73
+ echo "[$(date -u)] Recovery completed for agent: ${AGENT_ID}" >> /var/log/claude-flow/agent-recovery.log
74
+
75
75
  exit 0
@@ -18,6 +18,36 @@
18
18
 
19
19
  set -euo pipefail
20
20
 
21
+ # Validate required tools are available
22
+ MISSING_TOOLS=()
23
+ for TOOL in redis-cli jq bc; do
24
+ if ! command -v "$TOOL" >/dev/null 2>&1; then
25
+ MISSING_TOOLS+=("$TOOL")
26
+ fi
27
+ done
28
+
29
+ if [ ${#MISSING_TOOLS[@]} -gt 0 ]; then
30
+ echo "❌ ERROR: Required tools not found: ${MISSING_TOOLS[*]}" >&2
31
+ echo " Install missing tools and retry" >&2
32
+ exit 1
33
+ fi
34
+
35
+ # Source centralized Redis functions (provides graceful fallback for Task mode)
36
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
37
+
38
+ # Verify redis-functions.sh exists and is readable before sourcing
39
+ REDIS_FUNCTIONS="${SCRIPT_DIR}/redis-functions.sh"
40
+ if [ ! -r "$REDIS_FUNCTIONS" ]; then
41
+ echo "❌ ERROR: Cannot read redis-functions.sh at: $REDIS_FUNCTIONS" >&2
42
+ exit 1
43
+ fi
44
+
45
+ # Source with explicit error handling
46
+ if ! source "$REDIS_FUNCTIONS"; then
47
+ echo "❌ ERROR: Failed to source redis-functions.sh" >&2
48
+ exit 1
49
+ fi
50
+
21
51
  # Debug mode (set DEBUG=true for verbose output)
22
52
  DEBUG="${DEBUG:-false}"
23
53