claude-flow-novice 2.15.3 → 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 (461) 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-lint-sql-injection.sh +61 -0
  36. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
  37. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
  38. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  39. package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  40. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  41. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  42. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  43. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  44. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  45. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  46. package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  47. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  48. package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
  49. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  50. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +2 -2
  51. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  52. package/.claude/skills/cfn-redis-coordination/get-context.sh +33 -0
  53. package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  54. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  55. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  56. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  57. package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
  58. package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
  59. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  60. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  61. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  62. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  63. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
  64. package/README.md +116 -475
  65. package/claude-assets/agents/cfn-dev-team/README.md +103 -0
  66. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
  67. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
  68. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
  69. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
  70. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
  71. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
  72. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
  73. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
  74. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
  75. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
  76. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
  77. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
  78. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
  79. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
  80. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
  81. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
  82. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
  83. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
  84. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
  85. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
  86. package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
  87. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
  88. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
  89. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
  90. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
  91. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
  92. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
  93. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
  94. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  95. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
  96. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
  97. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
  98. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
  99. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
  100. package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
  101. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
  102. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
  103. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
  104. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
  105. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
  106. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
  107. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  108. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  109. package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  110. package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  111. package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  112. package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  113. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  114. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  115. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  116. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  117. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  118. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  119. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  120. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  121. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  122. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  123. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  124. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  125. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  126. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  127. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  128. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  129. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  130. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  131. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  132. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  133. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  134. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  135. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  136. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  137. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  138. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  139. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  140. package/claude-assets/commands/cfn-loop-cli.md +16 -2
  141. package/claude-assets/commands/switch-api.md +31 -10
  142. package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
  143. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
  144. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
  145. package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
  146. package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
  147. package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +84 -113
  148. package/claude-assets/skills/agent-lifecycle/simple-audit.sh +33 -6
  149. package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
  150. package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
  151. package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
  152. package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
  153. package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
  154. package/claude-assets/skills/bootstrap/database-connection.md +464 -0
  155. package/claude-assets/skills/bootstrap/error-handling.md +580 -0
  156. package/claude-assets/skills/bootstrap/file-operations.md +699 -0
  157. package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
  158. package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
  159. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  160. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
  161. package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
  162. package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
  163. package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  164. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  165. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  166. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
  167. package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
  168. package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
  169. package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
  170. package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
  171. package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
  172. package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
  173. package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
  174. package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
  175. package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
  176. package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
  177. package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
  178. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  179. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  180. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  181. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  182. package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  183. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
  184. package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
  185. package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
  186. package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
  187. package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
  188. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  189. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
  190. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  191. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +2 -2
  192. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  193. package/claude-assets/skills/cfn-redis-coordination/get-context.sh +33 -0
  194. package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  195. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  196. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  197. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  198. package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
  199. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
  200. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  201. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  202. package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
  203. package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
  204. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  205. package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
  206. package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
  207. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
  208. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
  209. package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
  210. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  211. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
  212. package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
  213. package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
  214. package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
  215. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
  216. package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
  217. package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
  218. package/claude-assets/skills/cfn-utilities/test.sh +317 -0
  219. package/claude-assets/skills/integration/agent-handoff.sh +62 -64
  220. package/claude-assets/skills/json-validation/SKILL.md +431 -0
  221. package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
  222. package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
  223. package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
  224. package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
  225. package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
  226. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
  227. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
  228. package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
  229. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
  230. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
  231. package/claude-assets/skills/workflow-codification/test-integration.sh +15 -0
  232. package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
  233. package/claude-assets/skills/workflow-codification/track-cost-savings.sh +55 -14
  234. package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
  235. package/claude-assets/skills/workflow-codification/track-edge-case.sh +27 -60
  236. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  237. package/dist/ace/ace-curator.js +10 -2
  238. package/dist/ace/ace-curator.js.map +1 -1
  239. package/dist/ace/ace-generator.js +4 -0
  240. package/dist/ace/ace-generator.js.map +1 -1
  241. package/dist/ace/ace-reflector.js +1 -1
  242. package/dist/ace/ace-reflector.js.map +1 -1
  243. package/dist/ace/context-injection.js +24 -2
  244. package/dist/ace/context-injection.js.map +1 -1
  245. package/dist/agents/agent-loader.js +146 -165
  246. package/dist/agents/agent-loader.js.map +1 -1
  247. package/dist/agents/task-agent-integration.js +1 -1
  248. package/dist/agents/task-agent-integration.js.map +1 -1
  249. package/dist/api/health-endpoints.js +390 -0
  250. package/dist/api/health-endpoints.js.map +1 -0
  251. package/dist/cli/agent-executor.js +4 -1
  252. package/dist/cli/agent-executor.js.map +1 -1
  253. package/dist/cli/agent-prompt-builder.js +89 -1
  254. package/dist/cli/agent-prompt-builder.js.map +1 -1
  255. package/dist/cli/agent-spawn.js +130 -37
  256. package/dist/cli/agent-spawn.js.map +1 -1
  257. package/dist/cli/skill-cache-validator.js +412 -0
  258. package/dist/cli/skill-cache-validator.js.map +1 -0
  259. package/dist/cli/skill-cli.js +991 -0
  260. package/dist/cli/skill-cli.js.map +1 -0
  261. package/dist/cli/skill-execution-logger.js +284 -0
  262. package/dist/cli/skill-execution-logger.js.map +1 -0
  263. package/dist/cli/skill-loader.js +457 -0
  264. package/dist/cli/skill-loader.js.map +1 -0
  265. package/dist/coordination/event-bus.js +2 -2
  266. package/dist/coordination/event-bus.js.map +1 -1
  267. package/dist/coordination/fleet-manager.js +1 -1
  268. package/dist/coordination/fleet-manager.js.map +1 -1
  269. package/dist/coordination/index.js +23 -9
  270. package/dist/coordination/index.js.map +1 -1
  271. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  272. package/dist/db/migration-manager.js +483 -0
  273. package/dist/db/migration-manager.js.map +1 -0
  274. package/dist/db/skills-query.js +535 -0
  275. package/dist/db/skills-query.js.map +1 -0
  276. package/dist/integration/DatabaseHandoff.js +1 -1
  277. package/dist/integration/DatabaseHandoff.js.map +1 -1
  278. package/dist/jobs/edge-case-analyzer.js +367 -0
  279. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  280. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  281. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  282. package/dist/lib/agent-output-parser.js.map +1 -1
  283. package/dist/lib/agent-output-validator.js.map +1 -1
  284. package/dist/lib/agent-workspace.js +281 -0
  285. package/dist/lib/agent-workspace.js.map +1 -0
  286. package/dist/lib/atomic-file-writer.js +377 -0
  287. package/dist/lib/atomic-file-writer.js.map +1 -0
  288. package/dist/lib/backup-manager.js +779 -0
  289. package/dist/lib/backup-manager.js.map +1 -0
  290. package/dist/lib/checkpoint-manager.js +837 -0
  291. package/dist/lib/checkpoint-manager.js.map +1 -0
  292. package/dist/lib/circuit-breaker.js +340 -0
  293. package/dist/lib/circuit-breaker.js.map +1 -0
  294. package/dist/lib/completion-signal-handler.js +243 -0
  295. package/dist/lib/completion-signal-handler.js.map +1 -0
  296. package/dist/lib/config-manager.js +312 -0
  297. package/dist/lib/config-manager.js.map +1 -0
  298. package/dist/lib/config-migrator.js +386 -0
  299. package/dist/lib/config-migrator.js.map +1 -0
  300. package/dist/lib/config-validator.js.map +1 -1
  301. package/dist/lib/correlation-cache.js +311 -0
  302. package/dist/lib/correlation-cache.js.map +1 -0
  303. package/dist/lib/correlation.js +263 -0
  304. package/dist/lib/correlation.js.map +1 -0
  305. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  306. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  307. package/dist/lib/database-service/correlation.js +329 -0
  308. package/dist/lib/database-service/correlation.js.map +1 -0
  309. package/dist/lib/database-service/errors.js +120 -0
  310. package/dist/lib/database-service/errors.js.map +1 -0
  311. package/dist/lib/database-service/index.js +168 -0
  312. package/dist/lib/database-service/index.js.map +1 -0
  313. package/dist/lib/database-service/postgres-adapter.js +526 -0
  314. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  315. package/dist/lib/database-service/redis-adapter.js +360 -0
  316. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  317. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  318. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  319. package/dist/lib/database-service/transaction-manager.js +773 -0
  320. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  321. package/dist/lib/database-service/types.js +23 -0
  322. package/dist/lib/database-service/types.js.map +1 -0
  323. package/dist/lib/deadlock-resolver.js +292 -0
  324. package/dist/lib/deadlock-resolver.js.map +1 -0
  325. package/dist/lib/distributed-lock.js +451 -0
  326. package/dist/lib/distributed-lock.js.map +1 -0
  327. package/dist/lib/edge-case-deduplicator.js +227 -0
  328. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  329. package/dist/lib/encryption-manager.js +322 -0
  330. package/dist/lib/encryption-manager.js.map +1 -0
  331. package/dist/lib/error-aggregator.js +234 -0
  332. package/dist/lib/error-aggregator.js.map +1 -0
  333. package/dist/lib/errors.js +287 -0
  334. package/dist/lib/errors.js.map +1 -0
  335. package/dist/lib/file-lock-manager.js +578 -0
  336. package/dist/lib/file-lock-manager.js.map +1 -0
  337. package/dist/lib/file-operations.js +367 -0
  338. package/dist/lib/file-operations.js.map +1 -0
  339. package/dist/lib/idempotent-write.js +237 -0
  340. package/dist/lib/idempotent-write.js.map +1 -0
  341. package/dist/lib/integration-schema-validator.js +522 -0
  342. package/dist/lib/integration-schema-validator.js.map +1 -0
  343. package/dist/lib/lock-health-monitor.js +298 -0
  344. package/dist/lib/lock-health-monitor.js.map +1 -0
  345. package/dist/lib/log-shipper.js +422 -0
  346. package/dist/lib/log-shipper.js.map +1 -0
  347. package/dist/lib/logging.js +146 -0
  348. package/dist/lib/logging.js.map +1 -0
  349. package/dist/lib/message-deduplicator.js +439 -0
  350. package/dist/lib/message-deduplicator.js.map +1 -0
  351. package/dist/lib/multi-system-query.js +604 -0
  352. package/dist/lib/multi-system-query.js.map +1 -0
  353. package/dist/lib/orphan-detector.js +332 -0
  354. package/dist/lib/orphan-detector.js.map +1 -0
  355. package/dist/lib/password-generator.js +166 -0
  356. package/dist/lib/password-generator.js.map +1 -0
  357. package/dist/lib/path-validator.js +429 -0
  358. package/dist/lib/path-validator.js.map +1 -0
  359. package/dist/lib/query-translator.js +905 -0
  360. package/dist/lib/query-translator.js.map +1 -0
  361. package/dist/lib/queue-recovery.js +469 -0
  362. package/dist/lib/queue-recovery.js.map +1 -0
  363. package/dist/lib/redis-queue-manager.js +512 -0
  364. package/dist/lib/redis-queue-manager.js.map +1 -0
  365. package/dist/lib/reflection-archiver.js +272 -0
  366. package/dist/lib/reflection-archiver.js.map +1 -0
  367. package/dist/lib/retry-manager.js +453 -0
  368. package/dist/lib/retry-manager.js.map +1 -0
  369. package/dist/lib/retry.js +262 -0
  370. package/dist/lib/retry.js.map +1 -0
  371. package/dist/lib/schema-transform.js +695 -0
  372. package/dist/lib/schema-transform.js.map +1 -0
  373. package/dist/lib/schema-validator.js +491 -0
  374. package/dist/lib/schema-validator.js.map +1 -0
  375. package/dist/lib/skill-cache.js +297 -0
  376. package/dist/lib/skill-cache.js.map +1 -0
  377. package/dist/lib/skill-content-manager.js +337 -0
  378. package/dist/lib/skill-content-manager.js.map +1 -0
  379. package/dist/lib/skill-frontmatter-parser.js +237 -0
  380. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  381. package/dist/lib/skill-git-integration.js +275 -0
  382. package/dist/lib/skill-git-integration.js.map +1 -0
  383. package/dist/lib/skill-markdown-validator.js +396 -0
  384. package/dist/lib/skill-markdown-validator.js.map +1 -0
  385. package/dist/lib/skill-output-parser.js +312 -0
  386. package/dist/lib/skill-output-parser.js.map +1 -0
  387. package/dist/lib/unified-query-api.js +467 -0
  388. package/dist/lib/unified-query-api.js.map +1 -0
  389. package/dist/middleware/auth-middleware.js +350 -0
  390. package/dist/middleware/auth-middleware.js.map +1 -0
  391. package/dist/middleware/schema-validation.js +347 -0
  392. package/dist/middleware/schema-validation.js.map +1 -0
  393. package/dist/providers/anthropic-provider.js +1 -1
  394. package/dist/providers/anthropic-provider.js.map +1 -1
  395. package/dist/providers/provider-factory.js +2 -2
  396. package/dist/providers/provider-factory.js.map +1 -1
  397. package/dist/services/edge-case-analyzer.js +321 -0
  398. package/dist/services/edge-case-analyzer.js.map +1 -0
  399. package/dist/services/edge-case-deduplicator.js +266 -0
  400. package/dist/services/edge-case-deduplicator.js.map +1 -0
  401. package/dist/services/edge-case-detector.js +337 -0
  402. package/dist/services/edge-case-detector.js.map +1 -0
  403. package/dist/services/edge-case-tracker.js +547 -0
  404. package/dist/services/edge-case-tracker.js.map +1 -0
  405. package/dist/services/health-check-system.js +586 -0
  406. package/dist/services/health-check-system.js.map +1 -0
  407. package/dist/services/metrics-logger.js +412 -0
  408. package/dist/services/metrics-logger.js.map +1 -0
  409. package/dist/services/patch-generator.js +378 -0
  410. package/dist/services/patch-generator.js.map +1 -0
  411. package/dist/services/patch-validator.js +337 -0
  412. package/dist/services/patch-validator.js.map +1 -0
  413. package/dist/services/performance-monitor.js +811 -0
  414. package/dist/services/performance-monitor.js.map +1 -0
  415. package/dist/services/promotion-pipeline.js +918 -0
  416. package/dist/services/promotion-pipeline.js.map +1 -0
  417. package/dist/services/promotion-validator.js +394 -0
  418. package/dist/services/promotion-validator.js.map +1 -0
  419. package/dist/services/reflection-logger.js +388 -0
  420. package/dist/services/reflection-logger.js.map +1 -0
  421. package/dist/services/skill-deployment.js +472 -0
  422. package/dist/services/skill-deployment.js.map +1 -0
  423. package/dist/services/skill-loader.js +427 -0
  424. package/dist/services/skill-loader.js.map +1 -0
  425. package/dist/services/skill-promotion.js +372 -0
  426. package/dist/services/skill-promotion.js.map +1 -0
  427. package/dist/services/skill-validator.js +454 -0
  428. package/dist/services/skill-validator.js.map +1 -0
  429. package/dist/services/skill-versioning.js +244 -0
  430. package/dist/services/skill-versioning.js.map +1 -0
  431. package/dist/services/workspace-supervisor.js +597 -0
  432. package/dist/services/workspace-supervisor.js.map +1 -0
  433. package/dist/types/edge-case.js +45 -0
  434. package/dist/types/edge-case.js.map +1 -0
  435. package/package.json +201 -177
  436. package/readme/README.md +19 -4
  437. package/scripts/backup-cleanup.sh +627 -0
  438. package/scripts/cleanup-workspaces.sh +412 -0
  439. package/scripts/cleanup-yaml-configs.sh +141 -0
  440. package/scripts/deploy-approved-skills.sh +263 -0
  441. package/scripts/health-check.sh +447 -0
  442. package/scripts/log-aggregator.sh +554 -0
  443. package/scripts/log-monitor.sh +629 -0
  444. package/scripts/manage-agent-workspaces.sh +434 -0
  445. package/scripts/migrate-schema.sh +533 -0
  446. package/scripts/promote-staged-skills.sh +423 -0
  447. package/scripts/verify-no-secrets.sh +88 -35
  448. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  449. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  450. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  451. package/.claude/skills/agent-lifecycle/SKILL.md +0 -60
  452. package/.claude/skills/agent-lifecycle/execute-lifecycle-hook.sh +0 -573
  453. package/.claude/skills/agent-lifecycle/simple-audit.sh +0 -31
  454. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  455. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  456. package/README.md.backup_before_replace +0 -781
  457. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  458. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  459. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  460. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  461. 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`.
@@ -0,0 +1,61 @@
1
+ #!/bin/bash
2
+ # SQL Injection Linting Script
3
+ # Detects vulnerable SQL query patterns in shell scripts
4
+ # Part of SEC-003 SQL injection prevention
5
+
6
+ set -euo pipefail
7
+
8
+ # Check if file provided
9
+ if [[ $# -eq 0 ]]; then
10
+ echo "Usage: $0 <file_path>" >&2
11
+ exit 1
12
+ fi
13
+
14
+ FILE_PATH="$1"
15
+
16
+ if [[ ! -f "$FILE_PATH" ]]; then
17
+ echo "ERROR: File not found: $FILE_PATH" >&2
18
+ exit 1
19
+ fi
20
+
21
+ # Skip non-shell scripts
22
+ if [[ ! "$FILE_PATH" =~ \.sh$ ]]; then
23
+ exit 0
24
+ fi
25
+
26
+ # Detect vulnerable patterns
27
+ VULNERABLE_PATTERNS=(
28
+ 'sqlite3.*["\047].*\$[A-Za-z_]' # Direct variable interpolation in SQL strings
29
+ 'sqlite3.*".*WHERE.*=.*\$' # WHERE clauses with direct variables
30
+ 'sqlite3.*".*VALUES.*\$' # INSERT VALUES with direct variables
31
+ 'sqlite3.*".*SET.*\$' # UPDATE SET with direct variables
32
+ )
33
+
34
+ FOUND_ISSUES=0
35
+
36
+ for pattern in "${VULNERABLE_PATTERNS[@]}"; do
37
+ # Exclude safe patterns:
38
+ # - sqlite-params.sh library itself
39
+ # - Comments (lines starting with #)
40
+ # - Heredocs (<<)
41
+ # - Already using sqlite_select/sqlite_insert/sqlite_exec
42
+ matches=$(grep -n -E "$pattern" "$FILE_PATH" | \
43
+ grep -v "sqlite_select\|sqlite_insert\|sqlite_exec" | \
44
+ grep -v "^[[:space:]]*#" | \
45
+ grep -v "<<" || true)
46
+
47
+ if [[ -n "$matches" ]]; then
48
+ echo "VULNERABILITY DETECTED in $FILE_PATH:" >&2
49
+ echo "$matches" >&2
50
+ FOUND_ISSUES=1
51
+ fi
52
+ done
53
+
54
+ if [[ $FOUND_ISSUES -eq 1 ]]; then
55
+ echo "" >&2
56
+ echo "RECOMMENDATION: Use parameterized queries from .claude/skills/bootstrap/sqlite-params.sh" >&2
57
+ echo "Example: sqlite_select \"\$DB\" \"SELECT * FROM table WHERE id = ?1\" \"\$user_input\"" >&2
58
+ exit 1
59
+ fi
60
+
61
+ exit 0