claude-flow-novice 2.6.0 → 2.9.0

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 (659) hide show
  1. package/.claude/agents/cfn-dev-team/coordinators/README.md +42 -0
  2. package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +440 -0
  3. package/.claude/agents/{product-owner-team → cfn-dev-team/coordinators}/cto-agent.md +154 -187
  4. package/.claude/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +50 -0
  5. package/.claude/agents/{product-owner-team → cfn-dev-team/coordinators}/product-owner-agent.md +7 -40
  6. package/.claude/agents/{cfn-loop → cfn-dev-team/coordinators}/product-owner.md +73 -18
  7. package/.claude/agents/cfn-dev-team/developers/README.md +69 -0
  8. package/.claude/agents/cfn-dev-team/developers/backend-dev.md +77 -0
  9. package/.claude/agents/{core-agents → cfn-dev-team/developers}/coder.md +132 -27
  10. package/.claude/agents/cfn-dev-team/developers/react-frontend-engineer.md +121 -0
  11. package/.claude/agents/{frontend → cfn-dev-team/developers}/state-architect.md +1 -0
  12. package/.claude/agents/{frontend → cfn-dev-team/developers}/ui-designer.md +1 -0
  13. package/.claude/agents/cfn-dev-team/reviewers/README.md +58 -0
  14. package/.claude/agents/{analysis → cfn-dev-team/reviewers}/code-quality-validator.md +9 -18
  15. package/.claude/agents/{core-agents → cfn-dev-team/reviewers}/reviewer.md +62 -23
  16. package/.claude/agents/cfn-dev-team/testers/README.md +94 -0
  17. package/.claude/agents/{testing → cfn-dev-team/testers}/e2e/playwright-agent.md +2 -21
  18. package/.claude/agents/{testing → cfn-dev-team/testers}/interaction-tester.md +2 -21
  19. package/.claude/agents/{testing → cfn-dev-team/testers}/playwright-tester.md +1 -1
  20. package/.claude/agents/cfn-dev-team/testers/tester.md +139 -0
  21. package/.claude/agents/cfn-dev-team/testers/unit/tdd-london-swarm.md +49 -0
  22. package/.claude/agents/cfn-dev-team/testers/validation/production-validator.md +33 -0
  23. package/.claude/cfn-data/cfn-loop.db +0 -0
  24. package/.claude/cfn-data/cfn_loop_logs.db +0 -0
  25. package/.claude/commands/{CFN_COORDINATOR_PARAMETERS.md → cfn/CFN_COORDINATOR_PARAMETERS.md} +22 -22
  26. package/.claude/commands/{cfn-loop-epic.md → cfn/cfn-loop-epic.md} +6 -6
  27. package/.claude/commands/{cfn-loop-single.md → cfn/cfn-loop-single.md} +9 -9
  28. package/.claude/commands/{cfn-loop-sprints.md → cfn/cfn-loop-sprints.md} +1 -1
  29. package/.claude/commands/{cfn-loop.md → cfn/cfn-loop.md} +9 -9
  30. package/.claude/commands/cfn/cfn-mode.md +20 -0
  31. package/.claude/commands/{cfn-optimize-agents.md → cfn/cfn-optimize-agents.md} +1 -1
  32. package/.claude/commands/{context-curate.md → cfn/context-curate.md} +2 -2
  33. package/.claude/commands/{context-inject.md → cfn/context-inject.md} +3 -3
  34. package/.claude/commands/{context-reflect.md → cfn/context-reflect.md} +1 -1
  35. package/.claude/commands/{context-stats.md → cfn/context-stats.md} +1 -1
  36. package/.claude/commands/{list-agents-rebuild.md → cfn/list-agents-rebuild.md} +12 -12
  37. package/.claude/commands/cfn/write-plan.md +104 -0
  38. package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -0
  39. package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +79 -0
  40. package/.claude/hooks/cfn-post-edit.sh +21 -0
  41. package/.claude/hooks/cfn-pre-edit-backup.sh +71 -0
  42. package/.claude/hooks/cfn-restore-from-backup.sh +37 -0
  43. package/.claude/skills/cfn-loop-orchestration/README.md +41 -0
  44. package/.claude/skills/cfn-redis-coordination/README.md +65 -0
  45. package/.claude/skills/cfn-webapp-testing/README.md +142 -0
  46. package/CFN-CLAUDE.md +776 -0
  47. package/README.md +598 -251
  48. package/dist/agents/agent-loader.js +146 -165
  49. package/dist/agents/agent-loader.js.map +1 -1
  50. package/dist/cli/agent-command.js +2 -0
  51. package/dist/cli/agent-command.js.map +1 -1
  52. package/dist/cli/agent-definition-parser.js +7 -0
  53. package/dist/cli/agent-definition-parser.js.map +1 -1
  54. package/dist/cli/agent-executor.js +145 -11
  55. package/dist/cli/agent-executor.js.map +1 -1
  56. package/dist/cli/agent-prompt-builder.js +81 -1
  57. package/dist/cli/agent-prompt-builder.js.map +1 -1
  58. package/dist/cli/agent-spawn.js +10 -1
  59. package/dist/cli/agent-spawn.js.map +1 -1
  60. package/dist/cli/anthropic-client.js +192 -13
  61. package/dist/cli/anthropic-client.js.map +1 -1
  62. package/dist/cli/cfn-context.js +150 -0
  63. package/dist/cli/cfn-context.js.map +1 -1
  64. package/dist/cli/cfn-fork.js +159 -0
  65. package/dist/cli/cfn-fork.js.map +1 -0
  66. package/dist/cli/cli-agent-context.js +8 -3
  67. package/dist/cli/cli-agent-context.js.map +1 -1
  68. package/dist/cli/conversation-fork.js +201 -0
  69. package/dist/cli/conversation-fork.js.map +1 -0
  70. package/dist/cli/index.js +4 -0
  71. package/dist/cli/index.js.map +1 -1
  72. package/dist/cli/init-command.js +20 -0
  73. package/dist/cli/init-command.js.map +1 -0
  74. package/dist/cli/tool-definitions.js +263 -0
  75. package/dist/cli/tool-definitions.js.map +1 -0
  76. package/dist/cli/tool-executor.js +247 -0
  77. package/dist/cli/tool-executor.js.map +1 -0
  78. package/dist/hello.js +8 -0
  79. package/dist/hello.js.map +1 -0
  80. package/package.json +26 -12
  81. package/scripts/README.md +68 -0
  82. package/scripts/cfn-intervention-example.sh +21 -0
  83. package/scripts/init-project.js +148 -0
  84. package/scripts/migrate-test-infrastructure.sh +40 -0
  85. package/scripts/restructure-cfn-namespace.sh +161 -0
  86. package/scripts/validate-test-migration.sh +49 -0
  87. package/scripts/verify-no-secrets.sh +55 -0
  88. package/.claude/SLASH-COMMANDS-READY.md +0 -53
  89. package/.claude/WORKING-SETUP.md +0 -67
  90. package/.claude/ace-system-overview.md +0 -524
  91. package/.claude/agent-principles/agent-template.md +0 -96
  92. package/.claude/agents/CLAUDE.md +0 -995
  93. package/.claude/agents/README-VALIDATION.md +0 -243
  94. package/.claude/agents/agent-principles/README.md +0 -226
  95. package/.claude/agents/agent-principles/agent-type-guidelines.md +0 -465
  96. package/.claude/agents/agent-principles/format-selection.md +0 -224
  97. package/.claude/agents/agent-principles/phase4-template-optimization.md +0 -494
  98. package/.claude/agents/agent-principles/prompt-engineering.md +0 -501
  99. package/.claude/agents/agent-principles/quality-metrics.md +0 -375
  100. package/.claude/agents/analysis/code-analyzer.md +0 -192
  101. package/.claude/agents/analysis/code-review/analyze-code-quality.md +0 -133
  102. package/.claude/agents/analysis/perf-analyzer.md +0 -230
  103. package/.claude/agents/architecture/system-architect.md +0 -161
  104. package/.claude/agents/architecture/system-architect.md.backup +0 -603
  105. package/.claude/agents/code-booster.md +0 -131
  106. package/.claude/agents/consensus/consensus-builder.md +0 -159
  107. package/.claude/agents/consensus/crdt-synchronizer.md +0 -192
  108. package/.claude/agents/consensus/performance-benchmarker.md +0 -101
  109. package/.claude/agents/consensus/quorum-manager.md +0 -168
  110. package/.claude/agents/consensus/raft-manager.md +0 -106
  111. package/.claude/agents/consensus/security-manager.md +0 -107
  112. package/.claude/agents/context/context-curator.md +0 -84
  113. package/.claude/agents/context/context-reflector.md +0 -81
  114. package/.claude/agents/context-curator.md +0 -167
  115. package/.claude/agents/context-reflector.md +0 -65
  116. package/.claude/agents/core-agents/analyst.md +0 -170
  117. package/.claude/agents/core-agents/architect.md +0 -200
  118. package/.claude/agents/core-agents/base-template-generator.md +0 -188
  119. package/.claude/agents/core-agents/cfn-loop-coordinator.md +0 -134
  120. package/.claude/agents/core-agents/code-quality-validator.md +0 -149
  121. package/.claude/agents/core-agents/context-curator.md +0 -452
  122. package/.claude/agents/core-agents/context-reflector.md +0 -273
  123. package/.claude/agents/core-agents/coordinator.md +0 -182
  124. package/.claude/agents/core-agents/cost-savings-cfn-loop-coordinator.md +0 -235
  125. package/.claude/agents/core-agents/cost-savings-coordinator.md +0 -167
  126. package/.claude/agents/core-agents/performance-benchmarker.md +0 -148
  127. package/.claude/agents/core-agents/planner.md +0 -174
  128. package/.claude/agents/core-agents/security-manager.md +0 -111
  129. package/.claude/agents/core-agents/tester.md +0 -170
  130. package/.claude/agents/custom/agent-builder.md +0 -637
  131. package/.claude/agents/development/backend/dev-backend-api.md +0 -139
  132. package/.claude/agents/development/backend-dev.md +0 -165
  133. package/.claude/agents/development/npm-package-specialist.md +0 -347
  134. package/.claude/agents/devops/devops-engineer.md +0 -148
  135. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -98
  136. package/.claude/agents/documentation/api-docs.md +0 -103
  137. package/.claude/agents/frontend/README.md +0 -640
  138. package/.claude/agents/frontend/interaction-tester.md +0 -139
  139. package/.claude/agents/frontend/react-frontend-engineer.md +0 -9
  140. package/.claude/agents/github/github-commit-agent.md +0 -118
  141. package/.claude/agents/goal/goal-planner.md +0 -183
  142. package/.claude/agents/personas/accessibility-advocate-persona.md +0 -107
  143. package/.claude/agents/planning-team/api-designer-persona.md +0 -147
  144. package/.claude/agents/planning-team/security-architect-persona.md +0 -190
  145. package/.claude/agents/planning-team/system-architect-persona.md +0 -190
  146. package/.claude/agents/product-owner-team/accessibility-advocate-persona.md +0 -161
  147. package/.claude/agents/product-owner-team/power-user-persona.md +0 -182
  148. package/.claude/agents/security/security-specialist-existing.md +0 -154
  149. package/.claude/agents/security/security-specialist.md +0 -185
  150. package/.claude/agents/sparc/architecture.md +0 -149
  151. package/.claude/agents/sparc/pseudocode.md +0 -159
  152. package/.claude/agents/sparc/refinement.md +0 -106
  153. package/.claude/agents/sparc/specification.md +0 -157
  154. package/.claude/agents/specialized/cli-agent-optimizer.md +0 -122
  155. package/.claude/agents/specialized/code-booster.md +0 -143
  156. package/.claude/agents/specialized/devops-engineer.md +0 -150
  157. package/.claude/agents/specialized/mobile/mobile-dev.md +0 -210
  158. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +0 -191
  159. package/.claude/agents/specialized/rust-developer.md +0 -166
  160. package/.claude/agents/specialized/rust-enterprise-developer.md +0 -144
  161. package/.claude/agents/specialized/rust-mvp-developer.md +0 -142
  162. package/.claude/agents/testing/production-validator.md +0 -179
  163. package/.claude/agents/testing/tdd-london-swarm.md +0 -209
  164. package/.claude/agents/testing/unit/tdd-london-swarm.md +0 -43
  165. package/.claude/agents/testing/validation/production-validator.md +0 -43
  166. package/.claude/agents/validate-agent.js +0 -841
  167. package/.claude/agents-ignore/cfn-coordinator-enterprise.md +0 -1303
  168. package/.claude/agents-ignore/cfn-coordinator-mvp.md +0 -942
  169. package/.claude/agents-ignore/cfn-coordinator-standard.md +0 -1062
  170. package/.claude/agents-ignore/deprecated-coordinators/adaptive-coordinator-enhanced.md +0 -145
  171. package/.claude/agents-ignore/deprecated-coordinators/adaptive-coordinator.md +0 -161
  172. package/.claude/agents-ignore/deprecated-coordinators/blocking-coordinator-example.md +0 -732
  173. package/.claude/agents-ignore/deprecated-coordinators/byzantine-coordinator.md +0 -94
  174. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-enterprise.md +0 -323
  175. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-mvp.md +0 -157
  176. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-standard.md +0 -229
  177. package/.claude/agents-ignore/deprecated-coordinators/cfn-coordinator-unified.md +0 -149
  178. package/.claude/agents-ignore/deprecated-coordinators/coordinator-hybrid.md +0 -231
  179. package/.claude/agents-ignore/deprecated-coordinators/gossip-coordinator.md +0 -165
  180. package/.claude/agents-ignore/deprecated-coordinators/hierarchical-coordinator.md +0 -91
  181. package/.claude/agents-ignore/deprecated-coordinators/mesh-coordinator.md +0 -131
  182. package/.claude/agents-ignore/deprecated-coordinators/task-coordinator.md +0 -105
  183. package/.claude/agents-ignore/deprecated-coordinators/test-coordinator.md +0 -141
  184. package/.claude/api-configs/config-current-zai-config.env +0 -62
  185. package/.claude/api-configs/config-test-zai-config.env +0 -62
  186. package/.claude/api-configs/env-backups/before-anthropic-20251020-025404.env +0 -62
  187. package/.claude/api-configs/env-backups/before-restore-20251020-025431.env +0 -62
  188. package/.claude/architecture/mesh-get-polling-design.md +0 -87
  189. package/.claude/architecture/mesh-get-polling-implementation.md +0 -89
  190. package/.claude/architecture/typescript-microservices.md +0 -50
  191. package/.claude/artifacts/reflection-merge-logs/cli-agent-spawning-v2.5.2-merge-report.md +0 -61
  192. package/.claude/cfn-loop-rules.md +0 -73
  193. package/.claude/cfn-mode-patterns.md +0 -571
  194. package/.claude/claude-md-backup-pre-skills.md +0 -15
  195. package/.claude/commands/agents/README.md +0 -10
  196. package/.claude/commands/agents/agent-capabilities.md +0 -21
  197. package/.claude/commands/agents/agent-coordination.md +0 -28
  198. package/.claude/commands/agents/agent-spawning.md +0 -28
  199. package/.claude/commands/agents/agent-types.md +0 -26
  200. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  201. package/.claude/commands/analysis/README.md +0 -9
  202. package/.claude/commands/analysis/bottleneck-detect.md +0 -162
  203. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  204. package/.claude/commands/analysis/performance-report.md +0 -25
  205. package/.claude/commands/analysis/token-efficiency.md +0 -45
  206. package/.claude/commands/analysis/token-usage.md +0 -25
  207. package/.claude/commands/automation/README.md +0 -9
  208. package/.claude/commands/automation/auto-agent.md +0 -122
  209. package/.claude/commands/automation/self-healing.md +0 -106
  210. package/.claude/commands/automation/session-memory.md +0 -90
  211. package/.claude/commands/automation/smart-agents.md +0 -73
  212. package/.claude/commands/automation/smart-spawn.md +0 -25
  213. package/.claude/commands/automation/workflow-select.md +0 -25
  214. package/.claude/commands/claude-md.js +0 -237
  215. package/.claude/commands/claude-soul.js +0 -28
  216. package/.claude/commands/cli-integration.js +0 -216
  217. package/.claude/commands/coordination/README.md +0 -9
  218. package/.claude/commands/coordination/agent-spawn.md +0 -25
  219. package/.claude/commands/coordination/coordination-system.md +0 -88
  220. package/.claude/commands/coordination/init.md +0 -44
  221. package/.claude/commands/coordination/orchestrate.md +0 -43
  222. package/.claude/commands/coordination/spawn.md +0 -45
  223. package/.claude/commands/coordination/swarm-init.md +0 -85
  224. package/.claude/commands/coordination/task-orchestrate.md +0 -25
  225. package/.claude/commands/github/README.md +0 -11
  226. package/.claude/commands/github/code-review-swarm.md +0 -514
  227. package/.claude/commands/github/code-review.md +0 -25
  228. package/.claude/commands/github/github-modes.md +0 -147
  229. package/.claude/commands/github/github-swarm.md +0 -121
  230. package/.claude/commands/github/issue-tracker.md +0 -292
  231. package/.claude/commands/github/issue-triage.md +0 -25
  232. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  233. package/.claude/commands/github/pr-enhance.md +0 -26
  234. package/.claude/commands/github/pr-manager.md +0 -170
  235. package/.claude/commands/github/project-board-sync.md +0 -471
  236. package/.claude/commands/github/release-manager.md +0 -338
  237. package/.claude/commands/github/release-swarm.md +0 -544
  238. package/.claude/commands/github/repo-analyze.md +0 -25
  239. package/.claude/commands/github/repo-architect.md +0 -367
  240. package/.claude/commands/github/swarm-issue.md +0 -482
  241. package/.claude/commands/github/swarm-pr.md +0 -285
  242. package/.claude/commands/github/sync-coordinator.md +0 -301
  243. package/.claude/commands/github/workflow-automation.md +0 -442
  244. package/.claude/commands/github.js +0 -638
  245. package/.claude/commands/hive-mind/README.md +0 -17
  246. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -8
  247. package/.claude/commands/hive-mind/hive-mind-init.md +0 -18
  248. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -8
  249. package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
  250. package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
  251. package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
  252. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -21
  253. package/.claude/commands/hive-mind/hive-mind-status.md +0 -8
  254. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -8
  255. package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
  256. package/.claude/commands/hive-mind/hive-mind.md +0 -27
  257. package/.claude/commands/hooks/README.md +0 -11
  258. package/.claude/commands/hooks/overview.md +0 -58
  259. package/.claude/commands/hooks/post-edit.md +0 -117
  260. package/.claude/commands/hooks/post-task.md +0 -112
  261. package/.claude/commands/hooks/pre-edit.md +0 -113
  262. package/.claude/commands/hooks/pre-task.md +0 -111
  263. package/.claude/commands/hooks/session-end.md +0 -118
  264. package/.claude/commands/hooks/session-start.md +0 -9
  265. package/.claude/commands/hooks/setup.md +0 -103
  266. package/.claude/commands/hooks.js +0 -651
  267. package/.claude/commands/index.js +0 -119
  268. package/.claude/commands/memory/README.md +0 -9
  269. package/.claude/commands/memory/memory-bank.md +0 -58
  270. package/.claude/commands/memory/memory-persist.md +0 -25
  271. package/.claude/commands/memory/memory-search.md +0 -25
  272. package/.claude/commands/memory/memory-usage.md +0 -25
  273. package/.claude/commands/memory/neural.md +0 -47
  274. package/.claude/commands/memory/usage.md +0 -46
  275. package/.claude/commands/monitoring/README.md +0 -9
  276. package/.claude/commands/monitoring/agent-metrics.md +0 -25
  277. package/.claude/commands/monitoring/agents.md +0 -44
  278. package/.claude/commands/monitoring/real-time-view.md +0 -25
  279. package/.claude/commands/monitoring/status.md +0 -46
  280. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  281. package/.claude/commands/neural.js +0 -572
  282. package/.claude/commands/optimization/README.md +0 -9
  283. package/.claude/commands/optimization/auto-topology.md +0 -62
  284. package/.claude/commands/optimization/cache-manage.md +0 -25
  285. package/.claude/commands/optimization/parallel-execute.md +0 -25
  286. package/.claude/commands/optimization/parallel-execution.md +0 -50
  287. package/.claude/commands/optimization/topology-optimize.md +0 -25
  288. package/.claude/commands/pair/README.md +0 -261
  289. package/.claude/commands/pair/commands.md +0 -546
  290. package/.claude/commands/pair/config.md +0 -510
  291. package/.claude/commands/pair/examples.md +0 -512
  292. package/.claude/commands/pair/modes.md +0 -348
  293. package/.claude/commands/pair/session.md +0 -407
  294. package/.claude/commands/pair/start.md +0 -209
  295. package/.claude/commands/parse-epic.js +0 -180
  296. package/.claude/commands/performance.js +0 -582
  297. package/.claude/commands/register-all-commands.js +0 -320
  298. package/.claude/commands/register-claude-md.js +0 -82
  299. package/.claude/commands/register-claude-soul.js +0 -80
  300. package/.claude/commands/sparc/analyzer.md +0 -52
  301. package/.claude/commands/sparc/architect.md +0 -53
  302. package/.claude/commands/sparc/batch-executor.md +0 -54
  303. package/.claude/commands/sparc/coder.md +0 -54
  304. package/.claude/commands/sparc/debugger.md +0 -54
  305. package/.claude/commands/sparc/designer.md +0 -53
  306. package/.claude/commands/sparc/documenter.md +0 -54
  307. package/.claude/commands/sparc/innovator.md +0 -54
  308. package/.claude/commands/sparc/memory-manager.md +0 -54
  309. package/.claude/commands/sparc/optimizer.md +0 -54
  310. package/.claude/commands/sparc/orchestrator.md +0 -132
  311. package/.claude/commands/sparc/researcher.md +0 -54
  312. package/.claude/commands/sparc/reviewer.md +0 -54
  313. package/.claude/commands/sparc/sparc-modes.md +0 -174
  314. package/.claude/commands/sparc/swarm-coordinator.md +0 -54
  315. package/.claude/commands/sparc/tdd.md +0 -54
  316. package/.claude/commands/sparc/tester.md +0 -54
  317. package/.claude/commands/sparc/workflow-manager.md +0 -54
  318. package/.claude/commands/sparc.js +0 -110
  319. package/.claude/commands/stream-chain/pipeline.md +0 -121
  320. package/.claude/commands/stream-chain/run.md +0 -70
  321. package/.claude/commands/swarm/README.md +0 -15
  322. package/.claude/commands/swarm/analysis.md +0 -95
  323. package/.claude/commands/swarm/development.md +0 -96
  324. package/.claude/commands/swarm/examples.md +0 -168
  325. package/.claude/commands/swarm/maintenance.md +0 -102
  326. package/.claude/commands/swarm/optimization.md +0 -117
  327. package/.claude/commands/swarm/research.md +0 -136
  328. package/.claude/commands/swarm/swarm-analysis.md +0 -8
  329. package/.claude/commands/swarm/swarm-background.md +0 -8
  330. package/.claude/commands/swarm/swarm-init.md +0 -19
  331. package/.claude/commands/swarm/swarm-modes.md +0 -8
  332. package/.claude/commands/swarm/swarm-monitor.md +0 -8
  333. package/.claude/commands/swarm/swarm-spawn.md +0 -19
  334. package/.claude/commands/swarm/swarm-status.md +0 -8
  335. package/.claude/commands/swarm/swarm-strategies.md +0 -8
  336. package/.claude/commands/swarm/swarm.md +0 -27
  337. package/.claude/commands/swarm/testing.md +0 -131
  338. package/.claude/commands/swarm.js +0 -423
  339. package/.claude/commands/testing/playwright-e2e.md +0 -288
  340. package/.claude/commands/training/README.md +0 -9
  341. package/.claude/commands/training/model-update.md +0 -25
  342. package/.claude/commands/training/neural-patterns.md +0 -74
  343. package/.claude/commands/training/neural-train.md +0 -25
  344. package/.claude/commands/training/pattern-learn.md +0 -25
  345. package/.claude/commands/training/specialization.md +0 -63
  346. package/.claude/commands/truth/start.md +0 -143
  347. package/.claude/commands/validate-commands.js +0 -223
  348. package/.claude/commands/verify/check.md +0 -50
  349. package/.claude/commands/verify/start.md +0 -128
  350. package/.claude/commands/workflow.js +0 -606
  351. package/.claude/commands/workflows/README.md +0 -9
  352. package/.claude/commands/workflows/development.md +0 -78
  353. package/.claude/commands/workflows/research.md +0 -63
  354. package/.claude/commands/workflows/workflow-create.md +0 -25
  355. package/.claude/commands/workflows/workflow-execute.md +0 -25
  356. package/.claude/commands/workflows/workflow-export.md +0 -25
  357. package/.claude/coordinator-feedback-pattern.md +0 -326
  358. package/.claude/coordinator-patterns.md +0 -126
  359. package/.claude/core/agent-manager.js +0 -80
  360. package/.claude/core/agent-manager.js.map +0 -1
  361. package/.claude/core/config.js +0 -1221
  362. package/.claude/core/config.js.map +0 -1
  363. package/.claude/core/event-bus.js +0 -136
  364. package/.claude/core/event-bus.js.map +0 -1
  365. package/.claude/core/index.js +0 -6
  366. package/.claude/core/index.js.map +0 -1
  367. package/.claude/core/json-persistence.js +0 -112
  368. package/.claude/core/json-persistence.js.map +0 -1
  369. package/.claude/core/logger.js +0 -245
  370. package/.claude/core/logger.js.map +0 -1
  371. package/.claude/core/orchestrator-fixed.js +0 -236
  372. package/.claude/core/orchestrator-fixed.js.map +0 -1
  373. package/.claude/core/orchestrator.js +0 -1136
  374. package/.claude/core/orchestrator.js.map +0 -1
  375. package/.claude/core/persistence.js +0 -185
  376. package/.claude/core/persistence.js.map +0 -1
  377. package/.claude/core/project-manager.js +0 -80
  378. package/.claude/core/project-manager.js.map +0 -1
  379. package/.claude/core/slash-command.js +0 -24
  380. package/.claude/core/version.js +0 -35
  381. package/.claude/core/version.js.map +0 -1
  382. package/.claude/helpers/checkpoint-manager.sh +0 -251
  383. package/.claude/helpers/github-safe.js +0 -106
  384. package/.claude/helpers/github-setup.sh +0 -28
  385. package/.claude/helpers/quick-start.sh +0 -19
  386. package/.claude/helpers/setup-mcp.sh +0 -18
  387. package/.claude/helpers/standard-checkpoint-hooks.sh +0 -179
  388. package/.claude/hooks.json +0 -21
  389. package/.claude/logs/sprint1-hybrid-routing-v2-decision.json +0 -18
  390. package/.claude/redis-agent-dependencies.md +0 -494
  391. package/.claude/root-claude-distribute/CLAUDE.md +0 -428
  392. package/.claude/settings.json +0 -129
  393. package/.claude/settings.local.json +0 -33
  394. package/.claude/skills/CFN-LOOP-VALIDATION.md +0 -202
  395. package/.claude/skills/REDIS-COORDINATION.md +0 -187
  396. package/.claude/skills/SKILL.md +0 -229
  397. package/.claude/skills/ace-system/SKILL.md +0 -364
  398. package/.claude/skills/ace-system/add-bullet.sh +0 -145
  399. package/.claude/skills/ace-system/invoke-context-curate.sh +0 -192
  400. package/.claude/skills/ace-system/invoke-context-inject.sh +0 -166
  401. package/.claude/skills/ace-system/invoke-context-query.sh +0 -127
  402. package/.claude/skills/ace-system/invoke-context-reflect.sh +0 -98
  403. package/.claude/skills/ace-system/invoke-context-stats.sh +0 -188
  404. package/.claude/skills/ace-system/log-merge.sh +0 -67
  405. package/.claude/skills/ace-system/query-reflections.sh +0 -35
  406. package/.claude/skills/ace-system/store-reflection.sh +0 -149
  407. package/.claude/skills/ace-system/test-ace-skill.sh +0 -312
  408. package/.claude/skills/ace-system/update-reflection.sh +0 -41
  409. package/.claude/skills/agent-execution/execute-agent.sh +0 -126
  410. package/.claude/skills/agent-spawning/SKILL.md +0 -135
  411. package/.claude/skills/agent-spawning/agent-selection-guide.md +0 -814
  412. package/.claude/skills/agent-spawning/check-dependencies.sh +0 -30
  413. package/.claude/skills/agent-spawning/spawn-agent.sh +0 -263
  414. package/.claude/skills/agent-spawning/spawn-templates.sh +0 -613
  415. package/.claude/skills/analytics/description-refinement-guide.md +0 -164
  416. package/.claude/skills/analytics/log-skill-invocation.js +0 -122
  417. package/.claude/skills/analytics/run-production-criteria-tests.sh +0 -126
  418. package/.claude/skills/analytics/skill-analytics-dashboard.js +0 -113
  419. package/.claude/skills/analytics/skill-invocation-hook.sh +0 -28
  420. package/.claude/skills/analytics/skill-invocations.sql +0 -58
  421. package/.claude/skills/analytics/test-corpus.json +0 -32
  422. package/.claude/skills/analytics/test-data-generator.js +0 -115
  423. package/.claude/skills/analytics/test-manual-override-rate.js +0 -285
  424. package/.claude/skills/analytics/validate-skill-selection.js +0 -188
  425. package/.claude/skills/cfn-loop-validation/SKILL.md +0 -263
  426. package/.claude/skills/cfn-loop-validation/check-dependencies.sh +0 -31
  427. package/.claude/skills/cfn-loop-validation/config.json +0 -161
  428. package/.claude/skills/cfn-loop-validation/consensus-calculator.js +0 -477
  429. package/.claude/skills/cfn-loop-validation/evidence-chain.sql +0 -163
  430. package/.claude/skills/cfn-loop-validation/examples/README.md +0 -453
  431. package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +0 -234
  432. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +0 -132
  433. package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +0 -115
  434. package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +0 -186
  435. package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +0 -252
  436. package/.claude/skills/cfn-loop-validation/validate-iteration.sh +0 -134
  437. package/.claude/skills/cfn-loop-validation.sh +0 -70
  438. package/.claude/skills/config-management/SKILL.md +0 -34
  439. package/.claude/skills/config-management/check-dependencies.sh +0 -56
  440. package/.claude/skills/config-management/config.json +0 -32
  441. package/.claude/skills/config-management/manage-config.sh +0 -113
  442. package/.claude/skills/consensus-calculator.js +0 -45
  443. package/.claude/skills/event-bus/SKILL.md +0 -412
  444. package/.claude/skills/event-bus/config.json +0 -111
  445. package/.claude/skills/event-bus/eventbus-wrapper.cjs +0 -69
  446. package/.claude/skills/event-bus/invoke-event-publish.sh +0 -147
  447. package/.claude/skills/event-bus/invoke-event-subscribe.sh +0 -171
  448. package/.claude/skills/event-bus/invoke-lifecycle-track.sh +0 -201
  449. package/.claude/skills/event-bus/test-event-bus.sh +0 -280
  450. package/.claude/skills/evidence-chain.sql +0 -66
  451. package/.claude/skills/fleet-manager/SKILL.md +0 -412
  452. package/.claude/skills/fleet-manager/config.json +0 -60
  453. package/.claude/skills/fleet-manager/invoke-fleet-allocate.sh +0 -182
  454. package/.claude/skills/fleet-manager/invoke-fleet-balance.sh +0 -239
  455. package/.claude/skills/fleet-manager/invoke-fleet-metrics.sh +0 -193
  456. package/.claude/skills/fleet-manager/invoke-fleet-register.sh +0 -124
  457. package/.claude/skills/fleet-manager/test-fleet-manager.sh +0 -345
  458. package/.claude/skills/hook-pipeline/SKILL.md +0 -148
  459. package/.claude/skills/hook-pipeline/auto-resolve.sh +0 -66
  460. package/.claude/skills/hook-pipeline/check-dependencies.sh +0 -40
  461. package/.claude/skills/hook-pipeline/feedback-resolver.sh +0 -452
  462. package/.claude/skills/hook-pipeline/post-edit-handler.sh +0 -154
  463. package/.claude/skills/hook-pipeline/security-scan.json +0 -60
  464. package/.claude/skills/hook-pipeline/security-scanner.sh +0 -121
  465. package/.claude/skills/hook-pipeline/test-root-warning-resolution.sh +0 -148
  466. package/.claude/skills/hybrid-routing/SKILL.md +0 -46
  467. package/.claude/skills/hybrid-routing/check-dependencies.sh +0 -52
  468. package/.claude/skills/hybrid-routing/config.json +0 -26
  469. package/.claude/skills/hybrid-routing/spawn-worker.sh +0 -44
  470. package/.claude/skills/process-lifecycle/SKILL.md +0 -39
  471. package/.claude/skills/process-lifecycle/check-dependencies.sh +0 -58
  472. package/.claude/skills/process-lifecycle/config.json +0 -39
  473. package/.claude/skills/process-lifecycle/process-manager.sh +0 -144
  474. package/.claude/skills/redis-coordination/AGENT_LOGGING.md +0 -280
  475. package/.claude/skills/redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
  476. package/.claude/skills/redis-coordination/HEARTBEAT.md +0 -57
  477. package/.claude/skills/redis-coordination/HEARTBEAT_MONITORING.md +0 -267
  478. package/.claude/skills/redis-coordination/README.md +0 -64
  479. package/.claude/skills/redis-coordination/SECURITY_REVIEW.md +0 -25
  480. package/.claude/skills/redis-coordination/SHUTDOWN_HANDLING.md +0 -164
  481. package/.claude/skills/redis-coordination/SKILL.md +0 -118
  482. package/.claude/skills/redis-coordination/agent-log.sh +0 -124
  483. package/.claude/skills/redis-coordination/agent-recovery.sh +0 -75
  484. package/.claude/skills/redis-coordination/cancel-swarm.sh +0 -221
  485. package/.claude/skills/redis-coordination/cfn-loop-relaunch.sh +0 -29
  486. package/.claude/skills/redis-coordination/check-dependencies.sh +0 -32
  487. package/.claude/skills/redis-coordination/complete-swarm.sh +0 -75
  488. package/.claude/skills/redis-coordination/config.json +0 -61
  489. package/.claude/skills/redis-coordination/examples/README.md +0 -73
  490. package/.claude/skills/redis-coordination/examples/grafana-dashboard.json +0 -352
  491. package/.claude/skills/redis-coordination/examples/hierarchical-pattern.sh +0 -127
  492. package/.claude/skills/redis-coordination/examples/mesh-pattern.sh +0 -171
  493. package/.claude/skills/redis-coordination/examples/timeout-handling.sh +0 -227
  494. package/.claude/skills/redis-coordination/examples/waiting-mode-pattern.sh +0 -239
  495. package/.claude/skills/redis-coordination/get-agent-timeout.sh +0 -177
  496. package/.claude/skills/redis-coordination/heartbeat-functions.sh +0 -137
  497. package/.claude/skills/redis-coordination/heartbeat-protocol.md +0 -106
  498. package/.claude/skills/redis-coordination/heartbeat.sh +0 -126
  499. package/.claude/skills/redis-coordination/init-swarm.sh +0 -148
  500. package/.claude/skills/redis-coordination/invoke-redis-pattern.sh +0 -220
  501. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh +0 -417
  502. package/.claude/skills/redis-coordination/list-active-swarms.sh +0 -147
  503. package/.claude/skills/redis-coordination/metrics-export.sh +0 -674
  504. package/.claude/skills/redis-coordination/metrics-schema.json +0 -66
  505. package/.claude/skills/redis-coordination/metrics-storage.md +0 -31
  506. package/.claude/skills/redis-coordination/monitor-heartbeats.sh +0 -101
  507. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh +0 -993
  508. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1760949407 +0 -933
  509. package/.claude/skills/redis-coordination/phase4-wake-queue-test-report.md +0 -82
  510. package/.claude/skills/redis-coordination/priority-wake-mechanism.md +0 -75
  511. package/.claude/skills/redis-coordination/priority_wake.py +0 -134
  512. package/.claude/skills/redis-coordination/query-dlq.sh +0 -162
  513. package/.claude/skills/redis-coordination/redis-pattern.sh +0 -619
  514. package/.claude/skills/redis-coordination/send-heartbeat.sh +0 -73
  515. package/.claude/skills/redis-coordination/store-epic-context.sh +0 -123
  516. package/.claude/skills/redis-coordination/test-bzpopmin-fix.sh +0 -274
  517. package/.claude/skills/redis-coordination/test-cancel-swarm.sh +0 -276
  518. package/.claude/skills/redis-coordination/test-dlq.sh +0 -129
  519. package/.claude/skills/redis-coordination/test-iteration-feedback.sh +0 -320
  520. package/.claude/skills/redis-coordination/test-orchestrator.sh +0 -224
  521. package/.claude/skills/redis-coordination/test-priority-wake-phase4-unix.sh +0 -148
  522. package/.claude/skills/redis-coordination/test-priority-wake-phase4.sh +0 -163
  523. package/.claude/skills/redis-coordination/test-priority-wake.sh +0 -138
  524. package/.claude/skills/redis-coordination/test-quick-fix.sh +0 -81
  525. package/.claude/skills/redis-coordination/test-quorum-absolute.sh +0 -45
  526. package/.claude/skills/redis-coordination/test-quorum-fallback.sh +0 -68
  527. package/.claude/skills/redis-coordination/test-quorum-percentage.sh +0 -56
  528. package/.claude/skills/redis-coordination/test-quorum-with-retry.sh +0 -81
  529. package/.claude/skills/redis-coordination/test-quorum.sh +0 -57
  530. package/.claude/skills/redis-coordination/test-shutdown-handling.sh +0 -187
  531. package/.claude/skills/redis-coordination/test-shutdown.sh +0 -160
  532. package/.claude/skills/redis-coordination/test-utils-unix.sh +0 -97
  533. package/.claude/skills/redis-coordination/test-utils.sh +0 -97
  534. package/.claude/skills/redis-coordination/test-waiting-mode.sh +0 -59
  535. package/.claude/skills/redis-coordination/tests/dlq-functionality-test.sh +0 -102
  536. package/.claude/skills/redis-coordination/tests/edge-cases-test.sh +0 -99
  537. package/.claude/skills/redis-coordination/tests/integration-test.sh +0 -170
  538. package/.claude/skills/redis-coordination/tests/retry-mechanism-test.sh +0 -82
  539. package/.claude/skills/redis-coordination/tests/run-test-suite.sh +0 -92
  540. package/.claude/skills/redis-coordination/tests/test-heartbeat-monitoring.sh +0 -418
  541. package/.claude/skills/redis-coordination/tests/test-heartbeat-simple.sh +0 -124
  542. package/.claude/skills/redis-coordination/tests/test-utils.sh +0 -122
  543. package/.claude/skills/skill-builder/SKILL.md +0 -910
  544. package/.claude/skills/sqlite-memory/IMPLEMENTATION_REPORT.md +0 -393
  545. package/.claude/skills/sqlite-memory/QUICK_REFERENCE.md +0 -204
  546. package/.claude/skills/sqlite-memory/SKILL.md +0 -415
  547. package/.claude/skills/sqlite-memory/acl-queries.sql +0 -452
  548. package/.claude/skills/sqlite-memory/check-dependencies.sh +0 -36
  549. package/.claude/skills/sqlite-memory/config.json +0 -45
  550. package/.claude/skills/sqlite-memory/memory-cli.sh +0 -88
  551. package/.claude/skills/sqlite-memory/test-state-persistence.js +0 -187
  552. package/.claude/skills/sqlite-memory/ttl-cleanup.sh +0 -274
  553. package/.claude/skills/test-execution/SKILL.md +0 -128
  554. package/.claude/skills/test-execution/check-dependencies.sh +0 -36
  555. package/.claude/skills/test-execution/test-cache-reader.sh +0 -134
  556. package/.claude/skills/test-execution/test-concurrent-conflicts.sh +0 -115
  557. package/.claude/skills/test-execution/test-coordinator-pattern.sh +0 -109
  558. package/.claude/skills/test-execution-coordinator-pattern.md +0 -228
  559. package/.claude/skills/transparency-middleware/Cargo.toml +0 -18
  560. package/.claude/skills/transparency-middleware/SECURITY.md +0 -41
  561. package/.claude/skills/transparency-middleware/SKILL.md +0 -91
  562. package/.claude/skills/transparency-middleware/TEST_RESULTS.md +0 -174
  563. package/.claude/skills/transparency-middleware/config.json +0 -31
  564. package/.claude/skills/transparency-middleware/examples/basic-usage.ts +0 -39
  565. package/.claude/skills/transparency-middleware/examples/batch-processing.ts +0 -52
  566. package/.claude/skills/transparency-middleware/examples/custom-filtering.ts +0 -61
  567. package/.claude/skills/transparency-middleware/invoke-transparency-filter.sh +0 -98
  568. package/.claude/skills/transparency-middleware/invoke-transparency-init.sh +0 -224
  569. package/.claude/skills/transparency-middleware/invoke-transparency-level.sh +0 -333
  570. package/.claude/skills/transparency-middleware/invoke-transparency-metrics.sh +0 -345
  571. package/.claude/skills/transparency-middleware/invoke-transparency-observe.sh +0 -140
  572. package/.claude/skills/transparency-middleware/invoke-transparency-stop.sh +0 -235
  573. package/.claude/skills/transparency-middleware/memory_query.rs +0 -85
  574. package/.claude/skills/transparency-middleware/memory_repository.rs +0 -140
  575. package/.claude/skills/transparency-middleware/memory_schema.rs +0 -64
  576. package/.claude/skills/transparency-middleware/middleware-config.sh +0 -29
  577. package/.claude/skills/transparency-middleware/performance-benchmark.sh +0 -79
  578. package/.claude/skills/transparency-middleware/test-e2e.sh +0 -406
  579. package/.claude/skills/transparency-middleware/test-integration.sh +0 -162
  580. package/.claude/skills/transparency-middleware/test-transparency-skill.sh +0 -368
  581. package/.claude/skills/transparency-middleware/test-transparency-skill.sh.unix +0 -126
  582. package/.claude/skills/transparency-middleware/tests/input-validation.sh +0 -93
  583. package/.claude/skills/transparency-middleware/wrap-agent.sh +0 -132
  584. package/.claude/skills/web-portal/DESIGN.md +0 -117
  585. package/.claude/skills/web-portal/SKILL.md +0 -679
  586. package/.claude/skills/web-portal/invoke-portal-agents.sh +0 -129
  587. package/.claude/skills/web-portal/invoke-portal-dashboard.sh +0 -85
  588. package/.claude/skills/web-portal/invoke-portal-events.sh +0 -125
  589. package/.claude/skills/web-portal/invoke-portal-metrics.sh +0 -112
  590. package/.claude/skills/web-portal/invoke-portal-start.sh +0 -135
  591. package/.claude/skills/web-portal/invoke-portal-stop.sh +0 -121
  592. package/.claude/skills/web-portal/test-web-portal-skill.sh +0 -51
  593. package/.claude/skills/web-portal/validate-deployment.sh +0 -85
  594. package/.claude/slash-commands.json +0 -92
  595. package/.claude/spawn-pattern-examples.md +0 -500
  596. package/.claude/sprint-configs/cfn-naming-standardization.json +0 -729
  597. package/.claude/sprint-reports/sprint-1.4-self-correction-monitoring.json +0 -64
  598. package/.claude/swarm-memory.db +0 -0
  599. package/.claude/templates/agent-optimization-plan.md +0 -439
  600. package/.claude/templates/bulk-optimization-strategy.md +0 -367
  601. package/.claude/templates/cfn-loop-mechanics.md +0 -80
  602. package/.claude/templates/coordinator-patterns.md +0 -75
  603. package/.claude/templates/memory-operations.md +0 -200
  604. package/.claude/templates/post-edit-validation.md +0 -109
  605. package/.claude/templates/redis-coordination.md +0 -140
  606. package/.claude/templates/remaining-agent-analysis.md +0 -121
  607. package/.claude/templates/swarm-coordination.md +0 -103
  608. package/.claude/templates/team-dynamics.md +0 -82
  609. package/CLAUDE.md +0 -502
  610. package/dist/cli/cli-agent-context.test.js +0 -451
  611. package/dist/cli/cli-agent-context.test.js.map +0 -1
  612. package/dist/coordination/fleet-manager.test.js +0 -141
  613. package/dist/coordination/fleet-manager.test.js.map +0 -1
  614. package/dist/middleware/transparency-middleware.test.js +0 -184
  615. package/dist/middleware/transparency-middleware.test.js.map +0 -1
  616. package/readme/CLAUDE.md +0 -429
  617. /package/.claude/agents/{core-agents → cfn-dev-team/developers}/researcher.md +0 -0
  618. /package/.claude/commands/{README.md → cfn/README.md} +0 -0
  619. /package/.claude/commands/{auto-compact.md → cfn/auto-compact.md} +0 -0
  620. /package/.claude/commands/{cfn-claude-sync.md → cfn/cfn-claude-sync.md} +0 -0
  621. /package/.claude/commands/{cfn-loop-document.md → cfn/cfn-loop-document.md} +0 -0
  622. /package/.claude/commands/{claude-md.md → cfn/claude-md.md} +0 -0
  623. /package/.claude/commands/{claude-soul.md → cfn/claude-soul.md} +0 -0
  624. /package/.claude/commands/{context-query.md → cfn/context-query.md} +0 -0
  625. /package/.claude/commands/{cost-savings-off.md → cfn/cost-savings-off.md} +0 -0
  626. /package/.claude/commands/{cost-savings-on.md → cfn/cost-savings-on.md} +0 -0
  627. /package/.claude/commands/{cost-savings-status.md → cfn/cost-savings-status.md} +0 -0
  628. /package/.claude/commands/{custom-routing-activate.md → cfn/custom-routing-activate.md} +0 -0
  629. /package/.claude/commands/{custom-routing-deactivate.md → cfn/custom-routing-deactivate.md} +0 -0
  630. /package/.claude/commands/{dependency-recommendations.md → cfn/dependency-recommendations.md} +0 -0
  631. /package/.claude/commands/{fullstack.md → cfn/fullstack.md} +0 -0
  632. /package/.claude/commands/{github-commit.md → cfn/github-commit.md} +0 -0
  633. /package/.claude/commands/{github.md → cfn/github.md} +0 -0
  634. /package/.claude/commands/{hello-world-tests.md → cfn/hello-world-tests.md} +0 -0
  635. /package/.claude/commands/{hooks.md → cfn/hooks.md} +0 -0
  636. /package/.claude/commands/{launch-web-dashboard.md → cfn/launch-web-dashboard.md} +0 -0
  637. /package/.claude/commands/{metrics-summary.md → cfn/metrics-summary.md} +0 -0
  638. /package/.claude/commands/{neural.md → cfn/neural.md} +0 -0
  639. /package/.claude/commands/{parse-epic.md → cfn/parse-epic.md} +0 -0
  640. /package/.claude/commands/{performance.md → cfn/performance.md} +0 -0
  641. /package/.claude/commands/{sparc.md → cfn/sparc.md} +0 -0
  642. /package/.claude/commands/{suggest-improvements.md → cfn/suggest-improvements.md} +0 -0
  643. /package/.claude/commands/{suggest-templates.md → cfn/suggest-templates.md} +0 -0
  644. /package/.claude/commands/{swarm.md → cfn/swarm.md} +0 -0
  645. /package/.claude/commands/{switch-api.md → cfn/switch-api.md} +0 -0
  646. /package/.claude/commands/{workflow.md → cfn/workflow.md} +0 -0
  647. /package/.claude/hooks/{invoke-post-edit.sh → cfn-invoke-post-edit.sh} +0 -0
  648. /package/.claude/hooks/{post-edit.config.json → cfn-post-edit.config.json} +0 -0
  649. /package/.claude/skills/{agent-spawning → cfn-agent-spawning}/README.md +0 -0
  650. /package/.claude/skills/{analytics → cfn-analytics}/README.md +0 -0
  651. /package/.claude/skills/{config-management → cfn-config-management}/README.md +0 -0
  652. /package/.claude/skills/{event-bus → cfn-event-bus}/README.md +0 -0
  653. /package/.claude/skills/{fleet-manager → cfn-fleet-manager}/README.md +0 -0
  654. /package/.claude/skills/{hook-pipeline → cfn-hook-pipeline}/README.md +0 -0
  655. /package/.claude/skills/{hybrid-routing → cfn-hybrid-routing}/README.md +0 -0
  656. /package/.claude/skills/{process-lifecycle → cfn-process-lifecycle}/README.md +0 -0
  657. /package/.claude/skills/{sqlite-memory → cfn-sqlite-memory}/README.md +0 -0
  658. /package/.claude/skills/{test-execution → cfn-test-execution}/README.md +0 -0
  659. /package/.claude/skills/{transparency-middleware → cfn-transparency-middleware}/README.md +0 -0
