claude-flow-novice 2.15.2 → 2.15.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (533) hide show
  1. package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  2. package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  3. package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  4. package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  5. package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  6. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  7. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  8. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  9. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  10. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  11. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  12. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  13. package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  14. package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  15. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  16. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  17. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  18. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  19. package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  20. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  21. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  22. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  23. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  24. package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  25. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  26. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  27. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  28. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  29. package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  30. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  31. package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  32. package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  33. package/.claude/commands/cfn-loop-cli.md +16 -2
  34. package/.claude/commands/switch-api.md +31 -10
  35. package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
  36. package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
  37. package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
  38. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  39. package/.claude/hooks/cfn-post-edit.config.json +44 -44
  40. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
  41. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  42. package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  43. package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  44. package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  45. package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  46. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  47. package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  48. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  49. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  50. package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  51. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  52. package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  53. package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
  54. package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  55. package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  56. package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  57. package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
  58. package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  59. package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  60. package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  61. package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  62. package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
  63. package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
  64. package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  65. package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  66. package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  67. package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  68. package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  69. package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  70. package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  71. package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  72. package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  73. package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  74. package/README.md +116 -475
  75. package/claude-assets/agents/cfn-dev-team/README.md +103 -0
  76. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
  77. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
  78. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
  79. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
  80. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
  81. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
  82. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
  83. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
  84. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
  85. package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
  86. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
  87. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
  88. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
  89. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
  90. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
  91. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
  92. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
  93. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
  94. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
  95. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
  96. package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
  97. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
  98. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
  99. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
  100. package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
  101. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
  102. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
  103. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
  104. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
  105. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
  106. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
  107. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
  108. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
  109. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
  110. package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
  111. package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
  112. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
  113. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
  114. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
  115. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
  116. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
  117. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
  118. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
  119. package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
  120. package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
  121. package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
  122. package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
  123. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
  124. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
  125. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
  126. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
  127. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
  128. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
  129. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
  130. package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
  131. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
  132. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
  133. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
  134. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
  135. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
  136. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
  137. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
  138. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
  139. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
  140. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
  141. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
  142. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
  143. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
  144. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
  145. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
  146. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
  147. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
  148. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
  149. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
  150. package/claude-assets/commands/cfn-loop-cli.md +16 -2
  151. package/claude-assets/commands/switch-api.md +31 -10
  152. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
  153. package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
  154. package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
  155. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
  156. package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
  157. package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
  158. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
  159. package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
  160. package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
  161. package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
  162. package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
  163. package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
  164. package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
  165. package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
  166. package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
  167. package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
  168. package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
  169. package/claude-assets/skills/bootstrap/database-connection.md +464 -0
  170. package/claude-assets/skills/bootstrap/error-handling.md +580 -0
  171. package/claude-assets/skills/bootstrap/file-operations.md +699 -0
  172. package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
  173. package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
  174. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
  175. package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
  176. package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
  177. package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
  178. package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
  179. package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
  180. package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
  181. package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
  182. package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
  183. package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
  184. package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
  185. package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
  186. package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
  187. package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
  188. package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
  189. package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
  190. package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
  191. package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
  192. package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
  193. package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
  194. package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
  195. package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
  196. package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
  197. package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
  198. package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
  199. package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
  200. package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
  201. package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
  202. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
  203. package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
  204. package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
  205. package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
  206. package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
  207. package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
  208. package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
  209. package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
  210. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
  211. package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
  212. package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
  213. package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
  214. package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
  215. package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
  216. package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
  217. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
  218. package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
  219. package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
  220. package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
  221. package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
  222. package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
  223. package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
  224. package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
  225. package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
  226. package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
  227. package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
  228. package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
  229. package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
  230. package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
  231. package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
  232. package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
  233. package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
  234. package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
  235. package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
  236. package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
  237. package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
  238. package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
  239. package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
  240. package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
  241. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
  242. package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
  243. package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
  244. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
  245. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
  246. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
  247. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
  248. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
  249. package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
  250. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
  251. package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
  252. package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
  253. package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
  254. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
  255. package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
  256. package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
  257. package/claude-assets/skills/cfn-utilities/test.sh +317 -0
  258. package/claude-assets/skills/docker-build/SKILL.md +96 -203
  259. package/claude-assets/skills/docker-build/build.sh +73 -73
  260. package/claude-assets/skills/integration/agent-handoff.sh +492 -0
  261. package/claude-assets/skills/integration/file-operations.sh +414 -0
  262. package/claude-assets/skills/json-validation/SKILL.md +431 -0
  263. package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
  264. package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
  265. package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
  266. package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
  267. package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
  268. package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
  269. package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
  270. package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
  271. package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
  272. package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
  273. package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
  274. package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
  275. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
  276. package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
  277. package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
  278. package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
  279. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
  280. package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
  281. package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
  282. package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
  283. package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
  284. package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
  285. package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
  286. package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
  287. package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
  288. package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
  289. package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
  290. package/dist/ace/ace-curator.js +10 -2
  291. package/dist/ace/ace-curator.js.map +1 -1
  292. package/dist/ace/ace-generator.js +4 -0
  293. package/dist/ace/ace-generator.js.map +1 -1
  294. package/dist/ace/ace-reflector.js +1 -1
  295. package/dist/ace/ace-reflector.js.map +1 -1
  296. package/dist/ace/context-injection.js +24 -2
  297. package/dist/ace/context-injection.js.map +1 -1
  298. package/dist/agents/agent-loader.js +146 -165
  299. package/dist/agents/agent-loader.js.map +1 -1
  300. package/dist/agents/task-agent-integration.js +1 -1
  301. package/dist/agents/task-agent-integration.js.map +1 -1
  302. package/dist/api/health-endpoints.js +390 -0
  303. package/dist/api/health-endpoints.js.map +1 -0
  304. package/dist/cli/agent-executor.js +4 -1
  305. package/dist/cli/agent-executor.js.map +1 -1
  306. package/dist/cli/agent-prompt-builder.js +89 -1
  307. package/dist/cli/agent-prompt-builder.js.map +1 -1
  308. package/dist/cli/agent-spawn.js +130 -37
  309. package/dist/cli/agent-spawn.js.map +1 -1
  310. package/dist/cli/config-manager.js +91 -109
  311. package/dist/cli/config-manager.js.map +1 -1
  312. package/dist/cli/skill-cache-validator.js +412 -0
  313. package/dist/cli/skill-cache-validator.js.map +1 -0
  314. package/dist/cli/skill-cli.js +991 -0
  315. package/dist/cli/skill-cli.js.map +1 -0
  316. package/dist/cli/skill-execution-logger.js +284 -0
  317. package/dist/cli/skill-execution-logger.js.map +1 -0
  318. package/dist/cli/skill-loader.js +457 -0
  319. package/dist/cli/skill-loader.js.map +1 -0
  320. package/dist/coordination/event-bus.js +2 -2
  321. package/dist/coordination/event-bus.js.map +1 -1
  322. package/dist/coordination/fleet-manager.js +1 -1
  323. package/dist/coordination/fleet-manager.js.map +1 -1
  324. package/dist/coordination/index.js +23 -9
  325. package/dist/coordination/index.js.map +1 -1
  326. package/dist/coordination/types/fleet-manager.types.js.map +1 -1
  327. package/dist/db/migration-manager.js +483 -0
  328. package/dist/db/migration-manager.js.map +1 -0
  329. package/dist/db/skills-query.js +535 -0
  330. package/dist/db/skills-query.js.map +1 -0
  331. package/dist/integration/DatabaseHandoff.js +507 -0
  332. package/dist/integration/DatabaseHandoff.js.map +1 -0
  333. package/dist/integration/StandardAdapter.js +291 -0
  334. package/dist/integration/StandardAdapter.js.map +1 -0
  335. package/dist/jobs/edge-case-analyzer.js +367 -0
  336. package/dist/jobs/edge-case-analyzer.js.map +1 -0
  337. package/dist/jobs/promotion-sla-enforcer.js +288 -0
  338. package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
  339. package/dist/lib/agent-output-parser.js +518 -0
  340. package/dist/lib/agent-output-parser.js.map +1 -0
  341. package/dist/lib/agent-output-validator.js +950 -0
  342. package/dist/lib/agent-output-validator.js.map +1 -0
  343. package/dist/lib/agent-workspace.js +281 -0
  344. package/dist/lib/agent-workspace.js.map +1 -0
  345. package/dist/lib/artifact-registry.js +443 -0
  346. package/dist/lib/artifact-registry.js.map +1 -0
  347. package/dist/lib/atomic-file-writer.js +377 -0
  348. package/dist/lib/atomic-file-writer.js.map +1 -0
  349. package/dist/lib/backup-manager.js +779 -0
  350. package/dist/lib/backup-manager.js.map +1 -0
  351. package/dist/lib/checkpoint-manager.js +837 -0
  352. package/dist/lib/checkpoint-manager.js.map +1 -0
  353. package/dist/lib/circuit-breaker.js +340 -0
  354. package/dist/lib/circuit-breaker.js.map +1 -0
  355. package/dist/lib/completion-signal-handler.js +243 -0
  356. package/dist/lib/completion-signal-handler.js.map +1 -0
  357. package/dist/lib/config-manager.js +312 -0
  358. package/dist/lib/config-manager.js.map +1 -0
  359. package/dist/lib/config-migrator.js +386 -0
  360. package/dist/lib/config-migrator.js.map +1 -0
  361. package/dist/lib/config-validator.js +687 -0
  362. package/dist/lib/config-validator.js.map +1 -0
  363. package/dist/lib/correlation-cache.js +311 -0
  364. package/dist/lib/correlation-cache.js.map +1 -0
  365. package/dist/lib/correlation.js +263 -0
  366. package/dist/lib/correlation.js.map +1 -0
  367. package/dist/lib/database-service/connection-pool-manager.js +520 -0
  368. package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
  369. package/dist/lib/database-service/correlation.js +329 -0
  370. package/dist/lib/database-service/correlation.js.map +1 -0
  371. package/dist/lib/database-service/errors.js +120 -0
  372. package/dist/lib/database-service/errors.js.map +1 -0
  373. package/dist/lib/database-service/index.js +168 -0
  374. package/dist/lib/database-service/index.js.map +1 -0
  375. package/dist/lib/database-service/postgres-adapter.js +526 -0
  376. package/dist/lib/database-service/postgres-adapter.js.map +1 -0
  377. package/dist/lib/database-service/redis-adapter.js +360 -0
  378. package/dist/lib/database-service/redis-adapter.js.map +1 -0
  379. package/dist/lib/database-service/sqlite-adapter.js +544 -0
  380. package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
  381. package/dist/lib/database-service/transaction-manager.js +773 -0
  382. package/dist/lib/database-service/transaction-manager.js.map +1 -0
  383. package/dist/lib/database-service/types.js +23 -0
  384. package/dist/lib/database-service/types.js.map +1 -0
  385. package/dist/lib/deadlock-resolver.js +292 -0
  386. package/dist/lib/deadlock-resolver.js.map +1 -0
  387. package/dist/lib/distributed-lock.js +451 -0
  388. package/dist/lib/distributed-lock.js.map +1 -0
  389. package/dist/lib/edge-case-deduplicator.js +227 -0
  390. package/dist/lib/edge-case-deduplicator.js.map +1 -0
  391. package/dist/lib/encryption-manager.js +322 -0
  392. package/dist/lib/encryption-manager.js.map +1 -0
  393. package/dist/lib/error-aggregator.js +234 -0
  394. package/dist/lib/error-aggregator.js.map +1 -0
  395. package/dist/lib/errors.js +287 -0
  396. package/dist/lib/errors.js.map +1 -0
  397. package/dist/lib/file-lock-manager.js +578 -0
  398. package/dist/lib/file-lock-manager.js.map +1 -0
  399. package/dist/lib/file-operations.js +367 -0
  400. package/dist/lib/file-operations.js.map +1 -0
  401. package/dist/lib/idempotent-write.js +237 -0
  402. package/dist/lib/idempotent-write.js.map +1 -0
  403. package/dist/lib/integration-schema-validator.js +522 -0
  404. package/dist/lib/integration-schema-validator.js.map +1 -0
  405. package/dist/lib/lock-health-monitor.js +298 -0
  406. package/dist/lib/lock-health-monitor.js.map +1 -0
  407. package/dist/lib/log-shipper.js +422 -0
  408. package/dist/lib/log-shipper.js.map +1 -0
  409. package/dist/lib/logging.js +146 -0
  410. package/dist/lib/logging.js.map +1 -0
  411. package/dist/lib/message-deduplicator.js +439 -0
  412. package/dist/lib/message-deduplicator.js.map +1 -0
  413. package/dist/lib/multi-system-query.js +604 -0
  414. package/dist/lib/multi-system-query.js.map +1 -0
  415. package/dist/lib/orphan-detector.js +332 -0
  416. package/dist/lib/orphan-detector.js.map +1 -0
  417. package/dist/lib/password-generator.js +166 -0
  418. package/dist/lib/password-generator.js.map +1 -0
  419. package/dist/lib/path-validator.js +429 -0
  420. package/dist/lib/path-validator.js.map +1 -0
  421. package/dist/lib/query-translator.js +905 -0
  422. package/dist/lib/query-translator.js.map +1 -0
  423. package/dist/lib/queue-recovery.js +469 -0
  424. package/dist/lib/queue-recovery.js.map +1 -0
  425. package/dist/lib/redis-queue-manager.js +512 -0
  426. package/dist/lib/redis-queue-manager.js.map +1 -0
  427. package/dist/lib/reflection-archiver.js +272 -0
  428. package/dist/lib/reflection-archiver.js.map +1 -0
  429. package/dist/lib/retry-manager.js +453 -0
  430. package/dist/lib/retry-manager.js.map +1 -0
  431. package/dist/lib/retry.js +262 -0
  432. package/dist/lib/retry.js.map +1 -0
  433. package/dist/lib/schema-transform.js +695 -0
  434. package/dist/lib/schema-transform.js.map +1 -0
  435. package/dist/lib/schema-validator.js +491 -0
  436. package/dist/lib/schema-validator.js.map +1 -0
  437. package/dist/lib/skill-cache.js +297 -0
  438. package/dist/lib/skill-cache.js.map +1 -0
  439. package/dist/lib/skill-content-manager.js +337 -0
  440. package/dist/lib/skill-content-manager.js.map +1 -0
  441. package/dist/lib/skill-frontmatter-parser.js +237 -0
  442. package/dist/lib/skill-frontmatter-parser.js.map +1 -0
  443. package/dist/lib/skill-git-integration.js +275 -0
  444. package/dist/lib/skill-git-integration.js.map +1 -0
  445. package/dist/lib/skill-markdown-validator.js +396 -0
  446. package/dist/lib/skill-markdown-validator.js.map +1 -0
  447. package/dist/lib/skill-output-parser.js +312 -0
  448. package/dist/lib/skill-output-parser.js.map +1 -0
  449. package/dist/lib/unified-query-api.js +467 -0
  450. package/dist/lib/unified-query-api.js.map +1 -0
  451. package/dist/middleware/auth-middleware.js +350 -0
  452. package/dist/middleware/auth-middleware.js.map +1 -0
  453. package/dist/middleware/schema-validation.js +347 -0
  454. package/dist/middleware/schema-validation.js.map +1 -0
  455. package/dist/providers/anthropic-provider.js +1 -1
  456. package/dist/providers/anthropic-provider.js.map +1 -1
  457. package/dist/providers/provider-factory.js +2 -2
  458. package/dist/providers/provider-factory.js.map +1 -1
  459. package/dist/services/edge-case-analyzer.js +321 -0
  460. package/dist/services/edge-case-analyzer.js.map +1 -0
  461. package/dist/services/edge-case-deduplicator.js +266 -0
  462. package/dist/services/edge-case-deduplicator.js.map +1 -0
  463. package/dist/services/edge-case-detector.js +337 -0
  464. package/dist/services/edge-case-detector.js.map +1 -0
  465. package/dist/services/edge-case-tracker.js +547 -0
  466. package/dist/services/edge-case-tracker.js.map +1 -0
  467. package/dist/services/health-check-system.js +586 -0
  468. package/dist/services/health-check-system.js.map +1 -0
  469. package/dist/services/metrics-logger.js +412 -0
  470. package/dist/services/metrics-logger.js.map +1 -0
  471. package/dist/services/patch-generator.js +378 -0
  472. package/dist/services/patch-generator.js.map +1 -0
  473. package/dist/services/patch-validator.js +337 -0
  474. package/dist/services/patch-validator.js.map +1 -0
  475. package/dist/services/performance-monitor.js +811 -0
  476. package/dist/services/performance-monitor.js.map +1 -0
  477. package/dist/services/promotion-pipeline.js +918 -0
  478. package/dist/services/promotion-pipeline.js.map +1 -0
  479. package/dist/services/promotion-validator.js +394 -0
  480. package/dist/services/promotion-validator.js.map +1 -0
  481. package/dist/services/reflection-logger.js +388 -0
  482. package/dist/services/reflection-logger.js.map +1 -0
  483. package/dist/services/skill-deployment.js +472 -0
  484. package/dist/services/skill-deployment.js.map +1 -0
  485. package/dist/services/skill-loader.js +427 -0
  486. package/dist/services/skill-loader.js.map +1 -0
  487. package/dist/services/skill-promotion.js +372 -0
  488. package/dist/services/skill-promotion.js.map +1 -0
  489. package/dist/services/skill-validator.js +454 -0
  490. package/dist/services/skill-validator.js.map +1 -0
  491. package/dist/services/skill-versioning.js +244 -0
  492. package/dist/services/skill-versioning.js.map +1 -0
  493. package/dist/services/workspace-supervisor.js +597 -0
  494. package/dist/services/workspace-supervisor.js.map +1 -0
  495. package/dist/types/agent-output.js +44 -0
  496. package/dist/types/agent-output.js.map +1 -0
  497. package/dist/types/config.js +28 -0
  498. package/dist/types/config.js.map +1 -0
  499. package/dist/types/edge-case.js +45 -0
  500. package/dist/types/edge-case.js.map +1 -0
  501. package/package.json +201 -176
  502. package/readme/README.md +19 -4
  503. package/scripts/artifact-cleanup.sh +392 -0
  504. package/scripts/backup-cleanup.sh +627 -0
  505. package/scripts/cleanup-workspaces.sh +412 -0
  506. package/scripts/cleanup-yaml-configs.sh +141 -0
  507. package/scripts/deploy-approved-skills.sh +263 -0
  508. package/scripts/deploy-production.sh +355 -355
  509. package/scripts/docker-playwright-fix.sh +311 -311
  510. package/scripts/docker-rebuild-all-agents.sh +127 -127
  511. package/scripts/health-check.sh +447 -0
  512. package/scripts/log-aggregator.sh +554 -0
  513. package/scripts/log-monitor.sh +629 -0
  514. package/scripts/manage-agent-workspaces.sh +434 -0
  515. package/scripts/memory-leak-prevention.sh +305 -305
  516. package/scripts/migrate-artifacts.sh +563 -0
  517. package/scripts/migrate-schema.sh +533 -0
  518. package/scripts/migrate-yaml-to-json.sh +465 -0
  519. package/scripts/promote-staged-skills.sh +423 -0
  520. package/scripts/run-marketing-tests.sh +42 -42
  521. package/scripts/update_paths.sh +46 -46
  522. package/scripts/verify-no-secrets.sh +88 -35
  523. package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  524. package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  525. package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  526. package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  527. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
  528. package/README.md.backup_before_replace +0 -781
  529. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
  530. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
  531. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
  532. package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
  533. package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
