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
@@ -1,244 +1,244 @@
1
- #!/usr/bin/env bash
2
-
3
- ##############################################################################
4
- # CFN Environment Sanitization
5
- # Part of ANTI-023 Memory Leak Protection System
6
- #
7
- # Automatically sanitizes environment variables and prevents memory leaks
8
- # in CFN Loop orchestration workflows.
9
- #
10
- # Usage:
11
- # source ./sanitize-environment.sh [--strict]
12
- # ./sanitize-environment.sh --check
13
- ##############################################################################
14
-
15
- set -euo pipefail
16
-
17
- # Configuration
18
- STRICT_MODE=${1:-"false"}
19
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
20
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
21
-
22
- # Environment sanitization rules
23
- declare -A SANITIZATION_RULES=(
24
- # Clear potentially problematic variables
25
- ["NODE_OPTIONS"]="sanitize"
26
- ["UV_THREADPOOL_SIZE"]="sanitize"
27
- ["REDIS_URL"]="sanitize_if_sensitive"
28
-
29
- # Preserve critical CFN variables
30
- ["CFN_MODE"]="preserve"
31
- ["TASK_ID"]="preserve"
32
- ["AGENT_ID"]="preserve"
33
- ["LOOP3_AGENTS"]="preserve"
34
- ["LOOP2_AGENTS"]="preserve"
35
- ["PRODUCT_OWNER"]="preserve"
36
-
37
- # Memory and process limits
38
- ["NODE_HEAP_LIMIT"]="enforce_2gb"
39
- ["MAX_AGENTS"]="enforce_10"
40
- ["CFN_TIMEOUT"]="enforce_600"
41
- )
42
-
43
- # Sensitive patterns to redact
44
- SENSITIVE_PATTERNS=(
45
- "password="
46
- "secret="
47
- "token="
48
- "key="
49
- "auth="
50
- "credential="
51
- )
52
-
53
- # Color coding for output
54
- readonly RED='\033[0;31m'
55
- readonly GREEN='\033[0;32m'
56
- readonly YELLOW='\033[1;33m'
57
- readonly BLUE='\033[0;34m'
58
- readonly NC='\033[0m' # No Color
59
-
60
- # Logging functions
61
- log_info() {
62
- echo -e "${BLUE}[SANITIZE]${NC} $1" >&2
63
- }
64
-
65
- log_success() {
66
- echo -e "${GREEN}[SANITIZE]${NC} $1" >&2
67
- }
68
-
69
- log_warning() {
70
- echo -e "${YELLOW}[SANITIZE]${NC} $1" >&2
71
- }
72
-
73
- log_error() {
74
- echo -e "${RED}[SANITIZE]${NC} $1" >&2
75
- }
76
-
77
- # Check if value contains sensitive information
78
- is_sensitive() {
79
- local value="$1"
80
- for pattern in "${SENSITIVE_PATTERNS[@]}"; do
81
- if [[ "$value" =~ $pattern ]]; then
82
- return 0
83
- fi
84
- done
85
- return 1
86
- }
87
-
88
- # Sanitize environment variable
89
- sanitize_var() {
90
- local var_name="$1"
91
- local var_value="${!var_name:-}"
92
- local rule="${SANITIZATION_RULES[$var_name]:-"preserve"}"
93
-
94
- case "$rule" in
95
- "sanitize")
96
- if [[ -n "$var_value" ]]; then
97
- log_info "Sanitizing $var_name"
98
- unset "$var_name"
99
- fi
100
- ;;
101
- "sanitize_if_sensitive")
102
- if is_sensitive "$var_value"; then
103
- log_warning "Redacting sensitive $var_name"
104
- unset "$var_name"
105
- fi
106
- ;;
107
- "preserve")
108
- # Keep the variable as-is
109
- ;;
110
- "enforce_2gb")
111
- export "$var_name"="${var_value:-2048}"
112
- log_info "Enforcing 2GB heap limit: $var_name=${!var_name}"
113
- ;;
114
- "enforce_10")
115
- export "$var_name"="${var_value:-10}"
116
- log_info "Enforcing max 10 agents: $var_name=${!var_value}"
117
- ;;
118
- "enforce_600")
119
- export "$var_name"="${var_value:-600}"
120
- log_info "Enforcing 600s timeout: $var_name=${!var_value}"
121
- ;;
122
- esac
123
- }
124
-
125
- # Apply environment sanitization
126
- sanitize_environment() {
127
- log_info "Starting environment sanitization..."
128
-
129
- # Count changes for reporting
130
- local changes=0
131
-
132
- for var_name in "${!SANITIZATION_RULES[@]}"; do
133
- local old_value="${!var_name:-}"
134
- sanitize_var "$var_name"
135
- local new_value="${!var_name:-}"
136
-
137
- if [[ "$old_value" != "$new_value" ]]; then
138
- ((changes++))
139
- fi
140
- done
141
-
142
- # Enforce memory limits for Node.js processes
143
- export NODE_OPTIONS="--max-old-space-size=2048 --max-new-space-size=512 ${NODE_OPTIONS:-}"
144
-
145
- # Set CFN-specific limits
146
- export CFN_MAX_AGENTS="${CFN_MAX_AGENTS:-10}"
147
- export CFN_TIMEOUT="${CFN_TIMEOUT:-600}"
148
- export CFN_MEMORY_LIMIT="${CFN_MEMORY_LIMIT:-2GB}"
149
-
150
- log_success "Environment sanitization complete ($changes changes applied)"
151
-
152
- if [[ "$STRICT_MODE" == "true" ]]; then
153
- log_info "Strict mode enabled - additional validations applied"
154
-
155
- # Validate critical variables are set in CLI mode
156
- if [[ -n "${TASK_ID:-}" ]]; then
157
- for required_var in AGENT_ID LOOP3_AGENTS; do
158
- if [[ -z "${!required_var:-}" ]]; then
159
- log_error "Required variable $required_var not set in CLI mode"
160
- return 1
161
- fi
162
- done
163
- fi
164
- fi
165
-
166
- return 0
167
- }
168
-
169
- # Check current environment state
170
- check_environment() {
171
- log_info "Checking environment state..."
172
-
173
- local issues=0
174
-
175
- # Check for sensitive data exposure
176
- for var_name in $(env | grep -E "(password|secret|token|key|auth|credential)" | cut -d= -f1); do
177
- log_warning "Potential sensitive data in $var_name"
178
- ((issues++))
179
- done
180
-
181
- # Check Node.js memory settings
182
- if [[ -n "${NODE_OPTIONS:-}" && ! "$NODE_OPTIONS" =~ "max-old-space-size" ]]; then
183
- log_warning "NODE_OPTIONS missing heap limit"
184
- ((issues++))
185
- fi
186
-
187
- # Check CFN configuration
188
- if [[ -z "${CFN_MAX_AGENTS:-}" ]]; then
189
- log_warning "CFN_MAX_AGENTS not set"
190
- ((issues++))
191
- fi
192
-
193
- if [[ $issues -eq 0 ]]; then
194
- log_success "Environment check passed"
195
- return 0
196
- else
197
- log_error "Environment check failed ($issues issues found)"
198
- return 1
199
- fi
200
- }
201
-
202
- # Main execution
203
- main() {
204
- local action="${1:-"sanitize"}"
205
-
206
- case "$action" in
207
- "sanitize")
208
- sanitize_environment
209
- ;;
210
- "check")
211
- check_environment
212
- ;;
213
- "--strict")
214
- STRICT_MODE="true"
215
- sanitize_environment
216
- ;;
217
- "--help"|"-h")
218
- cat << EOF
219
- CFN Environment Sanitization Script
220
-
221
- Usage:
222
- $0 # Apply standard sanitization
223
- $0 --strict # Apply strict sanitization
224
- $0 check # Check environment state
225
- $0 --help # Show this help
226
-
227
- This script sanitizes the environment to prevent memory leaks and
228
- ensure secure CFN Loop execution.
229
- EOF
230
- ;;
231
- *)
232
- log_error "Unknown action: $action"
233
- return 1
234
- ;;
235
- esac
236
- }
237
-
238
- # Execute main function if run directly
239
- if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
240
- main "$@"
241
- else
242
- # When sourced, automatically apply sanitization
243
- sanitize_environment
1
+ #!/usr/bin/env bash
2
+
3
+ ##############################################################################
4
+ # CFN Environment Sanitization
5
+ # Part of ANTI-023 Memory Leak Protection System
6
+ #
7
+ # Automatically sanitizes environment variables and prevents memory leaks
8
+ # in CFN Loop orchestration workflows.
9
+ #
10
+ # Usage:
11
+ # source ./sanitize-environment.sh [--strict]
12
+ # ./sanitize-environment.sh --check
13
+ ##############################################################################
14
+
15
+ set -euo pipefail
16
+
17
+ # Configuration
18
+ STRICT_MODE=${1:-"false"}
19
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
20
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
21
+
22
+ # Environment sanitization rules
23
+ declare -A SANITIZATION_RULES=(
24
+ # Clear potentially problematic variables
25
+ ["NODE_OPTIONS"]="sanitize"
26
+ ["UV_THREADPOOL_SIZE"]="sanitize"
27
+ ["REDIS_URL"]="sanitize_if_sensitive"
28
+
29
+ # Preserve critical CFN variables
30
+ ["CFN_MODE"]="preserve"
31
+ ["TASK_ID"]="preserve"
32
+ ["AGENT_ID"]="preserve"
33
+ ["LOOP3_AGENTS"]="preserve"
34
+ ["LOOP2_AGENTS"]="preserve"
35
+ ["PRODUCT_OWNER"]="preserve"
36
+
37
+ # Memory and process limits
38
+ ["NODE_HEAP_LIMIT"]="enforce_2gb"
39
+ ["MAX_AGENTS"]="enforce_10"
40
+ ["CFN_TIMEOUT"]="enforce_600"
41
+ )
42
+
43
+ # Sensitive patterns to redact
44
+ SENSITIVE_PATTERNS=(
45
+ "password="
46
+ "secret="
47
+ "token="
48
+ "key="
49
+ "auth="
50
+ "credential="
51
+ )
52
+
53
+ # Color coding for output
54
+ readonly RED='\033[0;31m'
55
+ readonly GREEN='\033[0;32m'
56
+ readonly YELLOW='\033[1;33m'
57
+ readonly BLUE='\033[0;34m'
58
+ readonly NC='\033[0m' # No Color
59
+
60
+ # Logging functions
61
+ log_info() {
62
+ echo -e "${BLUE}[SANITIZE]${NC} $1" >&2
63
+ }
64
+
65
+ log_success() {
66
+ echo -e "${GREEN}[SANITIZE]${NC} $1" >&2
67
+ }
68
+
69
+ log_warning() {
70
+ echo -e "${YELLOW}[SANITIZE]${NC} $1" >&2
71
+ }
72
+
73
+ log_error() {
74
+ echo -e "${RED}[SANITIZE]${NC} $1" >&2
75
+ }
76
+
77
+ # Check if value contains sensitive information
78
+ is_sensitive() {
79
+ local value="$1"
80
+ for pattern in "${SENSITIVE_PATTERNS[@]}"; do
81
+ if [[ "$value" =~ $pattern ]]; then
82
+ return 0
83
+ fi
84
+ done
85
+ return 1
86
+ }
87
+
88
+ # Sanitize environment variable
89
+ sanitize_var() {
90
+ local var_name="$1"
91
+ local var_value="${!var_name:-}"
92
+ local rule="${SANITIZATION_RULES[$var_name]:-"preserve"}"
93
+
94
+ case "$rule" in
95
+ "sanitize")
96
+ if [[ -n "$var_value" ]]; then
97
+ log_info "Sanitizing $var_name"
98
+ unset "$var_name"
99
+ fi
100
+ ;;
101
+ "sanitize_if_sensitive")
102
+ if is_sensitive "$var_value"; then
103
+ log_warning "Redacting sensitive $var_name"
104
+ unset "$var_name"
105
+ fi
106
+ ;;
107
+ "preserve")
108
+ # Keep the variable as-is
109
+ ;;
110
+ "enforce_2gb")
111
+ export "$var_name"="${var_value:-2048}"
112
+ log_info "Enforcing 2GB heap limit: $var_name=${!var_name}"
113
+ ;;
114
+ "enforce_10")
115
+ export "$var_name"="${var_value:-10}"
116
+ log_info "Enforcing max 10 agents: $var_name=${!var_value}"
117
+ ;;
118
+ "enforce_600")
119
+ export "$var_name"="${var_value:-600}"
120
+ log_info "Enforcing 600s timeout: $var_name=${!var_value}"
121
+ ;;
122
+ esac
123
+ }
124
+
125
+ # Apply environment sanitization
126
+ sanitize_environment() {
127
+ log_info "Starting environment sanitization..."
128
+
129
+ # Count changes for reporting
130
+ local changes=0
131
+
132
+ for var_name in "${!SANITIZATION_RULES[@]}"; do
133
+ local old_value="${!var_name:-}"
134
+ sanitize_var "$var_name"
135
+ local new_value="${!var_name:-}"
136
+
137
+ if [[ "$old_value" != "$new_value" ]]; then
138
+ ((changes++))
139
+ fi
140
+ done
141
+
142
+ # Enforce memory limits for Node.js processes
143
+ export NODE_OPTIONS="--max-old-space-size=2048 --max-new-space-size=512 ${NODE_OPTIONS:-}"
144
+
145
+ # Set CFN-specific limits
146
+ export CFN_MAX_AGENTS="${CFN_MAX_AGENTS:-10}"
147
+ export CFN_TIMEOUT="${CFN_TIMEOUT:-600}"
148
+ export CFN_MEMORY_LIMIT="${CFN_MEMORY_LIMIT:-2GB}"
149
+
150
+ log_success "Environment sanitization complete ($changes changes applied)"
151
+
152
+ if [[ "$STRICT_MODE" == "true" ]]; then
153
+ log_info "Strict mode enabled - additional validations applied"
154
+
155
+ # Validate critical variables are set in CLI mode
156
+ if [[ -n "${TASK_ID:-}" ]]; then
157
+ for required_var in AGENT_ID LOOP3_AGENTS; do
158
+ if [[ -z "${!required_var:-}" ]]; then
159
+ log_error "Required variable $required_var not set in CLI mode"
160
+ return 1
161
+ fi
162
+ done
163
+ fi
164
+ fi
165
+
166
+ return 0
167
+ }
168
+
169
+ # Check current environment state
170
+ check_environment() {
171
+ log_info "Checking environment state..."
172
+
173
+ local issues=0
174
+
175
+ # Check for sensitive data exposure
176
+ for var_name in $(env | grep -E "(password|secret|token|key|auth|credential)" | cut -d= -f1); do
177
+ log_warning "Potential sensitive data in $var_name"
178
+ ((issues++))
179
+ done
180
+
181
+ # Check Node.js memory settings
182
+ if [[ -n "${NODE_OPTIONS:-}" && ! "$NODE_OPTIONS" =~ "max-old-space-size" ]]; then
183
+ log_warning "NODE_OPTIONS missing heap limit"
184
+ ((issues++))
185
+ fi
186
+
187
+ # Check CFN configuration
188
+ if [[ -z "${CFN_MAX_AGENTS:-}" ]]; then
189
+ log_warning "CFN_MAX_AGENTS not set"
190
+ ((issues++))
191
+ fi
192
+
193
+ if [[ $issues -eq 0 ]]; then
194
+ log_success "Environment check passed"
195
+ return 0
196
+ else
197
+ log_error "Environment check failed ($issues issues found)"
198
+ return 1
199
+ fi
200
+ }
201
+
202
+ # Main execution
203
+ main() {
204
+ local action="${1:-"sanitize"}"
205
+
206
+ case "$action" in
207
+ "sanitize")
208
+ sanitize_environment
209
+ ;;
210
+ "check")
211
+ check_environment
212
+ ;;
213
+ "--strict")
214
+ STRICT_MODE="true"
215
+ sanitize_environment
216
+ ;;
217
+ "--help"|"-h")
218
+ cat << EOF
219
+ CFN Environment Sanitization Script
220
+
221
+ Usage:
222
+ $0 # Apply standard sanitization
223
+ $0 --strict # Apply strict sanitization
224
+ $0 check # Check environment state
225
+ $0 --help # Show this help
226
+
227
+ This script sanitizes the environment to prevent memory leaks and
228
+ ensure secure CFN Loop execution.
229
+ EOF
230
+ ;;
231
+ *)
232
+ log_error "Unknown action: $action"
233
+ return 1
234
+ ;;
235
+ esac
236
+ }
237
+
238
+ # Execute main function if run directly
239
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
240
+ main "$@"
241
+ else
242
+ # When sourced, automatically apply sanitization
243
+ sanitize_environment
244
244
  fi
