claude-flow-novice 2.18.6 → 2.18.7

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/core/cfn-agent-manager.js +80 -0
  2. package/.claude/core/cfn-agent-manager.js.map +1 -0
  3. package/.claude/core/cfn-config.js +1241 -0
  4. package/.claude/core/cfn-config.js.map +1 -0
  5. package/.claude/core/cfn-event-bus.js +136 -0
  6. package/.claude/core/cfn-event-bus.js.map +1 -0
  7. package/.claude/core/cfn-index.js +6 -0
  8. package/.claude/core/cfn-index.js.map +1 -0
  9. package/.claude/core/cfn-json-persistence.js +112 -0
  10. package/.claude/core/cfn-json-persistence.js.map +1 -0
  11. package/.claude/core/cfn-logger.js +245 -0
  12. package/.claude/core/cfn-logger.js.map +1 -0
  13. package/.claude/core/cfn-orchestrator-fixed.js +236 -0
  14. package/.claude/core/cfn-orchestrator-fixed.js.map +1 -0
  15. package/.claude/core/cfn-orchestrator.js +1136 -0
  16. package/.claude/core/cfn-orchestrator.js.map +1 -0
  17. package/.claude/core/cfn-persistence.js +185 -0
  18. package/.claude/core/cfn-persistence.js.map +1 -0
  19. package/.claude/core/cfn-project-manager.js +80 -0
  20. package/.claude/core/cfn-project-manager.js.map +1 -0
  21. package/.claude/core/cfn-slash-command.js +24 -0
  22. package/.claude/core/cfn-version.js +35 -0
  23. package/.claude/core/cfn-version.js.map +1 -0
  24. package/.claude/helpers/cfn-checkpoint-manager.sh +251 -0
  25. package/.claude/helpers/cfn-github-safe.js +106 -0
  26. package/.claude/helpers/cfn-github-setup.sh +28 -0
  27. package/.claude/helpers/cfn-quick-start.sh +19 -0
  28. package/.claude/helpers/cfn-setup-mcp.sh +18 -0
  29. package/.claude/helpers/cfn-standard-checkpoint-hooks.sh +179 -0
  30. package/.claude/hooks/SKILL.md +471 -471
  31. package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -40
  32. package/{claude-assets/hooks/subagent-start.sh → .claude/hooks/cfn-subagent-start.sh} +1 -1
  33. package/.claude/hooks/{subagent-stop.sh → cfn-subagent-stop.sh} +37 -1
  34. package/.claude/settings.json +5 -5
  35. package/.claude/skills/cfn-agent-selector +1 -0
  36. package/.claude/skills/cfn-agent-spawning +1 -0
  37. package/.claude/skills/cfn-cerebras-code-generator/context-analyzer.sh +95 -95
  38. package/.claude/skills/cfn-cerebras-code-generator/generate-code.sh +204 -204
  39. package/.claude/skills/cfn-cerebras-coordinator/coordinate-generation.sh +380 -380
  40. package/.claude/skills/cfn-cerebras-coordinator/feedback-logger.sh +253 -253
  41. package/.claude/skills/cfn-cerebras-coordinator/fix-existing-code-v2.sh +442 -442
  42. package/.claude/skills/cfn-cerebras-coordinator/query-patterns.sh +181 -181
  43. package/.claude/skills/cfn-cerebras-coordinator/tdd-coordinator.sh +637 -637
  44. package/.claude/skills/cfn-cerebras-coordinator/test-runner.sh +334 -334
  45. package/.claude/skills/cfn-docker-wave-execution +1 -0
  46. package/.claude/skills/cfn-hybrid-routing +1 -0
  47. package/.claude/skills/cfn-local-ruvector-accelerator/AGENT_LIFECYCLE_INTEGRATION.md +341 -0
  48. package/.claude/skills/cfn-local-ruvector-accelerator/analyze-agent-failures.sh +275 -0
  49. package/.claude/skills/cfn-local-ruvector-accelerator/cfn-integration.sh +178 -178
  50. package/.claude/skills/cfn-local-ruvector-accelerator/ingest-agent-transcript.sh +255 -0
  51. package/.claude/skills/cfn-local-ruvector-accelerator/query-agent-patterns.sh +197 -0
  52. package/.claude/skills/cfn-local-ruvector-accelerator/test-agent-lifecycle-integration.sh +254 -0
  53. package/.claude/skills/cfn-loop-orchestration +1 -0
  54. package/.claude/skills/cfn-mdap-context-injection/SKILL.md +2 -9
  55. package/.claude/skills/cfn-mdap-context-injection/inject.sh +39 -39
  56. package/.claude/skills/cfn-provider-routing +1 -0
  57. package/.claude/skills/cfn-redis-coordination +1 -0
  58. package/package.json +43 -39
  59. package/readme/COMPONENT_NPM_STATUS.md +1 -1
  60. package/readme/installation-process.md +1 -1
  61. package/scripts/{init-project.js → cfn-init.js} +23 -101
  62. package/scripts/postinstall.js +144 -0
  63. package/trigger.config.ts +9 -0
  64. package/.claude/.cfn-initialized +0 -1
  65. package/.claude/hooks/SKILL.md.backup +0 -471
  66. package/.claude/hooks/cfn-post-execution/memory-cleanup.sh +0 -20
  67. package/.claude/hooks/cfn-pre-execution/SESSION_START_README.md +0 -87
  68. package/.claude/hooks/cfn-pre-execution/TEST_SESSION_START.md +0 -128
  69. package/.claude/hooks/cfn-pre-execution/memory-check.sh +0 -20
  70. package/.claude/hooks/cfn-pre-execution/session-start-context.sh +0 -111
  71. package/.claude/hooks/subagent-start.sh +0 -98
  72. package/.claude/skills/cfn-docker-runtime/lib/coordination/README.md +0 -349
  73. package/.claude/skills/cfn-docker-runtime/lib/coordination/docker-helpers.sh +0 -433
  74. package/.claude/skills/cfn-docker-runtime/lib/coordination/package.json +0 -38
  75. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/agent-container.ts +0 -471
  76. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/docker-client.ts +0 -483
  77. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/health-checker.ts +0 -418
  78. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/index.ts +0 -45
  79. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/network-manager.ts +0 -377
  80. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/types.ts +0 -412
  81. package/.claude/skills/cfn-docker-runtime/lib/coordination/src/volume-manager.ts +0 -389
  82. package/.claude/skills/cfn-edit-safety/lib/backup/SKILL.md.backup +0 -277
  83. package/.claude/skills/cfn-edit-safety/lib/backup/backup.sh.backup +0 -107
  84. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/agent-completion.sh.backup +0 -36
  85. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-patterns.ts +0 -194
  86. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-signal.sh.backup +0 -36
  87. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-wait.sh.backup +0 -36
  88. package/.claude/skills/cfn-loop-orchestration-v2/lib/coordination/index.ts +0 -25
  89. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md.backup +0 -353
  90. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh.backup +0 -31
  91. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh.backup +0 -37
  92. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh.backup +0 -252
  93. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh.backup +0 -37
  94. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh.backup +0 -41
  95. package/.claude/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh.backup +0 -134
  96. package/.claude/skills/cfn-memory-persistence/lib/redis/agent-log.sh.backup +0 -128
  97. package/.claude/skills/cfn-memory-persistence/lib/redis/agent-recovery.sh.backup +0 -75
  98. package/.claude/skills/cfn-memory-persistence/lib/redis/analyze-task-complexity.sh.backup +0 -277
  99. package/.claude/skills/cfn-memory-persistence/lib/redis/bash-wrappers/store-context.sh.backup +0 -23
  100. package/.claude/skills/cfn-memory-persistence/lib/redis/cancel-swarm.sh.backup +0 -221
  101. package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-exec.sh.backup +0 -468
  102. package/.claude/skills/cfn-memory-persistence/lib/redis/cfn-loop-relaunch.sh.backup +0 -29
  103. package/.claude/skills/cfn-memory-persistence/lib/redis/collect-confidence-scores.sh.backup +0 -209
  104. package/.claude/skills/cfn-memory-persistence/lib/redis/collect-results.sh.backup +0 -75
  105. package/.claude/skills/cfn-memory-persistence/lib/redis/complete-swarm.sh.backup +0 -75
  106. package/.claude/skills/cfn-memory-persistence/lib/redis/get-context.sh.backup +0 -146
  107. package/.claude/skills/cfn-memory-persistence/lib/redis/get-success-criteria.sh.backup +0 -54
  108. package/.claude/skills/cfn-memory-persistence/lib/redis/invoke-waiting-mode.sh.backup +0 -225
  109. package/.claude/skills/cfn-memory-persistence/lib/redis/redis-cli-wrapper.sh.backup +0 -43
  110. package/.claude/skills/cfn-memory-persistence/lib/redis/redis-functions.sh.backup +0 -34
  111. package/.claude/skills/cfn-memory-persistence/lib/redis/report-completion.sh.backup +0 -134
  112. package/.claude/skills/cfn-memory-persistence/lib/redis/store-context.sh.backup +0 -123
  113. package/.claude/skills/cfn-transparency-middleware/src/lib.rs.backup +0 -388
  114. package/claude-assets/agents/AGENT_LIFECYCLE.md +0 -532
  115. package/claude-assets/agents/README-AGENT_LIFECYCLE.md +0 -522
  116. package/claude-assets/agents/README-VALIDATION.md +0 -243
  117. package/claude-assets/agents/SHARED_PROTOCOL.md +0 -64
  118. package/claude-assets/agents/cfn-dev-team/CLAUDE.md +0 -1000
  119. package/claude-assets/agents/cfn-dev-team/README.md +0 -219
  120. package/claude-assets/agents/cfn-dev-team/analysts/analyst.md +0 -113
  121. package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +0 -257
  122. package/claude-assets/agents/cfn-dev-team/architecture/api-designer-persona.md +0 -145
  123. package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +0 -150
  124. package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +0 -173
  125. package/claude-assets/agents/cfn-dev-team/architecture/planner.md +0 -132
  126. package/claude-assets/agents/cfn-dev-team/architecture/system-architect.md +0 -125
  127. package/claude-assets/agents/cfn-dev-team/coordinators/README.md +0 -42
  128. package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +0 -886
  129. package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +0 -473
  130. package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +0 -740
  131. package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +0 -503
  132. package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +0 -150
  133. package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +0 -664
  134. package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +0 -116
  135. package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +0 -617
  136. package/claude-assets/agents/cfn-dev-team/developers/README.md +0 -69
  137. package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +0 -970
  138. package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +0 -192
  139. package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +0 -665
  140. package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +0 -369
  141. package/claude-assets/agents/cfn-dev-team/developers/database/supabase-specialist.md +0 -739
  142. package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +0 -240
  143. package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +0 -256
  144. package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +0 -389
  145. package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +0 -214
  146. package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +0 -700
  147. package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +0 -221
  148. package/claude-assets/agents/cfn-dev-team/documentation/README-VALIDATION.md +0 -245
  149. package/claude-assets/agents/cfn-dev-team/documentation/agent-type-guidelines.md +0 -469
  150. package/claude-assets/agents/cfn-dev-team/documentation/api-documentation.md +0 -104
  151. package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +0 -137
  152. package/claude-assets/agents/cfn-dev-team/documentation/specification-agent.md +0 -145
  153. package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +0 -112
  154. package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +0 -131
  155. package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +0 -144
  156. package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +0 -476
  157. package/claude-assets/agents/cfn-dev-team/reviewers/README.md +0 -58
  158. package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +0 -287
  159. package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +0 -213
  160. package/claude-assets/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +0 -327
  161. package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +0 -250
  162. package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +0 -153
  163. package/claude-assets/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +0 -379
  164. package/claude-assets/agents/cfn-dev-team/testers/README.md +0 -94
  165. package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +0 -750
  166. package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +0 -937
  167. package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +0 -680
  168. package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +0 -117
  169. package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +0 -778
  170. package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +0 -181
  171. package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +0 -498
  172. package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +0 -636
  173. package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +0 -246
  174. package/claude-assets/agents/cfn-dev-team/testers/tester.md +0 -208
  175. package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +0 -30
  176. package/claude-assets/agents/cfn-dev-team/testers/validation/validation-production-validator.md +0 -20
  177. package/claude-assets/agents/cfn-dev-team/testing/test-validation-agent.md +0 -273
  178. package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +0 -480
  179. package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +0 -62
  180. package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +0 -132
  181. package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +0 -170
  182. package/claude-assets/agents/cfn-dev-team/utility/researcher.md +0 -109
  183. package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +0 -211
  184. package/claude-assets/agents/csuite/cto-agent.md +0 -371
  185. package/claude-assets/agents/custom/cfn-docker-expert.md +0 -104
  186. package/claude-assets/agents/custom/cfn-loops-cli-expert.md +0 -455
  187. package/claude-assets/agents/custom/cfn-redis-operations.md +0 -531
  188. package/claude-assets/agents/custom/cfn-system-expert.md +0 -337
  189. package/claude-assets/agents/custom/claude-code-expert.md +0 -291
  190. package/claude-assets/agents/custom/mdap-trigger-specialist.md +0 -437
  191. package/claude-assets/agents/custom/trigger-dev-expert.md +0 -370
  192. package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +0 -1094
  193. package/claude-assets/agents/docker-ts-fixer.md +0 -58
  194. package/claude-assets/agents/project-only-agents/npm-package-specialist.md +0 -327
  195. package/claude-assets/agents/validate-agent.js +0 -841
  196. package/claude-assets/cfn-extras/.gs-api-quota.json +0 -16
  197. package/claude-assets/cfn-extras/.gs-progress-state.json +0 -22
  198. package/claude-assets/cfn-extras/agents/cfn-coordinator-enterprise.md +0 -1303
  199. package/claude-assets/cfn-extras/agents/cfn-coordinator-mvp.md +0 -942
  200. package/claude-assets/cfn-extras/agents/cfn-coordinator-standard.md +0 -1062
  201. package/claude-assets/cfn-extras/agents/cfn-loop-coordinator.md +0 -157
  202. package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +0 -517
  203. package/claude-assets/cfn-extras/agents/code-booster.md +0 -67
  204. package/claude-assets/cfn-extras/agents/coordinator.md +0 -182
  205. package/claude-assets/cfn-extras/agents/cost-savings-cfn-loop-coordinator.md +0 -760
  206. package/claude-assets/cfn-extras/agents/cost-savings-coordinator.md +0 -173
  207. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator-enhanced.md +0 -147
  208. package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md +0 -162
  209. package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md +0 -729
  210. package/claude-assets/cfn-extras/agents/deprecated-coordinators/byzantine-coordinator.md +0 -100
  211. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-enterprise.md +0 -323
  212. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-mvp.md +0 -157
  213. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-standard.md +0 -229
  214. package/claude-assets/cfn-extras/agents/deprecated-coordinators/cfn-coordinator-unified.md +0 -149
  215. package/claude-assets/cfn-extras/agents/deprecated-coordinators/coordinator-hybrid.md +0 -231
  216. package/claude-assets/cfn-extras/agents/deprecated-coordinators/gossip-coordinator.md +0 -165
  217. package/claude-assets/cfn-extras/agents/deprecated-coordinators/hierarchical-coordinator.md +0 -95
  218. package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md +0 -132
  219. package/claude-assets/cfn-extras/agents/deprecated-coordinators/task-coordinator.md +0 -109
  220. package/claude-assets/cfn-extras/agents/deprecated-coordinators/test-coordinator.md +0 -142
  221. package/claude-assets/cfn-extras/agents/docker-team/csuite/c-suite-template.md +0 -529
  222. package/claude-assets/cfn-extras/agents/docker-team/infrastructure/team-coordinator-template.md +0 -467
  223. package/claude-assets/cfn-extras/agents/docker-team/micro-sprint-planner.md +0 -747
  224. package/claude-assets/cfn-extras/agents/google-sheets/README.md +0 -114
  225. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-advanced-analytics-specialist.md +0 -288
  226. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-api-integrator.md +0 -127
  227. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-automation-scripting-specialist.md +0 -195
  228. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-business-validator.md +0 -179
  229. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-collaboration-security-specialist.md +0 -240
  230. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-coordinator.md +0 -214
  231. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-transformer.md +0 -127
  232. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validation-quality-specialist.md +0 -177
  233. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-validator.md +0 -119
  234. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-data-visualization-specialist.md +0 -135
  235. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-design-layout-specialist.md +0 -109
  236. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineer.md +0 -127
  237. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-engineering-specialist.md +0 -138
  238. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-formula-validator.md +0 -128
  239. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-generalist.md +0 -645
  240. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-integration-api-specialist.md +0 -258
  241. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-analyst.md +0 -125
  242. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-performance-optimization-specialist.md +0 -211
  243. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-schema-designer.md +0 -130
  244. package/claude-assets/cfn-extras/agents/google-sheets/google-sheets-template-architecture-specialist.md +0 -259
  245. package/claude-assets/cfn-extras/agents/google-sheets-specialist.md +0 -614
  246. package/claude-assets/cfn-extras/commands/deprecated/CFN_EXPERT_UPDATE.md +0 -142
  247. package/claude-assets/cfn-extras/commands/deprecated/README.md +0 -55
  248. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-epic.md +0 -478
  249. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-single.md +0 -256
  250. package/claude-assets/cfn-extras/commands/deprecated/cfn-loop-sprints.md +0 -396
  251. package/claude-assets/cfn-extras/commands/deprecated/context-curate.md +0 -200
  252. package/claude-assets/cfn-extras/commands/deprecated/context-inject.md +0 -251
  253. package/claude-assets/cfn-extras/commands/deprecated/context-query.md +0 -210
  254. package/claude-assets/cfn-extras/commands/deprecated/context-stats.md +0 -269
  255. package/claude-assets/cfn-extras/commands/deprecated/cost-savings-off.md +0 -35
  256. package/claude-assets/cfn-extras/commands/deprecated/cost-savings-on.md +0 -35
  257. package/claude-assets/cfn-extras/commands/deprecated/custom-routing-activate.md +0 -55
  258. package/claude-assets/cfn-extras/commands/deprecated/custom-routing-deactivate.md +0 -46
  259. package/claude-assets/cfn-extras/commands/deprecated/github-commit.md +0 -289
  260. package/claude-assets/cfn-extras/commands/deprecated/parse-epic.md +0 -357
  261. package/claude-assets/cfn-extras/commands/deprecated/suggest-improvements.md +0 -95
  262. package/claude-assets/cfn-extras/docs/GOOGLE_SHEETS_CFN_LOOP.md +0 -619
  263. package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +0 -453
  264. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/SKILL.md +0 -36
  265. package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +0 -60
  266. package/claude-assets/cfn-extras/skills/advanced-features/cfn-api-validation/test-endpoints.sh +0 -54
  267. package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/SKILL.md +0 -75
  268. package/claude-assets/cfn-extras/skills/advanced-features/cfn-context-pruner/prune-context.sh +0 -73
  269. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/README.md +0 -299
  270. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/SKILL.md +0 -412
  271. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/config.json +0 -111
  272. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/eventbus-wrapper.cjs +0 -69
  273. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-publish.sh +0 -147
  274. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-event-subscribe.sh +0 -171
  275. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/invoke-lifecycle-track.sh +0 -201
  276. package/claude-assets/cfn-extras/skills/advanced-features/cfn-event-bus/test-event-bus.sh +0 -280
  277. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/README.md +0 -74
  278. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/SKILL.md +0 -412
  279. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/config.json +0 -60
  280. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-allocate.sh +0 -182
  281. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-balance.sh +0 -239
  282. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-metrics.sh +0 -193
  283. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/invoke-fleet-register.sh +0 -124
  284. package/claude-assets/cfn-extras/skills/advanced-features/cfn-fleet-manager/test-fleet-manager.sh +0 -345
  285. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/cli-coordination.sh +0 -519
  286. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-safety/mode-detection.sh +0 -326
  287. package/claude-assets/cfn-extras/skills/advanced-features/cfn-task-mode-sanitize/task-mode-env-sanitizer.sh +0 -267
  288. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/SKILL.md +0 -40
  289. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-clean.json +0 -0
  290. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry-fixed.json +0 -19
  291. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/agents-registry.json +0 -719
  292. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.py +0 -184
  293. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/discover-agents.sh +0 -87
  294. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/invoke-registry.sh +0 -11
  295. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-discovery/temp_script.py +0 -0
  296. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-selector/SKILL.md +0 -91
  297. package/claude-assets/cfn-extras/skills/deprecated/cfn-agent-selector/select-agents.sh +0 -112
  298. package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +0 -192
  299. package/claude-assets/cfn-extras/skills/deprecated/cfn-simplified-agent-lifecycle/DESIGN.md +0 -98
  300. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +0 -272
  301. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/api-call.sh +0 -254
  302. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/test.sh +0 -174
  303. package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/validate.sh +0 -98
  304. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/SKILL.md +0 -269
  305. package/claude-assets/cfn-extras/skills/google-sheets-decomposition/decompose.sh +0 -313
  306. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +0 -237
  307. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/build-formula.sh +0 -220
  308. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/test.sh +0 -172
  309. package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/validate.sh +0 -98
  310. package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +0 -287
  311. package/claude-assets/cfn-extras/skills/google-sheets-progress/test.sh +0 -385
  312. package/claude-assets/cfn-extras/skills/google-sheets-progress/track-progress.sh +0 -516
  313. package/claude-assets/cfn-extras/skills/google-sheets-progress/validate.sh +0 -119
  314. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/SKILL.md +0 -277
  315. package/claude-assets/cfn-extras/skills/google-sheets-sprint-order/order-sprints.sh +0 -233
  316. package/claude-assets/cfn-extras/skills/google-sheets-validation/SKILL.md +0 -352
  317. package/claude-assets/cfn-extras/skills/google-sheets-validation/test.sh +0 -355
  318. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate-state.sh +0 -374
  319. package/claude-assets/cfn-extras/skills/google-sheets-validation/validate.sh +0 -128
  320. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/SKILL.md +0 -392
  321. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +0 -231
  322. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +0 -190
  323. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +0 -142
  324. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +0 -181
  325. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +0 -133
  326. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/SKILL.md +0 -124
  327. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-ad-performance.sh +0 -105
  328. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-conversion-funnel.sh +0 -102
  329. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-email-performance.sh +0 -105
  330. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-social-engagement.sh +0 -105
  331. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-analytics-data/operations/get-website-traffic.sh +0 -107
  332. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/SKILL.md +0 -340
  333. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +0 -121
  334. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +0 -156
  335. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +0 -181
  336. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +0 -137
  337. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +0 -179
  338. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/SKILL.md +0 -350
  339. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-backlink-profile.sh +0 -154
  340. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-keyword-rankings.sh +0 -173
  341. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/get-trending-topics.sh +0 -147
  342. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/monitor-competitor.sh +0 -146
  343. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-competitive-intel/operations/search-brand-mentions.sh +0 -167
  344. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/SKILL.md +0 -116
  345. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/add-to-segment.sh +0 -78
  346. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/create-contact.sh +0 -113
  347. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/get-contact.sh +0 -86
  348. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/remove-from-segment.sh +0 -78
  349. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-crm-contacts/operations/update-contact.sh +0 -120
  350. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/SKILL.md +0 -106
  351. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/create-campaign.sh +0 -123
  352. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/get-campaign-stats.sh +0 -66
  353. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/list-templates.sh +0 -68
  354. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/schedule-campaign.sh +0 -85
  355. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-email-campaigns/operations/send-test-email.sh +0 -81
  356. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/SKILL.md +0 -366
  357. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-ab-test.sh +0 -231
  358. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/create-landing-page.sh +0 -190
  359. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/get-page-performance.sh +0 -137
  360. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/publish-page.sh +0 -120
  361. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-landing-pages/operations/unpublish-page.sh +0 -108
  362. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/SKILL.md +0 -202
  363. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/create-crisis-alert.sh +0 -104
  364. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/export-report.sh +0 -92
  365. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/get-sentiment-analysis.sh +0 -85
  366. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-monitoring/operations/search-mentions.sh +0 -86
  367. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/SKILL.md +0 -168
  368. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/search-journalists.sh +0 -74
  369. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/send-pitch.sh +0 -80
  370. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/submit-haro-response.sh +0 -88
  371. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-media-outreach/operations/track-pitch-engagement.sh +0 -66
  372. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/SKILL.md +0 -159
  373. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/distribute-press-release.sh +0 -94
  374. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-distribution-status.sh +0 -59
  375. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/get-pickup-metrics.sh +0 -72
  376. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-press-distribution/operations/list-templates.sh +0 -53
  377. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/SKILL.md +0 -429
  378. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +0 -183
  379. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +0 -139
  380. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +0 -150
  381. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +0 -187
  382. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +0 -181
  383. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/SKILL.md +0 -108
  384. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/create-post.sh +0 -104
  385. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/delete-post.sh +0 -76
  386. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/get-post-stats.sh +0 -66
  387. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/schedule-post.sh +0 -85
  388. package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-social-publishing/operations/upload-media.sh +0 -88
  389. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/DESIGN.md +0 -117
  390. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/SKILL.md +0 -679
  391. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-agents.sh +0 -129
  392. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-dashboard.sh +0 -85
  393. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-events.sh +0 -125
  394. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-metrics.sh +0 -112
  395. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-start.sh +0 -135
  396. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/invoke-portal-stop.sh +0 -121
  397. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +0 -51
  398. package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +0 -85
  399. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/SKILL.md +0 -200
  400. package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +0 -244
  401. package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/SKILL.md +0 -279
  402. package/claude-assets/cfn-extras/skills/utility/cfn-process-instrumentation/instrument-process.sh +0 -327
  403. package/claude-assets/cfn-extras/workflows/marketing-ad-campaigns.json +0 -125
  404. package/claude-assets/cfn-extras/workflows/marketing-analytics-data.json +0 -93
  405. package/claude-assets/cfn-extras/workflows/marketing-chatbot-conversations.json +0 -89
  406. package/claude-assets/cfn-extras/workflows/marketing-competitive-intel.json +0 -140
  407. package/claude-assets/cfn-extras/workflows/marketing-crm-contacts.json +0 -86
  408. package/claude-assets/cfn-extras/workflows/marketing-email-campaigns.json +0 -86
  409. package/claude-assets/cfn-extras/workflows/marketing-landing-pages.json +0 -137
  410. package/claude-assets/cfn-extras/workflows/marketing-media-outreach.json +0 -211
  411. package/claude-assets/cfn-extras/workflows/marketing-press-distribution.json +0 -224
  412. package/claude-assets/cfn-extras/workflows/marketing-sms-campaigns.json +0 -81
  413. package/claude-assets/cfn-extras/workflows/marketing-social-publishing.json +0 -86
  414. package/claude-assets/commands/README.md +0 -205
  415. package/claude-assets/commands/cfn-docker/CFN_DOCKER_CLI.md +0 -527
  416. package/claude-assets/commands/cfn-docker/CFN_DOCKER_LOOP.md +0 -377
  417. package/claude-assets/commands/cfn-docker/CFN_DOCKER_NATIVE.md +0 -295
  418. package/claude-assets/commands/cfn-docker/CFN_DOCKER_TASK.md +0 -490
  419. package/claude-assets/commands/cfn-loop/CFN_LOOP_FRONTEND.md +0 -741
  420. package/claude-assets/commands/cfn-loop/CFN_LOOP_TASK_MODE.md +0 -608
  421. package/claude-assets/commands/cfn-loop/cfn-loop-cli.md +0 -308
  422. package/claude-assets/commands/cfn-loop/cfn-loop-document.md +0 -499
  423. package/claude-assets/commands/cfn-loop/cfn-loop-trigger.md +0 -132
  424. package/claude-assets/commands/cfn-loop/cfn-mode.md +0 -20
  425. package/claude-assets/commands/cfn-loop/cfn-optimize-agents.md +0 -103
  426. package/claude-assets/commands/cfn-loop/list-agents-rebuild.md +0 -205
  427. package/claude-assets/commands/cfn-ruvector/codebase-reindex.md +0 -37
  428. package/claude-assets/commands/cfn-ruvector/codebase-search.md +0 -38
  429. package/claude-assets/commands/cfn-ruvector/detect-stale-docs.md +0 -41
  430. package/claude-assets/commands/cost-routing/switch-api.md +0 -109
  431. package/claude-assets/commands/deprecated/README.md +0 -24
  432. package/claude-assets/commands/deprecated/github.md +0 -221
  433. package/claude-assets/commands/deprecated/hello-world-tests.md +0 -381
  434. package/claude-assets/commands/deprecated/run-tests.md +0 -119
  435. package/claude-assets/commands/google-sheets/google-sheets-loop.md +0 -289
  436. package/claude-assets/commands/sparc.md +0 -46
  437. package/claude-assets/commands/testing/cfn-docker-core-test-suite.md +0 -326
  438. package/claude-assets/commands/workflow.md +0 -295
  439. package/claude-assets/commands/write-plan.md +0 -275
  440. package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +0 -116
  441. package/claude-assets/hooks/README-GIT-HOOKS.md +0 -443
  442. package/claude-assets/hooks/SKILL.md +0 -518
  443. package/claude-assets/hooks/SKILL.md.backup +0 -471
  444. package/claude-assets/hooks/cfn-BACKUP_USAGE.md +0 -243
  445. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +0 -100
  446. package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +0 -78
  447. package/claude-assets/hooks/cfn-invoke-post-edit.sh +0 -135
  448. package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +0 -87
  449. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +0 -116
  450. package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +0 -94
  451. package/claude-assets/hooks/cfn-invoke-pre-edit.sh +0 -110
  452. package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +0 -88
  453. package/claude-assets/hooks/cfn-invoke-security-validation.sh +0 -70
  454. package/claude-assets/hooks/cfn-lint-sql-injection.sh +0 -61
  455. package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +0 -110
  456. package/claude-assets/hooks/cfn-post-edit.config.json +0 -51
  457. package/claude-assets/hooks/cfn-post-edit.sh +0 -21
  458. package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +0 -20
  459. package/claude-assets/hooks/cfn-pre-edit-backup.sh +0 -71
  460. package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +0 -40
  461. package/claude-assets/hooks/cfn-pre-execution/SESSION_START_README.md +0 -87
  462. package/claude-assets/hooks/cfn-pre-execution/TEST_SESSION_START.md +0 -128
  463. package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +0 -20
  464. package/claude-assets/hooks/cfn-pre-execution/session-start-context.sh +0 -111
  465. package/claude-assets/hooks/cfn-restore-from-backup.sh +0 -37
  466. package/claude-assets/hooks/detect-hardcoded-credentials.sh +0 -212
  467. package/claude-assets/hooks/install-git-hooks.sh +0 -243
  468. package/claude-assets/hooks/post-commit-codebase-index +0 -75
  469. package/claude-assets/hooks/subagent-stop.sh +0 -93
  470. package/claude-assets/hooks/validators/credential-scanner.sh +0 -172
  471. package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +0 -513
  472. package/claude-assets/skills/SKILL_TEMPLATE.md +0 -774
  473. package/claude-assets/skills/cfn-agent-lifecycle/SKILL.md +0 -290
  474. package/claude-assets/skills/cfn-agent-lifecycle/cli/lifecycle-hook.sh +0 -5
  475. package/claude-assets/skills/cfn-agent-lifecycle/cli/select-agents.sh +0 -5
  476. package/claude-assets/skills/cfn-agent-lifecycle/cli/spawn-agent.sh +0 -5
  477. package/claude-assets/skills/cfn-agent-lifecycle/lib/audit/execute-lifecycle-hook.sh +0 -544
  478. package/claude-assets/skills/cfn-agent-lifecycle/lib/audit/simple-audit.sh +0 -58
  479. package/claude-assets/skills/cfn-agent-lifecycle/lib/output/README.md +0 -359
  480. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/SKILL.md +0 -29
  481. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/agent-mappings.json +0 -142
  482. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/agent-selector.cjs +0 -297
  483. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/agent-selector.js +0 -297
  484. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/cli.cjs +0 -96
  485. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/dist/cli.js +0 -96
  486. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/select-agents-with-fallback.sh +0 -195
  487. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/select-agents.sh +0 -94
  488. package/claude-assets/skills/cfn-agent-lifecycle/lib/selection/task-classifier.sh +0 -93
  489. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/SKILL.md +0 -38
  490. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/check-dependencies.sh +0 -52
  491. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/execute-agent.sh +0 -126
  492. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/get-agent-provider-env.sh +0 -149
  493. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/parse-agent-provider.sh +0 -81
  494. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent-wrapper.sh +0 -63
  495. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-agent.sh +0 -308
  496. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-templates.sh +0 -635
  497. package/claude-assets/skills/cfn-agent-lifecycle/lib/spawning/spawn-worker.sh +0 -198
  498. package/claude-assets/skills/cfn-agent-tooling/SKILL.md +0 -52
  499. package/claude-assets/skills/cfn-agent-tooling/lib/generator/SKILL.md +0 -440
  500. package/claude-assets/skills/cfn-agent-tooling/lib/generator/generate-agent.sh +0 -405
  501. package/claude-assets/skills/cfn-agent-tooling/lib/linter/SKILL.md +0 -589
  502. package/claude-assets/skills/cfn-agent-tooling/lib/linter/lint-agents.sh +0 -271
  503. package/claude-assets/skills/cfn-cerebras-mcp/SKILL.md +0 -58
  504. package/claude-assets/skills/cfn-config/SKILL.md +0 -52
  505. package/claude-assets/skills/cfn-config/lib/management/README.md +0 -42
  506. package/claude-assets/skills/cfn-config/lib/management/SKILL.md +0 -34
  507. package/claude-assets/skills/cfn-config/lib/management/check-dependencies.sh +0 -56
  508. package/claude-assets/skills/cfn-config/lib/management/config.json +0 -32
  509. package/claude-assets/skills/cfn-config/lib/management/manage-config.sh +0 -113
  510. package/claude-assets/skills/cfn-config/lib/sanitization/sanitize-environment.sh +0 -48
  511. package/claude-assets/skills/cfn-conversation-sync/README.md +0 -133
  512. package/claude-assets/skills/cfn-conversation-sync/SKILL.md +0 -82
  513. package/claude-assets/skills/cfn-conversation-sync/sync-conversations.sh +0 -229
  514. package/claude-assets/skills/cfn-dependency-management/SKILL.md +0 -60
  515. package/claude-assets/skills/cfn-dependency-management/lib/extractor/SKILL.md +0 -35
  516. package/claude-assets/skills/cfn-dependency-management/lib/extractor/extract-dependencies.sh +0 -66
  517. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/README.md +0 -101
  518. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/SKILL.md +0 -397
  519. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/build.sh +0 -23
  520. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/dist/ingest-dependencies.js +0 -478
  521. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/ingest-dependencies.sh +0 -295
  522. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/ingest.sh +0 -237
  523. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/cli-mode-dependencies.txt +0 -219
  524. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/shared-dependencies.txt +0 -57
  525. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-dev-dependencies.txt +0 -82
  526. package/claude-assets/skills/cfn-dependency-management/lib/ingestion/manifests/trigger-mode-dependencies.txt +0 -80
  527. package/claude-assets/skills/cfn-deployment-lifecycle/SKILL.md +0 -53
  528. package/claude-assets/skills/cfn-deployment-lifecycle/lib/deployment/SKILL.md +0 -293
  529. package/claude-assets/skills/cfn-deployment-lifecycle/lib/deployment/execute.sh +0 -21
  530. package/claude-assets/skills/cfn-deployment-lifecycle/lib/promotion/SKILL.md +0 -305
  531. package/claude-assets/skills/cfn-docker-runtime/SKILL.md +0 -84
  532. package/claude-assets/skills/cfn-docker-runtime/lib/build/SKILL.md +0 -96
  533. package/claude-assets/skills/cfn-docker-runtime/lib/build/build.sh +0 -73
  534. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/README.md +0 -349
  535. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/docker-helpers.sh +0 -433
  536. package/claude-assets/skills/cfn-docker-runtime/lib/coordination/package.json +0 -38
  537. package/claude-assets/skills/cfn-docker-runtime/lib/logging/INTEGRATION.md +0 -268
  538. package/claude-assets/skills/cfn-docker-runtime/lib/logging/SAMPLE_OUTPUTS.md +0 -237
  539. package/claude-assets/skills/cfn-docker-runtime/lib/logging/SKILL.md +0 -442
  540. package/claude-assets/skills/cfn-docker-runtime/lib/logging/capture-container-logs.sh +0 -120
  541. package/claude-assets/skills/cfn-docker-runtime/lib/logging/enable-logging.sh +0 -430
  542. package/claude-assets/skills/cfn-docker-runtime/lib/logging/init-hybrid-logging.sh +0 -210
  543. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/analytics-summary.sh +0 -87
  544. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-agent-timeline.sh +0 -51
  545. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-consensus-history.sh +0 -56
  546. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-coordination-timeline.sh +0 -39
  547. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-failed-containers.sh +0 -40
  548. package/claude-assets/skills/cfn-docker-runtime/lib/logging/queries/query-gate-checks.sh +0 -39
  549. package/claude-assets/skills/cfn-docker-runtime/lib/logging/schema.sql +0 -111
  550. package/claude-assets/skills/cfn-docker-runtime/lib/logging/sqlite-helpers.sh +0 -240
  551. package/claude-assets/skills/cfn-docker-runtime/lib/logging/test-hybrid-logging.sh +0 -331
  552. package/claude-assets/skills/cfn-docker-runtime/lib/mcp/SKILL.md +0 -555
  553. package/claude-assets/skills/cfn-docker-runtime/lib/mcp/skill-mcp-selector.js +0 -472
  554. package/claude-assets/skills/cfn-docker-runtime/lib/orchestration/SKILL.md +0 -449
  555. package/claude-assets/skills/cfn-docker-runtime/lib/orchestration/orchestrate.sh +0 -1722
  556. package/claude-assets/skills/cfn-docker-runtime/lib/spawning/SKILL.md +0 -418
  557. package/claude-assets/skills/cfn-docker-runtime/lib/spawning/spawn-agent.sh +0 -569
  558. package/claude-assets/skills/cfn-docker-runtime/lib/waves/SKILL.md +0 -944
  559. package/claude-assets/skills/cfn-docker-runtime/lib/waves/cleanup-wave.sh +0 -445
  560. package/claude-assets/skills/cfn-docker-runtime/lib/waves/lib/docker-helpers.sh +0 -804
  561. package/claude-assets/skills/cfn-docker-runtime/lib/waves/monitor-wave.sh +0 -485
  562. package/claude-assets/skills/cfn-docker-runtime/lib/waves/spawn-wave.sh +0 -547
  563. package/claude-assets/skills/cfn-edit-safety/SKILL.md +0 -62
  564. package/claude-assets/skills/cfn-edit-safety/lib/backup/SKILL.md +0 -324
  565. package/claude-assets/skills/cfn-edit-safety/lib/backup/SKILL.md.backup +0 -277
  566. package/claude-assets/skills/cfn-edit-safety/lib/backup/backup.sh +0 -129
  567. package/claude-assets/skills/cfn-edit-safety/lib/backup/backup.sh.backup +0 -107
  568. package/claude-assets/skills/cfn-edit-safety/lib/hooks/README.md +0 -74
  569. package/claude-assets/skills/cfn-edit-safety/lib/hooks/SKILL.md +0 -148
  570. package/claude-assets/skills/cfn-edit-safety/lib/hooks/auto-resolve.sh +0 -66
  571. package/claude-assets/skills/cfn-edit-safety/lib/hooks/check-dependencies.sh +0 -40
  572. package/claude-assets/skills/cfn-edit-safety/lib/hooks/feedback-resolver.sh +0 -452
  573. package/claude-assets/skills/cfn-edit-safety/lib/hooks/post-edit-handler.sh +0 -154
  574. package/claude-assets/skills/cfn-edit-safety/lib/hooks/security-scan.json +0 -60
  575. package/claude-assets/skills/cfn-edit-safety/lib/hooks/security-scanner.sh +0 -121
  576. package/claude-assets/skills/cfn-edit-safety/lib/hooks/test-root-warning-resolution.sh +0 -148
  577. package/claude-assets/skills/cfn-epic-parser/SKILL.md +0 -55
  578. package/claude-assets/skills/cfn-error-management/SKILL.md +0 -176
  579. package/claude-assets/skills/cfn-error-management/cli/batch-errors.sh +0 -4
  580. package/claude-assets/skills/cfn-error-management/cli/capture-error.sh +0 -4
  581. package/claude-assets/skills/cfn-error-management/cli/log-error.sh +0 -4
  582. package/claude-assets/skills/cfn-error-management/lib/batching/README.md +0 -1016
  583. package/claude-assets/skills/cfn-error-management/lib/batching/analyze-errors.sh +0 -327
  584. package/claude-assets/skills/cfn-error-management/lib/batching/calculate-waves.sh +0 -256
  585. package/claude-assets/skills/cfn-error-management/lib/batching/cli.sh +0 -523
  586. package/claude-assets/skills/cfn-error-management/lib/batching/cluster-files.sh +0 -196
  587. package/claude-assets/skills/cfn-error-management/lib/batching/create-batches.sh +0 -261
  588. package/claude-assets/skills/cfn-error-management/lib/capture/README.md +0 -56
  589. package/claude-assets/skills/cfn-error-management/lib/capture/capture-agent-error.sh +0 -87
  590. package/claude-assets/skills/cfn-error-management/lib/logging/README.md +0 -339
  591. package/claude-assets/skills/cfn-error-management/lib/logging/cleanup-error-logs.sh +0 -334
  592. package/claude-assets/skills/cfn-error-management/lib/logging/integrate-cli.sh +0 -232
  593. package/claude-assets/skills/cfn-error-management/lib/logging/integrate-docker.sh +0 -294
  594. package/claude-assets/skills/cfn-error-management/lib/logging/invoke-error-logging.sh +0 -839
  595. package/claude-assets/skills/cfn-error-management/lib/logging/test-error-logging.sh +0 -475
  596. package/claude-assets/skills/cfn-expert-update/SKILL.md +0 -24
  597. package/claude-assets/skills/cfn-expert-update/update-expert.sh +0 -346
  598. package/claude-assets/skills/cfn-github-workflow/SKILL.md +0 -70
  599. package/claude-assets/skills/cfn-intervention-system/SKILL.md +0 -52
  600. package/claude-assets/skills/cfn-intervention-system/lib/detector/SKILL.md +0 -39
  601. package/claude-assets/skills/cfn-intervention-system/lib/detector/detect-intervention.sh +0 -111
  602. package/claude-assets/skills/cfn-intervention-system/lib/orchestrator/SKILL.md +0 -43
  603. package/claude-assets/skills/cfn-intervention-system/lib/orchestrator/execute-intervention.sh +0 -59
  604. package/claude-assets/skills/cfn-knowledge-base/SKILL.md +0 -61
  605. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/SKILL.md +0 -153
  606. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/init-playbook.sh +0 -54
  607. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/lib/auto-update/auto-update-playbook.sh +0 -86
  608. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/query-playbook.sh +0 -83
  609. package/claude-assets/skills/cfn-knowledge-base/lib/playbook/update-playbook.sh +0 -80
  610. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/APPROVAL_WORKFLOW.md +0 -806
  611. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/COST_TRACKING.md +0 -637
  612. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/DEPLOY_QUICK_REFERENCE.md +0 -106
  613. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/EDGE_CASE_TRACKING.md +0 -404
  614. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/PROPAGATE_UPDATE_QUICK_REFERENCE.md +0 -366
  615. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/README_PHASE4.md +0 -457
  616. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/SKILL.md +0 -110
  617. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/analyze-patterns.sh +0 -899
  618. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/approval-workflow.sh +0 -514
  619. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh +0 -481
  620. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/deploy-approved-skill.sh.backup-1763392820 +0 -512
  621. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/generate-skill-update.sh +0 -525
  622. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/lib/security-utils.sh +0 -204
  623. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/package.json +0 -30
  624. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh +0 -648
  625. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/propagate-skill-update.sh.backup-1763392820 +0 -664
  626. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/review-skill.sh +0 -643
  627. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/test-integration.sh +0 -296
  628. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/test-metadata-update.sh +0 -350
  629. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh +0 -486
  630. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-cost-savings.sh.backup-1763392821 +0 -445
  631. package/claude-assets/skills/cfn-knowledge-base/lib/workflow/track-edge-case.sh +0 -290
  632. package/claude-assets/skills/cfn-loop-orchestration-v2/SKILL.md +0 -57
  633. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/agent-completion.sh.backup +0 -36
  634. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-signal.sh.backup +0 -36
  635. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/coordination/coordination-wait.sh.backup +0 -36
  636. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/SKILL.md +0 -664
  637. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/TYPESCRIPT_IMPLEMENTATION.md +0 -653
  638. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/parse-decision.sh +0 -66
  639. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/test-backlog-integration.sh +0 -148
  640. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/decision/validate-deliverables.sh +0 -82
  641. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONFIGURATION_IMPROVEMENTS.md +0 -318
  642. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/CONTEXT_LOOKUP_QUICK_START.md +0 -378
  643. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/NORTH_STAR_INDEX.md +0 -323
  644. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_IMPLEMENTATION.md +0 -493
  645. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/ORCHESTRATOR_QUICK_START.md +0 -499
  646. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/README.md +0 -149
  647. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/SKILL.md +0 -418
  648. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/SPAWN_AGENTS_IMPLEMENTATION.md +0 -188
  649. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATION_SUMMARY.txt +0 -196
  650. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/VALIDATOR_MODULE_GUIDE.md +0 -526
  651. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/agent-spawner/agent-spawner.d.ts +0 -15
  652. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/agent-spawner/agent-spawner.js +0 -29
  653. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/cli/orchestrator-cli.d.ts +0 -49
  654. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/cli/orchestrator-cli.js +0 -339
  655. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/gate-checker/gate-checker.d.ts +0 -15
  656. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/gate-checker/gate-checker.js +0 -32
  657. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/confidence-aggregator.d.ts +0 -115
  658. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/confidence-aggregator.js +0 -359
  659. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/consensus.d.ts +0 -36
  660. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/consensus.js +0 -62
  661. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-injector.d.ts +0 -135
  662. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-injector.js +0 -257
  663. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-lookup.d.ts +0 -179
  664. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/context-lookup.js +0 -388
  665. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/deliverable-verifier.d.ts +0 -26
  666. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/deliverable-verifier.js +0 -116
  667. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/gate-check.d.ts +0 -27
  668. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/gate-check.js +0 -92
  669. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/iteration-manager.d.ts +0 -28
  670. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/iteration-manager.js +0 -34
  671. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/parse-test-results.d.ts +0 -21
  672. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/parse-test-results.js +0 -323
  673. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/product-owner-decision.d.ts +0 -86
  674. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/product-owner-decision.js +0 -272
  675. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/spawn-agents.d.ts +0 -61
  676. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/spawn-agents.js +0 -280
  677. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/timeout-calculator.d.ts +0 -15
  678. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/timeout-calculator.js +0 -34
  679. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/validator.d.ts +0 -83
  680. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/helpers/validator.js +0 -222
  681. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/index.d.ts +0 -14
  682. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/index.js +0 -32
  683. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrate.d.ts +0 -325
  684. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrate.js +0 -1083
  685. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrator/orchestrator.d.ts +0 -17
  686. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/orchestrator/orchestrator.js +0 -31
  687. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/redis/redis-coordinator.d.ts +0 -46
  688. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/redis/redis-coordinator.js +0 -68
  689. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/types.d.ts +0 -166
  690. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/types.js +0 -101
  691. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/utils/logger.d.ts +0 -16
  692. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/dist/utils/logger.js +0 -29
  693. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation-fixed.js +0 -240
  694. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/e2e-validation.js +0 -213
  695. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/orchestrate.sh.backup2 +0 -959
  696. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/orchestrate.sh.clean +0 -949
  697. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/package.json +0 -53
  698. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/run-north-star-e2e.ts +0 -210
  699. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/security_utils.sh +0 -123
  700. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cfn-orchestration.sh +0 -281
  701. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-cli.sh +0 -92
  702. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-edge-cases.sh +0 -188
  703. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-iteration-context-injection.sh +0 -366
  704. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/orchestrator/test-typescript-integration.sh +0 -442
  705. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/DELIVERY_SUMMARY.txt +0 -462
  706. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/EXAMPLES.md +0 -609
  707. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/INDEX.md +0 -531
  708. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/README.md +0 -114
  709. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/SKILL.md +0 -633
  710. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/output/package.json +0 -50
  711. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/INDEX.md +0 -531
  712. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/README.md +0 -256
  713. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/README_TYPESCRIPT.md +0 -454
  714. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md +0 -400
  715. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL.md.backup +0 -353
  716. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/SKILL_TYPESCRIPT.md +0 -782
  717. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/VAPOR_DETECTION_EXAMPLES.md +0 -598
  718. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh +0 -53
  719. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/check-dependencies.sh.backup +0 -31
  720. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/config.json +0 -161
  721. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/consensus-calculator.js +0 -477
  722. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh +0 -59
  723. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/detect-vapor.sh.backup +0 -37
  724. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/.tsbuildinfo +0 -1
  725. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/detect-vapor.d.ts +0 -14
  726. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/detect-vapor.js +0 -185
  727. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-deliverables.d.ts +0 -14
  728. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-deliverables.js +0 -176
  729. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-gate.d.ts +0 -19
  730. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/cli/validate-gate.js +0 -123
  731. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/types.d.ts +0 -156
  732. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/types.js +0 -66
  733. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/validator.d.ts +0 -85
  734. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/dist/validator.js +0 -411
  735. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/evidence-chain.sql +0 -163
  736. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh +0 -274
  737. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/orchestrate-cfn-loop.sh.backup +0 -252
  738. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/package.json +0 -93
  739. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh +0 -59
  740. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-deliverables.sh.backup +0 -37
  741. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh +0 -63
  742. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-gate.sh.backup +0 -41
  743. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh +0 -156
  744. package/claude-assets/skills/cfn-loop-orchestration-v2/lib/validation/validate-iteration.sh.backup +0 -134
  745. package/claude-assets/skills/cfn-mdap-context-injection/SKILL.md +0 -176
  746. package/claude-assets/skills/cfn-mdap-context-injection/inject.sh +0 -284
  747. package/claude-assets/skills/cfn-memory-persistence/SKILL.md +0 -59
  748. package/claude-assets/skills/cfn-memory-persistence/lib/auto/SKILL.md +0 -73
  749. package/claude-assets/skills/cfn-memory-persistence/lib/auto/persist-agent-output.sh +0 -49
  750. package/claude-assets/skills/cfn-memory-persistence/lib/auto/query-agent-history.sh +0 -35
  751. package/claude-assets/skills/cfn-memory-persistence/lib/auto/test-memory-persistence.sh +0 -236
  752. package/claude-assets/skills/cfn-memory-persistence/lib/management/SKILL.md +0 -271
  753. package/claude-assets/skills/cfn-memory-persistence/lib/management/check-memory.sh +0 -160
  754. package/claude-assets/skills/cfn-memory-persistence/lib/management/cleanup-memory.sh +0 -197
  755. package/claude-assets/skills/cfn-memory-persistence/lib/redis/SKILL.md +0 -42
  756. package/claude-assets/skills/cfn-memory-persistence/lib/redis/agent-log.sh.backup +0 -128
  757. package/claude-assets/skills/cfn-memory-persistence/lib/redis/agent-recovery.sh.backup +0 -75
  758. package/claude-assets/skills/cfn-memory-persistence/lib/redis/analyze-task-complexity.sh.backup +0 -277
  759. package/claude-assets/skills/cfn-memory-persistence/lib/redis/bash-wrappers/store-context.sh.backup +0 -23
  760. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cancel-swarm.sh.backup +0 -221
  761. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cfn-loop-exec.sh.backup +0 -468
  762. package/claude-assets/skills/cfn-memory-persistence/lib/redis/cfn-loop-relaunch.sh.backup +0 -29
  763. package/claude-assets/skills/cfn-memory-persistence/lib/redis/collect-confidence-scores.sh.backup +0 -209
  764. package/claude-assets/skills/cfn-memory-persistence/lib/redis/collect-results.sh.backup +0 -75
  765. package/claude-assets/skills/cfn-memory-persistence/lib/redis/complete-swarm.sh.backup +0 -75
  766. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-logger.d.ts +0 -92
  767. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-logger.js +0 -329
  768. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-recovery.d.ts +0 -75
  769. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/agent-recovery.js +0 -302
  770. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/completion-reporter.d.ts +0 -58
  771. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/completion-reporter.js +0 -237
  772. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/context-manager.d.ts +0 -63
  773. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/context-manager.js +0 -230
  774. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/index.d.ts +0 -45
  775. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/index.js +0 -114
  776. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/mode-detector.d.ts +0 -31
  777. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/mode-detector.js +0 -185
  778. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/redis-client.d.ts +0 -191
  779. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/redis-client.js +0 -509
  780. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/result-collector.d.ts +0 -75
  781. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/result-collector.js +0 -281
  782. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/swarm-manager.d.ts +0 -75
  783. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/swarm-manager.js +0 -354
  784. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-analyzer.d.ts +0 -62
  785. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-analyzer.js +0 -305
  786. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-executor.d.ts +0 -97
  787. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/task-executor.js +0 -283
  788. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/types.d.ts +0 -176
  789. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/types.js +0 -81
  790. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/waiting-coordinator.d.ts +0 -86
  791. package/claude-assets/skills/cfn-memory-persistence/lib/redis/dist/waiting-coordinator.js +0 -419
  792. package/claude-assets/skills/cfn-memory-persistence/lib/redis/get-context.sh.backup +0 -146
  793. package/claude-assets/skills/cfn-memory-persistence/lib/redis/get-success-criteria.sh.backup +0 -54
  794. package/claude-assets/skills/cfn-memory-persistence/lib/redis/invoke-waiting-mode.sh.backup +0 -225
  795. package/claude-assets/skills/cfn-memory-persistence/lib/redis/redis-cli-wrapper.sh.backup +0 -43
  796. package/claude-assets/skills/cfn-memory-persistence/lib/redis/redis-functions.sh.backup +0 -34
  797. package/claude-assets/skills/cfn-memory-persistence/lib/redis/report-completion.sh.backup +0 -134
  798. package/claude-assets/skills/cfn-memory-persistence/lib/redis/store-context.sh.backup +0 -123
  799. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/QUICK_REFERENCE.md +0 -204
  800. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/README.md +0 -65
  801. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/SKILL.md +0 -415
  802. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/acl-queries.sql +0 -452
  803. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/check-dependencies.sh +0 -36
  804. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/config.json +0 -45
  805. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/memory-cli.sh +0 -88
  806. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/test-state-persistence.js +0 -187
  807. package/claude-assets/skills/cfn-memory-persistence/lib/sqlite/ttl-cleanup.sh +0 -266
  808. package/claude-assets/skills/cfn-node-heap-sizer/SKILL.md +0 -23
  809. package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +0 -326
  810. package/claude-assets/skills/cfn-operations/SKILL.md +0 -52
  811. package/claude-assets/skills/cfn-operations/lib/file/SKILL.md +0 -290
  812. package/claude-assets/skills/cfn-operations/lib/file/execute.sh +0 -129
  813. package/claude-assets/skills/cfn-operations/lib/file/lib/atomic-write.sh +0 -294
  814. package/claude-assets/skills/cfn-operations/lib/file/lib/lock.sh +0 -361
  815. package/claude-assets/skills/cfn-operations/lib/file/test.sh +0 -369
  816. package/claude-assets/skills/cfn-operations/lib/log/SKILL.md +0 -308
  817. package/claude-assets/skills/cfn-operations/lib/log/execute.sh +0 -420
  818. package/claude-assets/skills/cfn-operations/lib/log/lib/rotate.sh +0 -406
  819. package/claude-assets/skills/cfn-operations/lib/log/lib/search.sh +0 -448
  820. package/claude-assets/skills/cfn-operations/lib/log/test.sh +0 -394
  821. package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +0 -347
  822. package/claude-assets/skills/cfn-planning/SKILL.md +0 -55
  823. package/claude-assets/skills/cfn-planning/lib/coordinator/README.md +0 -256
  824. package/claude-assets/skills/cfn-planning/lib/coordinator/SKILL.md +0 -62
  825. package/claude-assets/skills/cfn-planning/lib/coordinator/map-dependencies-conflicts.sh +0 -376
  826. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-coordinator-resources.sh +0 -258
  827. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-multi-coordinator-work.sh +0 -267
  828. package/claude-assets/skills/cfn-planning/lib/coordinator/plan-risk-rollout.sh +0 -350
  829. package/claude-assets/skills/cfn-planning/lib/coordinator/test-multi-coordinator-planning.sh +0 -338
  830. package/claude-assets/skills/cfn-planning/lib/coordinator/validate-task-planning.sh +0 -189
  831. package/claude-assets/skills/cfn-planning/lib/epic/SKILL.md +0 -44
  832. package/claude-assets/skills/cfn-planning/lib/epic/decompose-epic.sh +0 -104
  833. package/claude-assets/skills/cfn-planning/lib/scope/SKILL.md +0 -37
  834. package/claude-assets/skills/cfn-planning/lib/scope/simplify-scope.sh +0 -68
  835. package/claude-assets/skills/cfn-process-management/SKILL.md +0 -52
  836. package/claude-assets/skills/cfn-process-management/lib/instrumentation/instrument-process.sh +0 -44
  837. package/claude-assets/skills/cfn-process-management/lib/lifecycle/README.md +0 -43
  838. package/claude-assets/skills/cfn-process-management/lib/lifecycle/SKILL.md +0 -39
  839. package/claude-assets/skills/cfn-process-management/lib/lifecycle/check-dependencies.sh +0 -58
  840. package/claude-assets/skills/cfn-process-management/lib/lifecycle/config.json +0 -39
  841. package/claude-assets/skills/cfn-process-management/lib/lifecycle/process-manager.sh +0 -144
  842. package/claude-assets/skills/cfn-project-analysis/SKILL.md +0 -113
  843. package/claude-assets/skills/cfn-project-management/SKILL.md +0 -52
  844. package/claude-assets/skills/cfn-project-management/lib/backlog/SKILL.md +0 -199
  845. package/claude-assets/skills/cfn-project-management/lib/backlog/add-backlog-item.sh +0 -208
  846. package/claude-assets/skills/cfn-project-management/lib/changelog/SKILL.md +0 -349
  847. package/claude-assets/skills/cfn-project-management/lib/changelog/add-changelog-entry.sh +0 -202
  848. package/claude-assets/skills/cfn-project-management/lib/changelog/bulk-import.sh +0 -268
  849. package/claude-assets/skills/cfn-project-management/lib/changelog/lib/README.md +0 -212
  850. package/claude-assets/skills/cfn-project-management/lib/changelog/lib/validation.sh +0 -72
  851. package/claude-assets/skills/cfn-routing-config/SKILL.md +0 -52
  852. package/claude-assets/skills/cfn-routing-config/lib/hybrid/README.md +0 -50
  853. package/claude-assets/skills/cfn-routing-config/lib/hybrid/SKILL.md +0 -54
  854. package/claude-assets/skills/cfn-routing-config/lib/hybrid/check-dependencies.sh +0 -52
  855. package/claude-assets/skills/cfn-routing-config/lib/hybrid/config.json +0 -26
  856. package/claude-assets/skills/cfn-routing-config/lib/hybrid/spawn-worker.sh +0 -44
  857. package/claude-assets/skills/cfn-routing-config/lib/provider/README.md +0 -129
  858. package/claude-assets/skills/cfn-routing-config/lib/provider/SKILL.md +0 -215
  859. package/claude-assets/skills/cfn-routing-config/lib/provider/resolve-provider-model.ts +0 -223
  860. package/claude-assets/skills/cfn-ruvector-codebase-index/.cfn-manifest.json +0 -37
  861. package/claude-assets/skills/cfn-ruvector-codebase-index/SKILL.md +0 -830
  862. package/claude-assets/skills/cfn-ruvector-codebase-index/batch-indexer.js +0 -185
  863. package/claude-assets/skills/cfn-ruvector-codebase-index/check-db.js +0 -8
  864. package/claude-assets/skills/cfn-ruvector-codebase-index/clean-orphaned-entries.sh +0 -206
  865. package/claude-assets/skills/cfn-ruvector-codebase-index/config.json +0 -65
  866. package/claude-assets/skills/cfn-ruvector-codebase-index/debug-search.js +0 -19
  867. package/claude-assets/skills/cfn-ruvector-codebase-index/detect-stale-docs.sh +0 -325
  868. package/claude-assets/skills/cfn-ruvector-codebase-index/embeddings.js +0 -181
  869. package/claude-assets/skills/cfn-ruvector-codebase-index/get-embedding-text.js +0 -26
  870. package/claude-assets/skills/cfn-ruvector-codebase-index/handle-file-moves.sh +0 -147
  871. package/claude-assets/skills/cfn-ruvector-codebase-index/index.sh +0 -324
  872. package/claude-assets/skills/cfn-ruvector-codebase-index/indexer.js +0 -53
  873. package/claude-assets/skills/cfn-ruvector-codebase-index/init-db.js +0 -27
  874. package/claude-assets/skills/cfn-ruvector-codebase-index/install-hook.sh +0 -51
  875. package/claude-assets/skills/cfn-ruvector-codebase-index/package.json +0 -30
  876. package/claude-assets/skills/cfn-ruvector-codebase-index/parser.js +0 -264
  877. package/claude-assets/skills/cfn-ruvector-codebase-index/query-error-patterns.sh +0 -42
  878. package/claude-assets/skills/cfn-ruvector-codebase-index/query-learnings.sh +0 -44
  879. package/claude-assets/skills/cfn-ruvector-codebase-index/ruvector-learning.js +0 -316
  880. package/claude-assets/skills/cfn-ruvector-codebase-index/search.js +0 -55
  881. package/claude-assets/skills/cfn-ruvector-codebase-index/search.sh +0 -137
  882. package/claude-assets/skills/cfn-ruvector-codebase-index/standalone-indexer.js +0 -129
  883. package/claude-assets/skills/cfn-ruvector-codebase-index/store-error-pattern.sh +0 -54
  884. package/claude-assets/skills/cfn-ruvector-codebase-index/store-learning.sh +0 -64
  885. package/claude-assets/skills/cfn-ruvector-codebase-index/test-comprehensive.js +0 -120
  886. package/claude-assets/skills/cfn-ruvector-codebase-index/test-db-structure.js +0 -40
  887. package/claude-assets/skills/cfn-ruvector-codebase-index/test-integration.js +0 -56
  888. package/claude-assets/skills/cfn-ruvector-codebase-index/test-metadata-fetch.js +0 -57
  889. package/claude-assets/skills/cfn-ruvector-codebase-index/test-search-debug.js +0 -48
  890. package/claude-assets/skills/cfn-session-handoff/SKILL.md +0 -273
  891. package/claude-assets/skills/cfn-skill-management/SKILL.md +0 -55
  892. package/claude-assets/skills/cfn-skill-management/lib/builder/SKILL.md +0 -910
  893. package/claude-assets/skills/cfn-skill-management/lib/loader/SKILL.md +0 -466
  894. package/claude-assets/skills/cfn-skill-management/lib/loader/execute.sh +0 -344
  895. package/claude-assets/skills/cfn-skill-management/lib/propagation/README.md +0 -233
  896. package/claude-assets/skills/cfn-skill-management/lib/propagation/package.json +0 -52
  897. package/claude-assets/skills/cfn-skill-management/lib/propagation/propagate-skill-update.sh +0 -32
  898. package/claude-assets/skills/cfn-sprint-execution/SKILL.md +0 -55
  899. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/SKILL.md +0 -333
  900. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/cleanup-orphans.sh +0 -374
  901. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/resume-wave.sh +0 -325
  902. package/claude-assets/skills/cfn-sprint-execution/lib/checkpoint/save-checkpoint.sh +0 -284
  903. package/claude-assets/skills/cfn-sprint-execution/lib/execution/SKILL.md +0 -27
  904. package/claude-assets/skills/cfn-sprint-execution/lib/execution/execute-sprint-task.sh +0 -59
  905. package/claude-assets/skills/cfn-sprint-execution/lib/execution/execute-sprint.sh +0 -65
  906. package/claude-assets/skills/cfn-task-intelligence/SKILL.md +0 -64
  907. package/claude-assets/skills/cfn-task-intelligence/lib/classifier/SKILL.md +0 -81
  908. package/claude-assets/skills/cfn-task-intelligence/lib/classifier/classify-task.sh +0 -297
  909. package/claude-assets/skills/cfn-task-intelligence/lib/complexity/SKILL.md +0 -96
  910. package/claude-assets/skills/cfn-task-intelligence/lib/complexity/estimate-complexity.sh +0 -144
  911. package/claude-assets/skills/cfn-task-intelligence/lib/specialist/SKILL.md +0 -41
  912. package/claude-assets/skills/cfn-task-intelligence/lib/specialist/recommend-specialist.sh +0 -57
  913. package/claude-assets/skills/cfn-task-planning/SKILL.md +0 -193
  914. package/claude-assets/skills/cfn-task-planning/cli/classify-task.sh +0 -4
  915. package/claude-assets/skills/cfn-task-planning/cli/decompose-task.sh +0 -4
  916. package/claude-assets/skills/cfn-task-planning/cli/init-config.sh +0 -4
  917. package/claude-assets/skills/cfn-task-planning/lib/audit/get-audit-data.sh +0 -397
  918. package/claude-assets/skills/cfn-task-planning/lib/audit/store-task-audit.sh +0 -191
  919. package/claude-assets/skills/cfn-task-planning/lib/classifier/README.md +0 -81
  920. package/claude-assets/skills/cfn-task-planning/lib/classifier/classify-task.sh +0 -297
  921. package/claude-assets/skills/cfn-task-planning/lib/decomposition/task-decomposer.sh +0 -279
  922. package/claude-assets/skills/cfn-test-framework/SKILL.md +0 -55
  923. package/claude-assets/skills/cfn-test-framework/lib/execution/README.md +0 -129
  924. package/claude-assets/skills/cfn-test-framework/lib/execution/SKILL.md +0 -128
  925. package/claude-assets/skills/cfn-test-framework/lib/execution/check-dependencies.sh +0 -36
  926. package/claude-assets/skills/cfn-test-framework/lib/execution/test-cache-reader.sh +0 -134
  927. package/claude-assets/skills/cfn-test-framework/lib/execution/test-concurrent-conflicts.sh +0 -115
  928. package/claude-assets/skills/cfn-test-framework/lib/execution/test-coordinator-pattern.sh +0 -109
  929. package/claude-assets/skills/cfn-test-framework/lib/runner/SKILL.md +0 -288
  930. package/claude-assets/skills/cfn-test-framework/lib/runner/detect-regressions.sh +0 -58
  931. package/claude-assets/skills/cfn-test-framework/lib/runner/detect-regressions.sh.backup-1763392821 +0 -55
  932. package/claude-assets/skills/cfn-test-framework/lib/runner/init-benchmark-db.sh +0 -48
  933. package/claude-assets/skills/cfn-test-framework/lib/runner/run-all-tests.sh +0 -222
  934. package/claude-assets/skills/cfn-test-framework/lib/runner/store-benchmarks.sh +0 -53
  935. package/claude-assets/skills/cfn-test-framework/lib/runner/validate-redis-keys.sh +0 -143
  936. package/claude-assets/skills/cfn-test-framework/lib/webapp/README.md +0 -142
  937. package/claude-assets/skills/cfn-test-framework/lib/webapp/SCREENSHOT_NAMING_CONVENTION.md +0 -547
  938. package/claude-assets/skills/cfn-test-framework/lib/webapp/SKILL.md +0 -877
  939. package/claude-assets/skills/cfn-test-framework/lib/webapp/capture-screenshot.sh +0 -238
  940. package/claude-assets/skills/cfn-test-framework/lib/webapp/cfn-loop-integration.sh +0 -265
  941. package/claude-assets/skills/cfn-test-framework/lib/webapp/compare-screenshots.sh +0 -199
  942. package/claude-assets/skills/cfn-test-framework/lib/webapp/init-storage.sh +0 -150
  943. package/claude-assets/skills/cfn-test-framework/lib/webapp/set-baseline.sh +0 -196
  944. package/claude-assets/skills/cfn-test-framework/lib/webapp/test-webapp-testing.sh +0 -233
  945. package/claude-assets/skills/cfn-transparency-middleware/Cargo.toml +0 -18
  946. package/claude-assets/skills/cfn-transparency-middleware/README.md +0 -74
  947. package/claude-assets/skills/cfn-transparency-middleware/SECURITY.md +0 -41
  948. package/claude-assets/skills/cfn-transparency-middleware/SKILL.md +0 -99
  949. package/claude-assets/skills/cfn-transparency-middleware/TEST_RESULTS.md +0 -174
  950. package/claude-assets/skills/cfn-transparency-middleware/config.json +0 -31
  951. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +0 -98
  952. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-init.sh +0 -224
  953. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-level.sh +0 -333
  954. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +0 -345
  955. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +0 -140
  956. package/claude-assets/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +0 -235
  957. package/claude-assets/skills/cfn-transparency-middleware/memory_query.rs +0 -85
  958. package/claude-assets/skills/cfn-transparency-middleware/memory_repository.rs +0 -140
  959. package/claude-assets/skills/cfn-transparency-middleware/memory_schema.rs +0 -64
  960. package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +0 -29
  961. package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +0 -79
  962. package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +0 -421
  963. package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +0 -162
  964. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +0 -368
  965. package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +0 -126
  966. package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +0 -132
  967. package/claude-assets/skills/cfn-utilities/SKILL.md +0 -239
  968. package/claude-assets/skills/cfn-utilities/execute.sh +0 -32
  969. package/claude-assets/skills/cfn-utilities/lib/errors.sh +0 -56
  970. package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +0 -164
  971. package/claude-assets/skills/cfn-utilities/lib/logging.sh +0 -77
  972. package/claude-assets/skills/cfn-utilities/lib/retry.sh +0 -127
  973. package/claude-assets/skills/cfn-utilities/test.sh +0 -317
  974. package/claude-assets/skills/cfn-validation-framework/SKILL.md +0 -60
  975. package/claude-assets/skills/cfn-validation-framework/lib/deliverables/confidence-calculator.sh +0 -262
  976. package/claude-assets/skills/cfn-validation-framework/lib/instrumentation/wrapped-executor.sh +0 -291
  977. package/claude-assets/skills/cfn-validation-framework/lib/json/SKILL.md +0 -431
  978. package/claude-assets/skills/cfn-validation-framework/lib/json/test-validate-success-criteria.sh +0 -421
  979. package/claude-assets/skills/cfn-validation-framework/lib/json/validate-success-criteria.sh +0 -197
  980. package/claude-assets/skills/cfn-validation-framework/lib/layers/SKILL.md +0 -133
  981. package/claude-assets/skills/cfn-vision-analysis/SKILL.md +0 -20
  982. package/claude-assets/skills/equation-solver/README.md +0 -327
  983. package/claude-assets/skills/equation-solver/SECURITY.md +0 -306
  984. package/claude-assets/skills/equation-solver/SKILL.md +0 -335
  985. package/claude-assets/skills/equation-solver/package.json +0 -32
  986. package/claude-assets/skills/equation-solver/solve.sh +0 -348
  987. package/claude-assets/skills/equation-solver/test-equation-solver-minimal.sh +0 -103
  988. package/claude-assets/skills/equation-solver/test-equation-solver.sh +0 -510
  989. /package/.claude/commands/{check-errors.md → cfn-check-errors.md} +0 -0
  990. /package/.claude/commands/{detect-stale-docs.md → cfn-detect-stale-docs.md} +0 -0
  991. /package/.claude/commands/{epic-creator-v2.md → cfn-epic-creator-v2.md} +0 -0
  992. /package/.claude/commands/cfn-loop/{list-agents-rebuild.md → cfn-list-agents-rebuild.md} +0 -0
  993. /package/.claude/commands/cfn-ruvector/{codebase-reindex.md → cfn-codebase-reindex.md} +0 -0
  994. /package/.claude/commands/cfn-ruvector/{codebase-search.md → cfn-codebase-search.md} +0 -0
  995. /package/.claude/commands/cfn-ruvector/{detect-stale-docs.md → cfn-detect-stale-docs.md} +0 -0
  996. /package/.claude/commands/{ruvector-search.md → cfn-ruvector-search.md} +0 -0
  997. /package/.claude/commands/{update-search-index.md → cfn-update-search-index.md} +0 -0
  998. /package/.claude/commands/cost-routing/{switch-api.md → cfn-switch-api.md} +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