claude-flow-novice 2.18.6 → 2.18.8

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 (1000) hide show
  1. package/.claude/hooks/SKILL.md +471 -471
  2. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -40
  3. package/.claude/hooks/{subagent-start.sh → cfn-subagent-start.sh} +1 -1
  4. package/.claude/hooks/{subagent-stop.sh → cfn-subagent-stop.sh} +37 -1
  5. package/.claude/settings.json +5 -5
  6. package/.claude/skills/cfn-agent-selector +1 -0
  7. package/.claude/skills/cfn-agent-spawning +1 -0
  8. package/.claude/skills/cfn-cerebras-code-generator/context-analyzer.sh +95 -95
  9. package/.claude/skills/cfn-cerebras-code-generator/generate-code.sh +204 -204
  10. package/.claude/skills/cfn-cerebras-coordinator/coordinate-generation.sh +380 -380
  11. package/.claude/skills/cfn-cerebras-coordinator/feedback-logger.sh +253 -253
  12. package/.claude/skills/cfn-cerebras-coordinator/fix-existing-code-v2.sh +442 -442
  13. package/.claude/skills/cfn-cerebras-coordinator/query-patterns.sh +181 -181
  14. package/.claude/skills/cfn-cerebras-coordinator/tdd-coordinator.sh +637 -637
  15. package/.claude/skills/cfn-cerebras-coordinator/test-runner.sh +334 -334
  16. package/.claude/skills/cfn-docker-wave-execution +1 -0
  17. package/.claude/skills/cfn-hybrid-routing +1 -0
  18. package/.claude/skills/cfn-local-ruvector-accelerator/AGENT_LIFECYCLE_INTEGRATION.md +341 -0
  19. package/.claude/skills/cfn-local-ruvector-accelerator/analyze-agent-failures.sh +275 -0
  20. package/.claude/skills/cfn-local-ruvector-accelerator/cfn-integration.sh +178 -178
  21. package/.claude/skills/cfn-local-ruvector-accelerator/ingest-agent-transcript.sh +255 -0
  22. package/.claude/skills/cfn-local-ruvector-accelerator/query-agent-patterns.sh +197 -0
  23. package/.claude/skills/cfn-local-ruvector-accelerator/test-agent-lifecycle-integration.sh +254 -0
  24. package/.claude/skills/cfn-loop-orchestration +1 -0
  25. package/.claude/skills/cfn-mdap-context-injection/SKILL.md +2 -9
  26. package/.claude/skills/cfn-mdap-context-injection/inject.sh +39 -39
  27. package/.claude/skills/cfn-provider-routing +1 -0
  28. package/.claude/skills/cfn-redis-coordination +1 -0
  29. package/package.json +43 -39
  30. package/readme/COMPONENT_NPM_STATUS.md +1 -1
  31. package/readme/installation-process.md +1 -1
  32. package/scripts/{init-project.js → cfn-init.js} +23 -101
  33. package/scripts/postinstall.js +144 -0
  34. package/trigger.config.ts +9 -0
  35. package/.claude/.cfn-initialized +0 -1
  36. package/.claude/hooks/SKILL.md.backup +0 -471
  37. package/.claude/hooks/cfn-post-execution/memory-cleanup.sh +0 -20
  38. package/.claude/hooks/cfn-pre-execution/SESSION_START_README.md +0 -87
  39. package/.claude/hooks/cfn-pre-execution/TEST_SESSION_START.md +0 -128
  40. package/.claude/hooks/cfn-pre-execution/memory-check.sh +0 -20
  41. package/.claude/hooks/cfn-pre-execution/session-start-context.sh +0 -111
  42. package/.claude/skills/cfn-docker-runtime/lib/coordination/README.md +0 -349
  43. package/.claude/skills/cfn-docker-runtime/lib/coordination/docker-helpers.sh +0 -433
  44. package/.claude/skills/cfn-docker-runtime/lib/coordination/package.json +0 -38
  45. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/agent-container.ts +0 -471
  46. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/docker-client.ts +0 -483
  47. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/health-checker.ts +0 -418
  48. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/index.ts +0 -45
  49. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/network-manager.ts +0 -377
  50. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/types.ts +0 -412
  51. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/volume-manager.ts +0 -389
  52. package/.claude/skills/cfn-edit-safety/lib/backup/SKILL.md.backup +0 -277
  53. package/.claude/skills/cfn-edit-safety/lib/backup/backup.sh.backup +0 -107
  54. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/agent-completion.sh.backup +0 -36
  55. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-patterns.ts +0 -194
  56. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-signal.sh.backup +0 -36
  57. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-wait.sh.backup +0 -36
  58. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/index.ts +0 -25
  59. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md.backup +0 -353
  60. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh.backup +0 -31
  61. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh.backup +0 -37
  62. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh.backup +0 -252
  63. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh.backup +0 -37
  64. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh.backup +0 -41
  65. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh.backup +0 -134
  66. package/.claude/skills/cfn-memory-persistence/lib/redis/agent-log.sh.backup +0 -128
  67. package/.claude/skills/cfn-memory-persistence/lib/redis/agent-recovery.sh.backup +0 -75
  68. package/.claude/skills/cfn-memory-persistence/lib/redis/analyze-task-complexity.sh.backup +0 -277
  69. package/.claude/skills/cfn-memory-persistence/lib/redis/bash-wrappers/store-context.sh.backup +0 -23
  70. package/.claude/skills/cfn-memory-persistence/lib/redis/cancel-swarm.sh.backup +0 -221
  71. package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-exec.sh.backup +0 -468
  72. package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-relaunch.sh.backup +0 -29
  73. package/.claude/skills/cfn-memory-persistence/lib/redis/collect-confidence-scores.sh.backup +0 -209
  74. package/.claude/skills/cfn-memory-persistence/lib/redis/collect-results.sh.backup +0 -75
  75. package/.claude/skills/cfn-memory-persistence/lib/redis/complete-swarm.sh.backup +0 -75
  76. package/.claude/skills/cfn-memory-persistence/lib/redis/get-context.sh.backup +0 -146
  77. package/.claude/skills/cfn-memory-persistence/lib/redis/get-success-criteria.sh.backup +0 -54
  78. package/.claude/skills/cfn-memory-persistence/lib/redis/invoke-waiting-mode.sh.backup +0 -225
  79. package/.claude/skills/cfn-memory-persistence/lib/redis/redis-cli-wrapper.sh.backup +0 -43
  80. package/.claude/skills/cfn-memory-persistence/lib/redis/redis-functions.sh.backup +0 -34
  81. package/.claude/skills/cfn-memory-persistence/lib/redis/report-completion.sh.backup +0 -134
  82. package/.claude/skills/cfn-memory-persistence/lib/redis/store-context.sh.backup +0 -123
  83. package/.claude/skills/cfn-transparency-middleware/src/lib.rs.backup +0 -388
  84. package/claude-assets/agents/AGENT_LIFECYCLE.md +0 -532
  85. package/claude-assets/agents/README-AGENT_LIFECYCLE.md +0 -522
  86. package/claude-assets/agents/README-VALIDATION.md +0 -243
  87. package/claude-assets/agents/SHARED_PROTOCOL.md +0 -64
  88. package/claude-assets/agents/cfn-dev-team/CLAUDE.md +0 -1000
  89. package/claude-assets/agents/cfn-dev-team/README.md +0 -219
  90. package/claude-assets/agents/cfn-dev-team/analysts/analyst.md +0 -113
  91. package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +0 -257
  92. package/claude-assets/agents/cfn-dev-team/architecture/api-designer-persona.md +0 -145
  93. package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +0 -150
  94. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +0 -173
  95. package/claude-assets/agents/cfn-dev-team/architecture/planner.md +0 -132
  96. package/claude-assets/agents/cfn-dev-team/architecture/system-architect.md +0 -125
  97. package/claude-assets/agents/cfn-dev-team/coordinators/README.md +0 -42
  98. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +0 -886
  99. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +0 -473
  100. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +0 -740
  101. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +0 -503
  102. package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +0 -150
  103. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +0 -664
  104. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +0 -116
  105. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +0 -617
  106. package/claude-assets/agents/cfn-dev-team/developers/README.md +0 -69
  107. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +0 -970
  108. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +0 -192
  109. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +0 -665
  110. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +0 -369
  111. package/claude-assets/agents/cfn-dev-team/developers/database/supabase-specialist.md +0 -739
  112. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +0 -240
  113. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +0 -256
  114. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +0 -389
  115. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +0 -214
  116. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +0 -700
  117. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +0 -221
  118. package/claude-assets/agents/cfn-dev-team/documentation/README-VALIDATION.md +0 -245
  119. package/claude-assets/agents/cfn-dev-team/documentation/agent-type-guidelines.md +0 -469
  120. package/claude-assets/agents/cfn-dev-team/documentation/api-documentation.md +0 -104
  121. package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +0 -137
  122. package/claude-assets/agents/cfn-dev-team/documentation/specification-agent.md +0 -145
  123. package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +0 -112
  124. package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +0 -131
  125. package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +0 -144
  126. package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +0 -476
  127. package/claude-assets/agents/cfn-dev-team/reviewers/README.md +0 -58
  128. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +0 -287
  129. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +0 -213
  130. package/claude-assets/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +0 -327
  131. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +0 -250
  132. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +0 -153
  133. package/claude-assets/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +0 -379
  134. package/claude-assets/agents/cfn-dev-team/testers/README.md +0 -94
  135. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +0 -750
  136. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +0 -937
  137. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +0 -680
  138. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +0 -117
  139. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +0 -778
  140. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +0 -181
  141. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +0 -498
  142. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +0 -636
  143. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +0 -246
  144. package/claude-assets/agents/cfn-dev-team/testers/tester.md +0 -208
  145. package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +0 -30
  146. package/claude-assets/agents/cfn-dev-team/testers/validation/validation-production-validator.md +0 -20
  147. package/claude-assets/agents/cfn-dev-team/testing/test-validation-agent.md +0 -273
  148. package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +0 -480
  149. package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +0 -62
  150. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +0 -132
  151. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +0 -170
  152. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +0 -109
  153. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +0 -211
  154. package/claude-assets/agents/csuite/cto-agent.md +0 -371
  155. package/claude-assets/agents/custom/cfn-docker-expert.md +0 -104
  156. package/claude-assets/agents/custom/cfn-loops-cli-expert.md +0 -455
  157. package/claude-assets/agents/custom/cfn-redis-operations.md +0 -531
  158. package/claude-assets/agents/custom/cfn-system-expert.md +0 -337
  159. package/claude-assets/agents/custom/claude-code-expert.md +0 -291
  160. package/claude-assets/agents/custom/mdap-trigger-specialist.md +0 -437
  161. package/claude-assets/agents/custom/trigger-dev-expert.md +0 -370
  162. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +0 -1094
  163. package/claude-assets/agents/docker-ts-fixer.md +0 -58
  164. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +0 -327
  165. package/claude-assets/agents/validate-agent.js +0 -841
  166. package/claude-assets/cfn-extras/.gs-api-quota.json +0 -16
  167. package/claude-assets/cfn-extras/.gs-progress-state.json +0 -22
  168. package/claude-assets/cfn-extras/agents/cfn-coordinator-enterprise.md +0 -1303
  169. package/claude-assets/cfn-extras/agents/cfn-coordinator-mvp.md +0 -942
  170. package/claude-assets/cfn-extras/agents/cfn-coordinator-standard.md +0 -1062
  171. package/claude-assets/cfn-extras/agents/cfn-loop-coordinator.md +0 -157
  172. package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +0 -517
  173. package/claude-assets/cfn-extras/agents/code-booster.md +0 -67
  174. package/claude-assets/cfn-extras/agents/coordinator.md +0 -182
  175. package/claude-assets/cfn-extras/agents/cost-savings-cfn-loop-coordinator.md +0 -760
  176. package/claude-assets/cfn-extras/agents/cost-savings-coordinator.md +0 -173
  177. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator-enhanced.md +0 -147
  178. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md +0 -162
  179. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md +0 -729
  180. package/claude-assets/cfn-extras/agents/deprecated-coordinators/byzantine-coordinator.md +0 -100
  181. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-enterprise.md +0 -323
  182. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-mvp.md +0 -157
  183. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-standard.md +0 -229
  184. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-unified.md +0 -149
  185. package/claude-assets/cfn-extras/agents/deprecated-coordinators/coordinator-hybrid.md +0 -231
  186. package/claude-assets/cfn-extras/agents/deprecated-coordinators/gossip-coordinator.md +0 -165
  187. package/claude-assets/cfn-extras/agents/deprecated-coordinators/hierarchical-coordinator.md +0 -95
  188. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md +0 -132
  189. package/claude-assets/cfn-extras/agents/deprecated-coordinators/task-coordinator.md +0 -109
  190. package/claude-assets/cfn-extras/agents/deprecated-coordinators/test-coordinator.md +0 -142
  191. package/claude-assets/cfn-extras/agents/docker-team/csuite/c-suite-template.md +0 -529
  192. package/claude-assets/cfn-extras/agents/docker-team/infrastructure/team-coordinator-template.md +0 -467
  193. package/claude-assets/cfn-extras/agents/docker-team/micro-sprint-planner.md +0 -747
  194. package/claude-assets/cfn-extras/agents/google-sheets/README.md +0 -114
  195. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +0 -288
  196. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +0 -127
  197. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +0 -195
  198. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +0 -179
  199. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +0 -240
  200. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +0 -214
  201. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +0 -127
  202. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +0 -177
  203. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +0 -119
  204. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +0 -135
  205. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +0 -109
  206. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +0 -127
  207. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +0 -138
  208. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +0 -128
  209. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-generalist.md +0 -645
  210. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +0 -258
  211. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +0 -125
  212. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +0 -211
  213. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +0 -130
  214. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +0 -259
  215. package/claude-assets/cfn-extras/agents/google-sheets-specialist.md +0 -614
  216. package/claude-assets/cfn-extras/commands/deprecated/CFN_EXPERT_UPDATE.md +0 -142
  217. package/claude-assets/cfn-extras/commands/deprecated/README.md +0 -55
  218. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-epic.md +0 -478
  219. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-single.md +0 -256
  220. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-sprints.md +0 -396
  221. package/claude-assets/cfn-extras/commands/deprecated/context-curate.md +0 -200
  222. package/claude-assets/cfn-extras/commands/deprecated/context-inject.md +0 -251
  223. package/claude-assets/cfn-extras/commands/deprecated/context-query.md +0 -210
  224. package/claude-assets/cfn-extras/commands/deprecated/context-stats.md +0 -269
  225. package/claude-assets/cfn-extras/commands/deprecated/cost-savings-off.md +0 -35
  226. package/claude-assets/cfn-extras/commands/deprecated/cost-savings-on.md +0 -35
  227. package/claude-assets/cfn-extras/commands/deprecated/custom-routing-activate.md +0 -55
  228. package/claude-assets/cfn-extras/commands/deprecated/custom-routing-deactivate.md +0 -46
  229. package/claude-assets/cfn-extras/commands/deprecated/github-commit.md +0 -289
  230. package/claude-assets/cfn-extras/commands/deprecated/parse-epic.md +0 -357
  231. package/claude-assets/cfn-extras/commands/deprecated/suggest-improvements.md +0 -95
  232. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +0 -619
  233. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +0 -453
  234. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/SKILL.md +0 -36
  235. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +0 -60
  236. package/claude-assets/cfn-extras/skills/advanced-features/cfn-api-validation/test-endpoints.sh +0 -54
  237. package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/SKILL.md +0 -75
  238. package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/prune-context.sh +0 -73
  239. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/README.md +0 -299
  240. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/SKILL.md +0 -412
  241. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/config.json +0 -111
  242. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/eventbus-wrapper.cjs +0 -69
  243. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-publish.sh +0 -147
  244. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-subscribe.sh +0 -171
  245. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-lifecycle-track.sh +0 -201
  246. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/test-event-bus.sh +0 -280
  247. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/README.md +0 -74
  248. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/SKILL.md +0 -412
  249. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/config.json +0 -60
  250. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-allocate.sh +0 -182
  251. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-balance.sh +0 -239
  252. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-metrics.sh +0 -193
  253. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-register.sh +0 -124
  254. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/test-fleet-manager.sh +0 -345
  255. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/cli-coordination.sh +0 -519
  256. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/mode-detection.sh +0 -326
  257. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-sanitize/task-mode-env-sanitizer.sh +0 -267
  258. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/SKILL.md +0 -40
  259. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-clean.json +0 -0
  260. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-fixed.json +0 -19
  261. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry.json +0 -719
  262. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.py +0 -184
  263. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.sh +0 -87
  264. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/invoke-registry.sh +0 -11
  265. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/temp_script.py +0 -0
  266. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-selector/SKILL.md +0 -91
  267. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-selector/select-agents.sh +0 -112
  268. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +0 -192
  269. package/claude-assets/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/DESIGN.md +0 -98
  270. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +0 -272
  271. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +0 -254
  272. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/test.sh +0 -174
  273. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +0 -98
  274. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/SKILL.md +0 -269
  275. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/decompose.sh +0 -313
  276. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +0 -237
  277. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +0 -220
  278. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/test.sh +0 -172
  279. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/validate.sh +0 -98
  280. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +0 -287
  281. package/claude-assets/cfn-extras/skills/google-sheets-progress/test.sh +0 -385
  282. package/claude-assets/cfn-extras/skills/google-sheets-progress/track-progress.sh +0 -516
  283. package/claude-assets/cfn-extras/skills/google-sheets-progress/validate.sh +0 -119
  284. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +0 -277
  285. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +0 -233
  286. package/claude-assets/cfn-extras/skills/google-sheets-validation/SKILL.md +0 -352
  287. package/claude-assets/cfn-extras/skills/google-sheets-validation/test.sh +0 -355
  288. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate-state.sh +0 -374
  289. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate.sh +0 -128
  290. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/SKILL.md +0 -392
  291. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +0 -231
  292. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +0 -190
  293. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +0 -142
  294. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +0 -181
  295. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +0 -133
  296. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/SKILL.md +0 -124
  297. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-ad-performance.sh +0 -105
  298. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +0 -102
  299. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-email-performance.sh +0 -105
  300. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-social-engagement.sh +0 -105
  301. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-website-traffic.sh +0 -107
  302. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/SKILL.md +0 -340
  303. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +0 -121
  304. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +0 -156
  305. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +0 -181
  306. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +0 -137
  307. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +0 -179
  308. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/SKILL.md +0 -350
  309. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +0 -154
  310. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +0 -173
  311. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +0 -147
  312. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +0 -146
  313. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +0 -167
  314. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/SKILL.md +0 -116
  315. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/add-to-segment.sh +0 -78
  316. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/create-contact.sh +0 -113
  317. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/get-contact.sh +0 -86
  318. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +0 -78
  319. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/update-contact.sh +0 -120
  320. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/SKILL.md +0 -106
  321. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/create-campaign.sh +0 -123
  322. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +0 -66
  323. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/list-templates.sh +0 -68
  324. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +0 -85
  325. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/send-test-email.sh +0 -81
  326. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/SKILL.md +0 -366
  327. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-ab-test.sh +0 -231
  328. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-landing-page.sh +0 -190
  329. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/get-page-performance.sh +0 -137
  330. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/publish-page.sh +0 -120
  331. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/unpublish-page.sh +0 -108
  332. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/SKILL.md +0 -202
  333. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +0 -104
  334. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/export-report.sh +0 -92
  335. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +0 -85
  336. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/search-mentions.sh +0 -86
  337. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/SKILL.md +0 -168
  338. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/search-journalists.sh +0 -74
  339. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/send-pitch.sh +0 -80
  340. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/submit-haro-response.sh +0 -88
  341. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +0 -66
  342. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/SKILL.md +0 -159
  343. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/distribute-press-release.sh +0 -94
  344. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-distribution-status.sh +0 -59
  345. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +0 -72
  346. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/list-templates.sh +0 -53
  347. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/SKILL.md +0 -429
  348. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +0 -183
  349. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +0 -139
  350. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +0 -150
  351. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +0 -187
  352. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +0 -181
  353. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/SKILL.md +0 -108
  354. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/create-post.sh +0 -104
  355. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/delete-post.sh +0 -76
  356. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/get-post-stats.sh +0 -66
  357. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/schedule-post.sh +0 -85
  358. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/upload-media.sh +0 -88
  359. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/DESIGN.md +0 -117
  360. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/SKILL.md +0 -679
  361. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-agents.sh +0 -129
  362. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-dashboard.sh +0 -85
  363. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-events.sh +0 -125
  364. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-metrics.sh +0 -112
  365. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-start.sh +0 -135
  366. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-stop.sh +0 -121
  367. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +0 -51
  368. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +0 -85
  369. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/SKILL.md +0 -200
  370. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +0 -244
  371. package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/SKILL.md +0 -279
  372. package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/instrument-process.sh +0 -327
  373. package/claude-assets/cfn-extras/workflows/marketing-ad-campaigns.json +0 -125
  374. package/claude-assets/cfn-extras/workflows/marketing-analytics-data.json +0 -93
  375. package/claude-assets/cfn-extras/workflows/marketing-chatbot-conversations.json +0 -89
  376. package/claude-assets/cfn-extras/workflows/marketing-competitive-intel.json +0 -140
  377. package/claude-assets/cfn-extras/workflows/marketing-crm-contacts.json +0 -86
  378. package/claude-assets/cfn-extras/workflows/marketing-email-campaigns.json +0 -86
  379. package/claude-assets/cfn-extras/workflows/marketing-landing-pages.json +0 -137
  380. package/claude-assets/cfn-extras/workflows/marketing-media-outreach.json +0 -211
  381. package/claude-assets/cfn-extras/workflows/marketing-press-distribution.json +0 -224
  382. package/claude-assets/cfn-extras/workflows/marketing-sms-campaigns.json +0 -81
  383. package/claude-assets/cfn-extras/workflows/marketing-social-publishing.json +0 -86
  384. package/claude-assets/commands/README.md +0 -205
  385. package/claude-assets/commands/cfn-docker/CFN_DOCKER_CLI.md +0 -527
  386. package/claude-assets/commands/cfn-docker/CFN_DOCKER_LOOP.md +0 -377
  387. package/claude-assets/commands/cfn-docker/CFN_DOCKER_NATIVE.md +0 -295
  388. package/claude-assets/commands/cfn-docker/CFN_DOCKER_TASK.md +0 -490
  389. package/claude-assets/commands/cfn-loop/CFN_LOOP_FRONTEND.md +0 -741
  390. package/claude-assets/commands/cfn-loop/CFN_LOOP_TASK_MODE.md +0 -608
  391. package/claude-assets/commands/cfn-loop/cfn-loop-cli.md +0 -308
  392. package/claude-assets/commands/cfn-loop/cfn-loop-document.md +0 -499
  393. package/claude-assets/commands/cfn-loop/cfn-loop-trigger.md +0 -132
  394. package/claude-assets/commands/cfn-loop/cfn-mode.md +0 -20
  395. package/claude-assets/commands/cfn-loop/cfn-optimize-agents.md +0 -103
  396. package/claude-assets/commands/cfn-loop/list-agents-rebuild.md +0 -205
  397. package/claude-assets/commands/cfn-ruvector/codebase-reindex.md +0 -37
  398. package/claude-assets/commands/cfn-ruvector/codebase-search.md +0 -38
  399. package/claude-assets/commands/cfn-ruvector/detect-stale-docs.md +0 -41
  400. package/claude-assets/commands/cost-routing/switch-api.md +0 -109
  401. package/claude-assets/commands/deprecated/README.md +0 -24
  402. package/claude-assets/commands/deprecated/github.md +0 -221
  403. package/claude-assets/commands/deprecated/hello-world-tests.md +0 -381
  404. package/claude-assets/commands/deprecated/run-tests.md +0 -119
  405. package/claude-assets/commands/google-sheets/google-sheets-loop.md +0 -289
  406. package/claude-assets/commands/sparc.md +0 -46
  407. package/claude-assets/commands/testing/cfn-docker-core-test-suite.md +0 -326
  408. package/claude-assets/commands/workflow.md +0 -295
  409. package/claude-assets/commands/write-plan.md +0 -275
  410. package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +0 -116
  411. package/claude-assets/hooks/README-GIT-HOOKS.md +0 -443
  412. package/claude-assets/hooks/SKILL.md +0 -518
  413. package/claude-assets/hooks/SKILL.md.backup +0 -471
  414. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +0 -243
  415. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +0 -100
  416. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +0 -78
  417. package/claude-assets/hooks/cfn-invoke-post-edit.sh +0 -135
  418. package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +0 -87
  419. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +0 -116
  420. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +0 -94
  421. package/claude-assets/hooks/cfn-invoke-pre-edit.sh +0 -110
  422. package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +0 -88
  423. package/claude-assets/hooks/cfn-invoke-security-validation.sh +0 -70
  424. package/claude-assets/hooks/cfn-lint-sql-injection.sh +0 -61
  425. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +0 -110
  426. package/claude-assets/hooks/cfn-post-edit.config.json +0 -51
  427. package/claude-assets/hooks/cfn-post-edit.sh +0 -21
  428. package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +0 -20
  429. package/claude-assets/hooks/cfn-pre-edit-backup.sh +0 -71
  430. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +0 -40
  431. package/claude-assets/hooks/cfn-pre-execution/SESSION_START_README.md +0 -87
  432. package/claude-assets/hooks/cfn-pre-execution/TEST_SESSION_START.md +0 -128
  433. package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +0 -20
  434. package/claude-assets/hooks/cfn-pre-execution/session-start-context.sh +0 -111
  435. package/claude-assets/hooks/cfn-restore-from-backup.sh +0 -37
  436. package/claude-assets/hooks/detect-hardcoded-credentials.sh +0 -212
  437. package/claude-assets/hooks/install-git-hooks.sh +0 -243
  438. package/claude-assets/hooks/post-commit-codebase-index +0 -75
  439. package/claude-assets/hooks/subagent-start.sh +0 -98
  440. package/claude-assets/hooks/subagent-stop.sh +0 -93
  441. package/claude-assets/hooks/validators/credential-scanner.sh +0 -172
  442. package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +0 -513
  443. package/claude-assets/skills/SKILL_TEMPLATE.md +0 -774
  444. package/claude-assets/skills/cfn-agent-lifecycle/SKILL.md +0 -290
  445. package/claude-assets/skills/cfn-agent-lifecycle/cli/lifecycle-hook.sh +0 -5
  446. package/claude-assets/skills/cfn-agent-lifecycle/cli/select-agents.sh +0 -5
  447. package/claude-assets/skills/cfn-agent-lifecycle/cli/spawn-agent.sh +0 -5
  448. package/claude-assets/skills/cfn-agent-lifecycle/lib/audit/execute-lifecycle-hook.sh +0 -544
  449. package/claude-assets/skills/cfn-agent-lifecycle/lib/audit/simple-audit.sh +0 -58
  450. package/claude-assets/skills/cfn-agent-lifecycle/lib/output/README.md +0 -359
  451. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/SKILL.md +0 -29
  452. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/agent-mappings.json +0 -142
  453. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/agent-selector.cjs +0 -297
  454. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/agent-selector.js +0 -297
  455. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/cli.cjs +0 -96
  456. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/cli.js +0 -96
  457. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/select-agents-with-fallback.sh +0 -195
  458. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/select-agents.sh +0 -94
  459. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/task-classifier.sh +0 -93
  460. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/SKILL.md +0 -38
  461. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/check-dependencies.sh +0 -52
  462. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/execute-agent.sh +0 -126
  463. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/get-agent-provider-env.sh +0 -149
  464. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/parse-agent-provider.sh +0 -81
  465. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent-wrapper.sh +0 -63
  466. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent.sh +0 -308
  467. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-templates.sh +0 -635
  468. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-worker.sh +0 -198
  469. package/claude-assets/skills/cfn-agent-tooling/SKILL.md +0 -52
  470. package/claude-assets/skills/cfn-agent-tooling/lib/generator/SKILL.md +0 -440
  471. package/claude-assets/skills/cfn-agent-tooling/lib/generator/generate-agent.sh +0 -405
  472. package/claude-assets/skills/cfn-agent-tooling/lib/linter/SKILL.md +0 -589
  473. package/claude-assets/skills/cfn-agent-tooling/lib/linter/lint-agents.sh +0 -271
  474. package/claude-assets/skills/cfn-cerebras-mcp/SKILL.md +0 -58
  475. package/claude-assets/skills/cfn-config/SKILL.md +0 -52
  476. package/claude-assets/skills/cfn-config/lib/management/README.md +0 -42
  477. package/claude-assets/skills/cfn-config/lib/management/SKILL.md +0 -34
  478. package/claude-assets/skills/cfn-config/lib/management/check-dependencies.sh +0 -56
  479. package/claude-assets/skills/cfn-config/lib/management/config.json +0 -32
  480. package/claude-assets/skills/cfn-config/lib/management/manage-config.sh +0 -113
  481. package/claude-assets/skills/cfn-config/lib/sanitization/sanitize-environment.sh +0 -48
  482. package/claude-assets/skills/cfn-conversation-sync/README.md +0 -133
  483. package/claude-assets/skills/cfn-conversation-sync/SKILL.md +0 -82
  484. package/claude-assets/skills/cfn-conversation-sync/sync-conversations.sh +0 -229
  485. package/claude-assets/skills/cfn-dependency-management/SKILL.md +0 -60
  486. package/claude-assets/skills/cfn-dependency-management/lib/extractor/SKILL.md +0 -35
  487. package/claude-assets/skills/cfn-dependency-management/lib/extractor/extract-dependencies.sh +0 -66
  488. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/README.md +0 -101
  489. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/SKILL.md +0 -397
  490. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/build.sh +0 -23
  491. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/dist/ingest-dependencies.js +0 -478
  492. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/ingest-dependencies.sh +0 -295
  493. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/ingest.sh +0 -237
  494. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/cli-mode-dependencies.txt +0 -219
  495. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/shared-dependencies.txt +0 -57
  496. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-dev-dependencies.txt +0 -82
  497. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-mode-dependencies.txt +0 -80
  498. package/claude-assets/skills/cfn-deployment-lifecycle/SKILL.md +0 -53
  499. package/claude-assets/skills/cfn-deployment-lifecycle/lib/deployment/SKILL.md +0 -293
  500. package/claude-assets/skills/cfn-deployment-lifecycle/lib/deployment/execute.sh +0 -21
  501. package/claude-assets/skills/cfn-deployment-lifecycle/lib/promotion/SKILL.md +0 -305
  502. package/claude-assets/skills/cfn-docker-runtime/SKILL.md +0 -84
  503. package/claude-assets/skills/cfn-docker-runtime/lib/build/SKILL.md +0 -96
  504. package/claude-assets/skills/cfn-docker-runtime/lib/build/build.sh +0 -73
  505. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/README.md +0 -349
  506. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/docker-helpers.sh +0 -433
  507. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/package.json +0 -38
  508. package/claude-assets/skills/cfn-docker-runtime/lib/logging/INTEGRATION.md +0 -268
  509. package/claude-assets/skills/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +0 -237
  510. package/claude-assets/skills/cfn-docker-runtime/lib/logging/SKILL.md +0 -442
  511. package/claude-assets/skills/cfn-docker-runtime/lib/logging/capture-container-logs.sh +0 -120
  512. package/claude-assets/skills/cfn-docker-runtime/lib/logging/enable-logging.sh +0 -430
  513. package/claude-assets/skills/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +0 -210
  514. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +0 -87
  515. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +0 -51
  516. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +0 -56
  517. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +0 -39
  518. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +0 -40
  519. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +0 -39
  520. package/claude-assets/skills/cfn-docker-runtime/lib/logging/schema.sql +0 -111
  521. package/claude-assets/skills/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +0 -240
  522. package/claude-assets/skills/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +0 -331
  523. package/claude-assets/skills/cfn-docker-runtime/lib/mcp/SKILL.md +0 -555
  524. package/claude-assets/skills/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +0 -472
  525. package/claude-assets/skills/cfn-docker-runtime/lib/orchestration/SKILL.md +0 -449
  526. package/claude-assets/skills/cfn-docker-runtime/lib/orchestration/orchestrate.sh +0 -1722
  527. package/claude-assets/skills/cfn-docker-runtime/lib/spawning/SKILL.md +0 -418
  528. package/claude-assets/skills/cfn-docker-runtime/lib/spawning/spawn-agent.sh +0 -569
  529. package/claude-assets/skills/cfn-docker-runtime/lib/waves/SKILL.md +0 -944
  530. package/claude-assets/skills/cfn-docker-runtime/lib/waves/cleanup-wave.sh +0 -445
  531. package/claude-assets/skills/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +0 -804
  532. package/claude-assets/skills/cfn-docker-runtime/lib/waves/monitor-wave.sh +0 -485
  533. package/claude-assets/skills/cfn-docker-runtime/lib/waves/spawn-wave.sh +0 -547
  534. package/claude-assets/skills/cfn-edit-safety/SKILL.md +0 -62
  535. package/claude-assets/skills/cfn-edit-safety/lib/backup/SKILL.md +0 -324
  536. package/claude-assets/skills/cfn-edit-safety/lib/backup/SKILL.md.backup +0 -277
  537. package/claude-assets/skills/cfn-edit-safety/lib/backup/backup.sh +0 -129
  538. package/claude-assets/skills/cfn-edit-safety/lib/backup/backup.sh.backup +0 -107
  539. package/claude-assets/skills/cfn-edit-safety/lib/hooks/README.md +0 -74
  540. package/claude-assets/skills/cfn-edit-safety/lib/hooks/SKILL.md +0 -148
  541. package/claude-assets/skills/cfn-edit-safety/lib/hooks/auto-resolve.sh +0 -66
  542. package/claude-assets/skills/cfn-edit-safety/lib/hooks/check-dependencies.sh +0 -40
  543. package/claude-assets/skills/cfn-edit-safety/lib/hooks/feedback-resolver.sh +0 -452
  544. package/claude-assets/skills/cfn-edit-safety/lib/hooks/post-edit-handler.sh +0 -154
  545. package/claude-assets/skills/cfn-edit-safety/lib/hooks/security-scan.json +0 -60
  546. package/claude-assets/skills/cfn-edit-safety/lib/hooks/security-scanner.sh +0 -121
  547. package/claude-assets/skills/cfn-edit-safety/lib/hooks/test-root-warning-resolution.sh +0 -148
  548. package/claude-assets/skills/cfn-epic-parser/SKILL.md +0 -55
  549. package/claude-assets/skills/cfn-error-management/SKILL.md +0 -176
  550. package/claude-assets/skills/cfn-error-management/cli/batch-errors.sh +0 -4
  551. package/claude-assets/skills/cfn-error-management/cli/capture-error.sh +0 -4
  552. package/claude-assets/skills/cfn-error-management/cli/log-error.sh +0 -4
  553. package/claude-assets/skills/cfn-error-management/lib/batching/README.md +0 -1016
  554. package/claude-assets/skills/cfn-error-management/lib/batching/analyze-errors.sh +0 -327
  555. package/claude-assets/skills/cfn-error-management/lib/batching/calculate-waves.sh +0 -256
  556. package/claude-assets/skills/cfn-error-management/lib/batching/cli.sh +0 -523
  557. package/claude-assets/skills/cfn-error-management/lib/batching/cluster-files.sh +0 -196
  558. package/claude-assets/skills/cfn-error-management/lib/batching/create-batches.sh +0 -261
  559. package/claude-assets/skills/cfn-error-management/lib/capture/README.md +0 -56
  560. package/claude-assets/skills/cfn-error-management/lib/capture/capture-agent-error.sh +0 -87
  561. package/claude-assets/skills/cfn-error-management/lib/logging/README.md +0 -339
  562. package/claude-assets/skills/cfn-error-management/lib/logging/cleanup-error-logs.sh +0 -334
  563. package/claude-assets/skills/cfn-error-management/lib/logging/integrate-cli.sh +0 -232
  564. package/claude-assets/skills/cfn-error-management/lib/logging/integrate-docker.sh +0 -294
  565. package/claude-assets/skills/cfn-error-management/lib/logging/invoke-error-logging.sh +0 -839
  566. package/claude-assets/skills/cfn-error-management/lib/logging/test-error-logging.sh +0 -475
  567. package/claude-assets/skills/cfn-expert-update/SKILL.md +0 -24
  568. package/claude-assets/skills/cfn-expert-update/update-expert.sh +0 -346
  569. package/claude-assets/skills/cfn-github-workflow/SKILL.md +0 -70
  570. package/claude-assets/skills/cfn-intervention-system/SKILL.md +0 -52
  571. package/claude-assets/skills/cfn-intervention-system/lib/detector/SKILL.md +0 -39
  572. package/claude-assets/skills/cfn-intervention-system/lib/detector/detect-intervention.sh +0 -111
  573. package/claude-assets/skills/cfn-intervention-system/lib/orchestrator/SKILL.md +0 -43
  574. package/claude-assets/skills/cfn-intervention-system/lib/orchestrator/execute-intervention.sh +0 -59
  575. package/claude-assets/skills/cfn-knowledge-base/SKILL.md +0 -61
  576. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/SKILL.md +0 -153
  577. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/init-playbook.sh +0 -54
  578. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/lib/auto-update/auto-update-playbook.sh +0 -86
  579. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/query-playbook.sh +0 -83
  580. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/update-playbook.sh +0 -80
  581. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/APPROVAL_WORKFLOW.md +0 -806
  582. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/COST_TRACKING.md +0 -637
  583. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/DEPLOY_QUICK_REFERENCE.md +0 -106
  584. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/EDGE_CASE_TRACKING.md +0 -404
  585. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/PROPAGATE_UPDATE_QUICK_REFERENCE.md +0 -366
  586. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/README_PHASE4.md +0 -457
  587. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/SKILL.md +0 -110
  588. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/analyze-patterns.sh +0 -899
  589. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/approval-workflow.sh +0 -514
  590. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh +0 -481
  591. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh.backup-1763392820 +0 -512
  592. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/generate-skill-update.sh +0 -525
  593. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/lib/security-utils.sh +0 -204
  594. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/package.json +0 -30
  595. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh +0 -648
  596. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh.backup-1763392820 +0 -664
  597. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/review-skill.sh +0 -643
  598. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/test-integration.sh +0 -296
  599. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/test-metadata-update.sh +0 -350
  600. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh +0 -486
  601. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh.backup-1763392821 +0 -445
  602. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-edge-case.sh +0 -290
  603. package/claude-assets/skills/cfn-loop-orchestration-v2/SKILL.md +0 -57
  604. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/agent-completion.sh.backup +0 -36
  605. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-signal.sh.backup +0 -36
  606. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-wait.sh.backup +0 -36
  607. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/SKILL.md +0 -664
  608. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/TYPESCRIPT_IMPLEMENTATION.md +0 -653
  609. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/parse-decision.sh +0 -66
  610. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/test-backlog-integration.sh +0 -148
  611. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/validate-deliverables.sh +0 -82
  612. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONFIGURATION_IMPROVEMENTS.md +0 -318
  613. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONTEXT_LOOKUP_QUICK_START.md +0 -378
  614. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/NORTH_STAR_INDEX.md +0 -323
  615. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_IMPLEMENTATION.md +0 -493
  616. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_QUICK_START.md +0 -499
  617. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/README.md +0 -149
  618. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/SKILL.md +0 -418
  619. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/SPAWN_AGENTS_IMPLEMENTATION.md +0 -188
  620. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATION_SUMMARY.txt +0 -196
  621. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATOR_MODULE_GUIDE.md +0 -526
  622. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/agent-spawner/agent-spawner.d.ts +0 -15
  623. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/agent-spawner/agent-spawner.js +0 -29
  624. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/cli/orchestrator-cli.d.ts +0 -49
  625. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/cli/orchestrator-cli.js +0 -339
  626. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/gate-checker/gate-checker.d.ts +0 -15
  627. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/gate-checker/gate-checker.js +0 -32
  628. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/confidence-aggregator.d.ts +0 -115
  629. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/confidence-aggregator.js +0 -359
  630. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/consensus.d.ts +0 -36
  631. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/consensus.js +0 -62
  632. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-injector.d.ts +0 -135
  633. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-injector.js +0 -257
  634. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-lookup.d.ts +0 -179
  635. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-lookup.js +0 -388
  636. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/deliverable-verifier.d.ts +0 -26
  637. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/deliverable-verifier.js +0 -116
  638. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/gate-check.d.ts +0 -27
  639. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/gate-check.js +0 -92
  640. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/iteration-manager.d.ts +0 -28
  641. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/iteration-manager.js +0 -34
  642. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/parse-test-results.d.ts +0 -21
  643. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/parse-test-results.js +0 -323
  644. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/product-owner-decision.d.ts +0 -86
  645. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/product-owner-decision.js +0 -272
  646. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/spawn-agents.d.ts +0 -61
  647. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/spawn-agents.js +0 -280
  648. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/timeout-calculator.d.ts +0 -15
  649. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/timeout-calculator.js +0 -34
  650. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/validator.d.ts +0 -83
  651. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/validator.js +0 -222
  652. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/index.d.ts +0 -14
  653. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/index.js +0 -32
  654. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrate.d.ts +0 -325
  655. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrate.js +0 -1083
  656. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrator/orchestrator.d.ts +0 -17
  657. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrator/orchestrator.js +0 -31
  658. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/redis/redis-coordinator.d.ts +0 -46
  659. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/redis/redis-coordinator.js +0 -68
  660. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/types.d.ts +0 -166
  661. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/types.js +0 -101
  662. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/utils/logger.d.ts +0 -16
  663. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/utils/logger.js +0 -29
  664. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation-fixed.js +0 -240
  665. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation.js +0 -213
  666. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/orchestrate.sh.backup2 +0 -959
  667. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/orchestrate.sh.clean +0 -949
  668. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/package.json +0 -53
  669. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/run-north-star-e2e.ts +0 -210
  670. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/security_utils.sh +0 -123
  671. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cfn-orchestration.sh +0 -281
  672. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cli.sh +0 -92
  673. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-edge-cases.sh +0 -188
  674. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-iteration-context-injection.sh +0 -366
  675. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-typescript-integration.sh +0 -442
  676. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/DELIVERY_SUMMARY.txt +0 -462
  677. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/EXAMPLES.md +0 -609
  678. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/INDEX.md +0 -531
  679. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/README.md +0 -114
  680. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/SKILL.md +0 -633
  681. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/package.json +0 -50
  682. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/INDEX.md +0 -531
  683. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/README.md +0 -256
  684. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/README_TYPESCRIPT.md +0 -454
  685. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md +0 -400
  686. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md.backup +0 -353
  687. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL_TYPESCRIPT.md +0 -782
  688. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/VAPOR_DETECTION_EXAMPLES.md +0 -598
  689. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh +0 -53
  690. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh.backup +0 -31
  691. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/config.json +0 -161
  692. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/consensus-calculator.js +0 -477
  693. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh +0 -59
  694. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh.backup +0 -37
  695. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/.tsbuildinfo +0 -1
  696. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/detect-vapor.d.ts +0 -14
  697. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/detect-vapor.js +0 -185
  698. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-deliverables.d.ts +0 -14
  699. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-deliverables.js +0 -176
  700. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-gate.d.ts +0 -19
  701. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-gate.js +0 -123
  702. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/types.d.ts +0 -156
  703. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/types.js +0 -66
  704. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/validator.d.ts +0 -85
  705. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/validator.js +0 -411
  706. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/evidence-chain.sql +0 -163
  707. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh +0 -274
  708. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh.backup +0 -252
  709. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/package.json +0 -93
  710. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh +0 -59
  711. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh.backup +0 -37
  712. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh +0 -63
  713. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh.backup +0 -41
  714. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh +0 -156
  715. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh.backup +0 -134
  716. package/claude-assets/skills/cfn-mdap-context-injection/SKILL.md +0 -176
  717. package/claude-assets/skills/cfn-mdap-context-injection/inject.sh +0 -284
  718. package/claude-assets/skills/cfn-memory-persistence/SKILL.md +0 -59
  719. package/claude-assets/skills/cfn-memory-persistence/lib/auto/SKILL.md +0 -73
  720. package/claude-assets/skills/cfn-memory-persistence/lib/auto/persist-agent-output.sh +0 -49
  721. package/claude-assets/skills/cfn-memory-persistence/lib/auto/query-agent-history.sh +0 -35
  722. package/claude-assets/skills/cfn-memory-persistence/lib/auto/test-memory-persistence.sh +0 -236
  723. package/claude-assets/skills/cfn-memory-persistence/lib/management/SKILL.md +0 -271
  724. package/claude-assets/skills/cfn-memory-persistence/lib/management/check-memory.sh +0 -160
  725. package/claude-assets/skills/cfn-memory-persistence/lib/management/cleanup-memory.sh +0 -197
  726. package/claude-assets/skills/cfn-memory-persistence/lib/redis/SKILL.md +0 -42
  727. package/claude-assets/skills/cfn-memory-persistence/lib/redis/agent-log.sh.backup +0 -128
  728. package/claude-assets/skills/cfn-memory-persistence/lib/redis/agent-recovery.sh.backup +0 -75
  729. package/claude-assets/skills/cfn-memory-persistence/lib/redis/analyze-task-complexity.sh.backup +0 -277
  730. package/claude-assets/skills/cfn-memory-persistence/lib/redis/bash-wrappers/store-context.sh.backup +0 -23
  731. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cancel-swarm.sh.backup +0 -221
  732. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cfn-loop-exec.sh.backup +0 -468
  733. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cfn-loop-relaunch.sh.backup +0 -29
  734. package/claude-assets/skills/cfn-memory-persistence/lib/redis/collect-confidence-scores.sh.backup +0 -209
  735. package/claude-assets/skills/cfn-memory-persistence/lib/redis/collect-results.sh.backup +0 -75
  736. package/claude-assets/skills/cfn-memory-persistence/lib/redis/complete-swarm.sh.backup +0 -75
  737. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-logger.d.ts +0 -92
  738. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-logger.js +0 -329
  739. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-recovery.d.ts +0 -75
  740. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-recovery.js +0 -302
  741. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/completion-reporter.d.ts +0 -58
  742. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/completion-reporter.js +0 -237
  743. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/context-manager.d.ts +0 -63
  744. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/context-manager.js +0 -230
  745. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/index.d.ts +0 -45
  746. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/index.js +0 -114
  747. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/mode-detector.d.ts +0 -31
  748. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/mode-detector.js +0 -185
  749. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/redis-client.d.ts +0 -191
  750. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/redis-client.js +0 -509
  751. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/result-collector.d.ts +0 -75
  752. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/result-collector.js +0 -281
  753. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/swarm-manager.d.ts +0 -75
  754. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/swarm-manager.js +0 -354
  755. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-analyzer.d.ts +0 -62
  756. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-analyzer.js +0 -305
  757. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-executor.d.ts +0 -97
  758. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-executor.js +0 -283
  759. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/types.d.ts +0 -176
  760. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/types.js +0 -81
  761. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/waiting-coordinator.d.ts +0 -86
  762. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/waiting-coordinator.js +0 -419
  763. package/claude-assets/skills/cfn-memory-persistence/lib/redis/get-context.sh.backup +0 -146
  764. package/claude-assets/skills/cfn-memory-persistence/lib/redis/get-success-criteria.sh.backup +0 -54
  765. package/claude-assets/skills/cfn-memory-persistence/lib/redis/invoke-waiting-mode.sh.backup +0 -225
  766. package/claude-assets/skills/cfn-memory-persistence/lib/redis/redis-cli-wrapper.sh.backup +0 -43
  767. package/claude-assets/skills/cfn-memory-persistence/lib/redis/redis-functions.sh.backup +0 -34
  768. package/claude-assets/skills/cfn-memory-persistence/lib/redis/report-completion.sh.backup +0 -134
  769. package/claude-assets/skills/cfn-memory-persistence/lib/redis/store-context.sh.backup +0 -123
  770. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/QUICK_REFERENCE.md +0 -204
  771. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/README.md +0 -65
  772. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/SKILL.md +0 -415
  773. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/acl-queries.sql +0 -452
  774. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/check-dependencies.sh +0 -36
  775. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/config.json +0 -45
  776. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/memory-cli.sh +0 -88
  777. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/test-state-persistence.js +0 -187
  778. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/ttl-cleanup.sh +0 -266
  779. package/claude-assets/skills/cfn-node-heap-sizer/SKILL.md +0 -23
  780. package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +0 -326
  781. package/claude-assets/skills/cfn-operations/SKILL.md +0 -52
  782. package/claude-assets/skills/cfn-operations/lib/file/SKILL.md +0 -290
  783. package/claude-assets/skills/cfn-operations/lib/file/execute.sh +0 -129
  784. package/claude-assets/skills/cfn-operations/lib/file/lib/atomic-write.sh +0 -294
  785. package/claude-assets/skills/cfn-operations/lib/file/lib/lock.sh +0 -361
  786. package/claude-assets/skills/cfn-operations/lib/file/test.sh +0 -369
  787. package/claude-assets/skills/cfn-operations/lib/log/SKILL.md +0 -308
  788. package/claude-assets/skills/cfn-operations/lib/log/execute.sh +0 -420
  789. package/claude-assets/skills/cfn-operations/lib/log/lib/rotate.sh +0 -406
  790. package/claude-assets/skills/cfn-operations/lib/log/lib/search.sh +0 -448
  791. package/claude-assets/skills/cfn-operations/lib/log/test.sh +0 -394
  792. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +0 -347
  793. package/claude-assets/skills/cfn-planning/SKILL.md +0 -55
  794. package/claude-assets/skills/cfn-planning/lib/coordinator/README.md +0 -256
  795. package/claude-assets/skills/cfn-planning/lib/coordinator/SKILL.md +0 -62
  796. package/claude-assets/skills/cfn-planning/lib/coordinator/map-dependencies-conflicts.sh +0 -376
  797. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-coordinator-resources.sh +0 -258
  798. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-multi-coordinator-work.sh +0 -267
  799. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-risk-rollout.sh +0 -350
  800. package/claude-assets/skills/cfn-planning/lib/coordinator/test-multi-coordinator-planning.sh +0 -338
  801. package/claude-assets/skills/cfn-planning/lib/coordinator/validate-task-planning.sh +0 -189
  802. package/claude-assets/skills/cfn-planning/lib/epic/SKILL.md +0 -44
  803. package/claude-assets/skills/cfn-planning/lib/epic/decompose-epic.sh +0 -104
  804. package/claude-assets/skills/cfn-planning/lib/scope/SKILL.md +0 -37
  805. package/claude-assets/skills/cfn-planning/lib/scope/simplify-scope.sh +0 -68
  806. package/claude-assets/skills/cfn-process-management/SKILL.md +0 -52
  807. package/claude-assets/skills/cfn-process-management/lib/instrumentation/instrument-process.sh +0 -44
  808. package/claude-assets/skills/cfn-process-management/lib/lifecycle/README.md +0 -43
  809. package/claude-assets/skills/cfn-process-management/lib/lifecycle/SKILL.md +0 -39
  810. package/claude-assets/skills/cfn-process-management/lib/lifecycle/check-dependencies.sh +0 -58
  811. package/claude-assets/skills/cfn-process-management/lib/lifecycle/config.json +0 -39
  812. package/claude-assets/skills/cfn-process-management/lib/lifecycle/process-manager.sh +0 -144
  813. package/claude-assets/skills/cfn-project-analysis/SKILL.md +0 -113
  814. package/claude-assets/skills/cfn-project-management/SKILL.md +0 -52
  815. package/claude-assets/skills/cfn-project-management/lib/backlog/SKILL.md +0 -199
  816. package/claude-assets/skills/cfn-project-management/lib/backlog/add-backlog-item.sh +0 -208
  817. package/claude-assets/skills/cfn-project-management/lib/changelog/SKILL.md +0 -349
  818. package/claude-assets/skills/cfn-project-management/lib/changelog/add-changelog-entry.sh +0 -202
  819. package/claude-assets/skills/cfn-project-management/lib/changelog/bulk-import.sh +0 -268
  820. package/claude-assets/skills/cfn-project-management/lib/changelog/lib/README.md +0 -212
  821. package/claude-assets/skills/cfn-project-management/lib/changelog/lib/validation.sh +0 -72
  822. package/claude-assets/skills/cfn-routing-config/SKILL.md +0 -52
  823. package/claude-assets/skills/cfn-routing-config/lib/hybrid/README.md +0 -50
  824. package/claude-assets/skills/cfn-routing-config/lib/hybrid/SKILL.md +0 -54
  825. package/claude-assets/skills/cfn-routing-config/lib/hybrid/check-dependencies.sh +0 -52
  826. package/claude-assets/skills/cfn-routing-config/lib/hybrid/config.json +0 -26
  827. package/claude-assets/skills/cfn-routing-config/lib/hybrid/spawn-worker.sh +0 -44
  828. package/claude-assets/skills/cfn-routing-config/lib/provider/README.md +0 -129
  829. package/claude-assets/skills/cfn-routing-config/lib/provider/SKILL.md +0 -215
  830. package/claude-assets/skills/cfn-routing-config/lib/provider/resolve-provider-model.ts +0 -223
  831. package/claude-assets/skills/cfn-ruvector-codebase-index/.cfn-manifest.json +0 -37
  832. package/claude-assets/skills/cfn-ruvector-codebase-index/SKILL.md +0 -830
  833. package/claude-assets/skills/cfn-ruvector-codebase-index/batch-indexer.js +0 -185
  834. package/claude-assets/skills/cfn-ruvector-codebase-index/check-db.js +0 -8
  835. package/claude-assets/skills/cfn-ruvector-codebase-index/clean-orphaned-entries.sh +0 -206
  836. package/claude-assets/skills/cfn-ruvector-codebase-index/config.json +0 -65
  837. package/claude-assets/skills/cfn-ruvector-codebase-index/debug-search.js +0 -19
  838. package/claude-assets/skills/cfn-ruvector-codebase-index/detect-stale-docs.sh +0 -325
  839. package/claude-assets/skills/cfn-ruvector-codebase-index/embeddings.js +0 -181
  840. package/claude-assets/skills/cfn-ruvector-codebase-index/get-embedding-text.js +0 -26
  841. package/claude-assets/skills/cfn-ruvector-codebase-index/handle-file-moves.sh +0 -147
  842. package/claude-assets/skills/cfn-ruvector-codebase-index/index.sh +0 -324
  843. package/claude-assets/skills/cfn-ruvector-codebase-index/indexer.js +0 -53
  844. package/claude-assets/skills/cfn-ruvector-codebase-index/init-db.js +0 -27
  845. package/claude-assets/skills/cfn-ruvector-codebase-index/install-hook.sh +0 -51
  846. package/claude-assets/skills/cfn-ruvector-codebase-index/package.json +0 -30
  847. package/claude-assets/skills/cfn-ruvector-codebase-index/parser.js +0 -264
  848. package/claude-assets/skills/cfn-ruvector-codebase-index/query-error-patterns.sh +0 -42
  849. package/claude-assets/skills/cfn-ruvector-codebase-index/query-learnings.sh +0 -44
  850. package/claude-assets/skills/cfn-ruvector-codebase-index/ruvector-learning.js +0 -316
  851. package/claude-assets/skills/cfn-ruvector-codebase-index/search.js +0 -55
  852. package/claude-assets/skills/cfn-ruvector-codebase-index/search.sh +0 -137
  853. package/claude-assets/skills/cfn-ruvector-codebase-index/standalone-indexer.js +0 -129
  854. package/claude-assets/skills/cfn-ruvector-codebase-index/store-error-pattern.sh +0 -54
  855. package/claude-assets/skills/cfn-ruvector-codebase-index/store-learning.sh +0 -64
  856. package/claude-assets/skills/cfn-ruvector-codebase-index/test-comprehensive.js +0 -120
  857. package/claude-assets/skills/cfn-ruvector-codebase-index/test-db-structure.js +0 -40
  858. package/claude-assets/skills/cfn-ruvector-codebase-index/test-integration.js +0 -56
  859. package/claude-assets/skills/cfn-ruvector-codebase-index/test-metadata-fetch.js +0 -57
  860. package/claude-assets/skills/cfn-ruvector-codebase-index/test-search-debug.js +0 -48
  861. package/claude-assets/skills/cfn-session-handoff/SKILL.md +0 -273
  862. package/claude-assets/skills/cfn-skill-management/SKILL.md +0 -55
  863. package/claude-assets/skills/cfn-skill-management/lib/builder/SKILL.md +0 -910
  864. package/claude-assets/skills/cfn-skill-management/lib/loader/SKILL.md +0 -466
  865. package/claude-assets/skills/cfn-skill-management/lib/loader/execute.sh +0 -344
  866. package/claude-assets/skills/cfn-skill-management/lib/propagation/README.md +0 -233
  867. package/claude-assets/skills/cfn-skill-management/lib/propagation/package.json +0 -52
  868. package/claude-assets/skills/cfn-skill-management/lib/propagation/propagate-skill-update.sh +0 -32
  869. package/claude-assets/skills/cfn-sprint-execution/SKILL.md +0 -55
  870. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/SKILL.md +0 -333
  871. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/cleanup-orphans.sh +0 -374
  872. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/resume-wave.sh +0 -325
  873. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/save-checkpoint.sh +0 -284
  874. package/claude-assets/skills/cfn-sprint-execution/lib/execution/SKILL.md +0 -27
  875. package/claude-assets/skills/cfn-sprint-execution/lib/execution/execute-sprint-task.sh +0 -59
  876. package/claude-assets/skills/cfn-sprint-execution/lib/execution/execute-sprint.sh +0 -65
  877. package/claude-assets/skills/cfn-task-intelligence/SKILL.md +0 -64
  878. package/claude-assets/skills/cfn-task-intelligence/lib/classifier/SKILL.md +0 -81
  879. package/claude-assets/skills/cfn-task-intelligence/lib/classifier/classify-task.sh +0 -297
  880. package/claude-assets/skills/cfn-task-intelligence/lib/complexity/SKILL.md +0 -96
  881. package/claude-assets/skills/cfn-task-intelligence/lib/complexity/estimate-complexity.sh +0 -144
  882. package/claude-assets/skills/cfn-task-intelligence/lib/specialist/SKILL.md +0 -41
  883. package/claude-assets/skills/cfn-task-intelligence/lib/specialist/recommend-specialist.sh +0 -57
  884. package/claude-assets/skills/cfn-task-planning/SKILL.md +0 -193
  885. package/claude-assets/skills/cfn-task-planning/cli/classify-task.sh +0 -4
  886. package/claude-assets/skills/cfn-task-planning/cli/decompose-task.sh +0 -4
  887. package/claude-assets/skills/cfn-task-planning/cli/init-config.sh +0 -4
  888. package/claude-assets/skills/cfn-task-planning/lib/audit/get-audit-data.sh +0 -397
  889. package/claude-assets/skills/cfn-task-planning/lib/audit/store-task-audit.sh +0 -191
  890. package/claude-assets/skills/cfn-task-planning/lib/classifier/README.md +0 -81
  891. package/claude-assets/skills/cfn-task-planning/lib/classifier/classify-task.sh +0 -297
  892. package/claude-assets/skills/cfn-task-planning/lib/decomposition/task-decomposer.sh +0 -279
  893. package/claude-assets/skills/cfn-test-framework/SKILL.md +0 -55
  894. package/claude-assets/skills/cfn-test-framework/lib/execution/README.md +0 -129
  895. package/claude-assets/skills/cfn-test-framework/lib/execution/SKILL.md +0 -128
  896. package/claude-assets/skills/cfn-test-framework/lib/execution/check-dependencies.sh +0 -36
  897. package/claude-assets/skills/cfn-test-framework/lib/execution/test-cache-reader.sh +0 -134
  898. package/claude-assets/skills/cfn-test-framework/lib/execution/test-concurrent-conflicts.sh +0 -115
  899. package/claude-assets/skills/cfn-test-framework/lib/execution/test-coordinator-pattern.sh +0 -109
  900. package/claude-assets/skills/cfn-test-framework/lib/runner/SKILL.md +0 -288
  901. package/claude-assets/skills/cfn-test-framework/lib/runner/detect-regressions.sh +0 -58
  902. package/claude-assets/skills/cfn-test-framework/lib/runner/detect-regressions.sh.backup-1763392821 +0 -55
  903. package/claude-assets/skills/cfn-test-framework/lib/runner/init-benchmark-db.sh +0 -48
  904. package/claude-assets/skills/cfn-test-framework/lib/runner/run-all-tests.sh +0 -222
  905. package/claude-assets/skills/cfn-test-framework/lib/runner/store-benchmarks.sh +0 -53
  906. package/claude-assets/skills/cfn-test-framework/lib/runner/validate-redis-keys.sh +0 -143
  907. package/claude-assets/skills/cfn-test-framework/lib/webapp/README.md +0 -142
  908. package/claude-assets/skills/cfn-test-framework/lib/webapp/SCREENSHOT_NAMING_CONVENTION.md +0 -547
  909. package/claude-assets/skills/cfn-test-framework/lib/webapp/SKILL.md +0 -877
  910. package/claude-assets/skills/cfn-test-framework/lib/webapp/capture-screenshot.sh +0 -238
  911. package/claude-assets/skills/cfn-test-framework/lib/webapp/cfn-loop-integration.sh +0 -265
  912. package/claude-assets/skills/cfn-test-framework/lib/webapp/compare-screenshots.sh +0 -199
  913. package/claude-assets/skills/cfn-test-framework/lib/webapp/init-storage.sh +0 -150
  914. package/claude-assets/skills/cfn-test-framework/lib/webapp/set-baseline.sh +0 -196
  915. package/claude-assets/skills/cfn-test-framework/lib/webapp/test-webapp-testing.sh +0 -233
  916. package/claude-assets/skills/cfn-transparency-middleware/Cargo.toml +0 -18
  917. package/claude-assets/skills/cfn-transparency-middleware/README.md +0 -74
  918. package/claude-assets/skills/cfn-transparency-middleware/SECURITY.md +0 -41
  919. package/claude-assets/skills/cfn-transparency-middleware/SKILL.md +0 -99
  920. package/claude-assets/skills/cfn-transparency-middleware/TEST_RESULTS.md +0 -174
  921. package/claude-assets/skills/cfn-transparency-middleware/config.json +0 -31
  922. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +0 -98
  923. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-init.sh +0 -224
  924. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-level.sh +0 -333
  925. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +0 -345
  926. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +0 -140
  927. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +0 -235
  928. package/claude-assets/skills/cfn-transparency-middleware/memory_query.rs +0 -85
  929. package/claude-assets/skills/cfn-transparency-middleware/memory_repository.rs +0 -140
  930. package/claude-assets/skills/cfn-transparency-middleware/memory_schema.rs +0 -64
  931. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +0 -29
  932. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +0 -79
  933. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +0 -421
  934. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +0 -162
  935. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +0 -368
  936. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +0 -126
  937. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +0 -132
  938. package/claude-assets/skills/cfn-utilities/SKILL.md +0 -239
  939. package/claude-assets/skills/cfn-utilities/execute.sh +0 -32
  940. package/claude-assets/skills/cfn-utilities/lib/errors.sh +0 -56
  941. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +0 -164
  942. package/claude-assets/skills/cfn-utilities/lib/logging.sh +0 -77
  943. package/claude-assets/skills/cfn-utilities/lib/retry.sh +0 -127
  944. package/claude-assets/skills/cfn-utilities/test.sh +0 -317
  945. package/claude-assets/skills/cfn-validation-framework/SKILL.md +0 -60
  946. package/claude-assets/skills/cfn-validation-framework/lib/deliverables/confidence-calculator.sh +0 -262
  947. package/claude-assets/skills/cfn-validation-framework/lib/instrumentation/wrapped-executor.sh +0 -291
  948. package/claude-assets/skills/cfn-validation-framework/lib/json/SKILL.md +0 -431
  949. package/claude-assets/skills/cfn-validation-framework/lib/json/test-validate-success-criteria.sh +0 -421
  950. package/claude-assets/skills/cfn-validation-framework/lib/json/validate-success-criteria.sh +0 -197
  951. package/claude-assets/skills/cfn-validation-framework/lib/layers/SKILL.md +0 -133
  952. package/claude-assets/skills/cfn-vision-analysis/SKILL.md +0 -20
  953. package/claude-assets/skills/equation-solver/README.md +0 -327
  954. package/claude-assets/skills/equation-solver/SECURITY.md +0 -306
  955. package/claude-assets/skills/equation-solver/SKILL.md +0 -335
  956. package/claude-assets/skills/equation-solver/package.json +0 -32
  957. package/claude-assets/skills/equation-solver/solve.sh +0 -348
  958. package/claude-assets/skills/equation-solver/test-equation-solver-minimal.sh +0 -103
  959. package/claude-assets/skills/equation-solver/test-equation-solver.sh +0 -510
  960. /package/.claude/commands/{check-errors.md → cfn-check-errors.md} +0 -0
  961. /package/.claude/commands/{detect-stale-docs.md → cfn-detect-stale-docs.md} +0 -0
  962. /package/.claude/commands/{epic-creator-v2.md → cfn-epic-creator-v2.md} +0 -0
  963. /package/.claude/commands/cfn-loop/{list-agents-rebuild.md → cfn-list-agents-rebuild.md} +0 -0
  964. /package/.claude/commands/cfn-ruvector/{codebase-reindex.md → cfn-codebase-reindex.md} +0 -0
  965. /package/.claude/commands/cfn-ruvector/{codebase-search.md → cfn-codebase-search.md} +0 -0
  966. /package/.claude/commands/cfn-ruvector/{detect-stale-docs.md → cfn-detect-stale-docs.md} +0 -0
  967. /package/.claude/commands/{ruvector-search.md → cfn-ruvector-search.md} +0 -0
  968. /package/.claude/commands/{update-search-index.md → cfn-update-search-index.md} +0 -0
  969. /package/.claude/commands/cost-routing/{switch-api.md → cfn-switch-api.md} +0 -0
  970. /package/.claude/core/{agent-manager.js → cfn-agent-manager.js} +0 -0
  971. /package/.claude/core/{agent-manager.js.map → cfn-agent-manager.js.map} +0 -0
  972. /package/.claude/core/{config.js → cfn-config.js} +0 -0
  973. /package/.claude/core/{config.js.map → cfn-config.js.map} +0 -0
  974. /package/.claude/core/{event-bus.js → cfn-event-bus.js} +0 -0
  975. /package/.claude/core/{event-bus.js.map → cfn-event-bus.js.map} +0 -0
  976. /package/.claude/core/{index.js → cfn-index.js} +0 -0
  977. /package/.claude/core/{index.js.map → cfn-index.js.map} +0 -0
  978. /package/.claude/core/{json-persistence.js → cfn-json-persistence.js} +0 -0
  979. /package/.claude/core/{json-persistence.js.map → cfn-json-persistence.js.map} +0 -0
  980. /package/.claude/core/{logger.js → cfn-logger.js} +0 -0
  981. /package/.claude/core/{logger.js.map → cfn-logger.js.map} +0 -0
  982. /package/.claude/core/{orchestrator-fixed.js → cfn-orchestrator-fixed.js} +0 -0
  983. /package/.claude/core/{orchestrator-fixed.js.map → cfn-orchestrator-fixed.js.map} +0 -0
  984. /package/.claude/core/{orchestrator.js → cfn-orchestrator.js} +0 -0
  985. /package/.claude/core/{orchestrator.js.map → cfn-orchestrator.js.map} +0 -0
  986. /package/.claude/core/{persistence.js → cfn-persistence.js} +0 -0
  987. /package/.claude/core/{persistence.js.map → cfn-persistence.js.map} +0 -0
  988. /package/.claude/core/{project-manager.js → cfn-project-manager.js} +0 -0
  989. /package/.claude/core/{project-manager.js.map → cfn-project-manager.js.map} +0 -0
  990. /package/.claude/core/{slash-command.js → cfn-slash-command.js} +0 -0
  991. /package/.claude/core/{version.js → cfn-version.js} +0 -0
  992. /package/.claude/core/{version.js.map → cfn-version.js.map} +0 -0
  993. /package/.claude/helpers/{checkpoint-manager.sh → cfn-checkpoint-manager.sh} +0 -0
  994. /package/.claude/helpers/{github-safe.js → cfn-github-safe.js} +0 -0
  995. /package/.claude/helpers/{github-setup.sh → cfn-github-setup.sh} +0 -0
  996. /package/.claude/helpers/{quick-start.sh → cfn-quick-start.sh} +0 -0
  997. /package/.claude/helpers/{setup-mcp.sh → cfn-setup-mcp.sh} +0 -0
  998. /package/.claude/helpers/{standard-checkpoint-hooks.sh → cfn-standard-checkpoint-hooks.sh} +0 -0
  999. /package/.claude/hooks/{validators/credential-scanner.sh → cfn-credential-scanner.sh} +0 -0
  1000. /package/.claude/hooks/{detect-hardcoded-credentials.sh → cfn-detect-hardcoded-credentials.sh} +0 -0