@@ -26,6 +26,20 @@ MAX_ITERATIONS: Parse from --max-iterations flag or default to 10
26
26
  TASK_ID="cfn-cli-$(date +%s%N | tail -c 7)-${RANDOM}"
27
27
  ```
28
28
 
29
+ **Step 2.5: Verify Redis Availability (REQUIRED for CLI mode coordination)**
30
+ ```bash
31
+ # Verify Redis availability (REQUIRED for CLI mode coordination)
32
+ if ! redis-cli PING >/dev/null 2>&1; then
33
+ echo "❌ ERROR: Redis not available"
34
+ echo " CLI mode requires Redis for coordination"
35
+ echo " Start Redis: redis-server"
36
+ echo " Or use Task mode: /cfn-loop-task"
37
+ exit 1
38
+ fi
39
+
40
+ echo "✅ Redis available"
41
+ ```
42
+
29
43
  **Step 3: Spawn Coordinator (REQUIRED - Execute this command now via Bash tool)**
30
44
  ```bash
31
45
  npx claude-flow-novice agent cfn-v3-coordinator \
@@ -94,8 +108,8 @@ After spawning coordinator, tell user:
94
108
  | Mode | Gate | Consensus | Iterations | Validators | Use Case |
95
109
  |------|------|-----------|------------|------------|----------|