@@ -1,275 +1,275 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
-
4
- # Loop 2 Output Processing: Enhanced Validator Output Processing
5
- # BUG #27 FIX: Enforce structured output template and reject defaults
6
- # BUG #30 FIX: Add context sanitization and environment validation
7
-
8
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
-
10
- # Parse arguments (SAME AS execute-and-extract.sh)
11
- AGENT_TYPE=""
12
- TASK_ID=""
13
- AGENT_ID=""
14
- CONTEXT=""
15
- ITERATION=1
16
- TIMEOUT=900
17
-
18
- while [[ $# -gt 0 ]]; do
19
- case $1 in
20
- --agent-type) AGENT_TYPE="$2"; shift 2 ;;
21
- --task-id) TASK_ID="$2"; shift 2 ;;
22
- --agent-id) AGENT_ID="$2"; shift 2 ;;
23
- --context) CONTEXT="$2"; shift 2 ;;
24
- --iteration) ITERATION="$2"; shift 2 ;;
25
- --timeout) TIMEOUT="$2"; shift 2 ;;
26
- *) echo "ERROR: Unknown parameter: $1" >&2; exit 1 ;;
27
- esac
28
- done
29
-
30
- # Validate required parameters
31
- if [ -z "$AGENT_TYPE" ] || [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ] || [ -z "$CONTEXT" ]; then
32
- echo "ERROR: Missing required parameters" >&2
33
- echo "Usage: $0 --agent-type TYPE --task-id ID --agent-id ID --context CONTEXT [--iteration N] [--timeout SECONDS]" >&2
34
- exit 1
35
- fi
36
-
37
- # BUG #30 FIX: Context sanitization function
38
- # Sanitizes context by removing dangerous characters and validating JSON structure
39
- validate_and_sanitize_context() {
40
- local context="$1"
41
- local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
42
-
43
- echo "[Validator] [$timestamp] Sanitizing context (length: ${#context} chars)" >&2
44
- echo "[Validator] [$timestamp] Context preview: ${context:0:100}..." >&2
45
-
46
- # Strip dangerous characters: null bytes, backticks, $, backslash
47
- # Also strip control characters and other special chars that can break shell parsing
48
- local sanitized=$(echo "$context" | tr -d '\0' | sed 's/[`$\\]//g' | sed 's/[[:cntrl:]]/ /g')
49
-
50
- # Log sanitization results
51
- local removed_chars=$((${#context} - ${#sanitized}))
52
- if [ "$removed_chars" -gt 0 ]; then
53
- echo "[Validator] [$timestamp] Sanitized context: removed $removed_chars dangerous characters" >&2
54
- else
55
- echo "[Validator] [$timestamp] No dangerous characters found in context" >&2
56
- fi
57
-
58
- # Validate that context is not empty after sanitization
59
- if [ -z "$sanitized" ]; then
60
- echo "ERROR: Context became empty after sanitization" >&2
61
- return 1
62
- fi
63
-
64
- echo "$sanitized"
65
- }
66
-
67
- # BUG #30 FIX: Environment validation function
68
- # Validates that required environment variables exist before spawning agents
69
- validate_environment() {
70
- local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
71
- local missing_vars=()
72
-
73
- echo "[Validator] [$timestamp] Validating environment variables" >&2
74
-
75
- # Check required variables
76
- if [ -z "${REDIS_HOST:-}" ]; then
77
- missing_vars+=("REDIS_HOST")
78
- fi
79
-
80
- if [ -z "${HOME:-}" ]; then
81
- missing_vars+=("HOME")
82
- fi
83
-
84
- if [ -z "${PATH:-}" ]; then
85
- missing_vars+=("PATH")
86
- fi
87
-
88
- # Log validation results
89
- if [ ${#missing_vars[@]} -gt 0 ]; then
90
- echo "ERROR: Missing required environment variables: ${missing_vars[*]}" >&2
91
- echo "[Validator] [$timestamp] Current environment state:" >&2
92
- echo "[Validator] REDIS_HOST=${REDIS_HOST:-<not set>}" >&2
93
- echo "[Validator] HOME=${HOME:-<not set>}" >&2
94
- echo "[Validator] PATH=${PATH:-<not set>}" >&2
95
- return 1
96
- fi
97
-
98
- echo "[Validator] [$timestamp] Environment validation passed" >&2
99
- echo "[Validator] REDIS_HOST=${REDIS_HOST}" >&2
100
- echo "[Validator] HOME=${HOME}" >&2
101
- echo "[Validator] PATH=${PATH:0:100}..." >&2
102
-
103
- return 0
104
- }
105
-
106
- # BUG #27 FIX: Add structured output template to context
107
- ENHANCED_CONTEXT="$CONTEXT
108
-
109
- **REQUIRED OUTPUT FORMAT:**
110
-
111
- You MUST structure your validation output as follows:
112
-
113
- ## Validation Confidence: [0.00-1.00]
114
-
115
- ### CRITICAL Issues
116
- - [List any critical issues that must be fixed]
117
- - [Use bullet points with dash prefix]
118
-
119
- ### WARNING Issues
120
- - [List warnings that should be addressed]
121
- - [Each on a new line with dash prefix]
122
-
123
- ### SUGGESTION Items
124
- - [List improvement suggestions]
125
- - [Optional enhancements]
126
-
127
- **Example:**
128
- ## Validation Confidence: 0.87
129
-
130
- ### CRITICAL Issues
131
- - Missing error handling in invoke-gate-ack.sh:88
132
- - Security vulnerability in input validation
133
-
134
- ### WARNING Issues
135
- - Inconsistent naming convention in test file
136
- - Missing JSDoc comments
137
-
138
- ### SUGGESTION Items
139
- - Consider adding retry backoff strategy
140
- - Could use Promise.all for parallel operations
141
-
142
- **Important:**
143
- - Confidence MUST be explicit numeric value (0.00-1.00)
144
- - Categorize ALL feedback items by severity
145
- - If no issues found, state \"No issues found\" under each category
146
- - Do NOT use default confidence scores without justification
147
- "
148
-
149
- # BUG #30 FIX: Validate environment before spawning
150
- if ! validate_environment; then
151
- echo "ERROR: Environment validation failed, cannot spawn validator agent" >&2
152
- exit 1
153
- fi
154
-
155
- # BUG #30 FIX: Sanitize context before passing to agent
156
- SANITIZED_CONTEXT=$(validate_and_sanitize_context "$ENHANCED_CONTEXT")
157
- if [ $? -ne 0 ]; then
158
- echo "ERROR: Context sanitization failed" >&2
159
- exit 1
160
- fi
161
-
162
- # BUG #30 FIX: Enhanced agent spawning with controlled environment and error capture
163
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
164
- echo "[Validator] [$TIMESTAMP] Spawning $AGENT_TYPE with sanitized context" >&2
165
- echo "[Validator] [$TIMESTAMP] Sanitized context length: ${#SANITIZED_CONTEXT} chars" >&2
166
-
167
- # Capture both stdout and stderr separately, plus exit code
168
- SPAWN_TMP_OUT=$(mktemp)
169
- SPAWN_TMP_ERR=$(mktemp)
170
- EXIT_CODE=0
171
-
172
- # Use env -i for controlled environment with explicit variable passing
173
- env -i \
174
- HOME="$HOME" \
175
- PATH="$PATH" \
176
- REDIS_HOST="$REDIS_HOST" \
177
- timeout "$TIMEOUT" npx claude-flow-novice agent "$AGENT_TYPE" \
178
- --task-id "$TASK_ID" \
179
- --agent-id "$AGENT_ID" \
180
- --context "$SANITIZED_CONTEXT" \
181
- > "$SPAWN_TMP_OUT" 2> "$SPAWN_TMP_ERR" || EXIT_CODE=$?
182
-
183
- AGENT_OUTPUT=$(cat "$SPAWN_TMP_OUT")
184
- AGENT_STDERR=$(cat "$SPAWN_TMP_ERR")
185
-
186
- # BUG #30 FIX: Enhanced error logging on spawn failure
187
- if [ $EXIT_CODE -ne 0 ]; then
188
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
189
- echo "[Validator] [$TIMESTAMP] ⚠️ Agent spawn failed with exit code: $EXIT_CODE" >&2
190
- echo "[Validator] [$TIMESTAMP] Agent STDOUT (length: ${#AGENT_OUTPUT}):" >&2
191
- echo "$AGENT_OUTPUT" >&2
192
- echo "[Validator] [$TIMESTAMP] Agent STDERR (length: ${#AGENT_STDERR}):" >&2
193
- echo "$AGENT_STDERR" >&2
194
- echo "[Validator] [$TIMESTAMP] Context used (first 200 chars): ${SANITIZED_CONTEXT:0:200}..." >&2
195
- fi
196
-
197
- # Cleanup temp files
198
- rm -f "$SPAWN_TMP_OUT" "$SPAWN_TMP_ERR"
199
-
200
- # Log successful spawn
201
- if [ $EXIT_CODE -eq 0 ]; then
202
- TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
203
- echo "[Validator] [$TIMESTAMP] Agent spawn successful (output length: ${#AGENT_OUTPUT} chars)" >&2
204
- fi
205
-
206
- # Parse confidence using multi-pattern detection
207
- CONFIDENCE=$("$SCRIPT_DIR/parse-feedback.sh" --extract-confidence "$AGENT_OUTPUT" 2>/dev/null || echo "0.0")
208
-
209
- # BUG #27 FIX: Enhanced confidence validation
210
- CONFIDENCE_SOURCE="unknown"
211
- if [ -z "$CONFIDENCE" ] || [ "$CONFIDENCE" = "null" ] || (( $(echo "$CONFIDENCE == 0.0" | bc -l) )); then
212
- CONFIDENCE=0.70
213
- CONFIDENCE_SOURCE="default-fallback"
214
- echo "[Validator] WARNING: No confidence found in output, using default 0.70" >&2
215
- elif (( $(echo "$CONFIDENCE == 0.70" | bc -l) )); then
216
- # Check if this is explicit 0.70 or default
217
- if echo "$AGENT_OUTPUT" | grep -qE "confidence:?\s*0?\.70"; then
218
- CONFIDENCE_SOURCE="explicit-0.70"
219
- else
220
- CONFIDENCE_SOURCE="default-fallback"
221
- echo "[Validator] WARNING: Confidence defaulted to 0.70 (no explicit score found)" >&2
222
- fi
223
- else
224
- CONFIDENCE_SOURCE="explicit"
225
- fi
226
-
227
- # Parse feedback from output
228
- FEEDBACK_RAW=$("$SCRIPT_DIR/parse-feedback.sh" --extract-feedback "$AGENT_OUTPUT" 2>/dev/null || echo '{"critical":[],"warnings":[],"suggestions":[]}')
229
-
230
- # Ensure feedback is valid JSON
231
- if ! echo "$FEEDBACK_RAW" | jq empty 2>/dev/null; then
232
- echo "[Validator] WARNING: Invalid feedback JSON, using default" >&2
233
- FEEDBACK_RAW='{"critical":[],"warnings":[],"suggestions":[]}'
234
- fi
235
-
236
- # BUG #27 FIX: Count feedback items
237
- CRITICAL_COUNT=$(echo "$FEEDBACK_RAW" | jq '.critical | length')
238
- WARNING_COUNT=$(echo "$FEEDBACK_RAW" | jq '.warnings | length')
239
- SUGGESTION_COUNT=$(echo "$FEEDBACK_RAW" | jq '.suggestions | length')
240
- TOTAL_FEEDBACK=$((CRITICAL_COUNT + WARNING_COUNT + SUGGESTION_COUNT))
241
-
242
- # BUG #27 FIX: Detect default output pattern (0.70 confidence + zero feedback)
243
- if (( $(echo "$CONFIDENCE == 0.70" | bc -l) )) && [ "$TOTAL_FEEDBACK" -eq 0 ]; then
244
- echo "[Validator] ⚠️ WARNING: Validator produced default output (0.70 confidence, 0 feedback items)" >&2
245
- echo "[Validator] This may indicate the validator didn't properly analyze the code" >&2
246
- VALIDATION_WARNING="default-output-detected"
247
- else
248
- VALIDATION_WARNING="none"
249
- fi
250
-
251
- # BUG #27 FIX: If feedback exists but confidence is default, log warning
252
- if [ "$TOTAL_FEEDBACK" -gt 0 ] && (( $(echo "$CONFIDENCE == 0.70" | bc -l) )) && [ "$CONFIDENCE_SOURCE" = "default-fallback" ]; then
253
- echo "[Validator] ⚠️ WARNING: Feedback found ($TOTAL_FEEDBACK items) but confidence defaulted to 0.70" >&2
254
- echo "[Validator] Validator may not be using structured output format" >&2
255
- fi
256
-
257
- # Build output JSON with enhanced metadata
258
- cat <<EOF
259
- {
260
- "agent_id": "$AGENT_ID",
261
- "agent_type": "$AGENT_TYPE",
262
- "confidence": $CONFIDENCE,
263
- "confidence_source": "$CONFIDENCE_SOURCE",
264
- "feedback": $FEEDBACK_RAW,
265
- "feedback_counts": {
266
- "critical": $CRITICAL_COUNT,
267
- "warnings": $WARNING_COUNT,
268
- "suggestions": $SUGGESTION_COUNT,
269
- "total": $TOTAL_FEEDBACK
270
- },
271
- "validation_warning": "$VALIDATION_WARNING",
272
- "iteration": $ITERATION,
273
- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
274
- }
275
- EOF
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+
4
+ # Loop 2 Output Processing: Enhanced Validator Output Processing
5
+ # BUG #27 FIX: Enforce structured output template and reject defaults
6
+ # BUG #30 FIX: Add context sanitization and environment validation
7
+
8
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
+
10
+ # Parse arguments (SAME AS execute-and-extract.sh)
11
+ AGENT_TYPE=""
12
+ TASK_ID=""
13
+ AGENT_ID=""
14
+ CONTEXT=""
15
+ ITERATION=1
16
+ TIMEOUT=900
17
+
18
+ while [[ $# -gt 0 ]]; do
19
+ case $1 in
20
+ --agent-type) AGENT_TYPE="$2"; shift 2 ;;
21
+ --task-id) TASK_ID="$2"; shift 2 ;;
22
+ --agent-id) AGENT_ID="$2"; shift 2 ;;
23
+ --context) CONTEXT="$2"; shift 2 ;;
24
+ --iteration) ITERATION="$2"; shift 2 ;;
25
+ --timeout) TIMEOUT="$2"; shift 2 ;;
26
+ *) echo "ERROR: Unknown parameter: $1" >&2; exit 1 ;;
27
+ esac
28
+ done
29
+
30
+ # Validate required parameters
31
+ if [ -z "$AGENT_TYPE" ] || [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ] || [ -z "$CONTEXT" ]; then
32
+ echo "ERROR: Missing required parameters" >&2
33
+ echo "Usage: $0 --agent-type TYPE --task-id ID --agent-id ID --context CONTEXT [--iteration N] [--timeout SECONDS]" >&2
34
+ exit 1
35
+ fi
36
+
37
+ # BUG #30 FIX: Context sanitization function
38
+ # Sanitizes context by removing dangerous characters and validating JSON structure
39
+ validate_and_sanitize_context() {
40
+ local context="$1"
41
+ local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
42
+
43
+ echo "[Validator] [$timestamp] Sanitizing context (length: ${#context} chars)" >&2
44
+ echo "[Validator] [$timestamp] Context preview: ${context:0:100}..." >&2
45
+
46
+ # Strip dangerous characters: null bytes, backticks, $, backslash
47
+ # Also strip control characters and other special chars that can break shell parsing
48
+ local sanitized=$(echo "$context" | tr -d '\0' | sed 's/[`$\\]//g' | sed 's/[[:cntrl:]]/ /g')
49
+
50
+ # Log sanitization results
51
+ local removed_chars=$((${#context} - ${#sanitized}))
52
+ if [ "$removed_chars" -gt 0 ]; then
53
+ echo "[Validator] [$timestamp] Sanitized context: removed $removed_chars dangerous characters" >&2
54
+ else
55
+ echo "[Validator] [$timestamp] No dangerous characters found in context" >&2
56
+ fi
57
+
58
+ # Validate that context is not empty after sanitization
59
+ if [ -z "$sanitized" ]; then
60
+ echo "ERROR: Context became empty after sanitization" >&2
61
+ return 1
62
+ fi
63
+
64
+ echo "$sanitized"
65
+ }
66
+
67
+ # BUG #30 FIX: Environment validation function
68
+ # Validates that required environment variables exist before spawning agents
69
+ validate_environment() {
70
+ local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
71
+ local missing_vars=()
72
+
73
+ echo "[Validator] [$timestamp] Validating environment variables" >&2
74
+
75
+ # Check required variables
76
+ if [ -z "${REDIS_HOST:-}" ]; then
77
+ missing_vars+=("REDIS_HOST")
78
+ fi
79
+
80
+ if [ -z "${HOME:-}" ]; then
81
+ missing_vars+=("HOME")
82
+ fi
83
+
84
+ if [ -z "${PATH:-}" ]; then
85
+ missing_vars+=("PATH")
86
+ fi
87
+
88
+ # Log validation results
89
+ if [ ${#missing_vars[@]} -gt 0 ]; then
90
+ echo "ERROR: Missing required environment variables: ${missing_vars[*]}" >&2
91
+ echo "[Validator] [$timestamp] Current environment state:" >&2
92
+ echo "[Validator] REDIS_HOST=${REDIS_HOST:-<not set>}" >&2
93
+ echo "[Validator] HOME=${HOME:-<not set>}" >&2
94
+ echo "[Validator] PATH=${PATH:-<not set>}" >&2
95
+ return 1
96
+ fi
97
+
98
+ echo "[Validator] [$timestamp] Environment validation passed" >&2
99
+ echo "[Validator] REDIS_HOST=${REDIS_HOST}" >&2
100
+ echo "[Validator] HOME=${HOME}" >&2
101
+ echo "[Validator] PATH=${PATH:0:100}..." >&2
102
+
103
+ return 0
104
+ }
105
+
106
+ # BUG #27 FIX: Add structured output template to context
107
+ ENHANCED_CONTEXT="$CONTEXT
108
+
109
+ **REQUIRED OUTPUT FORMAT:**
110
+
111
+ You MUST structure your validation output as follows:
112
+
113
+ ## Validation Confidence: [0.00-1.00]
114
+
115
+ ### CRITICAL Issues
116
+ - [List any critical issues that must be fixed]
117
+ - [Use bullet points with dash prefix]
118
+
119
+ ### WARNING Issues
120
+ - [List warnings that should be addressed]
121
+ - [Each on a new line with dash prefix]
122
+
123
+ ### SUGGESTION Items
124
+ - [List improvement suggestions]
125
+ - [Optional enhancements]
126
+
127
+ **Example:**
128
+ ## Validation Confidence: 0.87
129
+
130
+ ### CRITICAL Issues
131
+ - Missing error handling in invoke-gate-ack.sh:88
132
+ - Security vulnerability in input validation
133
+
134
+ ### WARNING Issues
135
+ - Inconsistent naming convention in test file
136
+ - Missing JSDoc comments
137
+
138
+ ### SUGGESTION Items
139
+ - Consider adding retry backoff strategy
140
+ - Could use Promise.all for parallel operations
141
+
142
+ **Important:**
143
+ - Confidence MUST be explicit numeric value (0.00-1.00)
144
+ - Categorize ALL feedback items by severity
145
+ - If no issues found, state \"No issues found\" under each category
146
+ - Do NOT use default confidence scores without justification
147
+ "
148
+
149
+ # BUG #30 FIX: Validate environment before spawning
150
+ if ! validate_environment; then
151
+ echo "ERROR: Environment validation failed, cannot spawn validator agent" >&2
152
+ exit 1
153
+ fi
154
+
155
+ # BUG #30 FIX: Sanitize context before passing to agent
156
+ SANITIZED_CONTEXT=$(validate_and_sanitize_context "$ENHANCED_CONTEXT")
157
+ if [ $? -ne 0 ]; then
158
+ echo "ERROR: Context sanitization failed" >&2
159
+ exit 1
160
+ fi
161
+
162
+ # BUG #30 FIX: Enhanced agent spawning with controlled environment and error capture
163
+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
164
+ echo "[Validator] [$TIMESTAMP] Spawning $AGENT_TYPE with sanitized context" >&2
165
+ echo "[Validator] [$TIMESTAMP] Sanitized context length: ${#SANITIZED_CONTEXT} chars" >&2
166
+
167
+ # Capture both stdout and stderr separately, plus exit code
168
+ SPAWN_TMP_OUT=$(mktemp)
169
+ SPAWN_TMP_ERR=$(mktemp)
170
+ EXIT_CODE=0
171
+
172
+ # Use env -i for controlled environment with explicit variable passing
173
+ env -i \
174
+ HOME="$HOME" \
175
+ PATH="$PATH" \
176
+ REDIS_HOST="$REDIS_HOST" \
177
+ timeout "$TIMEOUT" npx claude-flow-novice agent "$AGENT_TYPE" \
178
+ --task-id "$TASK_ID" \
179
+ --agent-id "$AGENT_ID" \
180
+ --context "$SANITIZED_CONTEXT" \
181
+ > "$SPAWN_TMP_OUT" 2> "$SPAWN_TMP_ERR" || EXIT_CODE=$?
182
+
183
+ AGENT_OUTPUT=$(cat "$SPAWN_TMP_OUT")
184
+ AGENT_STDERR=$(cat "$SPAWN_TMP_ERR")
185
+
186
+ # BUG #30 FIX: Enhanced error logging on spawn failure
187
+ if [ $EXIT_CODE -ne 0 ]; then
188
+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
189
+ echo "[Validator] [$TIMESTAMP] ⚠️ Agent spawn failed with exit code: $EXIT_CODE" >&2
190
+ echo "[Validator] [$TIMESTAMP] Agent STDOUT (length: ${#AGENT_OUTPUT}):" >&2
191
+ echo "$AGENT_OUTPUT" >&2
192
+ echo "[Validator] [$TIMESTAMP] Agent STDERR (length: ${#AGENT_STDERR}):" >&2
193
+ echo "$AGENT_STDERR" >&2
194
+ echo "[Validator] [$TIMESTAMP] Context used (first 200 chars): ${SANITIZED_CONTEXT:0:200}..." >&2
195
+ fi
196
+
197
+ # Cleanup temp files
198
+ rm -f "$SPAWN_TMP_OUT" "$SPAWN_TMP_ERR"
199
+
200
+ # Log successful spawn
201
+ if [ $EXIT_CODE -eq 0 ]; then
202
+ TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
203
+ echo "[Validator] [$TIMESTAMP] Agent spawn successful (output length: ${#AGENT_OUTPUT} chars)" >&2
204
+ fi
205
+
206
+ # Parse confidence using multi-pattern detection
207
+ CONFIDENCE=$("$SCRIPT_DIR/parse-feedback.sh" --extract-confidence "$AGENT_OUTPUT" 2>/dev/null || echo "0.0")
208
+
209
+ # BUG #27 FIX: Enhanced confidence validation
210
+ CONFIDENCE_SOURCE="unknown"
211
+ if [ -z "$CONFIDENCE" ] || [ "$CONFIDENCE" = "null" ] || (( $(echo "$CONFIDENCE == 0.0" | bc -l) )); then
212
+ CONFIDENCE=0.70
213
+ CONFIDENCE_SOURCE="default-fallback"
214
+ echo "[Validator] WARNING: No confidence found in output, using default 0.70" >&2
215
+ elif (( $(echo "$CONFIDENCE == 0.70" | bc -l) )); then
216
+ # Check if this is explicit 0.70 or default
217
+ if echo "$AGENT_OUTPUT" | grep -qE "confidence:?\s*0?\.70"; then
218
+ CONFIDENCE_SOURCE="explicit-0.70"
219
+ else
220
+ CONFIDENCE_SOURCE="default-fallback"
221
+ echo "[Validator] WARNING: Confidence defaulted to 0.70 (no explicit score found)" >&2
222
+ fi
223
+ else
224
+ CONFIDENCE_SOURCE="explicit"
225
+ fi
226
+
227
+ # Parse feedback from output
228
+ FEEDBACK_RAW=$("$SCRIPT_DIR/parse-feedback.sh" --extract-feedback "$AGENT_OUTPUT" 2>/dev/null || echo '{"critical":[],"warnings":[],"suggestions":[]}')
229
+
230
+ # Ensure feedback is valid JSON
231
+ if ! echo "$FEEDBACK_RAW" | jq empty 2>/dev/null; then
232
+ echo "[Validator] WARNING: Invalid feedback JSON, using default" >&2
233
+ FEEDBACK_RAW='{"critical":[],"warnings":[],"suggestions":[]}'
234
+ fi
235
+
236
+ # BUG #27 FIX: Count feedback items
237
+ CRITICAL_COUNT=$(echo "$FEEDBACK_RAW" | jq '.critical | length')
238
+ WARNING_COUNT=$(echo "$FEEDBACK_RAW" | jq '.warnings | length')
239
+ SUGGESTION_COUNT=$(echo "$FEEDBACK_RAW" | jq '.suggestions | length')
240
+ TOTAL_FEEDBACK=$((CRITICAL_COUNT + WARNING_COUNT + SUGGESTION_COUNT))
241
+
242
+ # BUG #27 FIX: Detect default output pattern (0.70 confidence + zero feedback)
243
+ if (( $(echo "$CONFIDENCE == 0.70" | bc -l) )) && [ "$TOTAL_FEEDBACK" -eq 0 ]; then
244
+ echo "[Validator] ⚠️ WARNING: Validator produced default output (0.70 confidence, 0 feedback items)" >&2
245
+ echo "[Validator] This may indicate the validator didn't properly analyze the code" >&2
246
+ VALIDATION_WARNING="default-output-detected"
247
+ else
248
+ VALIDATION_WARNING="none"
249
+ fi
250
+
251
+ # BUG #27 FIX: If feedback exists but confidence is default, log warning
252
+ if [ "$TOTAL_FEEDBACK" -gt 0 ] && (( $(echo "$CONFIDENCE == 0.70" | bc -l) )) && [ "$CONFIDENCE_SOURCE" = "default-fallback" ]; then
253
+ echo "[Validator] ⚠️ WARNING: Feedback found ($TOTAL_FEEDBACK items) but confidence defaulted to 0.70" >&2
254
+ echo "[Validator] Validator may not be using structured output format" >&2
255
+ fi
256
+
257
+ # Build output JSON with enhanced metadata
258
+ cat <<EOF
259
+ {
260
+ "agent_id": "$AGENT_ID",
261
+ "agent_type": "$AGENT_TYPE",
262
+ "confidence": $CONFIDENCE,
263
+ "confidence_source": "$CONFIDENCE_SOURCE",
264
+ "feedback": $FEEDBACK_RAW,
265
+ "feedback_counts": {
266
+ "critical": $CRITICAL_COUNT,
267
+ "warnings": $WARNING_COUNT,
268
+ "suggestions": $SUGGESTION_COUNT,
269
+ "total": $TOTAL_FEEDBACK
270
+ },
271
+ "validation_warning": "$VALIDATION_WARNING",
272
+ "iteration": $ITERATION,
273
+ "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
274
+ }
275
+ EOF