@@ -1,1722 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
-
4
- # CFN Docker Loop Orchestration Implementation
5
- # Usage: ./orchestrate.sh [OPERATION] [TASK_ID] [OPTIONS]
6
-
7
- # Determine PROJECT_ROOT
8
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
9
- PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
10
-
11
- # Detect worktree/branch for environment injection
12
- CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "main")
13
- export WORKTREE_BRANCH="${CURRENT_BRANCH}"
14
-
15
- # Default configuration
16
- DEFAULT_MAX_ITERATIONS=10
17
- DEFAULT_GATE_THRESHOLD=0.75
18
- DEFAULT_CONSENSUS_THRESHOLD=0.90
19
- DEFAULT_LOOP3_TIMEOUT=600
20
- DEFAULT_LOOP2_TIMEOUT=300
21
- DEFAULT_PO_TIMEOUT=180
22
-
23
- # Colors for output
24
- RED='\033[0;31m'
25
- GREEN='\033[0;32m'
26
- YELLOW='\033[1;33m'
27
- BLUE='\033[0;34m'
28
- PURPLE='\033[0;35m'
29
- NC='\033[0m'
30
-
31
- log() {
32
- echo -e "${BLUE}[$(date '+%H:%M:%S')]${NC} $*" >&2
33
- }
34
-
35
- log_success() {
36
- echo -e "${GREEN}[SUCCESS]${NC} $*" >&2
37
- }
38
-
39
- log_error() {
40
- echo -e "${RED}[ERROR]${NC} $*" >&2
41
- }
42
-
43
- log_warning() {
44
- echo -e "${YELLOW}[WARNING]${NC} $*" >&2
45
- }
46
-
47
- log_loop() {
48
- echo -e "${PURPLE}[LOOP]${NC} $*" >&2
49
- }
50
-
51
- # Function to display usage
52
- usage() {
53
- cat << EOF
54
- CFN Docker Loop Orchestration
55
-
56
- Usage: $0 [OPERATION] [TASK_ID] [OPTIONS]
57
-
58
- Operations:
59
- execute Execute complete CFN Loop
60
- init Initialize loop orchestration
61
- spawn-loop3 Spawn Loop 3 implementer agents
62
- monitor-loop3 Monitor Loop 3 completion
63
- gate-check Check Loop 3 gate and decide next steps
64
- spawn-loop2 Spawn Loop 2 validator agents
65
- collect-consensus Collect Loop 2 consensus
66
- trigger-po-decision Trigger Product Owner decision
67
- analyze-task Analyze task and select agents
68
- monitor-progress Monitor overall loop progress
69
- validate-deliverables Validate required deliverables
70
- handle-error Handle execution errors
71
- execute-waves Execute complete wave-based execution (Mode A)
72
- spawn-wave Spawn specific wave of containers
73
- monitor-wave Monitor wave container completion
74
- cleanup-wave Remove wave containers and artifacts
75
- validate-errors Run error validation and count results
76
-
77
- Options:
78
- --task-description TEXT Task description
79
- --mode MODE Execution mode (mvp|standard|enterprise)
80
- --agents LIST Comma-separated agent types
81
- --max-iterations NUM Maximum iterations (default: 10)
82
- --gate-threshold NUM Gate threshold (default: 0.75)
83
- --consensus-threshold NUM Consensus threshold (default: 0.90)
84
- --context-file PATH Task context file
85
- --success-criteria JSON Success criteria for test-driven validation
86
- --timeout SECONDS Operation timeout
87
- --memory-limit LIMIT Agent memory limit
88
- --network NAME Docker network
89
- --adaptive-selection Enable adaptive agent selection
90
- --force-iteration NUM Force specific iteration
91
- --dry-run Show configuration without execution
92
- --verbose Enable verbose logging
93
- --help Show this help message
94
-
95
- Examples:
96
- $0 execute --task-id task-auth --task-description "Implement user authentication" --mode standard
97
- $0 spawn-loop3 --task-id task-auth --agents backend-developer,frontend-engineer,security-specialist
98
- $0 monitor-loop3 --task-id task-auth --gate-threshold 0.80
99
- $0 collect-consensus --task-id task-auth --required-consensus 0.90
100
- $0 execute-waves --task-id task-fix --batching-plan /tmp/waves.json
101
- $0 spawn-wave --task-id task-fix --wave-number 1 --batching-plan /tmp/waves.json
102
- $0 monitor-wave --task-id task-fix --wave-number 1 --expected-count 28
103
- $0 cleanup-wave --task-id task-fix --wave-number 1
104
- $0 validate-errors --task-id task-fix --command "tsc --noEmit"
105
-
106
- EOF
107
- }
108
-
109
- # JSON validation helper with security bounds checking
110
- validate_json_context() {
111
- local json_str="$1"
112
-
113
- if [ -z "$json_str" ]; then
114
- return 1
115
- fi
116
-
117
- # Security: Check size (max 10MB) BEFORE parsing
118
- local size=$(echo -n "$json_str" | wc -c)
119
- local MAX_JSON_SIZE=10485760 # 10MB limit
120
-
121
- if [ "$size" -gt "$MAX_JSON_SIZE" ]; then
122
- log_error "JSON exceeds maximum size (10MB): ${size} bytes"
123
- log_error "Security Risk: DoS via excessive memory consumption"
124
- return 1
125
- fi
126
-
127
- # Validate JSON structure
128
- if ! echo "$json_str" | jq empty 2>/dev/null; then
129
- log_error "Invalid JSON structure"
130
- return 1
131
- fi
132
-
133
- # Security: Bounds check - validate array sizes if success criteria
134
- if echo "$json_str" | jq -e '.test_suites' >/dev/null 2>&1; then
135
- local TEST_SUITE_COUNT=$(echo "$json_str" | jq '.test_suites | length' 2>/dev/null || echo "0")
136
- local MAX_TEST_SUITES=50
137
-
138
- if [ "$TEST_SUITE_COUNT" -gt "$MAX_TEST_SUITES" ]; then
139
- log_error "Test suites exceed maximum ($MAX_TEST_SUITES): $TEST_SUITE_COUNT"
140
- log_error "Security Risk: DoS via resource exhaustion"
141
- return 1
142
- fi
143
- fi
144
-
145
- return 0
146
- }
147
-
148
- # Input sanitization helper
149
- sanitize_input() {
150
- local input="$1"
151
- local max_length="${2:-256}"
152
-
153
- # SECURITY FIX #2: Command injection prevention - strict alphanumeric whitelist
154
- # Allows ONLY: letters, numbers, dash, underscore, space, comma, period, colon
155
- local sanitized=$(echo "$input" | tr -cd '[:alnum:] _,.:-')
156
-
157
- # Length bounds check
158
- if [ ${#input} -gt "$max_length" ]; then
159
- log_error "Input exceeds maximum length ($max_length): ${#input}"
160
- return 1
161
- fi
162
-
163
- # Reject if input contains shell metacharacters: $, `, ;, |, &, >, <, (, ), {, }, [, ], \, ", ', =
164
- if [[ "$input" =~ (\$|\`|;|\||&|>|<|\(|\)|\{|\}|\[|\]|\\|\"|\'|=) ]]; then
165
- log_error "Input contains dangerous shell metacharacters"
166
- log_error "Original: $input"
167
- log_error "Security Risk: Command injection attack prevented"
168
- return 1
169
- fi
170
-
171
- echo "$sanitized"
172
- return 0
173
- }
174
-
175
- # Mode configuration
176
- get_mode_config() {
177
- local mode="$1"
178
-
179
- case "$mode" in
180
- "mvp")
181
- echo '{"maxIterations":3,"gateThreshold":0.70,"consensusThreshold":0.80,"validators":2}'
182
- ;;
183
- "standard")
184
- echo '{"maxIterations":10,"gateThreshold":0.75,"consensusThreshold":0.90,"validators":3}'
185
- ;;
186
- "enterprise")
187
- echo '{"maxIterations":15,"gateThreshold":0.85,"consensusThreshold":0.95,"validators":5}'
188
- ;;
189
- *)
190
- echo '{"maxIterations":10,"gateThreshold":0.75,"consensusThreshold":0.90,"validators":3}'
191
- ;;
192
- esac
193
- }
194
-
195
- # Path to skills
196
- REDIS_COORDINATION_SKILL="$PROJECT_ROOT/.claude/skills/cfn-docker-redis-coordination/coordinate.sh"
197
- AGENT_SPAWNING_SKILL="$PROJECT_ROOT/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh"
198
- WAVE_EXECUTION_SKILL="$PROJECT_ROOT/.claude/skills/cfn-docker-wave-execution"
199
- WAVE_SPAWN_SCRIPT="$WAVE_EXECUTION_SKILL/spawn-wave.sh"
200
- WAVE_HELPERS="$WAVE_EXECUTION_SKILL/lib/docker-helpers.sh"
201
- WAVE_CHECKPOINT_SKILL="$PROJECT_ROOT/.claude/skills/cfn-wave-checkpoint"
202
- CHECKPOINT_SAVE_SCRIPT="$WAVE_CHECKPOINT_SKILL/save-checkpoint.sh"
203
- CHECKPOINT_RESUME_SCRIPT="$WAVE_CHECKPOINT_SKILL/resume-wave.sh"
204
- CHECKPOINT_CLEANUP_SCRIPT="$WAVE_CHECKPOINT_SKILL/cleanup-orphans.sh"
205
-
206
- # Parse command line arguments
207
- OPERATION=""
208
- TASK_ID=""
209
- TASK_DESCRIPTION=""
210
- MODE="standard"
211
- AGENTS=""
212
- MAX_ITERATIONS="$DEFAULT_MAX_ITERATIONS"
213
- GATE_THRESHOLD="$DEFAULT_GATE_THRESHOLD"
214
- CONSENSUS_THRESHOLD="$DEFAULT_CONSENSUS_THRESHOLD"
215
- CONTEXT_FILE=""
216
- TIMEOUT=""
217
- SUCCESS_CRITERIA=""
218
- MEMORY_LIMIT=""
219
- NETWORK=""
220
- ADAPTIVE_SELECTION=false
221
- FORCE_ITERATION=""
222
- DRY_RUN=false
223
- VERBOSE=false
224
-
225
- # Mode A: Wave execution parameters
226
- BATCHING_PLAN=""
227
- WAVE_NUMBER=""
228
- EXPECTED_COUNT=""
229
- VALIDATION_COMMAND=""
230
-
231
- while [[ $# -gt 0 ]]; do
232
- case $1 in
233
- --task-description)
234
- TASK_DESCRIPTION="$2"
235
- shift 2
236
- ;;
237
- --mode)
238
- MODE="$2"
239
- shift 2
240
- ;;
241
- --agents)
242
- AGENTS="$2"
243
- shift 2
244
- ;;
245
- --max-iterations)
246
- MAX_ITERATIONS="$2"
247
- shift 2
248
- ;;
249
- --gate-threshold)
250
- GATE_THRESHOLD="$2"
251
- shift 2
252
- ;;
253
- --consensus-threshold)
254
- CONSENSUS_THRESHOLD="$2"
255
- shift 2
256
- ;;
257
- --context-file)
258
- CONTEXT_FILE="$2"
259
- shift 2
260
- ;;
261
- --success-criteria)
262
- SUCCESS_CRITERIA="$2"
263
- shift 2
264
- ;;
265
- --timeout)
266
- TIMEOUT="$2"
267
- shift 2
268
- ;;
269
- --memory-limit)
270
- MEMORY_LIMIT="$2"
271
- shift 2
272
- ;;
273
- --network)
274
- NETWORK="$2"
275
- shift 2
276
- ;;
277
- --adaptive-selection)
278
- ADAPTIVE_SELECTION=true
279
- shift
280
- ;;
281
- --force-iteration)
282
- FORCE_ITERATION="$2"
283
- shift 2
284
- ;;
285
- --dry-run)
286
- DRY_RUN=true
287
- shift
288
- ;;
289
- --verbose)
290
- VERBOSE=true
291
- shift
292
- ;;
293
- --batching-plan)
294
- BATCHING_PLAN="$2"
295
- shift 2
296
- ;;
297
- --wave-number)
298
- WAVE_NUMBER="$2"
299
- shift 2
300
- ;;
301
- --expected-count)
302
- EXPECTED_COUNT="$2"
303
- shift 2
304
- ;;
305
- --command)
306
- VALIDATION_COMMAND="$2"
307
- shift 2
308
- ;;
309
- --help)
310
- usage
311
- exit 0
312
- ;;
313
- -*)
314
- log_error "Unknown option: $1"
315
- usage
316
- exit 1
317
- ;;
318
- *)
319
- if [[ -z "$OPERATION" ]]; then
320
- OPERATION="$1"
321
- elif [[ -z "$TASK_ID" ]]; then
322
- TASK_ID="$1"
323
- else
324
- log_error "Too many arguments"
325
- usage
326
- exit 1
327
- fi
328
- shift
329
- ;;
330
- esac
331
- done
332
-
333
- # Apply mode configuration
334
- MODE_CONFIG=$(get_mode_config "$MODE")
335
- MAX_ITERATIONS=$(echo "$MODE_CONFIG" | jq -r '.maxIterations // 10')
336
- GATE_THRESHOLD=$(echo "$MODE_CONFIG" | jq -r '.gateThreshold // 0.75')
337
- CONSENSUS_THRESHOLD=$(echo "$MODE_CONFIG" | jq -r '.consensusThreshold // 0.90')
338
-
339
- # Validate required arguments
340
- if [[ -z "$OPERATION" ]]; then
341
- log_error "Operation is required"
342
- usage
343
- exit 1
344
- fi
345
-
346
- if [[ -z "$TASK_ID" && "$OPERATION" != "analyze-task" ]]; then
347
- log_error "Task ID is required"
348
- usage
349
- exit 1
350
- fi
351
-
352
- # Check dependencies
353
- for dependency in "$REDIS_COORDINATION_SKILL" "$AGENT_SPAWNING_SKILL"; do
354
- if [[ ! -f "$dependency" ]]; then
355
- log_error "Required skill not found: $dependency"
356
- exit 1
357
- fi
358
- done
359
-
360
- # Validate Docker agent image exists
361
- AGENT_IMAGE="${AGENT_IMAGE:-claude-flow-novice-agent:latest}"
362
- if ! docker image inspect "$AGENT_IMAGE" &>/dev/null; then
363
- log_error "Required Docker image not found: $AGENT_IMAGE"
364
- log_error "Please build the image first or set AGENT_IMAGE environment variable"
365
- exit 1
366
- fi
367
- log "Using agent image: $AGENT_IMAGE"
368
-
369
- # Change to project root
370
- cd "$PROJECT_ROOT"
371
-
372
- # Operation implementations
373
-
374
- # Planning phase: Decompose task into atomic units
375
- plan_task() {
376
- local task_description="$1"
377
- local task_id="$2"
378
-
379
- if [[ -z "$task_description" ]]; then
380
- log_error "Task description is required for planning"
381
- return 1
382
- fi
383
-
384
- log "Planning phase: Decomposing task into atomic units"
385
- log "Task: $task_description"
386
-
387
- # Create plan file
388
- local plan_file="/tmp/cfn-docker-plan-${task_id}.json"
389
-
390
- # Check if plan file already exists (from pre-planning)
391
- if [[ -f "$plan_file" ]]; then
392
- log "Using existing plan file: $plan_file"
393
-
394
- # Validate plan structure
395
- if ! jq -e '.atomic_tasks' "$plan_file" > /dev/null 2>&1; then
396
- log_error "Invalid existing plan format: missing atomic_tasks"
397
- return 1
398
- fi
399
-
400
- log_success "Task planning complete: $(jq -r '.atomic_tasks | length' "$plan_file") atomic tasks"
401
-
402
- # Extract agent assignments from plan
403
- local agents
404
- agents=$(jq -r '.atomic_tasks[].agent_type' "$plan_file" | sort -u | tr '\n' ' ')
405
- echo "$agents"
406
- return 0
407
- fi
408
-
409
- # Generate plan via LLM API call (for Docker mode)
410
- if [[ -n "${ANTHROPIC_API_KEY:-}" ]]; then
411
- log "Generating plan via Anthropic API..."
412
-
413
- # Create planning prompt
414
- local planning_prompt="You are a task planning expert. Decompose this task into atomic units for parallel execution.
415
-
416
- Task: ${task_description}
417
-
418
- Requirements:
419
- 1. Break task into 15-30 minute atomic units
420
- 2. Each atomic task should have: description, estimated time, dependencies, agent type, deliverables
421
- 3. Agent types available: backend-developer, react-frontend-engineer, security-specialist, tester, reviewer, devops-engineer
422
- 4. Assign 1 atomic task per agent (2-3 max if shared context helps)
423
- 5. Identify which tasks can run in parallel vs sequential
424
- 6. Use simple dependency notation: [] for no dependencies, [\"task-1\"] for dependencies
425
-
426
- Output ONLY valid JSON in this exact format:
427
- {
428
- \"atomic_tasks\": [
429
- {
430
- \"id\": \"task-1\",
431
- \"description\": \"Implement JWT token generation middleware\",
432
- \"estimated_time\": \"20 min\",
433
- \"dependencies\": [],
434
- \"agent_type\": \"backend-developer\",
435
- \"deliverables\": [\"src/middleware/jwt.ts\", \"tests\"]
436
- }
437
- ],
438
- \"execution_phases\": {
439
- \"phase_1_parallel\": [\"task-1\", \"task-3\"],
440
- \"phase_2_sequential\": [\"task-2\"]
441
- }
442
- }"
443
-
444
- # Call Anthropic API
445
- local api_response
446
- api_response=$(curl -s -X POST https://api.anthropic.com/v1/messages \
447
- -H "x-api-key: ${ANTHROPIC_API_KEY}" \
448
- -H "anthropic-version: 2023-06-01" \
449
- -H "content-type: application/json" \
450
- -d "{
451
- \"model\": \"claude-sonnet-4-20250514\",
452
- \"max_tokens\": 2048,
453
- \"messages\": [{
454
- \"role\": \"user\",
455
- \"content\": $(echo "$planning_prompt" | jq -Rs .)
456
- }]
457
- }")
458
-
459
- # Extract plan from response
460
- local plan_content
461
- plan_content=$(echo "$api_response" | jq -r '.content[0].text' 2>/dev/null)
462
-
463
- if [[ -z "$plan_content" || "$plan_content" == "null" ]]; then
464
- log_error "Failed to get plan from API"
465
- log_warning "API response: $(echo "$api_response" | head -100)"
466
- return 1
467
- fi
468
-
469
- # Clean JSON (remove markdown code blocks if present)
470
- plan_content=$(echo "$plan_content" | sed -n '/^{/,/^}/p')
471
-
472
- # Save plan file
473
- echo "$plan_content" > "$plan_file"
474
-
475
- # Validate plan structure
476
- if ! jq -e '.atomic_tasks' "$plan_file" > /dev/null 2>&1; then
477
- log_error "Invalid plan format from API: missing atomic_tasks"
478
- log_warning "Plan content: $(cat "$plan_file" | head -50)"
479
- return 1
480
- fi
481
-
482
- log_success "Task planning complete via API: $(jq -r '.atomic_tasks | length' "$plan_file") atomic tasks"
483
-
484
- # Extract agent assignments from plan
485
- local agents
486
- agents=$(jq -r '.atomic_tasks[].agent_type' "$plan_file" | sort -u | tr '\n' ' ')
487
- echo "$agents"
488
- return 0
489
- fi
490
-
491
- # No API key - wait for external plan file (Task mode)
492
- log_warning "No ANTHROPIC_API_KEY found, waiting for external plan file..."
493
- local wait_count=0
494
- while [[ ! -f "$plan_file" && $wait_count -lt 30 ]]; do
495
- sleep 1
496
- ((wait_count++))
497
- done
498
-
499
- if [[ ! -f "$plan_file" ]]; then
500
- log_warning "No plan file created, falling back to analyze_task"
501
- return 1
502
- fi
503
-
504
- # Validate plan structure
505
- if ! jq -e '.atomic_tasks' "$plan_file" > /dev/null 2>&1; then
506
- log_error "Invalid plan format: missing atomic_tasks"
507
- return 1
508
- fi
509
-
510
- log_success "Task planning complete: $(jq -r '.atomic_tasks | length' "$plan_file") atomic tasks"
511
-
512
- # Extract agent assignments from plan
513
- local agents
514
- agents=$(jq -r '.atomic_tasks[].agent_type' "$plan_file" | sort -u | tr '\n' ' ')
515
- echo "$agents"
516
- }
517
-
518
- analyze_task() {
519
- local task_description="$1"
520
- local task_id="${2:-}"
521
-
522
- if [[ -z "$task_description" ]]; then
523
- log_error "Task description is required for task analysis"
524
- return 1
525
- fi
526
-
527
- log "Analyzing task: $task_description"
528
-
529
- # Try planning first if task_id provided
530
- if [[ -n "$task_id" ]]; then
531
- local planned_agents
532
- if planned_agents=$(plan_task "$task_description" "$task_id" 2>/dev/null); then
533
- log "Using planned agent assignments: $planned_agents"
534
- echo "$planned_agents"
535
- return 0
536
- fi
537
- fi
538
-
539
- # Fallback: Simple keyword-based agent selection
540
- log_warning "Using fallback keyword-based agent selection"
541
- local selected_agents=()
542
-
543
- if [[ "$task_description" =~ (frontend|ui|user.interface|react|vue|angular) ]]; then
544
- selected_agents+=("react-frontend-engineer")
545
- fi
546
-
547
- if [[ "$task_description" =~ (backend|api|server|database|authentication|security) ]]; then
548
- selected_agents+=("backend-developer")
549
- if [[ "$task_description" =~ (security|auth|encryption|password) ]]; then
550
- selected_agents+=("security-specialist")
551
- fi
552
- fi
553
-
554
- if [[ "$task_description" =~ (test|testing|quality|qa) ]]; then
555
- selected_agents+=("tester")
556
- fi
557
-
558
- if [[ "$task_description" =~ (review|code.quality|refactor) ]]; then
559
- selected_agents+=("reviewer")
560
- fi
561
-
562
- if [[ "$task_description" =~ (devops|deployment|docker|infrastructure) ]]; then
563
- selected_agents+=("devops-engineer")
564
- fi
565
-
566
- # Default agents if none selected
567
- if [[ ${#selected_agents[@]} -eq 0 ]]; then
568
- selected_agents=("backend-developer" "react-frontend-engineer" "reviewer")
569
- fi
570
-
571
- # Limit to 3 agents for Loop 3
572
- local loop3_agents=("${selected_agents[@]:0:3}")
573
-
574
- log "Recommended Loop 3 agents: $(IFS=','; echo "${loop3_agents[*]}")"
575
- log "Recommended Loop 2 agents: reviewer,tester"
576
-
577
- echo "${loop3_agents[*]}"
578
- }
579
-
580
- init() {
581
- local task_id="$1"
582
- local context_file="$2"
583
-
584
- log "Initializing loop orchestration for task: $task_id"
585
-
586
- # Initialize Redis coordination
587
- if [[ -n "$context_file" ]]; then
588
- "$REDIS_COORDINATION_SKILL" init-task \
589
- --task-id "$task_id" \
590
- --context-file "$context_file"
591
- else
592
- "$REDIS_COORDINATION_SKILL" init-task \
593
- --task-id "$task_id"
594
- fi
595
-
596
- # Store loop configuration
597
- local config_file="/tmp/loop-config-${task_id}.json"
598
- cat > "$config_file" << EOF
599
- {
600
- "taskId": "$task_id",
601
- "mode": "$MODE",
602
- "maxIterations": $MAX_ITERATIONS,
603
- "gateThreshold": $GATE_THRESHOLD,
604
- "consensusThreshold": $CONSENSUS_THRESHOLD,
605
- "currentIteration": 1,
606
- "currentLoop": 3,
607
- "status": "initialized",
608
- "createdAt": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
609
- }
610
- EOF
611
-
612
- # Store success criteria if provided
613
- if [[ -n "$SUCCESS_CRITERIA" ]]; then
614
- if validate_json_context "$SUCCESS_CRITERIA"; then
615
- # Store in Redis using coordination skill
616
- if command -v redis-cli >/dev/null 2>&1; then
617
- redis-cli HSET "task:${task_id}:context" "success-criteria" "$SUCCESS_CRITERIA" >/dev/null 2>&1 || {
618
- log_warning "Failed to store success criteria in Redis, will pass via env vars"
619
- }
620
- log "Stored success criteria ($(echo "$SUCCESS_CRITERIA" | jq -r '.test_suites | length' 2>/dev/null || echo '0') test suites)"
621
- else
622
- log_warning "Redis not available, success criteria will be passed via environment variables"
623
- fi
624
- else
625
- log_error "Invalid success criteria JSON, skipping storage"
626
- fi
627
- fi
628
-
629
- log_success "Loop orchestration initialized: $task_id"
630
- }
631
-
632
- spawn_loop3() {
633
- local task_id="$1"
634
- local agents="$2"
635
- local iteration="${3:-1}"
636
-
637
- if [[ -z "$agents" ]]; then
638
- log_error "Agent list is required for Loop 3 spawning"
639
- return 1
640
- fi
641
-
642
- log_loop "Spawning Loop 3 implementers (iteration $iteration)"
643
- log "Agents: $agents"
644
-
645
- # Load success criteria from Redis (if available)
646
- local AGENT_SUCCESS_CRITERIA=""
647
- local AGENT_SUCCESS_CRITERIA_B64=""
648
-
649
- if command -v redis-cli >/dev/null 2>&1; then
650
- local LOADED_CRITERIA=$(redis-cli HGET "task:${task_id}:context" "success-criteria" 2>/dev/null || echo "")
651
-
652
- if [[ -n "$LOADED_CRITERIA" && "$LOADED_CRITERIA" != "null" ]]; then
653
- # Validate JSON
654
- if echo "$LOADED_CRITERIA" | jq empty 2>/dev/null; then
655
- AGENT_SUCCESS_CRITERIA="$LOADED_CRITERIA"
656
-
657
- # Base64-encode for safe environment variable passing
658
- AGENT_SUCCESS_CRITERIA_B64=$(echo -n "$AGENT_SUCCESS_CRITERIA" | base64 -w 0 2>/dev/null || echo -n "$AGENT_SUCCESS_CRITERIA" | base64)
659
-
660
- local TEST_SUITE_COUNT=$(echo "$AGENT_SUCCESS_CRITERIA" | jq -r '.test_suites | length' 2>/dev/null || echo "0")
661
- log "Success criteria loaded ($TEST_SUITE_COUNT test suites)"
662
- else
663
- log_warning "Invalid success criteria JSON in Redis, skipping"
664
- fi
665
- fi
666
- fi
667
-
668
- # Fallback to global SUCCESS_CRITERIA if not in Redis
669
- if [[ -z "$AGENT_SUCCESS_CRITERIA" && -n "$SUCCESS_CRITERIA" ]]; then
670
- AGENT_SUCCESS_CRITERIA="$SUCCESS_CRITERIA"
671
- AGENT_SUCCESS_CRITERIA_B64=$(echo -n "$AGENT_SUCCESS_CRITERIA" | base64 -w 0 2>/dev/null || echo -n "$AGENT_SUCCESS_CRITERIA" | base64)
672
- log "Using global success criteria (not in Redis)"
673
- fi
674
-
675
- # Check for execution plan
676
- local plan_file="/tmp/cfn-docker-plan-${task_id}.json"
677
- local has_plan=false
678
- if [[ -f "$plan_file" ]] && jq -e '.atomic_tasks' "$plan_file" > /dev/null 2>&1; then
679
- has_plan=true
680
- log "Using execution plan with $(jq -r '.atomic_tasks | length' "$plan_file") atomic tasks"
681
- fi
682
-
683
- # Spawn agents
684
- IFS=',' read -ra AGENT_ARRAY <<< "$agents"
685
- local agent_ids=()
686
- local task_index=0
687
-
688
- for agent_type in "${AGENT_ARRAY[@]}"; do
689
- agent_type=$(echo "$agent_type" | xargs) # trim whitespace
690
-
691
- # Get atomic task assignment from plan (if available)
692
- local atomic_task_desc="$TASK_DESCRIPTION"
693
- local atomic_task_deliverables=""
694
-
695
- if [[ "$has_plan" == true ]]; then
696
- # Find atomic tasks assigned to this agent type
697
- atomic_task_desc=$(jq -r ".atomic_tasks[] | select(.agent_type == \"$agent_type\") | .description" "$plan_file" 2>/dev/null | head -1 || echo "")
698
- atomic_task_deliverables=$(jq -r ".atomic_tasks[] | select(.agent_type == \"$agent_type\") | .deliverables | join(\", \")" "$plan_file" 2>/dev/null | head -1 || echo "")
699
-
700
- if [[ -n "$atomic_task_desc" && "$atomic_task_desc" != "null" ]]; then
701
- log "Atomic task for $agent_type: $atomic_task_desc"
702
- else
703
- log_warning "No atomic task found in plan for $agent_type, using full task description"
704
- atomic_task_desc="$TASK_DESCRIPTION"
705
- fi
706
- fi
707
-
708
- # Store task context for this specific agent
709
- local context_file="/tmp/task-context-${task_id}-loop3-${iteration}-${agent_type}.json"
710
-
711
- # Create enhanced context with atomic task assignment
712
- local context_json=$(cat << EOF
713
- {
714
- "task_id": "$task_id",
715
- "loop_number": 3,
716
- "iteration": $iteration,
717
- "mode": "$MODE",
718
- "role": "implementer",
719
- "agent_type": "$agent_type",
720
- "atomic_task": "$atomic_task_desc",
721
- "expected_deliverables": "$atomic_task_deliverables",
722
- "gate_threshold": $GATE_THRESHOLD,
723
- "max_iterations": $MAX_ITERATIONS,
724
- "instructions": "Complete your assigned atomic task (15-30 min scope). Focus on: $atomic_task_desc. Deliver working, tested code. Report confidence (0.0-1.0).",
725
- "created_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
726
- }
727
- EOF
728
- )
729
-
730
- # Add success criteria if available (stored separately due to potential size)
731
- if [[ -n "$AGENT_SUCCESS_CRITERIA_B64" ]]; then
732
- context_json=$(echo "$context_json" | jq --arg criteria_b64 "$AGENT_SUCCESS_CRITERIA_B64" '. + {success_criteria_b64: $criteria_b64}')
733
- fi
734
-
735
- echo "$context_json" > "$context_file"
736
-
737
- # Get task context from Redis if available
738
- if [[ -n "$CONTEXT_FILE" ]]; then
739
- # Merge with existing context
740
- local merged_context=$(jq -s '.[0] * .[1]' "$CONTEXT_FILE" "$context_file")
741
- echo "$merged_context" > "$context_file"
742
- fi
743
-
744
- if [[ "$DRY_RUN" == false ]]; then
745
- # Docker container environment: Agent spawning skill will extract
746
- # success_criteria_b64 from context file and pass to container via:
747
- # docker run --env AGENT_SUCCESS_CRITERIA_B64=<base64-encoded-json>
748
- # This enables secure test-driven validation in containerized agents
749
-
750
- local agent_id
751
- local spawn_output
752
- spawn_output=$("$AGENT_SPAWNING_SKILL" \
753
- "$agent_type" \
754
- "$task_id" \
755
- "" \
756
- --context "$context_file" \
757
- --memory-limit "${MEMORY_LIMIT:-1g}" \
758
- --network "${NETWORK:-mcp-network}" 2>&1) || {
759
- log_error "Spawning script failed for $agent_type"
760
- log_error "Output: $spawn_output"
761
- return 1
762
- }
763
- agent_id=$(echo "$spawn_output" | grep -o 'Agent ID: [^[:space:]]*' | head -1 | cut -d' ' -f3 || echo "")
764
-
765
- if [[ -n "$agent_id" ]]; then
766
- agent_ids+=("$agent_id")
767
-
768
- # Register agent in Redis
769
- "$REDIS_COORDINATION_SKILL" register-agent \
770
- --agent-id "$agent_id" \
771
- --agent-type "$agent_type" \
772
- --task-id "$task_id"
773
-
774
- log_success "Agent spawned: $agent_id ($agent_type)"
775
- else
776
- log_error "Failed to spawn agent: $agent_type"
777
- return 1
778
- fi
779
- else
780
- log "DRY RUN: Would spawn agent: $agent_type"
781
- fi
782
- done
783
-
784
- # Validate agents were spawned successfully
785
- if [[ "$DRY_RUN" == false && ${#agent_ids[@]} -eq 0 ]]; then
786
- log_error "No agents were spawned successfully"
787
- return 1
788
- fi
789
-
790
- if [[ "$DRY_RUN" == false && ${#agent_ids[@]} -gt 0 ]]; then
791
- log_loop "Loop 3 agents spawned: ${#agent_ids[@]} agents"
792
- # Store agent IDs for monitoring
793
- printf '%s\n' "${agent_ids[@]}" > "/tmp/loop3-agents-${task_id}-${iteration}.txt"
794
- fi
795
-
796
- # Cleanup
797
- rm -f "$context_file"
798
- }
799
-
800
- monitor_loop3() {
801
- local task_id="$1"
802
- local gate_threshold="${2:-$GATE_THRESHOLD}"
803
- local iteration="${3:-1}"
804
-
805
- log_loop "Monitoring Loop 3 completion (iteration $iteration)"
806
-
807
- # Get spawned agents
808
- local agents_file="/tmp/loop3-agents-${task_id}-${iteration}.txt"
809
- if [[ ! -f "$agents_file" ]]; then
810
- log_error "No Loop 3 agents found for task: $task_id"
811
- return 1
812
- fi
813
-
814
- local agent_count=$(wc -l < "$agents_file")
815
- log "Waiting for $agent_count agents to complete"
816
-
817
- # Wait for agent completion
818
- if "$REDIS_COORDINATION_SKILL" wait-loop \
819
- --task-id "$task_id" \
820
- --loop-number 3 \
821
- --agent-count "$agent_count" \
822
- --timeout "${TIMEOUT:-$DEFAULT_LOOP3_TIMEOUT}"; then
823
-
824
- log_success "All Loop 3 agents completed"
825
-
826
- # Collect confidence scores for gate check
827
- local total_confidence=0
828
- local completed_agents=0
829
-
830
- while IFS= read -r agent_id; do
831
- local confidence=$("$REDIS_COORDINATION_SKILL" get-context "$task_id" "$agent_id" 2>/dev/null | jq -r '.confidence // 0.0')
832
- if [[ "$confidence" != "0.0" && "$confidence" != "null" ]]; then
833
- total_confidence=$(echo "$total_confidence + $confidence" | bc -l)
834
- ((completed_agents++))
835
- if [[ "$VERBOSE" == true ]]; then
836
- log "Agent $agent_id confidence: $confidence"
837
- fi
838
- fi
839
- done < "$agents_file"
840
-
841
- if [[ $completed_agents -gt 0 ]]; then
842
- local average_confidence=$(echo "scale=3; $total_confidence / $completed_agents" | bc -l)
843
- log "Gate result: $average_confidence >= $gate_threshold"
844
-
845
- if (( $(echo "$average_confidence >= $gate_threshold" | bc -l) )); then
846
- log_success "Loop 3 gate PASSED (confidence: $average_confidence)"
847
- return 0
848
- else
849
- log_warning "Loop 3 gate FAILED (confidence: $average_confidence)"
850
- return 1
851
- fi
852
- else
853
- log_error "No confidence scores collected from agents"
854
- return 1
855
- fi
856
- else
857
- log_error "Loop 3 completion timeout or failure"
858
- return 1
859
- fi
860
- }
861
-
862
- gate_check() {
863
- local task_id="$1"
864
- local gate_threshold="${2:-$GATE_THRESHOLD}"
865
- local iteration="${3:-1}"
866
- local max_iterations="${4:-$MAX_ITERATIONS}"
867
-
868
- log_loop "Performing gate check for iteration $iteration"
869
-
870
- # First, ensure Loop 3 agents have completed
871
- if ! monitor_loop3 "$task_id" "$gate_threshold" "$iteration"; then
872
- log_error "Loop 3 monitoring failed"
873
- return 1
874
- fi
875
-
876
- # Get Loop 3 agent IDs for gate check
877
- local agents_file="/tmp/loop3-agents-${task_id}-${iteration}.txt"
878
- local loop3_agent_ids=""
879
-
880
- if [[ -f "$agents_file" ]]; then
881
- loop3_agent_ids=$(cat "$agents_file" | tr '\n' ',' | sed 's/,$//')
882
- else
883
- log_error "No Loop 3 agent IDs found for gate check"
884
- return 1
885
- fi
886
-
887
- # Load success criteria from Redis
888
- local gate_success_criteria=""
889
- if command -v redis-cli >/dev/null 2>&1; then
890
- gate_success_criteria=$(redis-cli HGET "task:${task_id}:context" "success-criteria" 2>/dev/null || echo "")
891
- fi
892
-
893
- # Fallback to global SUCCESS_CRITERIA
894
- if [[ -z "$gate_success_criteria" && -n "$SUCCESS_CRITERIA" ]]; then
895
- gate_success_criteria="$SUCCESS_CRITERIA"
896
- fi
897
-
898
- # Use test-driven gate check helper if available
899
- local GATE_CHECK_HELPER="$PROJECT_ROOT/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh"
900
-
901
- if [[ -x "$GATE_CHECK_HELPER" ]]; then
902
- log "Using test-driven gate check"
903
-
904
- # Prepare arguments
905
- local gate_args=(
906
- --task-id "$task_id"
907
- --agents "$loop3_agent_ids"
908
- --threshold "$gate_threshold"
909
- --min-quorum "0.66"
910
- --mode "$MODE"
911
- )
912
-
913
- # Add success criteria if available
914
- if [[ -n "$gate_success_criteria" ]]; then
915
- gate_args+=(--success-criteria "$gate_success_criteria")
916
- gate_args+=(--strategy "test-driven")
917
- else
918
- gate_args+=(--strategy "confidence")
919
- log_warning "No success criteria available, using confidence-based gate check"
920
- fi
921
-
922
- if "$GATE_CHECK_HELPER" "${gate_args[@]}"; then
923
- # Gate passed - proceed to Loop 2
924
- log_success "Gate PASSED - proceeding to Loop 2 validation"
925
-
926
- # Signal gate passed for Loop 2 agents
927
- if command -v redis-cli >/dev/null 2>&1; then
928
- redis-cli LPUSH "cfn_docker:task:$task_id:gate-passed" "proceed" > /dev/null 2>&1 || true
929
- fi
930
-
931
- return 0
932
- else
933
- # Gate failed - check if we can iterate
934
- if [[ $iteration -lt $max_iterations ]]; then
935
- log_warning "Gate FAILED - iterating Loop 3 ($iteration/$max_iterations)"
936
-
937
- # Force next iteration
938
- spawn_loop3 "$task_id" "$AGENTS" $((iteration + 1))
939
- return 2 # Signal to iterate
940
- else
941
- log_error "Gate FAILED - max iterations reached ($max_iterations)"
942
- return 1
943
- fi
944
- fi
945
- else
946
- # Fallback to legacy confidence-based gate check
947
- log_warning "Gate check helper not found, using legacy confidence-based validation"
948
-
949
- # The monitor_loop3 function already checked confidence
950
- # If we got here, monitoring succeeded, so gate passes
951
- log_success "Gate PASSED (legacy mode)"
952
-
953
- # Signal gate passed
954
- if command -v redis-cli >/dev/null 2>&1; then
955
- redis-cli LPUSH "cfn_docker:task:$task_id:gate-passed" "proceed" > /dev/null 2>&1 || true
956
- fi
957
-
958
- return 0
959
- fi
960
- }
961
-
962
- spawn_loop2() {
963
- local task_id="$1"
964
- local loop3_work="$2"
965
-
966
- log_loop "Spawning Loop 2 validators"
967
-
968
- # Standard Loop 2 agents
969
- local validators="reviewer,tester"
970
-
971
- # Add security specialist for sensitive tasks
972
- if [[ "$TASK_DESCRIPTION" =~ (security|auth|password|encryption) ]]; then
973
- validators="$validators,security-specialist"
974
- fi
975
-
976
- # Create Loop 2 context
977
- local context_file="/tmp/task-context-${task_id}-loop2.json"
978
- cat > "$context_file" << EOF
979
- {
980
- "task_id": "$task_id",
981
- "loop_number": 2,
982
- "iteration": 1,
983
- "mode": "$MODE",
984
- "role": "validator",
985
- "task_description": "$TASK_DESCRIPTION",
986
- "consensus_threshold": $CONSENSUS_THRESHOLD,
987
- "loop3_work": "$loop3_work",
988
- "instructions": "Review and validate the implementation from Loop 3. Check for quality, correctness, and adherence to requirements. Provide your confidence in the implementation (0.0-1.0) and specific feedback.",
989
- "created_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
990
- }
991
- EOF
992
-
993
- # Spawn validator agents
994
- IFS=',' read -ra VALIDATOR_ARRAY <<< "$validators"
995
- local validator_ids=()
996
-
997
- for validator_type in "${VALIDATOR_ARRAY[@]}"; do
998
- validator_type=$(echo "$validator_type" | xargs) # trim whitespace
999
-
1000
- log "Spawning validator: $validator_type"
1001
-
1002
- if [[ "$DRY_RUN" == false ]]; then
1003
- local validator_id
1004
- validator_id=$("$AGENT_SPAWNING_SKILL" \
1005
- "$validator_type" \
1006
- "$task_id" \
1007
- "" \
1008
- --context "$context_file" \
1009
- --memory-limit "${MEMORY_LIMIT:-1g}" \
1010
- --network "${NETWORK:-mcp-network}" 2>&1 | grep -o '^Agent ID: [^[:space]]*' | cut -d' ' -f3)
1011
-
1012
- if [[ -n "$validator_id" ]]; then
1013
- validator_ids+=("$validator_id")
1014
-
1015
- # Register validator in Redis
1016
- "$REDIS_COORDINATION_SKILL" register-agent \
1017
- --agent-id "$validator_id" \
1018
- --agent-type "$validator_type" \
1019
- --task-id "$task_id"
1020
-
1021
- log_success "Validator spawned: $validator_id ($validator_type)"
1022
- else
1023
- log_error "Failed to spawn validator: $validator_type"
1024
- fi
1025
- else
1026
- log "DRY RUN: Would spawn validator: $validator_type"
1027
- fi
1028
- done
1029
-
1030
- if [[ "$DRY_RUN" == false && ${#validator_ids[@]} -gt 0 ]]; then
1031
- log_loop "Loop 2 validators spawned: ${#validator_ids[@]} validators"
1032
- # Store validator IDs for monitoring
1033
- printf '%s\n' "${validator_ids[@]}" > "/tmp/loop2-agents-${task_id}.txt"
1034
- fi
1035
-
1036
- # Cleanup
1037
- rm -f "$context_file"
1038
- }
1039
-
1040
- collect_consensus() {
1041
- local task_id="$1"
1042
- local consensus_threshold="${2:-$CONSENSUS_THRESHOLD}"
1043
-
1044
- log_loop "Collecting Loop 2 consensus (threshold: $consensus_threshold)"
1045
-
1046
- # Get spawned validators
1047
- local validators_file="/tmp/loop2-agents-${task_id}.txt"
1048
- if [[ ! -f "$validators_file" ]]; then
1049
- log_error "No Loop 2 validators found for task: $task_id"
1050
- return 1
1051
- fi
1052
-
1053
- local validator_count=$(wc -l < "$validators_file")
1054
- log "Waiting for $validator_count validators to complete"
1055
-
1056
- # Wait for validator completion
1057
- if "$REDIS_COORDINATION_SKILL" wait-loop \
1058
- --task-id "$task_id" \
1059
- --loop-number 2 \
1060
- --agent-count "$validator_count" \
1061
- --timeout "${TIMEOUT:-$DEFAULT_LOOP2_TIMEOUT}"; then
1062
-
1063
- # Collect consensus
1064
- if "$REDIS_COORDINATION_SKILL" collect-consensus \
1065
- --task-id "$task_id" \
1066
- --loop-number 2 \
1067
- --required-consensus "$consensus_threshold"; then
1068
-
1069
- log_success "Loop 2 consensus collected and PASSED"
1070
- return 0
1071
- else
1072
- log_error "Loop 2 consensus collection FAILED or threshold not met"
1073
- return 1
1074
- fi
1075
- else
1076
- log_error "Loop 2 validator completion timeout"
1077
- return 1
1078
- fi
1079
- }
1080
-
1081
- trigger_po_decision() {
1082
- local task_id="$1"
1083
- local consensus_data="$2"
1084
-
1085
- log_loop "Triggering Product Owner decision"
1086
-
1087
- # Create PO context
1088
- local context_file="/tmp/task-context-${task_id}-po.json"
1089
- cat > "$context_file" << EOF
1090
- {
1091
- "task_id": "$task_id",
1092
- "loop_number": 4,
1093
- "role": "product-owner",
1094
- "mode": "$MODE",
1095
- "task_description": "$TASK_DESCRIPTION",
1096
- "consensus_data": "$consensus_data",
1097
- "instructions": "Review the consensus data and make a strategic decision: PROCEED (implementation complete), ITERATE (needs more work), or ABORT (task not feasible). Use GOAP methodology for decision analysis.",
1098
- "created_at": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
1099
- }
1100
- EOF
1101
-
1102
- # Spawn Product Owner
1103
- log "Spawning Product Owner for decision"
1104
-
1105
- if [[ "$DRY_RUN" == false ]]; then
1106
- local po_id
1107
- po_id=$("$AGENT_SPAWNING_SKILL" \
1108
- "product-owner" \
1109
- "$task_id" \
1110
- "" \
1111
- --context "$context_file" \
1112
- --memory-limit "${MEMORY_LIMIT:-1g}" \
1113
- --network "${NETWORK:-mcp-network}" 2>&1 | grep -o '^Agent ID: [^[:space:]]*' | cut -d' ' -f3)
1114
-
1115
- if [[ -n "$po_id" ]]; then
1116
- log_success "Product Owner spawned: $po_id"
1117
-
1118
- # Wait for PO decision (with timeout)
1119
- if "$REDIS_COORDINATION_SKILL" wait-loop \
1120
- --task-id "$task_id" \
1121
- --loop-number 4 \
1122
- --agent-count 1 \
1123
- --timeout "${TIMEOUT:-$DEFAULT_PO_TIMEOUT}"; then
1124
-
1125
- log_success "Product Owner decision completed"
1126
- return 0
1127
- else
1128
- log_error "Product Owner decision timeout"
1129
- return 1
1130
- fi
1131
- else
1132
- log_error "Failed to spawn Product Owner"
1133
- return 1
1134
- fi
1135
- else
1136
- log "DRY RUN: Would spawn Product Owner"
1137
- fi
1138
-
1139
- # Cleanup
1140
- rm -f "$context_file"
1141
- }
1142
-
1143
- ################################################################################
1144
- # MEMORY BUDGET VALIDATION
1145
- ################################################################################
1146
-
1147
- validate_memory_budget() {
1148
- local batching_plan="$1"
1149
-
1150
- if [[ ! -f "$batching_plan" ]]; then
1151
- log_error "Batching plan not found: $batching_plan"
1152
- return 1
1153
- fi
1154
-
1155
- # Parse available Docker memory
1156
- local available_memory
1157
- available_memory=$(docker info --format '{{.MemTotal}}' 2>/dev/null || echo "0")
1158
-
1159
- if [[ "$available_memory" -eq 0 ]]; then
1160
- log_warning "Cannot determine Docker memory - skipping memory validation"
1161
- return 0
1162
- fi
1163
-
1164
- # Calculate required memory from plan
1165
- local total_memory=0
1166
- local wave_count
1167
- wave_count=$(jq '.waves | length' "$batching_plan" 2>/dev/null || echo "0")
1168
-
1169
- for wave_idx in $(seq 0 $((wave_count - 1))); do
1170
- local containers_in_wave
1171
- containers_in_wave=$(jq ".waves[$wave_idx].batch_count // 0" "$batching_plan" 2>/dev/null || echo "0")
1172
-
1173
- # Default memory per container (512MB)
1174
- local memory_per_container=$((512 * 1024 * 1024))
1175
-
1176
- # Check for tier-specific memory
1177
- local tier
1178
- tier=$(jq ".waves[$wave_idx].tier // 1" "$batching_plan" 2>/dev/null || echo "1")
1179
-
1180
- case "$tier" in
1181
- 1) memory_per_container=$((512 * 1024 * 1024)) ;;
1182
- 2) memory_per_container=$((600 * 1024 * 1024)) ;;
1183
- 3) memory_per_container=$((800 * 1024 * 1024)) ;;
1184
- 4) memory_per_container=$((1024 * 1024 * 1024)) ;;
1185
- esac
1186
-
1187
- local wave_memory=$((containers_in_wave * memory_per_container))
1188
- total_memory=$((total_memory + wave_memory))
1189
-
1190
- log "Wave $((wave_idx + 1)): $containers_in_wave containers × $((memory_per_container / 1024 / 1024))MB = $((wave_memory / 1024 / 1024))MB"
1191
- done
1192
-
1193
- # Compare with available memory
1194
- local total_memory_gb=$((total_memory / 1024 / 1024 / 1024))
1195
- local available_memory_gb=$((available_memory / 1024 / 1024 / 1024))
1196
-
1197
- log "Memory validation: Required $total_memory_gb GB / Available $available_memory_gb GB"
1198
-
1199
- if [[ $total_memory -gt $available_memory ]]; then
1200
- log_error "Insufficient memory: Required $total_memory_gb GB exceeds available $available_memory_gb GB"
1201
- return 1
1202
- fi
1203
-
1204
- log_success "Memory validation passed"
1205
- return 0
1206
- }
1207
-
1208
- ################################################################################
1209
- # CHECKPOINT MANAGEMENT
1210
- ################################################################################
1211
-
1212
- check_checkpoint_recovery() {
1213
- local task_id="$1"
1214
-
1215
- if [[ -z "$task_id" ]]; then
1216
- log_error "check_checkpoint_recovery requires: task_id"
1217
- return 1
1218
- fi
1219
-
1220
- if [[ ! -x "$CHECKPOINT_RESUME_SCRIPT" ]]; then
1221
- log_warning "Checkpoint recovery script not found: $CHECKPOINT_RESUME_SCRIPT"
1222
- return 1
1223
- fi
1224
-
1225
- log "Checking for existing checkpoints for task: $task_id"
1226
-
1227
- # Source the resume script functions
1228
- source "$CHECKPOINT_RESUME_SCRIPT" 2>/dev/null || {
1229
- log_warning "Failed to source checkpoint resume script"
1230
- return 1
1231
- }
1232
-
1233
- # Check if resumable waves exist
1234
- if get_resumable_waves "$task_id" > /tmp/resumable_waves.txt 2>/dev/null; then
1235
- local wave_count
1236
- wave_count=$(wc -l < /tmp/resumable_waves.txt)
1237
-
1238
- if [[ $wave_count -gt 0 ]]; then
1239
- log_success "Found $wave_count checkpoint(s) for recovery"
1240
- return 0
1241
- fi
1242
- fi
1243
-
1244
- return 1
1245
- }
1246
-
1247
- resume_from_checkpoint() {
1248
- local task_id="$1"
1249
-
1250
- if [[ -z "$task_id" ]]; then
1251
- log_error "resume_from_checkpoint requires: task_id"
1252
- return 1
1253
- fi
1254
-
1255
- if [[ ! -x "$CHECKPOINT_RESUME_SCRIPT" ]]; then
1256
- log_error "Checkpoint recovery script not found: $CHECKPOINT_RESUME_SCRIPT"
1257
- return 1
1258
- fi
1259
-
1260
- log "Attempting to resume from checkpoint for task: $task_id"
1261
-
1262
- # Call resume script
1263
- if "$CHECKPOINT_RESUME_SCRIPT" resume "$task_id"; then
1264
- log_success "Successfully resumed from checkpoint"
1265
- return 0
1266
- else
1267
- log_error "Failed to resume from checkpoint"
1268
- return 1
1269
- fi
1270
- }
1271
-
1272
- save_wave_checkpoint() {
1273
- local task_id="$1"
1274
- local wave_number="$2"
1275
- local container_ids="$3"
1276
- local batch_count="$4"
1277
-
1278
- if [[ -z "$task_id" ]] || [[ -z "$wave_number" ]] || [[ -z "$container_ids" ]]; then
1279
- log_warning "Invalid checkpoint parameters, skipping checkpoint save"
1280
- return 0 # Non-fatal
1281
- fi
1282
-
1283
- if [[ ! -x "$CHECKPOINT_SAVE_SCRIPT" ]]; then
1284
- log_warning "Checkpoint save script not found, skipping checkpoint"
1285
- return 0 # Non-fatal
1286
- fi
1287
-
1288
- log "Saving checkpoint for wave $wave_number"
1289
-
1290
- # Call save script
1291
- if "$CHECKPOINT_SAVE_SCRIPT" \
1292
- save "$task_id" "$wave_number" "$container_ids" "$(date +%s)" "$batch_count" >/dev/null 2>&1; then
1293
- log_success "Checkpoint saved for wave $wave_number"
1294
- return 0
1295
- else
1296
- log_warning "Failed to save checkpoint (execution will continue)"
1297
- return 0 # Non-fatal
1298
- fi
1299
- }
1300
-
1301
- cleanup_orphaned_containers() {
1302
- local task_id="$1"
1303
- local wave_number="${2:-}"
1304
-
1305
- if [[ -z "$task_id" ]]; then
1306
- log_error "cleanup_orphaned_containers requires: task_id"
1307
- return 1
1308
- fi
1309
-
1310
- if [[ ! -x "$CHECKPOINT_CLEANUP_SCRIPT" ]]; then
1311
- log_warning "Checkpoint cleanup script not found, skipping orphan cleanup"
1312
- return 0
1313
- fi
1314
-
1315
- log "Cleaning up orphaned containers for task: $task_id"
1316
-
1317
- if [[ -z "$wave_number" ]]; then
1318
- # Cleanup all waves
1319
- if "$CHECKPOINT_CLEANUP_SCRIPT" cleanup "$task_id" >/dev/null 2>&1; then
1320
- log_success "Orphan cleanup completed"
1321
- return 0
1322
- fi
1323
- else
1324
- # Cleanup specific wave
1325
- if "$CHECKPOINT_CLEANUP_SCRIPT" cleanup "$task_id" "$wave_number" >/dev/null 2>&1; then
1326
- log_success "Orphan cleanup completed for wave $wave_number"
1327
- return 0
1328
- fi
1329
- fi
1330
-
1331
- log_warning "Orphan cleanup encountered errors (non-fatal)"
1332
- return 0
1333
- }
1334
-
1335
- # Mode A: Wave Execution Operations
1336
-
1337
- spawn_wave() {
1338
- local task_id="$1"
1339
- local wave_number="$2"
1340
- local plan_file="$3"
1341
-
1342
- if [[ -z "$task_id" ]] || [[ -z "$wave_number" ]] || [[ -z "$plan_file" ]]; then
1343
- log_error "spawn_wave requires: task_id, wave_number, plan_file"
1344
- return 1
1345
- fi
1346
-
1347
- if [[ ! -f "$plan_file" ]]; then
1348
- log_error "Batching plan not found: $plan_file"
1349
- return 1
1350
- fi
1351
-
1352
- log "Spawning wave $wave_number for task: $task_id"
1353
-
1354
- # Validate plan has expected wave
1355
- if ! jq -e ".waves[$((wave_number - 1))]" "$plan_file" > /dev/null 2>&1; then
1356
- log_error "Wave $wave_number not found in plan"
1357
- return 1
1358
- fi
1359
-
1360
- # Call wave-execution skill
1361
- if [[ ! -x "$WAVE_SPAWN_SCRIPT" ]]; then
1362
- log_error "Wave spawn script not found or not executable: $WAVE_SPAWN_SCRIPT"
1363
- return 1
1364
- fi
1365
-
1366
- # Spawn containers for this wave
1367
- local output_file="/tmp/cfn-wave-${task_id}-${wave_number}-spawned.json"
1368
- if "$WAVE_SPAWN_SCRIPT" \
1369
- --wave-plan "$plan_file" \
1370
- --wave-number "$wave_number" \
1371
- --base-image "claude-flow-novice:latest" \
1372
- --workspace "$PROJECT_ROOT" \
1373
- --network "${NETWORK:-mcp-network}" \
1374
- --output "$output_file"; then
1375
-
1376
- log_success "Wave $wave_number spawned successfully"
1377
-
1378
- # Output spawned container IDs for tracking
1379
- if [[ -f "$output_file" ]]; then
1380
- cat "$output_file"
1381
- fi
1382
- return 0
1383
- else
1384
- log_error "Failed to spawn wave $wave_number"
1385
- return 1
1386
- fi
1387
- }
1388
-
1389
- monitor_wave() {
1390
- local task_id="$1"
1391
- local wave_number="$2"
1392
- local expected_count="$3"
1393
-
1394
- if [[ -z "$task_id" ]] || [[ -z "$wave_number" ]]; then
1395
- log_error "monitor_wave requires: task_id, wave_number"
1396
- return 1
1397
- fi
1398
-
1399
- log "Monitoring wave $wave_number for task: $task_id"
1400
- log "Expected container count: ${expected_count:-N/A}"
1401
-
1402
- # Use wave execution skill monitoring
1403
- local timeout="${TIMEOUT:-600}"
1404
- local monitor_script="$WAVE_EXECUTION_SKILL/monitor-wave.sh"
1405
-
1406
- if [[ ! -x "$monitor_script" ]]; then
1407
- log_error "Wave monitor script not found: $monitor_script"
1408
- return 1
1409
- fi
1410
-
1411
- # Monitor containers until completion or timeout
1412
- if "$monitor_script" \
1413
- --task-id "$task_id" \
1414
- --wave-number "$wave_number" \
1415
- --expected-count "${expected_count:-0}" \
1416
- --timeout "$timeout"; then
1417
-
1418
- log_success "Wave $wave_number completed successfully"
1419
- return 0
1420
- else
1421
- local exit_code=$?
1422
- if [[ $exit_code -eq 2 ]]; then
1423
- log_error "Wave $wave_number monitoring timeout"
1424
- else
1425
- log_error "Wave $wave_number failed"
1426
- fi
1427
- return $exit_code
1428
- fi
1429
- }
1430
-
1431
- cleanup_wave() {
1432
- local task_id="$1"
1433
- local wave_number="$2"
1434
-
1435
- if [[ -z "$task_id" ]] || [[ -z "$wave_number" ]]; then
1436
- log_error "cleanup_wave requires: task_id, wave_number"
1437
- return 1
1438
- fi
1439
-
1440
- log "Cleaning up wave $wave_number for task: $task_id"
1441
-
1442
- # Use wave execution skill cleanup
1443
- local cleanup_script="$WAVE_EXECUTION_SKILL/cleanup-wave.sh"
1444
-
1445
- if [[ ! -x "$cleanup_script" ]]; then
1446
- log_error "Wave cleanup script not found: $cleanup_script"
1447
- return 1
1448
- fi
1449
-
1450
- # Remove containers and artifacts
1451
- if "$cleanup_script" \
1452
- --task-id "$task_id" \
1453
- --wave-number "$wave_number"; then
1454
-
1455
- log_success "Wave $wave_number cleaned up successfully"
1456
- return 0
1457
- else
1458
- log_warning "Wave $wave_number cleanup had errors (partial cleanup)"
1459
- return 1
1460
- fi
1461
- }
1462
-
1463
- validate_errors() {
1464
- local task_id="$1"
1465
- local command="$2"
1466
-
1467
- if [[ -z "$task_id" ]] || [[ -z "$command" ]]; then
1468
- log_error "validate_errors requires: task_id, command"
1469
- return 1
1470
- fi
1471
-
1472
- log "Running error validation for task: $task_id"
1473
- log "Command: $command"
1474
-
1475
- # Create temporary output file for results
1476
- local output_file="/tmp/cfn-validate-errors-${task_id}.log"
1477
-
1478
- # Execute validation command and capture output
1479
- if eval "$command" > "$output_file" 2>&1; then
1480
- local error_count=0
1481
- else
1482
- # Command failed, count errors from output
1483
- local error_count=$(grep -i "error" "$output_file" 2>/dev/null | wc -l)
1484
- fi
1485
-
1486
- log_success "Error validation complete"
1487
- log "Error count: $error_count"
1488
-
1489
- # Return JSON results
1490
- cat << EOF
1491
- {
1492
- "task_id": "$task_id",
1493
- "command": "$command",
1494
- "error_count": $error_count,
1495
- "output_file": "$output_file",
1496
- "timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)"
1497
- }
1498
- EOF
1499
-
1500
- return 0
1501
- }
1502
-
1503
- execute_waves() {
1504
- local task_id="$1"
1505
- local plan_file="$2"
1506
-
1507
- if [[ -z "$task_id" ]] || [[ -z "$plan_file" ]]; then
1508
- log_error "execute_waves requires: task_id, plan_file"
1509
- return 1
1510
- fi
1511
-
1512
- if [[ ! -f "$plan_file" ]]; then
1513
- log_error "Batching plan not found: $plan_file"
1514
- return 1
1515
- fi
1516
-
1517
- log "Starting complete wave-based execution for task: $task_id"
1518
- log "Plan file: $plan_file"
1519
-
1520
- # Parse wave count from plan
1521
- local wave_count
1522
- wave_count=$(jq '.waves | length' "$plan_file" 2>/dev/null)
1523
-
1524
- if [[ -z "$wave_count" ]] || [[ "$wave_count" -lt 1 ]]; then
1525
- log_error "Invalid plan: no waves found"
1526
- return 1
1527
- fi
1528
-
1529
- log "Total waves to execute: $wave_count"
1530
-
1531
- # Validate memory budget before starting
1532
- if ! validate_memory_budget "$plan_file"; then
1533
- log_error "Memory budget validation failed - aborting execution"
1534
- return 1
1535
- fi
1536
-
1537
- # Check for checkpoint recovery
1538
- if check_checkpoint_recovery "$task_id"; then
1539
- log_warning "Found existing checkpoint for task: $task_id"
1540
- if resume_from_checkpoint "$task_id"; then
1541
- log_success "Resumed execution from checkpoint"
1542
- # Continue monitoring remaining waves
1543
- else
1544
- log_warning "Checkpoint resume failed, starting fresh execution"
1545
- fi
1546
- fi
1547
-
1548
- # Track results
1549
- local results_file="/tmp/cfn-wave-results-${task_id}.json"
1550
- echo '{"waves": [], "summary": {"total": 0, "succeeded": 0, "failed": 0}}' > "$results_file"
1551
-
1552
- # Execute each wave sequentially
1553
- for wave_num in $(seq 1 "$wave_count"); do
1554
- log_loop "=== Wave $wave_num/$wave_count ==="
1555
-
1556
- # Get batch count for this wave
1557
- local batch_count
1558
- batch_count=$(jq ".waves[$((wave_num - 1))].batch_count // 0" "$plan_file" 2>/dev/null)
1559
-
1560
- # Spawn wave
1561
- if ! spawn_wave "$task_id" "$wave_num" "$plan_file"; then
1562
- log_error "Failed to spawn wave $wave_num"
1563
- # Attempt orphan cleanup before exiting
1564
- cleanup_orphaned_containers "$task_id" "$wave_num"
1565
- return 1
1566
- fi
1567
-
1568
- # Get container IDs from spawn output for checkpoint
1569
- local container_ids
1570
- container_ids=$(docker ps -a --filter "label=cfn.task=$task_id" --filter "label=cfn.wave=$wave_num" --format "{{.ID}}" 2>/dev/null | tr '\n' ',' | sed 's/,$//')
1571
-
1572
- # Validate container IDs before saving checkpoint
1573
- if [[ -z "$container_ids" ]]; then
1574
- log_error "No containers found for wave $wave_num - checkpoint not saved"
1575
- cleanup_orphaned_containers "$task_id" "$wave_num"
1576
- return 1
1577
- fi
1578
-
1579
- # Save checkpoint after successful spawn
1580
- save_wave_checkpoint "$task_id" "$wave_num" "$container_ids" "$batch_count"
1581
-
1582
- # Monitor wave completion
1583
- if ! monitor_wave "$task_id" "$wave_num" "$batch_count"; then
1584
- log_error "Wave $wave_num failed or timed out"
1585
- # Attempt orphan cleanup before exiting
1586
- cleanup_orphaned_containers "$task_id" "$wave_num"
1587
- return 1
1588
- fi
1589
-
1590
- # Update results
1591
- jq --arg wn "$wave_num" --arg status "completed" '.waves += [{wave_number: ($wn | tonumber), status: $status}]' "$results_file" > "${results_file}.tmp" && \
1592
- mv "${results_file}.tmp" "$results_file"
1593
-
1594
- log_success "Wave $wave_num completed"
1595
- done
1596
-
1597
- # Final cleanup and validation
1598
- log "Finalizing wave execution..."
1599
-
1600
- for wave_num in $(seq 1 "$wave_count"); do
1601
- # Don't cleanup yet - logs may be needed
1602
- log "Preparing to cleanup wave $wave_num (logs preserved)"
1603
- done
1604
-
1605
- # Output final results
1606
- log_success "Wave execution completed for task: $task_id"
1607
- cat "$results_file"
1608
-
1609
- return 0
1610
- }
1611
-
1612
- execute() {
1613
- local task_id="$1"
1614
- local task_description="$2"
1615
-
1616
- log "Starting complete CFN Loop execution for task: $task_id"
1617
- log "Description: $task_description"
1618
- log "Mode: $MODE"
1619
-
1620
- # Analyze task and select agents if not specified (includes planning phase)
1621
- if [[ -z "$AGENTS" ]]; then
1622
- AGENTS=$(analyze_task "$task_description" "$task_id")
1623
- fi
1624
-
1625
- # Initialize orchestration
1626
- init "$task_id" "$CONTEXT_FILE"
1627
-
1628
- # Main loop execution
1629
- local iteration=1
1630
- while [[ $iteration -le $MAX_ITERATIONS ]]; do
1631
- log_loop "=== Iteration $iteration/$MAX_ITERATIONS ==="
1632
-
1633
- # Spawn Loop 3 implementers
1634
- spawn_loop3 "$task_id" "$AGENTS" "$iteration"
1635
-
1636
- # Gate check
1637
- gate_check "$task_id" "$GATE_THRESHOLD" "$iteration" "$MAX_ITERATIONS"
1638
- gate_result=$?
1639
- case $gate_result in
1640
- 0) # Gate passed
1641
- log_loop "Gate PASSED - proceeding to Loop 2"
1642
- break
1643
- ;;
1644
- 1) # Gate failed, max iterations reached
1645
- log_error "Gate FAILED - max iterations reached"
1646
- return 1
1647
- ;;
1648
- 2) # Gate failed, iterate
1649
- ((iteration++))
1650
- continue
1651
- ;;
1652
- *)
1653
- log_error "Invalid gate result: $gate_result"
1654
- return 1
1655
- ;;
1656
- esac
1657
- done
1658
-
1659
- # Spawn Loop 2 validators
1660
- spawn_loop2 "$task_id" "Loop 3 implementation completed"
1661
-
1662
- # Collect consensus
1663
- if collect_consensus "$task_id" "$CONSENSUS_THRESHOLD"; then
1664
- # Trigger Product Owner decision
1665
- trigger_po_decision "$task_id" "Consensus achieved"
1666
- log_success "CFN Loop execution completed successfully"
1667
- else
1668
- log_error "CFN Loop execution failed at consensus stage"
1669
- return 1
1670
- fi
1671
- }
1672
-
1673
- # Main operation dispatcher
1674
- case "$OPERATION" in
1675
- execute)
1676
- execute "$TASK_ID" "$TASK_DESCRIPTION"
1677
- ;;
1678
- init)
1679
- init "$TASK_ID" "$CONTEXT_FILE"
1680
- ;;
1681
- analyze-task)
1682
- analyze_task "$TASK_DESCRIPTION"
1683
- ;;
1684
- spawn-loop3)
1685
- spawn_loop3 "$TASK_ID" "$AGENTS" "${FORCE_ITERATION:-1}"
1686
- ;;
1687
- monitor-loop3)
1688
- monitor_loop3 "$TASK_ID" "$GATE_THRESHOLD" "${FORCE_ITERATION:-1}"
1689
- ;;
1690
- gate-check)
1691
- gate_check "$TASK_ID" "$GATE_THRESHOLD" "${FORCE_ITERATION:-1}" "$MAX_ITERATIONS"
1692
- ;;
1693
- spawn-loop2)
1694
- spawn_loop2 "$TASK_ID" ""
1695
- ;;
1696
- collect-consensus)
1697
- collect_consensus "$TASK_ID" "$CONSENSUS_THRESHOLD"
1698
- ;;
1699
- trigger-po-decision)
1700
- trigger_po_decision "$TASK_ID" ""
1701
- ;;
1702
- execute-waves)
1703
- execute_waves "$TASK_ID" "$BATCHING_PLAN"
1704
- ;;
1705
- spawn-wave)
1706
- spawn_wave "$TASK_ID" "$WAVE_NUMBER" "$BATCHING_PLAN"
1707
- ;;
1708
- monitor-wave)
1709
- monitor_wave "$TASK_ID" "$WAVE_NUMBER" "$EXPECTED_COUNT"
1710
- ;;
1711
- cleanup-wave)
1712
- cleanup_wave "$TASK_ID" "$WAVE_NUMBER"
1713
- ;;
1714
- validate-errors)
1715
- validate_errors "$TASK_ID" "$VALIDATION_COMMAND"
1716
- ;;
1717
- *)
1718
- log_error "Unknown operation: $OPERATION"
1719
- usage
1720
- exit 1
1721
- ;;
1722
- esac