96
110
  | MVP | ≥0.70 | ≥0.80 | 5 | 2 | Prototypes, proof-of-concept |
97
- | Standard | ≥0.75 | ≥0.90 | 10 | 3-4 | Production features |
98
- | Enterprise | ≥0.85 | ≥0.95 | 15 | 5 | Security, compliance, critical systems |
111
+ | Standard | ≥0.95 | ≥0.90 | 10 | 3-4 | Production features |
112
+ | Enterprise | ≥0.98 | ≥0.95 | 15 | 5 | Security, compliance, critical systems |
99
113
 
100
114
  ## How CLI Mode Works
101
115
 
@@ -61,19 +61,40 @@ CLI spawn → Workers (custom routing when enabled, see agent profiles)
61
61
 
62
62
  **Execute:**
63
63
  ```bash
64
- # Find project root (traverse up looking for scripts/switch-api.sh)
65
- SCRIPT_DIR="$PWD"
66
- while [ "$SCRIPT_DIR" != "/" ]; do
67
- if [ -f "$SCRIPT_DIR/scripts/switch-api.sh" ]; then
68
- break
69
- fi
70
- SCRIPT_DIR="$(dirname "$SCRIPT_DIR")"
71
- done
72
- if [ ! -f "$SCRIPT_DIR/scripts/switch-api.sh" ]; then
64
+ # Find script in project root or node_modules
65
+ SCRIPT_PATH=""
66
+ if [ -f "$PWD/scripts/switch-api.sh" ]; then
67
+ SCRIPT_PATH="$PWD/scripts/switch-api.sh"
68
+ else
69
+ # Check parent directories (for nested project structures)
70
+ SEARCH_DIR="$PWD"
71
+ while [ "$SEARCH_DIR" != "/" ]; do
72
+ if [ -f "$SEARCH_DIR/scripts/switch-api.sh" ]; then
73
+ SCRIPT_PATH="$SEARCH_DIR/scripts/switch-api.sh"
74
+ break
75
+ fi
76
+ SEARCH_DIR="$(dirname "$SEARCH_DIR")"
77
+ done
78
+ fi
79
+
80
+ # Fallback to node_modules (for npm-installed package)
81
+ if [ -z "$SCRIPT_PATH" ]; then
82
+ SEARCH_DIR="$PWD"
83
+ while [ "$SEARCH_DIR" != "/" ]; do
84
+ if [ -f "$SEARCH_DIR/node_modules/claude-flow-novice/scripts/switch-api.sh" ]; then
85
+ SCRIPT_PATH="$SEARCH_DIR/node_modules/claude-flow-novice/scripts/switch-api.sh"
86
+ break
87
+ fi
88
+ SEARCH_DIR="$(dirname "$SEARCH_DIR")"
89
+ done
90
+ fi
91
+
92
+ if [ -z "$SCRIPT_PATH" ]; then
73
93
  echo "Error: switch-api.sh not found. Please ensure you're in a project with CFN installed."
74
94
  exit 1
75
95
  fi
76
- bash "$SCRIPT_DIR/scripts/switch-api.sh" {{args}}
96
+
97
+ bash "$SCRIPT_PATH" {{args}}
77
98
  ```
78
99
 
79
100
  **Note:** Script automatically detects and uses `.claude/settings.local.json` if it exists, otherwise uses `.claude/settings.json`.