claude-flow-novice 2.15.3 → 2.15.5

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 (473) 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 +29 -6
  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 +238 -29
  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 +6 -2
  55. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  56. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +34 -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 +29 -6
  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 +238 -29
  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 +6 -2
  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 +34 -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/task-agent-integration.js +1 -1
  246. package/dist/agents/task-agent-integration.js.map +1 -1
  247. package/dist/api/health-endpoints.js +390 -0
  248. package/dist/api/health-endpoints.js.map +1 -0
  249. package/dist/cli/agent-executor.js +4 -1
  250. package/dist/cli/agent-executor.js.map +1 -1
  251. package/dist/cli/agent-prompt-builder.js +89 -1
  252. package/dist/cli/agent-prompt-builder.js.map +1 -1
  253. package/dist/cli/agent-spawn.js +130 -37
  254. package/dist/cli/agent-spawn.js.map +1 -1
  255. package/dist/cli/config-manager.js +109 -91
  256. package/dist/cli/config-manager.js.map +1 -1
  257. package/dist/cli/conversation-fork-cleanup.js +201 -0
  258. package/dist/cli/conversation-fork-cleanup.js.map +1 -0
  259. package/dist/cli/conversation-fork.js +16 -3
  260. package/dist/cli/conversation-fork.js.map +1 -1
  261. package/dist/cli/skill-cache-validator.js +412 -0
  262. package/dist/cli/skill-cache-validator.js.map +1 -0
  263. package/dist/cli/skill-cli.js +991 -0
  264. package/dist/cli/skill-cli.js.map +1 -0
  265. package/dist/cli/skill-execution-logger.js +284 -0
  266. package/dist/cli/skill-execution-logger.js.map +1 -0
  267. package/dist/cli/skill-loader.js +457 -0
  268. package/dist/cli/skill-loader.js.map +1 -0
  269. package/dist/coordination/event-bus.js +2 -2
  270. package/dist/coordination/event-bus.js.map +1 -1
  271. package/dist/coordination/fleet-manager.js +1 -1
  272. package/dist/coordination/fleet-manager.js.map +1 -1
  273. package/dist/coordination/index.js +23 -9
  274. package/dist/coordination/index.js.map +1 -1
  275. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  276. package/dist/db/migration-manager.js +483 -0
  277. package/dist/db/migration-manager.js.map +1 -0
  278. package/dist/db/skills-query.js +535 -0
  279. package/dist/db/skills-query.js.map +1 -0
  280. package/dist/integration/DatabaseHandoff.js +1 -1
  281. package/dist/integration/DatabaseHandoff.js.map +1 -1
  282. package/dist/jobs/edge-case-analyzer.js +367 -0
  283. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  284. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  285. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  286. package/dist/lib/agent-output-parser.js.map +1 -1
  287. package/dist/lib/agent-output-validator.js.map +1 -1
  288. package/dist/lib/agent-workspace.js +281 -0
  289. package/dist/lib/agent-workspace.js.map +1 -0
  290. package/dist/lib/atomic-file-writer.js +377 -0
  291. package/dist/lib/atomic-file-writer.js.map +1 -0
  292. package/dist/lib/backup-manager.js +779 -0
  293. package/dist/lib/backup-manager.js.map +1 -0
  294. package/dist/lib/checkpoint-manager.js +837 -0
  295. package/dist/lib/checkpoint-manager.js.map +1 -0
  296. package/dist/lib/circuit-breaker.js +340 -0
  297. package/dist/lib/circuit-breaker.js.map +1 -0
  298. package/dist/lib/completion-signal-handler.js +243 -0
  299. package/dist/lib/completion-signal-handler.js.map +1 -0
  300. package/dist/lib/config-manager.js +312 -0
  301. package/dist/lib/config-manager.js.map +1 -0
  302. package/dist/lib/config-migrator.js +386 -0
  303. package/dist/lib/config-migrator.js.map +1 -0
  304. package/dist/lib/config-validator.js.map +1 -1
  305. package/dist/lib/correlation-cache.js +311 -0
  306. package/dist/lib/correlation-cache.js.map +1 -0
  307. package/dist/lib/correlation.js +263 -0
  308. package/dist/lib/correlation.js.map +1 -0
  309. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  310. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  311. package/dist/lib/database-service/correlation.js +329 -0
  312. package/dist/lib/database-service/correlation.js.map +1 -0
  313. package/dist/lib/database-service/errors.js +120 -0
  314. package/dist/lib/database-service/errors.js.map +1 -0
  315. package/dist/lib/database-service/index.js +168 -0
  316. package/dist/lib/database-service/index.js.map +1 -0
  317. package/dist/lib/database-service/postgres-adapter.js +526 -0
  318. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  319. package/dist/lib/database-service/redis-adapter.js +360 -0
  320. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  321. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  322. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  323. package/dist/lib/database-service/transaction-manager.js +773 -0
  324. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  325. package/dist/lib/database-service/types.js +23 -0
  326. package/dist/lib/database-service/types.js.map +1 -0
  327. package/dist/lib/deadlock-resolver.js +292 -0
  328. package/dist/lib/deadlock-resolver.js.map +1 -0
  329. package/dist/lib/distributed-lock.js +451 -0
  330. package/dist/lib/distributed-lock.js.map +1 -0
  331. package/dist/lib/edge-case-deduplicator.js +227 -0
  332. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  333. package/dist/lib/encryption-manager.js +322 -0
  334. package/dist/lib/encryption-manager.js.map +1 -0
  335. package/dist/lib/error-aggregator.js +234 -0
  336. package/dist/lib/error-aggregator.js.map +1 -0
  337. package/dist/lib/errors.js +287 -0
  338. package/dist/lib/errors.js.map +1 -0
  339. package/dist/lib/file-lock-manager.js +578 -0
  340. package/dist/lib/file-lock-manager.js.map +1 -0
  341. package/dist/lib/file-operations.js +367 -0
  342. package/dist/lib/file-operations.js.map +1 -0
  343. package/dist/lib/idempotent-write.js +237 -0
  344. package/dist/lib/idempotent-write.js.map +1 -0
  345. package/dist/lib/integration-schema-validator.js +522 -0
  346. package/dist/lib/integration-schema-validator.js.map +1 -0
  347. package/dist/lib/lock-health-monitor.js +298 -0
  348. package/dist/lib/lock-health-monitor.js.map +1 -0
  349. package/dist/lib/log-shipper.js +422 -0
  350. package/dist/lib/log-shipper.js.map +1 -0
  351. package/dist/lib/logging.js +146 -0
  352. package/dist/lib/logging.js.map +1 -0
  353. package/dist/lib/message-deduplicator.js +439 -0
  354. package/dist/lib/message-deduplicator.js.map +1 -0
  355. package/dist/lib/multi-system-query.js +604 -0
  356. package/dist/lib/multi-system-query.js.map +1 -0
  357. package/dist/lib/orphan-detector.js +332 -0
  358. package/dist/lib/orphan-detector.js.map +1 -0
  359. package/dist/lib/password-generator.js +166 -0
  360. package/dist/lib/password-generator.js.map +1 -0
  361. package/dist/lib/path-validator.js +429 -0
  362. package/dist/lib/path-validator.js.map +1 -0
  363. package/dist/lib/query-translator.js +905 -0
  364. package/dist/lib/query-translator.js.map +1 -0
  365. package/dist/lib/queue-recovery.js +469 -0
  366. package/dist/lib/queue-recovery.js.map +1 -0
  367. package/dist/lib/redis-queue-manager.js +512 -0
  368. package/dist/lib/redis-queue-manager.js.map +1 -0
  369. package/dist/lib/reflection-archiver.js +272 -0
  370. package/dist/lib/reflection-archiver.js.map +1 -0
  371. package/dist/lib/retry-manager.js +453 -0
  372. package/dist/lib/retry-manager.js.map +1 -0
  373. package/dist/lib/retry.js +262 -0
  374. package/dist/lib/retry.js.map +1 -0
  375. package/dist/lib/schema-transform.js +695 -0
  376. package/dist/lib/schema-transform.js.map +1 -0
  377. package/dist/lib/schema-validator.js +491 -0
  378. package/dist/lib/schema-validator.js.map +1 -0
  379. package/dist/lib/skill-cache.js +297 -0
  380. package/dist/lib/skill-cache.js.map +1 -0
  381. package/dist/lib/skill-content-manager.js +337 -0
  382. package/dist/lib/skill-content-manager.js.map +1 -0
  383. package/dist/lib/skill-frontmatter-parser.js +237 -0
  384. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  385. package/dist/lib/skill-git-integration.js +275 -0
  386. package/dist/lib/skill-git-integration.js.map +1 -0
  387. package/dist/lib/skill-markdown-validator.js +396 -0
  388. package/dist/lib/skill-markdown-validator.js.map +1 -0
  389. package/dist/lib/skill-output-parser.js +312 -0
  390. package/dist/lib/skill-output-parser.js.map +1 -0
  391. package/dist/lib/unified-query-api.js +467 -0
  392. package/dist/lib/unified-query-api.js.map +1 -0
  393. package/dist/middleware/auth-middleware.js +350 -0
  394. package/dist/middleware/auth-middleware.js.map +1 -0
  395. package/dist/middleware/schema-validation.js +347 -0
  396. package/dist/middleware/schema-validation.js.map +1 -0
  397. package/dist/providers/anthropic-provider.js +1 -1
  398. package/dist/providers/anthropic-provider.js.map +1 -1
  399. package/dist/providers/provider-factory.js +2 -2
  400. package/dist/providers/provider-factory.js.map +1 -1
  401. package/dist/services/edge-case-analyzer.js +321 -0
  402. package/dist/services/edge-case-analyzer.js.map +1 -0
  403. package/dist/services/edge-case-deduplicator.js +266 -0
  404. package/dist/services/edge-case-deduplicator.js.map +1 -0
  405. package/dist/services/edge-case-detector.js +337 -0
  406. package/dist/services/edge-case-detector.js.map +1 -0
  407. package/dist/services/edge-case-tracker.js +547 -0
  408. package/dist/services/edge-case-tracker.js.map +1 -0
  409. package/dist/services/health-check-system.js +586 -0
  410. package/dist/services/health-check-system.js.map +1 -0
  411. package/dist/services/metrics-logger.js +412 -0
  412. package/dist/services/metrics-logger.js.map +1 -0
  413. package/dist/services/patch-generator.js +378 -0
  414. package/dist/services/patch-generator.js.map +1 -0
  415. package/dist/services/patch-validator.js +337 -0
  416. package/dist/services/patch-validator.js.map +1 -0
  417. package/dist/services/performance-monitor.js +811 -0
  418. package/dist/services/performance-monitor.js.map +1 -0
  419. package/dist/services/promotion-pipeline.js +918 -0
  420. package/dist/services/promotion-pipeline.js.map +1 -0
  421. package/dist/services/promotion-validator.js +394 -0
  422. package/dist/services/promotion-validator.js.map +1 -0
  423. package/dist/services/reflection-logger.js +388 -0
  424. package/dist/services/reflection-logger.js.map +1 -0
  425. package/dist/services/skill-deployment.js +472 -0
  426. package/dist/services/skill-deployment.js.map +1 -0
  427. package/dist/services/skill-loader.js +427 -0
  428. package/dist/services/skill-loader.js.map +1 -0
  429. package/dist/services/skill-promotion.js +372 -0
  430. package/dist/services/skill-promotion.js.map +1 -0
  431. package/dist/services/skill-validator.js +454 -0
  432. package/dist/services/skill-validator.js.map +1 -0
  433. package/dist/services/skill-versioning.js +244 -0
  434. package/dist/services/skill-versioning.js.map +1 -0
  435. package/dist/services/workspace-supervisor.js +597 -0
  436. package/dist/services/workspace-supervisor.js.map +1 -0
  437. package/dist/types/edge-case.js +45 -0
  438. package/dist/types/edge-case.js.map +1 -0
  439. package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +405 -0
  440. package/docs/MEMORY_CLEANUP_GUIDE.md +358 -0
  441. package/docs/MEMORY_LEAK_FIX_SUMMARY.md +322 -0
  442. package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +319 -0
  443. package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +574 -0
  444. package/package.json +35 -4
  445. package/readme/README.md +53 -5
  446. package/scripts/backup-cleanup.sh +627 -0
  447. package/scripts/cleanup-workspaces.sh +412 -0
  448. package/scripts/cleanup-yaml-configs.sh +141 -0
  449. package/scripts/deploy-approved-skills.sh +263 -0
  450. package/scripts/health-check.sh +447 -0
  451. package/scripts/log-aggregator.sh +554 -0
  452. package/scripts/log-monitor.sh +629 -0
  453. package/scripts/manage-agent-workspaces.sh +434 -0
  454. package/scripts/migrate-schema.sh +533 -0
  455. package/scripts/promote-staged-skills.sh +423 -0
  456. package/scripts/verify-no-secrets.sh +88 -35
  457. package/scripts/verify-redis-cleanup.sh +173 -0
  458. package/tests/README.md +84 -0
  459. package/tests/test-memory-leak-task-mode.sh +435 -0
  460. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  461. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  462. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  463. package/.claude/skills/agent-lifecycle/SKILL.md +0 -60
  464. package/.claude/skills/agent-lifecycle/execute-lifecycle-hook.sh +0 -573
  465. package/.claude/skills/agent-lifecycle/simple-audit.sh +0 -31
  466. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  467. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  468. package/README.md.backup_before_replace +0 -781
  469. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  470. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  471. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  472. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  473. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