@@ -1,123 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ##############################################################################
4
- # Store Epic Context in Redis
5
- # Stores epic-level context for CLI-spawned agents to access
6
- #
7
- # Usage:
8
- # ./store-epic-context.sh --task-id <id> \
9
- # --epic-context <json> \
10
- # [--phase-context <json>] \
11
- # [--success-criteria <json>] \
12
- # [--ttl <seconds>]
13
- #
14
- # Example:
15
- # ./store-epic-context.sh --task-id "epic-auth-123" \
16
- # --epic-context '{
17
- # "epicGoal": "Build authentication system",
18
- # "inScope": ["JWT auth", "RBAC", "Session management"],
19
- # "outOfScope": ["OAuth", "MFA", "Biometrics"],
20
- # "phases": ["assessment", "implementation", "validation"]
21
- # }' \
22
- # --phase-context '{
23
- # "currentPhase": "assessment",
24
- # "dependencies": [],
25
- # "deliverables": ["Requirements doc", "Architecture design"]
26
- # }' \
27
- # --success-criteria '{
28
- # "acceptanceCriteria": [
29
- # "Core functionality implemented",
30
- # "Tests pass >80% coverage",
31
- # "Security review complete"
32
- # ],
33
- # "gateThreshold": 0.75,
34
- # "consensusThreshold": 0.90
35
- # }' \
36
- # --ttl 86400
37
- #
38
- # Redis Keys Created:
39
- # - swarm:<task-id>:epic-context
40
- # - swarm:<task-id>:phase-context
41
- # - swarm:<task-id>:success-criteria
42
- #
43
- # These keys are automatically read by cfn-spawn and injected as environment
44
- # variables into spawned agents:
45
- # - EPIC_CONTEXT
46
- # - PHASE_CONTEXT
47
- # - SUCCESS_CRITERIA
48
- ##############################################################################
49
-
50
- set -euo pipefail
51
-
52
- # Configuration
53
- TASK_ID=""
54
- EPIC_CONTEXT=""
55
- PHASE_CONTEXT=""
56
- SUCCESS_CRITERIA=""
57
- TTL=86400 # 24 hours default
58
-
59
- # Parse arguments
60
- while [[ $# -gt 0 ]]; do
61
- case $1 in
62
- --task-id)
63
- TASK_ID="$2"
64
- shift 2
65
- ;;
66
- --epic-context)
67
- EPIC_CONTEXT="$2"
68
- shift 2
69
- ;;
70
- --phase-context)
71
- PHASE_CONTEXT="$2"
72
- shift 2
73
- ;;
74
- --success-criteria)
75
- SUCCESS_CRITERIA="$2"
76
- shift 2
77
- ;;
78
- --ttl)
79
- TTL="$2"
80
- shift 2
81
- ;;
82
- *)
83
- echo "Unknown option: $1"
84
- exit 1
85
- ;;
86
- esac
87
- done
88
-
89
- # Validation
90
- if [ -z "$TASK_ID" ]; then
91
- echo "Error: --task-id is required"
92
- exit 1
93
- fi
94
-
95
- if [ -z "$EPIC_CONTEXT" ]; then
96
- echo "Error: --epic-context is required"
97
- exit 1
98
- fi
99
-
100
- # Store epic context
101
- echo "Storing epic context for task: $TASK_ID"
102
-
103
- if [ -n "$EPIC_CONTEXT" ]; then
104
- redis-cli set "swarm:${TASK_ID}:epic-context" "$EPIC_CONTEXT" EX "$TTL" > /dev/null
105
- echo " ✓ Epic context stored (TTL: ${TTL}s)"
106
- fi
107
-
108
- if [ -n "$PHASE_CONTEXT" ]; then
109
- redis-cli set "swarm:${TASK_ID}:phase-context" "$PHASE_CONTEXT" EX "$TTL" > /dev/null
110
- echo " ✓ Phase context stored (TTL: ${TTL}s)"
111
- fi
112
-
113
- if [ -n "$SUCCESS_CRITERIA" ]; then
114
- redis-cli set "swarm:${TASK_ID}:success-criteria" "$SUCCESS_CRITERIA" EX "$TTL" > /dev/null
115
- echo " ✓ Success criteria stored (TTL: ${TTL}s)"
116
- fi
117
-
118
- echo "✅ Context storage complete"
119
- echo ""
120
- echo "CLI-spawned agents will automatically receive this context via environment variables:"
121
- echo " - EPIC_CONTEXT"
122
- echo " - PHASE_CONTEXT"
123
- echo " - SUCCESS_CRITERIA"
@@ -1,274 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Test script to verify BZPOPMIN implementation fixes
4
- #
5
- # Tests:
6
- # 1. Compact JSON storage (no newlines breaking Redis)
7
- # 2. Priority ordering (high priority messages processed first)
8
- # 3. JSON validation on retrieval
9
- # 4. Timeout handling
10
- #
11
-
12
- set -euo pipefail
13
-
14
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
15
- INVOKE_SCRIPT="${SCRIPT_DIR}/invoke-waiting-mode.sh"
16
-
17
- # Test counter
18
- TESTS_PASSED=0
19
- TESTS_FAILED=0
20
-
21
- # Cleanup function
22
- cleanup() {
23
- local task_id="$1"
24
- echo ""
25
- echo "Cleaning up Redis keys for task: $task_id"
26
- redis-cli KEYS "swarm:${task_id}:*" | xargs -r redis-cli DEL >/dev/null 2>&1 || true
27
- }
28
-
29
- # Test function
30
- run_test() {
31
- local test_name="$1"
32
- local test_func="$2"
33
-
34
- echo ""
35
- echo "=========================================="
36
- echo "TEST: $test_name"
37
- echo "=========================================="
38
-
39
- if $test_func; then
40
- echo "✅ PASSED: $test_name"
41
- ((TESTS_PASSED++))
42
- else
43
- echo "❌ FAILED: $test_name"
44
- ((TESTS_FAILED++))
45
- fi
46
- }
47
-
48
- # Test 1: Compact JSON storage (verify no newlines)
49
- test_compact_json() {
50
- local task_id="test-compact-$(date +%s)"
51
- local agent_id="agent-1"
52
-
53
- # Send wake message
54
- "$INVOKE_SCRIPT" wake \
55
- --task-id "$task_id" \
56
- --agent-id "$agent_id" \
57
- --reason "test_reason" \
58
- --priority 50 >/dev/null
59
-
60
- # Retrieve message directly from Redis
61
- local queue_key="swarm:${task_id}:${agent_id}:wake-queue"
62
- local stored_msg=$(redis-cli ZRANGE "$queue_key" 0 0 2>/dev/null | head -1)
63
-
64
- cleanup "$task_id"
65
-
66
- # Check if message is valid JSON
67
- if echo "$stored_msg" | jq empty 2>/dev/null; then
68
- # Check if message is compact (no newlines)
69
- if [[ "$stored_msg" != *$'\n'* ]]; then
70
- echo " ✓ Message stored as compact JSON"
71
- return 0
72
- else
73
- echo " ✗ Message contains newlines"
74
- return 1
75
- fi
76
- else
77
- echo " ✗ Message is not valid JSON"
78
- return 1
79
- fi
80
- }
81
-
82
- # Test 2: Priority ordering (high priority first)
83
- test_priority_ordering() {
84
- local task_id="test-priority-$(date +%s)"
85
- local agent_id="agent-1"
86
-
87
- # Send 3 messages with different priorities
88
- "$INVOKE_SCRIPT" wake --task-id "$task_id" --agent-id "$agent_id" --reason "low" --priority 20 >/dev/null
89
- sleep 0.1
90
- "$INVOKE_SCRIPT" wake --task-id "$task_id" --agent-id "$agent_id" --reason "medium" --priority 50 >/dev/null
91
- sleep 0.1
92
- "$INVOKE_SCRIPT" wake --task-id "$task_id" --agent-id "$agent_id" --reason "high" --priority 90 >/dev/null
93
-
94
- # Agent should receive in order: high (90), medium (50), low (20)
95
- local queue_key="swarm:${task_id}:${agent_id}:wake-queue"
96
-
97
- # Get all messages in priority order
98
- local msg1=$(redis-cli ZPOPMIN "$queue_key" 2>/dev/null | sed -n '1p')
99
- local msg2=$(redis-cli ZPOPMIN "$queue_key" 2>/dev/null | sed -n '1p')
100
- local msg3=$(redis-cli ZPOPMIN "$queue_key" 2>/dev/null | sed -n '1p')
101
-
102
- cleanup "$task_id"
103
-
104
- # Verify order
105
- local reason1=$(echo "$msg1" | jq -r '.reason' 2>/dev/null)
106
- local reason2=$(echo "$msg2" | jq -r '.reason' 2>/dev/null)
107
- local reason3=$(echo "$msg3" | jq -r '.reason' 2>/dev/null)
108
-
109
- if [ "$reason1" = "high" ] && [ "$reason2" = "medium" ] && [ "$reason3" = "low" ]; then
110
- echo " ✓ Messages retrieved in correct priority order: $reason1 → $reason2 → $reason3"
111
- return 0
112
- else
113
- echo " ✗ Incorrect order: $reason1 → $reason2 → $reason3 (expected: high → medium → low)"
114
- return 1
115
- fi
116
- }
117
-
118
- # Test 3: JSON validation on retrieval
119
- test_json_validation() {
120
- local task_id="test-validation-$(date +%s)"
121
- local agent_id="agent-1"
122
-
123
- # Send valid message
124
- "$INVOKE_SCRIPT" wake --task-id "$task_id" --agent-id "$agent_id" --reason "valid_test" --priority 50 >/dev/null
125
-
126
- # Start agent in background
127
- timeout 5 "$INVOKE_SCRIPT" enter --task-id "$task_id" --agent-id "$agent_id" --context "test" >test_output.txt 2>&1 &
128
- local agent_pid=$!
129
-
130
- # Wait for agent to process message
131
- sleep 2
132
-
133
- # Check if agent received valid JSON
134
- if wait $agent_pid 2>/dev/null; then
135
- if grep -q "✅ Woken up!" test_output.txt && grep -q "valid_test" test_output.txt; then
136
- echo " ✓ Agent validated and processed JSON message"
137
- rm -f test_output.txt
138
- cleanup "$task_id"
139
- return 0
140
- fi
141
- fi
142
-
143
- echo " ✗ Agent failed to validate JSON message"
144
- rm -f test_output.txt
145
- cleanup "$task_id"
146
- return 1
147
- }
148
-
149
- # Test 4: Timeout handling (no deadlock)
150
- test_timeout_handling() {
151
- local task_id="test-timeout-$(date +%s)"
152
- local agent_id="agent-1"
153
-
154
- # Start agent without sending wake message
155
- # Should timeout after a few seconds
156
- timeout 3 "$INVOKE_SCRIPT" enter --task-id "$task_id" --agent-id "$agent_id" --context "test" >/dev/null 2>&1 &
157
- local agent_pid=$!
158
-
159
- sleep 4
160
-
161
- # Check if agent is still running (should have timed out)
162
- if ! kill -0 $agent_pid 2>/dev/null; then
163
- echo " ✓ Agent handled timeout correctly"
164
- cleanup "$task_id"
165
- return 0
166
- else
167
- echo " ✗ Agent did not timeout"
168
- kill $agent_pid 2>/dev/null || true
169
- cleanup "$task_id"
170
- return 1
171
- fi
172
- }
173
-
174
- # Test 5: End-to-end wake-up flow
175
- test_e2e_wakeup() {
176
- local task_id="test-e2e-$(date +%s)"
177
- local agent_id="agent-1"
178
-
179
- # Start agent in background
180
- timeout 10 "$INVOKE_SCRIPT" enter --task-id "$task_id" --agent-id "$agent_id" --context "e2e-test" >test_e2e_output.txt 2>&1 &
181
- local agent_pid=$!
182
-
183
- # Give agent time to enter waiting mode
184
- sleep 1
185
-
186
- # Send wake message
187
- "$INVOKE_SCRIPT" wake \
188
- --task-id "$task_id" \
189
- --agent-id "$agent_id" \
190
- --reason "e2e_test" \
191
- --priority 80 \
192
- --iteration 1 >/dev/null
193
-
194
- # Wait for agent to complete
195
- sleep 2
196
-
197
- # Check results
198
- if grep -q "✅ Woken up!" test_e2e_output.txt && grep -q "e2e_test" test_e2e_output.txt; then
199
- echo " ✓ End-to-end wake-up flow successful"
200
- rm -f test_e2e_output.txt
201
- cleanup "$task_id"
202
- return 0
203
- else
204
- echo " ✗ End-to-end wake-up flow failed"
205
- cat test_e2e_output.txt
206
- rm -f test_e2e_output.txt
207
- cleanup "$task_id"
208
- return 1
209
- fi
210
- }
211
-
212
- # Test 6: Debug mode functionality
213
- test_debug_mode() {
214
- local task_id="test-debug-$(date +%s)"
215
- local agent_id="agent-1"
216
-
217
- # Send wake message with debug mode enabled
218
- DEBUG=true "$INVOKE_SCRIPT" wake \
219
- --task-id "$task_id" \
220
- --agent-id "$agent_id" \
221
- --reason "debug_test" \
222
- --priority 75 >test_debug_output.txt 2>&1
223
-
224
- cleanup "$task_id"
225
-
226
- # Check if debug output is present
227
- if grep -q "\[DEBUG\]" test_debug_output.txt; then
228
- echo " ✓ Debug mode produces verbose output"
229
- rm -f test_debug_output.txt
230
- return 0
231
- else
232
- echo " ✗ Debug mode did not produce expected output"
233
- rm -f test_debug_output.txt
234
- return 1
235
- fi
236
- }
237
-
238
- # Main execution
239
- echo "=========================================="
240
- echo "BZPOPMIN Implementation Fix Test Suite"
241
- echo "=========================================="
242
- echo ""
243
- echo "Testing fixes for:"
244
- echo " 1. Compact JSON storage (no newlines)"
245
- echo " 2. Priority ordering"
246
- echo " 3. JSON validation on retrieval"
247
- echo " 4. Timeout handling"
248
- echo " 5. End-to-end wake-up flow"
249
- echo " 6. Debug mode"
250
-
251
- # Run all tests
252
- run_test "Compact JSON Storage" test_compact_json
253
- run_test "Priority Ordering" test_priority_ordering
254
- run_test "JSON Validation" test_json_validation
255
- run_test "Timeout Handling" test_timeout_handling
256
- run_test "End-to-End Wake-Up Flow" test_e2e_wakeup
257
- run_test "Debug Mode" test_debug_mode
258
-
259
- # Summary
260
- echo ""
261
- echo "=========================================="
262
- echo "TEST SUMMARY"
263
- echo "=========================================="
264
- echo "Tests passed: $TESTS_PASSED"
265
- echo "Tests failed: $TESTS_FAILED"
266
- echo ""
267
-
268
- if [ $TESTS_FAILED -eq 0 ]; then
269
- echo "✅ All tests passed!"
270
- exit 0
271
- else
272
- echo "❌ Some tests failed"
273
- exit 1
274
- fi
@@ -1,276 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- ##############################################################################
4
- # Test Cancel Swarm - Validates graceful shutdown functionality
5
- #
6
- # Tests:
7
- # 1. Cancel active swarm (success path)
8
- # 2. Cancel with custom reason and initiator
9
- # 3. Cancel non-existent swarm (error handling)
10
- # 4. Verify shutdown signals delivered to all agents
11
- # 5. Verify swarm metadata updated correctly
12
- # 6. Test force flag (skip confirmation)
13
- ##############################################################################
14
-
15
- # Disable strict error handling for tests
16
- set -uo pipefail
17
-
18
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
19
- TEST_TASK_ID="test-cancel-$(date +%s)"
20
- FAILED_TESTS=0
21
- PASSED_TESTS=0
22
-
23
- # Colors for output
24
- RED='\033[0;31m'
25
- GREEN='\033[0;32m'
26
- YELLOW='\033[1;33m'
27
- NC='\033[0m' # No Color
28
-
29
- log_test() {
30
- echo ""
31
- echo "========================================="
32
- echo "TEST: $1"
33
- echo "========================================="
34
- }
35
-
36
- log_pass() {
37
- echo -e "${GREEN}✓ PASS:${NC} $1"
38
- ((PASSED_TESTS++))
39
- }
40
-
41
- log_fail() {
42
- echo -e "${RED}✗ FAIL:${NC} $1"
43
- ((FAILED_TESTS++))
44
- }
45
-
46
- log_info() {
47
- echo -e "${YELLOW}ℹ INFO:${NC} $1"
48
- }
49
-
50
- cleanup() {
51
- log_info "Cleaning up test data..."
52
-
53
- # Delete test keys matching patterns
54
- KEYS=$(redis-cli --scan --pattern "swarm:${TEST_TASK_ID}*" 2>/dev/null || true)
55
- if [ -n "$KEYS" ]; then
56
- echo "$KEYS" | while read -r KEY; do
57
- redis-cli del "$KEY" > /dev/null 2>&1 || true
58
- done
59
- fi
60
-
61
- KEYS=$(redis-cli --scan --pattern "swarm:test-cancel-*" 2>/dev/null || true)
62
- if [ -n "$KEYS" ]; then
63
- echo "$KEYS" | while read -r KEY; do
64
- redis-cli del "$KEY" > /dev/null 2>&1 || true
65
- done
66
- fi
67
- }
68
-
69
- # Cleanup on exit
70
- trap cleanup EXIT
71
-
72
- echo "========================================="
73
- echo "Cancel Swarm Test Suite"
74
- echo "========================================="
75
- echo "Test Task ID: $TEST_TASK_ID"
76
- echo ""
77
-
78
- # =============================================================================
79
- # Test 1: Cancel active swarm (success path)
80
- # =============================================================================
81
- log_test "Cancel Active Swarm"
82
-
83
- # Initialize test swarm
84
- SWARM_ID="${TEST_TASK_ID}-swarm1"
85
- AGENTS="coder-1,reviewer-1,tester-1"
86
-
87
- "$SCRIPT_DIR/init-swarm.sh" \
88
- --swarm-id "$SWARM_ID" \
89
- --task-id "$TEST_TASK_ID" \
90
- --agents "$AGENTS" > /dev/null
91
-
92
- log_info "Swarm initialized: $SWARM_ID"
93
-
94
- # Cancel swarm with force flag (skip confirmation)
95
- OUTPUT=$("$SCRIPT_DIR/cancel-swarm.sh" \
96
- --task-id "$TEST_TASK_ID" \
97
- --force 2>&1 || true)
98
-
99
- # Verify status updated
100
- STATUS=$(redis-cli hget "swarm:${SWARM_ID}:metadata" status)
101
- if [ "$STATUS" = "cancelled" ]; then
102
- log_pass "Swarm status updated to 'cancelled'"
103
- else
104
- log_fail "Expected status 'cancelled', got: $STATUS"
105
- fi
106
-
107
- # Verify agents_notified count
108
- NOTIFIED=$(redis-cli hget "swarm:${SWARM_ID}:metadata" agents_notified)
109
- if [ "$NOTIFIED" = "3" ]; then
110
- log_pass "All 3 agents notified"
111
- else
112
- log_fail "Expected 3 agents notified, got: $NOTIFIED"
113
- fi
114
-
115
- # Verify shutdown signal broadcasted
116
- SHUTDOWN_KEY="swarm:${TEST_TASK_ID}:shutdown"
117
- SHUTDOWN_MSG=$(redis-cli --raw lindex "$SHUTDOWN_KEY" 0 2>/dev/null || echo "{}")
118
-
119
- if [ -n "$SHUTDOWN_MSG" ] && [ "$SHUTDOWN_MSG" != "(nil)" ]; then
120
- log_pass "Shutdown signal broadcasted to $SHUTDOWN_KEY"
121
-
122
- # Verify message content
123
- REASON=$(echo "$SHUTDOWN_MSG" | jq -r '.reason // empty')
124
- INITIATOR=$(echo "$SHUTDOWN_MSG" | jq -r '.initiator // empty')
125
-
126
- if [ "$REASON" = "user_requested_cancellation" ]; then
127
- log_pass "Shutdown signal has correct reason"
128
- else
129
- log_fail "Expected reason 'user_requested_cancellation', got: $REASON"
130
- fi
131
-
132
- if [ "$INITIATOR" = "main-chat" ]; then
133
- log_pass "Shutdown signal has correct initiator"
134
- else
135
- log_fail "Expected initiator 'main-chat', got: $INITIATOR"
136
- fi
137
- else
138
- log_fail "No shutdown signal found"
139
- fi
140
-
141
- # =============================================================================
142
- # Test 2: Cancel with custom reason and initiator
143
- # =============================================================================
144
- log_test "Cancel with Custom Reason and Initiator"
145
-
146
- SWARM_ID2="${TEST_TASK_ID}-swarm2"
147
- "$SCRIPT_DIR/init-swarm.sh" \
148
- --swarm-id "$SWARM_ID2" \
149
- --task-id "${TEST_TASK_ID}-custom" \
150
- --agents "backend-dev-1" > /dev/null
151
-
152
- OUTPUT=$("$SCRIPT_DIR/cancel-swarm.sh" \
153
- --task-id "${TEST_TASK_ID}-custom" \
154
- --reason "integration_test_timeout" \
155
- --initiator "test-runner" \
156
- --force 2>&1 || true)
157
-
158
- CANCEL_REASON=$(redis-cli hget "swarm:${SWARM_ID2}:metadata" cancellation_reason)
159
- CANCEL_INIT=$(redis-cli hget "swarm:${SWARM_ID2}:metadata" cancellation_initiator)
160
-
161
- if [ "$CANCEL_REASON" = "integration_test_timeout" ]; then
162
- log_pass "Custom cancellation reason recorded"
163
- else
164
- log_fail "Expected reason 'integration_test_timeout', got: $CANCEL_REASON"
165
- fi
166
-
167
- if [ "$CANCEL_INIT" = "test-runner" ]; then
168
- log_pass "Custom initiator recorded"
169
- else
170
- log_fail "Expected initiator 'test-runner', got: $CANCEL_INIT"
171
- fi
172
-
173
- # =============================================================================
174
- # Test 3: Cancel non-existent swarm (error handling)
175
- # =============================================================================
176
- log_test "Cancel Non-Existent Swarm (Error Handling)"
177
-
178
- OUTPUT=$("$SCRIPT_DIR/cancel-swarm.sh" \
179
- --task-id "non-existent-task-id-12345" \
180
- --force 2>&1 || true)
181
-
182
- if echo "$OUTPUT" | grep -q "No swarm found"; then
183
- log_pass "Error message displayed for non-existent swarm"
184
- else
185
- log_fail "Expected error message, got: $OUTPUT"
186
- fi
187
-
188
- # =============================================================================
189
- # Test 4: Verify shutdown message format
190
- # =============================================================================
191
- log_test "Verify Shutdown Message Format"
192
-
193
- SWARM_ID3="${TEST_TASK_ID}-swarm3"
194
- "$SCRIPT_DIR/init-swarm.sh" \
195
- --swarm-id "$SWARM_ID3" \
196
- --task-id "${TEST_TASK_ID}-format" \
197
- --agents "security-1" > /dev/null
198
-
199
- "$SCRIPT_DIR/cancel-swarm.sh" \
200
- --task-id "${TEST_TASK_ID}-format" \
201
- --reason "test_message_format" \
202
- --initiator "validator" \
203
- --force > /dev/null 2>&1
204
-
205
- SHUTDOWN_KEY="swarm:${TEST_TASK_ID}-format:shutdown"
206
- MSG=$(redis-cli --raw lindex "$SHUTDOWN_KEY" 0 2>/dev/null || echo "{}")
207
-
208
- # Validate JSON structure
209
- REASON=$(echo "$MSG" | jq -r '.reason // empty')
210
- TIMESTAMP=$(echo "$MSG" | jq -r '.timestamp // empty')
211
- INITIATOR=$(echo "$MSG" | jq -r '.initiator // empty')
212
-
213
- if [ "$REASON" = "test_message_format" ] && \
214
- [ -n "$TIMESTAMP" ] && \
215
- [ "$INITIATOR" = "validator" ]; then
216
- log_pass "Shutdown message has correct format"
217
- else
218
- log_fail "Shutdown message format incorrect: $MSG"
219
- fi
220
-
221
- # =============================================================================
222
- # Test 5: Verify cancelled_at timestamp
223
- # =============================================================================
224
- log_test "Verify Cancelled Timestamp"
225
-
226
- CANCELLED_AT=$(redis-cli hget "swarm:${SWARM_ID3}:metadata" cancelled_at)
227
-
228
- if [[ "$CANCELLED_AT" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ ]]; then
229
- log_pass "Cancelled timestamp in ISO 8601 format: $CANCELLED_AT"
230
- else
231
- log_fail "Invalid timestamp format: $CANCELLED_AT"
232
- fi
233
-
234
- # =============================================================================
235
- # Test 6: Empty agent list handling
236
- # =============================================================================
237
- log_test "Handle Swarm with Empty Agent List"
238
-
239
- SWARM_ID4="${TEST_TASK_ID}-swarm4"
240
- redis-cli hset "swarm:${SWARM_ID4}:metadata" \
241
- swarm_id "$SWARM_ID4" \
242
- task_id "${TEST_TASK_ID}-empty" \
243
- agents "" \
244
- status "in_progress" > /dev/null
245
-
246
- OUTPUT=$("$SCRIPT_DIR/cancel-swarm.sh" \
247
- --task-id "${TEST_TASK_ID}-empty" \
248
- --force 2>&1 || true)
249
-
250
- STATUS=$(redis-cli hget "swarm:${SWARM_ID4}:metadata" status)
251
- NOTIFIED=$(redis-cli hget "swarm:${SWARM_ID4}:metadata" agents_notified)
252
-
253
- if [ "$STATUS" = "cancelled" ] && [ "$NOTIFIED" = "0" ]; then
254
- log_pass "Empty agent list handled correctly"
255
- else
256
- log_fail "Empty agent list handling failed (status: $STATUS, notified: $NOTIFIED)"
257
- fi
258
-
259
- # =============================================================================
260
- # Summary
261
- # =============================================================================
262
- echo ""
263
- echo "========================================="
264
- echo "Test Summary"
265
- echo "========================================="
266
- echo -e "${GREEN}Passed:${NC} $PASSED_TESTS"
267
- echo -e "${RED}Failed:${NC} $FAILED_TESTS"
268
- echo "========================================="
269
-
270
- if [ $FAILED_TESTS -eq 0 ]; then
271
- echo -e "${GREEN}✓ All tests passed!${NC}"
272
- exit 0
273
- else
274
- echo -e "${RED}✗ Some tests failed${NC}"
275
- exit 1
276
- fi