@@ -0,0 +1,263 @@
1
+ #!/bin/bash
2
+ # Skill Deployment CLI Script
3
+ # Part of Task 1.1: Automated Skill Deployment Pipeline
4
+ #
5
+ # Usage:
6
+ # ./scripts/deploy-approved-skills.sh <skill-path> [--deployed-by=<user>] [--version=<version>]
7
+ #
8
+ # Examples:
9
+ # ./scripts/deploy-approved-skills.sh .claude/skills/authentication
10
+ # ./scripts/deploy-approved-skills.sh .claude/skills/authentication --version=2.0.0
11
+ # ./scripts/deploy-approved-skills.sh .claude/skills/authentication --deployed-by=admin@example.com
12
+
13
+ set -euo pipefail
14
+
15
+ # Script directory
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
18
+
19
+ # Colors for output
20
+ RED='\033[0;31m'
21
+ GREEN='\033[0;32m'
22
+ YELLOW='\033[1;33m'
23
+ BLUE='\033[0;34m'
24
+ NC='\033[0m' # No Color
25
+
26
+ # Functions
27
+ log_info() {
28
+ echo -e "${BLUE}[INFO]${NC} $1"
29
+ }
30
+
31
+ log_success() {
32
+ echo -e "${GREEN}[SUCCESS]${NC} $1"
33
+ }
34
+
35
+ log_warn() {
36
+ echo -e "${YELLOW}[WARN]${NC} $1"
37
+ }
38
+
39
+ log_error() {
40
+ echo -e "${RED}[ERROR]${NC} $1"
41
+ }
42
+
43
+ usage() {
44
+ cat <<EOF
45
+ Skill Deployment CLI Script
46
+
47
+ Usage:
48
+ $0 <skill-path> [options]
49
+
50
+ Arguments:
51
+ skill-path Path to skill directory (required)
52
+
53
+ Options:
54
+ --deployed-by=<user> User performing deployment (default: system)
55
+ --version=<version> Explicit version (default: auto-increment)
56
+ --skip-validation Skip validation checks (dangerous, admin only)
57
+ --help Show this help message
58
+
59
+ Examples:
60
+ $0 .claude/skills/authentication
61
+ $0 .claude/skills/authentication --version=2.0.0
62
+ $0 .claude/skills/authentication --deployed-by=admin@example.com
63
+
64
+ EOF
65
+ }
66
+
67
+ # Parse arguments
68
+ SKILL_PATH=""
69
+ DEPLOYED_BY="system"
70
+ EXPLICIT_VERSION=""
71
+ SKIP_VALIDATION=false
72
+
73
+ while [[ $# -gt 0 ]]; do
74
+ case $1 in
75
+ --help)
76
+ usage
77
+ exit 0
78
+ ;;
79
+ --deployed-by=*)
80
+ DEPLOYED_BY="${1#*=}"
81
+ shift
82
+ ;;
83
+ --version=*)
84
+ EXPLICIT_VERSION="${1#*=}"
85
+ shift
86
+ ;;
87
+ --skip-validation)
88
+ SKIP_VALIDATION=true
89
+ shift
90
+ ;;
91
+ -*)
92
+ log_error "Unknown option: $1"
93
+ usage
94
+ exit 1
95
+ ;;
96
+ *)
97
+ if [[ -z "$SKILL_PATH" ]]; then
98
+ SKILL_PATH="$1"
99
+ else
100
+ log_error "Multiple skill paths provided"
101
+ usage
102
+ exit 1
103
+ fi
104
+ shift
105
+ ;;
106
+ esac
107
+ done
108
+
109
+ # Validate required arguments
110
+ if [[ -z "$SKILL_PATH" ]]; then
111
+ log_error "Skill path is required"
112
+ usage
113
+ exit 1
114
+ fi
115
+
116
+ # Convert to absolute path
117
+ if [[ ! "$SKILL_PATH" =~ ^/ ]]; then
118
+ SKILL_PATH="$PROJECT_ROOT/$SKILL_PATH"
119
+ fi
120
+
121
+ # Validate skill path exists
122
+ if [[ ! -d "$SKILL_PATH" ]]; then
123
+ log_error "Skill directory not found: $SKILL_PATH"
124
+ exit 1
125
+ fi
126
+
127
+ log_info "Starting skill deployment"
128
+ log_info "Skill path: $SKILL_PATH"
129
+ log_info "Deployed by: $DEPLOYED_BY"
130
+ [[ -n "$EXPLICIT_VERSION" ]] && log_info "Explicit version: $EXPLICIT_VERSION"
131
+ [[ "$SKIP_VALIDATION" == "true" ]] && log_warn "Validation checks disabled"
132
+
133
+ # Create TypeScript deployment script
134
+ DEPLOY_SCRIPT=$(cat <<'TYPESCRIPT'
135
+ import { DatabaseService } from './src/lib/database-service';
136
+ import { SkillDeploymentPipeline } from './src/services/skill-deployment';
137
+ import { createLogger } from './src/lib/logging';
138
+ import * as path from 'path';
139
+
140
+ const logger = createLogger('deploy-script');
141
+
142
+ async function main() {
143
+ const skillPath = process.env.SKILL_PATH || '';
144
+ const deployedBy = process.env.DEPLOYED_BY || 'system';
145
+ const explicitVersion = process.env.EXPLICIT_VERSION || undefined;
146
+ const skipValidation = process.env.SKIP_VALIDATION === 'true';
147
+
148
+ if (!skillPath) {
149
+ console.error('SKILL_PATH environment variable is required');
150
+ process.exit(1);
151
+ }
152
+
153
+ // Initialize database service
154
+ const dbService = new DatabaseService({
155
+ sqlite: {
156
+ type: 'sqlite',
157
+ database: path.join(process.cwd(), '.claude-assets/skills/cfn-redis-coordination/data/cfn-loop.db'),
158
+ },
159
+ });
160
+
161
+ try {
162
+ await dbService.connect();
163
+ logger.info('Database connected');
164
+
165
+ // Create deployment pipeline
166
+ const pipeline = new SkillDeploymentPipeline(dbService);
167
+
168
+ // Deploy skill
169
+ const result = await pipeline.deploySkill({
170
+ skillPath,
171
+ deployedBy,
172
+ explicitVersion,
173
+ skipValidation,
174
+ });
175
+
176
+ if (result.success) {
177
+ console.log(JSON.stringify({
178
+ success: true,
179
+ skillId: result.skillId,
180
+ skillName: result.skillName,
181
+ version: result.version,
182
+ deploymentId: result.deploymentId,
183
+ }, null, 2));
184
+ process.exit(0);
185
+ } else {
186
+ console.error(JSON.stringify({
187
+ success: false,
188
+ error: result.error,
189
+ validationErrors: result.validationResult?.errors || [],
190
+ }, null, 2));
191
+ process.exit(1);
192
+ }
193
+ } catch (error) {
194
+ logger.error('Deployment script failed', error as Error);
195
+ console.error(JSON.stringify({
196
+ success: false,
197
+ error: (error as Error).message,
198
+ }, null, 2));
199
+ process.exit(1);
200
+ } finally {
201
+ await dbService.disconnect();
202
+ }
203
+ }
204
+
205
+ main();
206
+ TYPESCRIPT
207
+ )
208
+
209
+ # Create temporary TypeScript file
210
+ TEMP_TS_FILE="$PROJECT_ROOT/.tmp-deploy-skill-$$.ts"
211
+ echo "$DEPLOY_SCRIPT" > "$TEMP_TS_FILE"
212
+
213
+ # Export environment variables for TypeScript script
214
+ export SKILL_PATH
215
+ export DEPLOYED_BY
216
+ export EXPLICIT_VERSION
217
+ export SKIP_VALIDATION
218
+
219
+ log_info "Running deployment pipeline..."
220
+
221
+ # Run TypeScript deployment script
222
+ cd "$PROJECT_ROOT"
223
+
224
+ # Check if ts-node is available
225
+ if ! command -v npx &> /dev/null; then
226
+ log_error "npx command not found. Please install Node.js and npm."
227
+ rm -f "$TEMP_TS_FILE"
228
+ exit 1
229
+ fi
230
+
231
+ # Execute deployment
232
+ if OUTPUT=$(npx ts-node "$TEMP_TS_FILE" 2>&1); then
233
+ # Parse result
234
+ echo "$OUTPUT" | tail -1 > /tmp/deploy-result.json
235
+
236
+ if grep -q '"success": true' /tmp/deploy-result.json; then
237
+ SKILL_ID=$(echo "$OUTPUT" | tail -1 | grep -o '"skillId": "[^"]*"' | cut -d'"' -f4)
238
+ SKILL_NAME=$(echo "$OUTPUT" | tail -1 | grep -o '"skillName": "[^"]*"' | cut -d'"' -f4)
239
+ VERSION=$(echo "$OUTPUT" | tail -1 | grep -o '"version": "[^"]*"' | cut -d'"' -f4)
240
+
241
+ log_success "Skill deployed successfully!"
242
+ echo ""
243
+ echo "Skill ID: $SKILL_ID"
244
+ echo "Skill Name: $SKILL_NAME"
245
+ echo "Version: $VERSION"
246
+ echo ""
247
+
248
+ rm -f "$TEMP_TS_FILE" /tmp/deploy-result.json
249
+ exit 0
250
+ else
251
+ log_error "Deployment failed"
252
+ echo "$OUTPUT" | tail -1
253
+
254
+ rm -f "$TEMP_TS_FILE" /tmp/deploy-result.json
255
+ exit 1
256
+ fi
257
+ else
258
+ log_error "Deployment script execution failed"
259
+ echo "$OUTPUT"
260
+
261
+ rm -f "$TEMP_TS_FILE" /tmp/deploy-result.json
262
+ exit 1
263
+ fi
@@ -0,0 +1,447 @@
1
+ #!/bin/bash
2
+
3
+ ###############################################################################
4
+ # Health Check Script for Integration Standardization System
5
+ #
6
+ # This script performs comprehensive health checks across all integration points.
7
+ # Exit codes:
8
+ # 0 = Healthy (all checks passed)
9
+ # 1 = Warning (some non-critical checks failed)
10
+ # 2 = Critical (system degradation detected)
11
+ ###############################################################################
12
+
13
+ set -euo pipefail
14
+
15
+ # Configuration
16
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17
+ PROJECT_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
18
+
19
+ # Defaults
20
+ VALIDATE_ALL=${VALIDATE_ALL:-false}
21
+ STRESS_TEST=${STRESS_TEST:-false}
22
+ FULL_SUITE=${FULL_SUITE:-false}
23
+ CONTINUOUS=${CONTINUOUS:-false}
24
+ INTERVAL=${INTERVAL:-30}
25
+ VERBOSE=${VERBOSE:-false}
26
+
27
+ # Threshold values
28
+ ERROR_RATE_CRITICAL=0.01
29
+ ERROR_RATE_WARNING=0.001
30
+ LATENCY_P99_CRITICAL=7500 # ms
31
+ LATENCY_P95_CRITICAL=3000 # ms
32
+ CPU_WARNING=75
33
+ CPU_CRITICAL=90
34
+ MEMORY_WARNING=80
35
+ MEMORY_CRITICAL=90
36
+ DISK_WARNING=70
37
+ DISK_CRITICAL=85
38
+
39
+ # Result tracking
40
+ HEALTH_STATUS=0
41
+ PASSED_CHECKS=0
42
+ FAILED_CHECKS=0
43
+ WARNING_CHECKS=0
44
+
45
+ ###############################################################################
46
+ # Utility Functions
47
+ ###############################################################################
48
+
49
+ log() {
50
+ echo "[$(date +'%Y-%m-%d %H:%M:%S')] $*"
51
+ }
52
+
53
+ log_pass() {
54
+ echo "✓ $*"
55
+ ((PASSED_CHECKS++))
56
+ }
57
+
58
+ log_warn() {
59
+ echo "⚠ $*"
60
+ ((WARNING_CHECKS++))
61
+ [[ $HEALTH_STATUS -lt 1 ]] && HEALTH_STATUS=1
62
+ }
63
+
64
+ log_fail() {
65
+ echo "✗ $*"
66
+ ((FAILED_CHECKS++))
67
+ HEALTH_STATUS=2
68
+ }
69
+
70
+ ###############################################################################
71
+ # Database Checks
72
+ ###############################################################################
73
+
74
+ check_database_connectivity() {
75
+ log "Checking database connectivity..."
76
+
77
+ if pg_isready -h db.internal -p 5432 -U admin > /dev/null 2>&1; then
78
+ log_pass "Database connectivity: OK"
79
+ return 0
80
+ else
81
+ log_fail "Database connectivity: FAILED"
82
+ return 1
83
+ fi
84
+ }
85
+
86
+ check_database_pool() {
87
+ log "Checking database connection pool..."
88
+
89
+ ACTIVE_CONNS=$(psql -h db.internal -U admin -d cfn -t -c \
90
+ "SELECT count(*) FROM pg_stat_activity;" 2>/dev/null || echo "0")
91
+ MAX_CONNS=$(psql -h db.internal -U admin -d cfn -t -c \
92
+ "SHOW max_connections;" 2>/dev/null | xargs || echo "100")
93
+
94
+ POOL_USAGE=$(echo "scale=2; ($ACTIVE_CONNS / $MAX_CONNS) * 100" | bc 2>/dev/null || echo "0")
95
+
96
+ if (( $(echo "$POOL_USAGE < 85" | bc -l) )); then
97
+ log_pass "Database pool usage: ${POOL_USAGE}% (${ACTIVE_CONNS}/${MAX_CONNS})"
98
+ return 0
99
+ elif (( $(echo "$POOL_USAGE < 95" | bc -l) )); then
100
+ log_warn "Database pool usage: ${POOL_USAGE}% (${ACTIVE_CONNS}/${MAX_CONNS}) - approaching limit"
101
+ return 1
102
+ else
103
+ log_fail "Database pool usage: ${POOL_USAGE}% (${ACTIVE_CONNS}/${MAX_CONNS}) - CRITICAL"
104
+ return 2
105
+ fi
106
+ }
107
+
108
+ check_database_replication() {
109
+ log "Checking database replication..."
110
+
111
+ REP_LAG=$(psql -h db.internal -U admin -d cfn -t -c \
112
+ "SELECT EXTRACT(EPOCH FROM (NOW() - pg_last_wal_receive_lsn() < pg_current_wal_lsn()));" \
113
+ 2>/dev/null || echo "0")
114
+
115
+ if (( $(echo "$REP_LAG < 30" | bc -l) )); then
116
+ log_pass "Database replication lag: ${REP_LAG}s"
117
+ return 0
118
+ else
119
+ log_warn "Database replication lag: ${REP_LAG}s"
120
+ return 1
121
+ fi
122
+ }
123
+
124
+ check_database_queries() {
125
+ log "Checking database query performance..."
126
+
127
+ # Test a simple query latency
128
+ START=$(date +%s%N)
129
+ psql -h db.internal -U admin -d cfn -t -c "SELECT 1;" > /dev/null 2>&1
130
+ END=$(date +%s%N)
131
+ QUERY_TIME=$(( (END - START) / 1000000 )) # Convert to ms
132
+
133
+ if [[ $QUERY_TIME -lt 100 ]]; then
134
+ log_pass "Database query latency: ${QUERY_TIME}ms"
135
+ return 0
136
+ elif [[ $QUERY_TIME -lt 500 ]]; then
137
+ log_warn "Database query latency: ${QUERY_TIME}ms"
138
+ return 1
139
+ else
140
+ log_fail "Database query latency: ${QUERY_TIME}ms - CRITICAL"
141
+ return 2
142
+ fi
143
+ }
144
+
145
+ ###############################################################################
146
+ # Redis/Coordination Checks
147
+ ###############################################################################
148
+
149
+ check_redis_connectivity() {
150
+ log "Checking Redis connectivity..."
151
+
152
+ if redis-cli -h redis.internal PING > /dev/null 2>&1; then
153
+ log_pass "Redis connectivity: OK"
154
+ return 0
155
+ else
156
+ log_fail "Redis connectivity: FAILED"
157
+ return 2
158
+ fi
159
+ }
160
+
161
+ check_redis_memory() {
162
+ log "Checking Redis memory usage..."
163
+
164
+ MEMORY_USED=$(redis-cli -h redis.internal INFO memory | grep used_memory_human | cut -d: -f2 | tr -d '\r')
165
+ MEMORY_PERCENT=$(redis-cli -h redis.internal INFO memory | grep used_memory_rss_human | cut -d: -f2 | tr -d '\r')
166
+
167
+ log_pass "Redis memory: ${MEMORY_USED}"
168
+ return 0
169
+ }
170
+
171
+ check_queue_depth() {
172
+ log "Checking message queue depth..."
173
+
174
+ QUEUE_SIZE=$(redis-cli -h redis.internal LLEN "coordination:queue" 2>/dev/null || echo "0")
175
+
176
+ if [[ $QUEUE_SIZE -lt 500 ]]; then
177
+ log_pass "Queue depth: $QUEUE_SIZE messages"
178
+ return 0
179
+ elif [[ $QUEUE_SIZE -lt 1000 ]]; then
180
+ log_warn "Queue depth: $QUEUE_SIZE messages - elevated"
181
+ return 1
182
+ else
183
+ log_fail "Queue depth: $QUEUE_SIZE messages - CRITICAL backlog"
184
+ return 2
185
+ fi
186
+ }
187
+
188
+ check_coordination_health() {
189
+ log "Checking coordination protocol health..."
190
+
191
+ # Test coordination latency
192
+ START=$(date +%s%N)
193
+ redis-cli -h redis.internal PING > /dev/null 2>&1
194
+ END=$(date +%s%N)
195
+ LATENCY=$(( (END - START) / 1000000 ))
196
+
197
+ if [[ $LATENCY -lt 100 ]]; then
198
+ log_pass "Coordination latency: ${LATENCY}ms"
199
+ return 0
200
+ elif [[ $LATENCY -lt 500 ]]; then
201
+ log_warn "Coordination latency: ${LATENCY}ms"
202
+ return 1
203
+ else
204
+ log_fail "Coordination latency: ${LATENCY}ms - CRITICAL"
205
+ return 2
206
+ fi
207
+ }
208
+
209
+ ###############################################################################
210
+ # API/Integration Checks
211
+ ###############################################################################
212
+
213
+ check_api_endpoints() {
214
+ log "Checking API endpoint health..."
215
+
216
+ local status_code
217
+ status_code=$(curl -s -o /dev/null -w "%{http_code}" http://api.internal:8080/health 2>/dev/null || echo "000")
218
+
219
+ if [[ "$status_code" == "200" ]]; then
220
+ log_pass "API health endpoint: OK (HTTP $status_code)"
221
+ return 0
222
+ else
223
+ log_fail "API health endpoint: FAILED (HTTP $status_code)"
224
+ return 2
225
+ fi
226
+ }
227
+
228
+ check_integration_points() {
229
+ log "Checking integration points..."
230
+
231
+ declare -a POINTS=(
232
+ "database_service"
233
+ "coordination_protocol"
234
+ "artifact_storage"
235
+ "metrics_collection"
236
+ )
237
+
238
+ local failed=0
239
+ for point in "${POINTS[@]}"; do
240
+ if curl -s http://api.internal:8080/integrations/$point/status 2>/dev/null | grep -q "healthy"; then
241
+ log_pass "Integration point '$point': OK"
242
+ else
243
+ log_fail "Integration point '$point': UNHEALTHY"
244
+ ((failed++))
245
+ fi
246
+ done
247
+
248
+ return $([[ $failed -eq 0 ]] && echo 0 || echo 2)
249
+ }
250
+
251
+ ###############################################################################
252
+ # Resource Checks
253
+ ###############################################################################
254
+
255
+ check_cpu_usage() {
256
+ log "Checking CPU usage..."
257
+
258
+ CPU_PERCENT=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}' || echo "0")
259
+ CPU_INT=${CPU_PERCENT%.*}
260
+
261
+ if [[ $CPU_INT -lt $CPU_WARNING ]]; then
262
+ log_pass "CPU usage: ${CPU_INT}%"
263
+ return 0
264
+ elif [[ $CPU_INT -lt $CPU_CRITICAL ]]; then
265
+ log_warn "CPU usage: ${CPU_INT}% - elevated"
266
+ return 1
267
+ else
268
+ log_fail "CPU usage: ${CPU_INT}% - CRITICAL"
269
+ return 2
270
+ fi
271
+ }
272
+
273
+ check_memory_usage() {
274
+ log "Checking memory usage..."
275
+
276
+ MEM_USED=$(free | grep Mem | awk '{print int(($3/$2) * 100)}')
277
+
278
+ if [[ $MEM_USED -lt $MEMORY_WARNING ]]; then
279
+ log_pass "Memory usage: ${MEM_USED}%"
280
+ return 0
281
+ elif [[ $MEM_USED -lt $MEMORY_CRITICAL ]]; then
282
+ log_warn "Memory usage: ${MEM_USED}% - elevated"
283
+ return 1
284
+ else
285
+ log_fail "Memory usage: ${MEM_USED}% - CRITICAL"
286
+ return 2
287
+ fi
288
+ }
289
+
290
+ check_disk_usage() {
291
+ log "Checking disk usage..."
292
+
293
+ DISK_USED=$(df -h / | tail -1 | awk '{print int($5)}')
294
+
295
+ if [[ $DISK_USED -lt $DISK_WARNING ]]; then
296
+ log_pass "Disk usage: ${DISK_USED}%"
297
+ return 0
298
+ elif [[ $DISK_USED -lt $DISK_CRITICAL ]]; then
299
+ log_warn "Disk usage: ${DISK_USED}% - elevated"
300
+ return 1
301
+ else
302
+ log_fail "Disk usage: ${DISK_USED}% - CRITICAL"
303
+ return 2
304
+ fi
305
+ }
306
+
307
+ ###############################################################################
308
+ # Kubernetes Checks
309
+ ###############################################################################
310
+
311
+ check_kubernetes_deployment() {
312
+ log "Checking Kubernetes deployment status..."
313
+
314
+ if ! command -v kubectl &> /dev/null; then
315
+ log_warn "kubectl not found - skipping K8s checks"
316
+ return 1
317
+ fi
318
+
319
+ READY=$(kubectl get deployment integration-standardized -n production -o jsonpath='{.status.readyReplicas}' 2>/dev/null || echo "0")
320
+ DESIRED=$(kubectl get deployment integration-standardized -n production -o jsonpath='{.spec.replicas}' 2>/dev/null || echo "1")
321
+
322
+ if [[ "$READY" == "$DESIRED" ]] && [[ "$DESIRED" -gt 0 ]]; then
323
+ log_pass "Deployment status: $READY/$DESIRED replicas ready"
324
+ return 0
325
+ else
326
+ log_fail "Deployment status: $READY/$DESIRED replicas ready"
327
+ return 2
328
+ fi
329
+ }
330
+
331
+ ###############################################################################
332
+ # Data Consistency Checks
333
+ ###############################################################################
334
+
335
+ check_data_consistency() {
336
+ log "Checking data consistency..."
337
+
338
+ ORPHANED=$(psql -h db.internal -U admin -d cfn -t -c \
339
+ "SELECT count(*) FROM integration_tasks WHERE parent_id NOT IN (SELECT id FROM jobs);" \
340
+ 2>/dev/null || echo "0")
341
+
342
+ if [[ $ORPHANED -eq 0 ]]; then
343
+ log_pass "Data consistency: OK (no orphaned records)"
344
+ return 0
345
+ else
346
+ log_fail "Data consistency: $ORPHANED orphaned records found"
347
+ return 2
348
+ fi
349
+ }
350
+
351
+ ###############################################################################
352
+ # Feature Flag Checks
353
+ ###############################################################################
354
+
355
+ check_feature_flags() {
356
+ log "Checking feature flag status..."
357
+
358
+ if curl -s http://feature-flag-service:8080/api/v1/flags/status 2>/dev/null | grep -q "enabled"; then
359
+ log_pass "Feature flag service: OK"
360
+ return 0
361
+ else
362
+ log_warn "Feature flag service: unavailable or all flags disabled"
363
+ return 1
364
+ fi
365
+ }
366
+
367
+ ###############################################################################
368
+ # Main Execution
369
+ ###############################################################################
370
+
371
+ print_header() {
372
+ echo ""
373
+ echo "==============================================================================="
374
+ echo "Integration Standardization Health Check"
375
+ echo "==============================================================================="
376
+ echo "Time: $(date)"
377
+ echo ""
378
+ }
379
+
380
+ print_summary() {
381
+ echo ""
382
+ echo "==============================================================================="
383
+ echo "Summary"
384
+ echo "==============================================================================="
385
+ echo "Passed: $PASSED_CHECKS"
386
+ echo "Warnings: $WARNING_CHECKS"
387
+ echo "Failed: $FAILED_CHECKS"
388
+ echo ""
389
+
390
+ case $HEALTH_STATUS in
391
+ 0)
392
+ echo "Status: ✓ HEALTHY"
393
+ ;;
394
+ 1)
395
+ echo "Status: ⚠ WARNING - Some checks failed but system operational"
396
+ ;;
397
+ 2)
398
+ echo "Status: ✗ CRITICAL - System degradation detected"
399
+ ;;
400
+ esac
401
+ echo "==============================================================================="
402
+ echo ""
403
+ }
404
+
405
+ run_all_checks() {
406
+ check_database_connectivity || true
407
+ check_database_pool || true
408
+ check_database_replication || true
409
+ check_database_queries || true
410
+
411
+ check_redis_connectivity || true
412
+ check_redis_memory || true
413
+ check_queue_depth || true
414
+ check_coordination_health || true
415
+
416
+ check_api_endpoints || true
417
+ check_integration_points || true
418
+
419
+ check_cpu_usage || true
420
+ check_memory_usage || true
421
+ check_disk_usage || true
422
+
423
+ check_kubernetes_deployment || true
424
+ check_data_consistency || true
425
+ check_feature_flags || true
426
+ }
427
+
428
+ main() {
429
+ print_header
430
+
431
+ if [[ "$CONTINUOUS" == "true" ]]; then
432
+ while true; do
433
+ run_all_checks
434
+ print_summary
435
+ log "Waiting ${INTERVAL}s before next check..."
436
+ sleep "$INTERVAL"
437
+ done
438
+ else
439
+ run_all_checks
440
+ print_summary
441
+ fi
442
+
443
+ return $HEALTH_STATUS
444
+ }
445
+
446
+ # Run main function
447
+ main "$@"