claude-flow-novice 2.6.0 → 2.8.1

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 (364) hide show
  1. package/.claude/adaptive-context/cfn-v3-reflection.json +21 -0
  2. package/.claude/agents/AGENT_LIFECYCLE.md +495 -0
  3. package/.claude/agents/CLAUDE.md +1002 -995
  4. package/.claude/agents/accessibility-advocate.md +457 -0
  5. package/.claude/agents/agent-principles/README.md +226 -226
  6. package/.claude/agents/agent-principles/agent-type-guidelines.md +10 -0
  7. package/.claude/agents/agent-principles/format-selection.md +10 -0
  8. package/.claude/agents/agent-principles/phase4-template-optimization.md +502 -494
  9. package/.claude/agents/agent-principles/prompt-engineering.md +8 -0
  10. package/.claude/agents/agent-principles/quality-metrics.md +8 -0
  11. package/.claude/agents/analysis/code-analyzer.md +7 -17
  12. package/.claude/agents/analysis/code-review/analyze-code-quality.md +2 -104
  13. package/.claude/agents/analysis/perf-analyzer.md +2 -196
  14. package/.claude/agents/context/context-curator.md +78 -84
  15. package/.claude/agents/context/context-reflector.md +27 -81
  16. package/.claude/agents/coordinators/README.md +42 -0
  17. package/.claude/agents/coordinators/cfn-v3-coordinator.md +440 -0
  18. package/.claude/agents/{product-owner-team → coordinators}/cto-agent.md +154 -187
  19. package/.claude/agents/coordinators/multi-sprint-coordinator.md +50 -0
  20. package/.claude/agents/{product-owner-team → coordinators}/product-owner-agent.md +6 -39
  21. package/.claude/agents/{cfn-loop → coordinators}/product-owner.md +72 -17
  22. package/.claude/agents/core-agents/reviewer.md +114 -135
  23. package/.claude/agents/custom/agent-builder.md +637 -637
  24. package/.claude/agents/developers/README.md +69 -0
  25. package/.claude/agents/developers/backend-dev.md +77 -0
  26. package/.claude/agents/{core-agents → developers}/coder.md +131 -26
  27. package/.claude/agents/developers/react-frontend-engineer.md +121 -0
  28. package/.claude/agents/{frontend → developers}/state-architect.md +1 -0
  29. package/.claude/agents/{frontend → developers}/ui-designer.md +1 -0
  30. package/.claude/agents/development/backend/dev-backend-api.md +0 -29
  31. package/.claude/agents/development/npm-package-specialist.md +355 -347
  32. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +8 -0
  33. package/.claude/agents/documentation/api-docs.md +8 -0
  34. package/.claude/agents/github/github-commit-agent.md +125 -117
  35. package/.claude/agents/goal/goal-planner.md +8 -0
  36. package/.claude/agents/infrastructure/README.md +100 -0
  37. package/.claude/agents/{specialized → infrastructure}/devops-engineer.md +131 -150
  38. package/.claude/agents/planners/README.md +94 -0
  39. package/.claude/agents/{core-agents → planners}/analyst.md +1 -22
  40. package/.claude/agents/{planning-team → planners}/api-designer-persona.md +8 -0
  41. package/.claude/agents/{core-agents → planners}/architect.md +7 -20
  42. package/.claude/agents/{core-agents → planners}/planner.md +0 -21
  43. package/.claude/agents/{planning-team → planners}/security-architect-persona.md +8 -28
  44. package/.claude/agents/{planning-team → planners}/system-architect-persona.md +6 -38
  45. package/.claude/agents/{architecture → planners}/system-architect.md +12 -17
  46. package/.claude/agents/product-owner-team/accessibility-advocate-persona.md +132 -161
  47. package/.claude/agents/product-owner-team/power-user-persona.md +149 -182
  48. package/.claude/agents/retrospective-analyst.md +84 -0
  49. package/.claude/agents/reviewers/README.md +58 -0
  50. package/.claude/agents/{analysis → reviewers}/code-quality-validator.md +8 -17
  51. package/.claude/agents/reviewers/reviewer.md +181 -0
  52. package/.claude/agents/sparc/architecture.md +6 -25
  53. package/.claude/agents/sparc/pseudocode.md +6 -0
  54. package/.claude/agents/sparc/refinement.md +6 -0
  55. package/.claude/agents/sparc/specification.md +1 -0
  56. package/.claude/agents/specialists/README.md +60 -0
  57. package/.claude/agents/{core-agents → specialists}/base-template-generator.md +8 -21
  58. package/.claude/agents/{specialized → specialists}/cli-agent-optimizer.md +1 -1
  59. package/.claude/agents/{specialized → specialists}/code-booster.md +1 -0
  60. package/.claude/agents/{consensus → specialists}/consensus-builder.md +1 -17
  61. package/.claude/agents/{specialized/mobile → specialists}/mobile-dev.md +0 -20
  62. package/.claude/agents/{core-agents → specialists}/performance-benchmarker.md +134 -148
  63. package/.claude/agents/{specialized → specialists}/rust-developer.md +1 -20
  64. package/.claude/agents/{specialized → specialists}/rust-enterprise-developer.md +1 -20
  65. package/.claude/agents/{specialized → specialists}/rust-mvp-developer.md +1 -20
  66. package/.claude/agents/{core-agents → specialists}/security-manager.md +68 -88
  67. package/.claude/agents/{security → specialists}/security-specialist-existing.md +6 -57
  68. package/.claude/agents/{security → specialists}/security-specialist.md +6 -30
  69. package/.claude/agents/{specialized/mobile → specialists}/spec-mobile-react-native.md +2 -21
  70. package/.claude/agents/testers/README.md +94 -0
  71. package/.claude/agents/{testing → testers}/e2e/playwright-agent.md +1 -20
  72. package/.claude/agents/{testing → testers}/interaction-tester.md +1 -20
  73. package/.claude/agents/{testing → testers}/playwright-tester.md +1 -1
  74. package/.claude/agents/testers/tester.md +139 -0
  75. package/.claude/agents/testers/unit/tdd-london-swarm.md +49 -0
  76. package/.claude/agents/testers/validation/production-validator.md +33 -0
  77. package/.claude/agents-ignore/cfn-loop-coordinator.md +157 -0
  78. package/.claude/agents-ignore/cfn-loop-coordinator.md.backup +156 -0
  79. package/.claude/agents-ignore/coordinator.md.backup +182 -0
  80. package/.claude/agents-ignore/cost-savings-cfn-loop-coordinator.md +760 -0
  81. package/.claude/agents-ignore/cost-savings-coordinator.md +173 -0
  82. package/.claude/artifacts/ace-reflections/REFLECT-001-summary.json +39 -0
  83. package/.claude/artifacts/ace-reflections/sprint-7_$(date -u +/"%Y%m%d_%H%M%S/").json" +47 -0
  84. package/.claude/commands/CFN_COORDINATOR_PARAMETERS.md +10 -10
  85. package/.claude/commands/cfn-loop-epic.md +3 -3
  86. package/.claude/commands/cfn-loop-single.md +3 -3
  87. package/.claude/commands/cfn-loop-sprints.md +1 -1
  88. package/.claude/commands/cfn-loop.md +3 -3
  89. package/.claude/commands/cfn-mode.md +20 -0
  90. package/.claude/commands/write-plan.md +104 -0
  91. package/.claude/data/cfn-loop.db +0 -0
  92. package/.claude/data/cfn_loop_logs.db +0 -0
  93. package/.claude/hooks/BACKUP_USAGE.md +243 -0
  94. package/.claude/hooks/post-edit-cfn-retrospective.sh +79 -0
  95. package/.claude/hooks/post-edit.sh +21 -0
  96. package/.claude/hooks/pre-edit-backup.sh +71 -0
  97. package/.claude/hooks/restore-from-backup.sh +37 -0
  98. package/.claude/prompts/cfn-loop-context.md +115 -0
  99. package/.claude/prompts/loop-specific/loop2.md +50 -0
  100. package/.claude/prompts/loop-specific/loop3.md +43 -0
  101. package/.claude/prompts/loop-specific/loop4.md +54 -0
  102. package/.claude/root-claude-distribute/CLAUDE.md +76 -2
  103. package/.claude/skills/ace-system/sprint-7-lessons.json +46 -0
  104. package/.claude/skills/ace-system/store-reflection.sh +33 -136
  105. package/.claude/skills/agent-discovery/SKILL.md +40 -0
  106. package/.claude/skills/agent-discovery/agents-registry-clean.json +0 -0
  107. package/.claude/skills/agent-discovery/agents-registry-fixed.json +19 -0
  108. package/.claude/skills/agent-discovery/agents-registry.json +718 -0
  109. package/.claude/skills/agent-discovery/discover-agents.py +175 -0
  110. package/.claude/skills/agent-discovery/discover-agents.sh +87 -0
  111. package/.claude/skills/agent-discovery/invoke-registry.sh +11 -0
  112. package/.claude/skills/agent-discovery/temp_script.py +0 -0
  113. package/.claude/skills/agent-output-processing/SKILL.md +359 -0
  114. package/.claude/skills/agent-selector/SKILL.md +90 -0
  115. package/.claude/skills/agent-selector/select-agents.sh +96 -0
  116. package/.claude/skills/agent-spawning/agent-selection-guide.md +1 -1
  117. package/.claude/skills/agent-swap/SKILL.md +36 -0
  118. package/.claude/skills/agent-swap/recommend-swap.sh +60 -0
  119. package/.claude/skills/api-validation/test-endpoints.sh +54 -0
  120. package/.claude/skills/automatic-memory-persistence/SKILL.md +73 -0
  121. package/.claude/skills/automatic-memory-persistence/persist-agent-output.sh +49 -0
  122. package/.claude/skills/automatic-memory-persistence/query-agent-history.sh +35 -0
  123. package/.claude/skills/automatic-memory-persistence/test-memory-persistence.sh +235 -0
  124. package/.claude/skills/cfn-loop-orchestration/README.md +41 -0
  125. package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
  126. package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
  127. package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
  128. package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
  129. package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
  130. package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
  131. package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
  132. package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
  133. package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
  134. package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +840 -0
  135. package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
  136. package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
  137. package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
  138. package/.claude/skills/cfn-loop-validation/SKILL.md +307 -217
  139. package/.claude/skills/complexity-estimator/SKILL.md +96 -0
  140. package/.claude/skills/complexity-estimator/estimate-complexity.sh +144 -0
  141. package/.claude/skills/context-pruner/SKILL.md +75 -0
  142. package/.claude/skills/context-pruner/prune-context.sh +73 -0
  143. package/.claude/skills/defense-in-depth/SKILL.md +133 -0
  144. package/.claude/skills/dependency-extractor/SKILL.md +35 -0
  145. package/.claude/skills/dependency-extractor/extract-dependencies.sh +66 -0
  146. package/.claude/skills/epic-decomposer/SKILL.md +44 -0
  147. package/.claude/skills/epic-decomposer/decompose-epic.sh +104 -0
  148. package/.claude/skills/improvement-recommender/SKILL.md +33 -0
  149. package/.claude/skills/improvement-recommender/recommend-improvements.sh +92 -0
  150. package/.claude/skills/intervention-detector/SKILL.md +39 -0
  151. package/.claude/skills/intervention-detector/detect-intervention.sh +111 -0
  152. package/.claude/skills/intervention-orchestrator/SKILL.md +43 -0
  153. package/.claude/skills/intervention-orchestrator/execute-intervention.sh +59 -0
  154. package/.claude/skills/loop2-output-processing/SKILL.md +163 -0
  155. package/.claude/skills/loop2-output-processing/execute-and-extract.sh +77 -0
  156. package/.claude/skills/loop2-output-processing/execute-and-extract.sh.backup +36 -0
  157. package/.claude/skills/loop2-output-processing/parse-feedback.sh +147 -0
  158. package/.claude/skills/loop2-output-processing/process-validator-output.sh +275 -0
  159. package/.claude/skills/loop2-output-processing/test-bug27-fix.sh +200 -0
  160. package/.claude/skills/loop2-output-processing/test-loop2-processing.sh +113 -0
  161. package/.claude/skills/loop3-output-processing/AGENT_COMPLETION_PROTOCOL.md +206 -0
  162. package/.claude/skills/loop3-output-processing/SKILL.md +421 -0
  163. package/.claude/skills/loop3-output-processing/calculate-confidence.sh +28 -0
  164. package/.claude/skills/loop3-output-processing/execute-and-extract.sh +85 -0
  165. package/.claude/skills/loop3-output-processing/parse-confidence.sh +31 -0
  166. package/.claude/skills/loop3-output-processing/test-agent-timeout.sh +327 -0
  167. package/.claude/skills/loop3-output-processing/test-loop3-processing.sh +155 -0
  168. package/.claude/skills/loop3-output-processing/verify-deliverables.sh +42 -0
  169. package/.claude/skills/pattern-extraction/SKILL.md +30 -0
  170. package/.claude/skills/pattern-extraction/extract-patterns.sh +80 -0
  171. package/.claude/skills/playbook/SKILL.md +113 -0
  172. package/.claude/skills/playbook/init-playbook.sh +54 -0
  173. package/.claude/skills/playbook/playbook.db +0 -0
  174. package/.claude/skills/playbook/query-playbook.sh +79 -0
  175. package/.claude/skills/playbook/update-playbook.sh +69 -0
  176. package/.claude/skills/playbook-auto-update/SKILL.md +29 -0
  177. package/.claude/skills/playbook-auto-update/auto-update-playbook.sh +86 -0
  178. package/.claude/skills/product-owner-decision/SKILL.md +332 -0
  179. package/.claude/skills/product-owner-decision/execute-decision.sh +176 -0
  180. package/.claude/skills/product-owner-decision/parse-decision.sh +66 -0
  181. package/.claude/skills/product-owner-decision/validate-deliverables.sh +82 -0
  182. package/.claude/skills/redis-coordination/LOGGING.md +260 -0
  183. package/.claude/skills/redis-coordination/README.md +30 -29
  184. package/.claude/skills/redis-coordination/SKILL.md +685 -83
  185. package/.claude/skills/redis-coordination/analyze-task-complexity.sh +277 -0
  186. package/.claude/skills/redis-coordination/cfn-loop-exec.sh +468 -0
  187. package/.claude/skills/redis-coordination/collect-confidence-scores.sh +179 -0
  188. package/.claude/skills/redis-coordination/collect-results.sh +75 -0
  189. package/.claude/skills/redis-coordination/data/cfn-loop.db +0 -0
  190. package/.claude/skills/redis-coordination/{test-orchestrator.sh → demos/test-orchestrator.sh} +25 -0
  191. package/.claude/skills/redis-coordination/execute-product-owner-decision.sh +258 -0
  192. package/.claude/skills/redis-coordination/get-agent-timeout.sh +176 -176
  193. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh +93 -227
  194. package/.claude/skills/redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
  195. package/.claude/skills/redis-coordination/log-event.sh +109 -0
  196. package/.claude/skills/redis-coordination/monitor-cfn-violations.sh +391 -0
  197. package/.claude/skills/redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
  198. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh +31 -993
  199. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
  200. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
  201. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
  202. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
  203. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
  204. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
  205. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
  206. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
  207. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
  208. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
  209. package/.claude/skills/redis-coordination/query-logs.sh +103 -0
  210. package/.claude/skills/redis-coordination/retrieve-context.sh +58 -0
  211. package/.claude/skills/redis-coordination/select-specialist-agent.sh +371 -0
  212. package/.claude/skills/redis-coordination/semantic-match-tfidf.py +252 -0
  213. package/.claude/skills/redis-coordination/send-heartbeat.sh +164 -72
  214. package/.claude/skills/redis-coordination/signal.sh +38 -0
  215. package/.claude/skills/redis-coordination/store-context.sh +86 -0
  216. package/.claude/skills/redis-coordination/test-context-injection.sh +354 -0
  217. package/.claude/skills/redis-coordination/test-timeout-enforcement.sh +513 -0
  218. package/.claude/skills/redis-coordination/tests/convert-line-endings.sh +15 -0
  219. package/.claude/skills/redis-coordination/tests/dlq-functionality-test.sh +101 -101
  220. package/.claude/skills/redis-coordination/tests/edge-cases-test.sh +98 -98
  221. package/.claude/skills/redis-coordination/tests/integration-test.sh +169 -169
  222. package/.claude/skills/redis-coordination/tests/retry-mechanism-test.sh +81 -81
  223. package/.claude/skills/redis-coordination/tests/run-test-suite.sh +91 -91
  224. package/.claude/skills/redis-coordination/tests/run-tests.sh +4 -0
  225. package/.claude/skills/redis-coordination/tests/test-primitives.sh +166 -0
  226. package/.claude/skills/redis-coordination/tests/test-utils.sh +53 -121
  227. package/.claude/skills/redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
  228. package/.claude/skills/redis-coordination/tests/test_utils.sh +49 -0
  229. package/.claude/skills/redis-coordination/v2_modularization/core_orchestration.sh +76 -0
  230. package/.claude/skills/redis-coordination/validate-parameters.sh +492 -0
  231. package/.claude/skills/retrospective-report/SKILL.md +31 -0
  232. package/.claude/skills/retrospective-report/generate-report.sh +101 -0
  233. package/.claude/skills/run-all-skill-tests.sh +124 -0
  234. package/.claude/skills/scope-simplifier/SKILL.md +37 -0
  235. package/.claude/skills/scope-simplifier/simplify-scope.sh +68 -0
  236. package/.claude/skills/simplified-agent-lifecycle/COST_ANALYSIS.md +49 -0
  237. package/.claude/skills/simplified-agent-lifecycle/DESIGN.md +98 -0
  238. package/.claude/skills/simplified-agent-lifecycle/MIGRATION_PLAN.md +74 -0
  239. package/.claude/skills/specialist-injection/SKILL.md +41 -0
  240. package/.claude/skills/specialist-injection/recommend-specialist.sh +57 -0
  241. package/.claude/skills/sprint-execution/SKILL.md +27 -0
  242. package/.claude/skills/sprint-execution/execute-sprint-task.sh +59 -0
  243. package/.claude/skills/sprint-execution/execute-sprint.sh +65 -0
  244. package/.claude/skills/sprint-planner/SKILL.md +37 -0
  245. package/.claude/skills/sprint-planner/plan-sprint.sh +85 -0
  246. package/.claude/skills/standardized-error-handling/SKILL.md +56 -0
  247. package/.claude/skills/standardized-error-handling/capture-agent-error.sh +87 -0
  248. package/.claude/skills/standardized-error-handling/test-error-handling.sh +166 -0
  249. package/.claude/skills/task-classifier/SKILL.md +94 -0
  250. package/.claude/skills/task-classifier/classify-task.sh +115 -0
  251. package/.claude/skills/validation-templates/SKILL.md +47 -0
  252. package/.claude/skills/validation-templates/content.json +38 -0
  253. package/.claude/skills/validation-templates/data.json +38 -0
  254. package/.claude/skills/validation-templates/design.json +38 -0
  255. package/.claude/skills/validation-templates/infrastructure.json +38 -0
  256. package/.claude/skills/validation-templates/research.json +38 -0
  257. package/.claude/skills/validation-templates/software.json +38 -0
  258. package/.claude/skills/webapp-testing/README.md +142 -0
  259. package/.claude/skills/webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
  260. package/.claude/skills/webapp-testing/SKILL.md +877 -0
  261. package/.claude/skills/webapp-testing/capture-screenshot.sh +238 -0
  262. package/.claude/skills/webapp-testing/cfn-loop-integration.sh +265 -0
  263. package/.claude/skills/webapp-testing/compare-screenshots.sh +199 -0
  264. package/.claude/skills/webapp-testing/init-storage.sh +150 -0
  265. package/.claude/skills/webapp-testing/set-baseline.sh +196 -0
  266. package/.claude/skills/webapp-testing/test-webapp-testing.sh +233 -0
  267. package/.claude/spawn-pattern-examples.md +3 -3
  268. package/CLAUDE.md +319 -45
  269. package/README.md +598 -251
  270. package/dist/agents/agent-loader.js +146 -165
  271. package/dist/agents/agent-loader.js.map +1 -1
  272. package/dist/cli/agent-command.js +2 -0
  273. package/dist/cli/agent-command.js.map +1 -1
  274. package/dist/cli/agent-definition-parser.js +7 -0
  275. package/dist/cli/agent-definition-parser.js.map +1 -1
  276. package/dist/cli/agent-executor.js +145 -11
  277. package/dist/cli/agent-executor.js.map +1 -1
  278. package/dist/cli/agent-prompt-builder.js +81 -1
  279. package/dist/cli/agent-prompt-builder.js.map +1 -1
  280. package/dist/cli/agent-spawn.js +10 -1
  281. package/dist/cli/agent-spawn.js.map +1 -1
  282. package/dist/cli/anthropic-client.js +192 -13
  283. package/dist/cli/anthropic-client.js.map +1 -1
  284. package/dist/cli/cfn-context.js +150 -0
  285. package/dist/cli/cfn-context.js.map +1 -1
  286. package/dist/cli/cfn-fork.js +159 -0
  287. package/dist/cli/cfn-fork.js.map +1 -0
  288. package/dist/cli/cli-agent-context.js +8 -3
  289. package/dist/cli/cli-agent-context.js.map +1 -1
  290. package/dist/cli/config-manager.js +109 -91
  291. package/dist/cli/config-manager.js.map +1 -1
  292. package/dist/cli/conversation-fork.js +201 -0
  293. package/dist/cli/conversation-fork.js.map +1 -0
  294. package/dist/cli/index.js +4 -0
  295. package/dist/cli/index.js.map +1 -1
  296. package/dist/cli/tool-definitions.js +263 -0
  297. package/dist/cli/tool-definitions.js.map +1 -0
  298. package/dist/cli/tool-executor.js +247 -0
  299. package/dist/cli/tool-executor.js.map +1 -0
  300. package/dist/hello.js +8 -0
  301. package/dist/hello.js.map +1 -0
  302. package/package.json +14 -6
  303. package/scripts/README.md +68 -0
  304. package/scripts/cfn-intervention-example.sh +21 -0
  305. package/scripts/migrate-test-infrastructure.sh +40 -0
  306. package/scripts/validate-test-migration.sh +49 -0
  307. package/scripts/verify-no-secrets.sh +55 -0
  308. package/.claude/agents/architecture/system-architect.md.backup +0 -603
  309. package/.claude/agents/code-booster.md +0 -131
  310. package/.claude/agents/consensus/performance-benchmarker.md +0 -101
  311. package/.claude/agents/consensus/security-manager.md +0 -107
  312. package/.claude/agents/context-curator.md +0 -167
  313. package/.claude/agents/context-reflector.md +0 -65
  314. package/.claude/agents/core-agents/cfn-loop-coordinator.md +0 -134
  315. package/.claude/agents/core-agents/code-quality-validator.md +0 -149
  316. package/.claude/agents/core-agents/context-curator.md +0 -452
  317. package/.claude/agents/core-agents/context-reflector.md +0 -273
  318. package/.claude/agents/core-agents/cost-savings-cfn-loop-coordinator.md +0 -235
  319. package/.claude/agents/core-agents/tester.md +0 -170
  320. package/.claude/agents/development/backend-dev.md +0 -165
  321. package/.claude/agents/devops/devops-engineer.md +0 -148
  322. package/.claude/agents/frontend/interaction-tester.md +0 -139
  323. package/.claude/agents/frontend/react-frontend-engineer.md +0 -9
  324. package/.claude/agents/personas/accessibility-advocate-persona.md +0 -107
  325. package/.claude/agents/testing/production-validator.md +0 -179
  326. package/.claude/agents/testing/tdd-london-swarm.md +0 -209
  327. package/.claude/agents/testing/unit/tdd-london-swarm.md +0 -43
  328. package/.claude/agents/testing/validation/production-validator.md +0 -43
  329. package/.claude/api-configs/config-current-zai-config.env +0 -62
  330. package/.claude/api-configs/config-test-zai-config.env +0 -62
  331. package/.claude/api-configs/env-backups/before-anthropic-20251020-025404.env +0 -62
  332. package/.claude/api-configs/env-backups/before-restore-20251020-025431.env +0 -62
  333. package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1760949407 +0 -933
  334. package/dist/cli/cli-agent-context.test.js +0 -451
  335. package/dist/cli/cli-agent-context.test.js.map +0 -1
  336. package/dist/coordination/fleet-manager.test.js +0 -141
  337. package/dist/coordination/fleet-manager.test.js.map +0 -1
  338. package/dist/middleware/transparency-middleware.test.js +0 -184
  339. package/dist/middleware/transparency-middleware.test.js.map +0 -1
  340. /package/.claude/agents/{core-agents → developers}/researcher.md +0 -0
  341. /package/.claude/agents/{consensus → specialists}/crdt-synchronizer.md +0 -0
  342. /package/.claude/agents/{consensus → specialists}/quorum-manager.md +0 -0
  343. /package/.claude/agents/{consensus → specialists}/raft-manager.md +0 -0
  344. /package/.claude/{agents/core-agents → agents-ignore}/coordinator.md +0 -0
  345. /package/.claude/{agents/core-agents/cost-savings-coordinator.md → agents-ignore/cost-savings-coordinator.md.backup} +0 -0
  346. /package/.claude/skills/redis-coordination/{phase4-wake-queue-test-report.md → demos/phase4-wake-queue-test-report.md} +0 -0
  347. /package/.claude/skills/redis-coordination/{test-bzpopmin-fix.sh → demos/test-bzpopmin-fix.sh} +0 -0
  348. /package/.claude/skills/redis-coordination/{test-cancel-swarm.sh → demos/test-cancel-swarm.sh} +0 -0
  349. /package/.claude/skills/redis-coordination/{test-dlq.sh → demos/test-dlq.sh} +0 -0
  350. /package/.claude/skills/redis-coordination/{test-iteration-feedback.sh → demos/test-iteration-feedback.sh} +0 -0
  351. /package/.claude/skills/redis-coordination/{test-priority-wake-phase4-unix.sh → demos/test-priority-wake-phase4-unix.sh} +0 -0
  352. /package/.claude/skills/redis-coordination/{test-priority-wake-phase4.sh → demos/test-priority-wake-phase4.sh} +0 -0
  353. /package/.claude/skills/redis-coordination/{test-priority-wake.sh → demos/test-priority-wake.sh} +0 -0
  354. /package/.claude/skills/redis-coordination/{test-quick-fix.sh → demos/test-quick-fix.sh} +0 -0
  355. /package/.claude/skills/redis-coordination/{test-quorum-absolute.sh → demos/test-quorum-absolute.sh} +0 -0
  356. /package/.claude/skills/redis-coordination/{test-quorum-fallback.sh → demos/test-quorum-fallback.sh} +0 -0
  357. /package/.claude/skills/redis-coordination/{test-quorum-percentage.sh → demos/test-quorum-percentage.sh} +0 -0
  358. /package/.claude/skills/redis-coordination/{test-quorum-with-retry.sh → demos/test-quorum-with-retry.sh} +0 -0
  359. /package/.claude/skills/redis-coordination/{test-quorum.sh → demos/test-quorum.sh} +0 -0
  360. /package/.claude/skills/redis-coordination/{test-shutdown-handling.sh → demos/test-shutdown-handling.sh} +0 -0
  361. /package/.claude/skills/redis-coordination/{test-shutdown.sh → demos/test-shutdown.sh} +0 -0
  362. /package/.claude/skills/redis-coordination/{test-utils-unix.sh → demos/test-utils-unix.sh} +0 -0
  363. /package/.claude/skills/redis-coordination/{test-utils.sh → demos/test-utils.sh} +0 -0
  364. /package/.claude/skills/redis-coordination/{test-waiting-mode.sh → demos/test-waiting-mode.sh} +0 -0
@@ -3,37 +3,21 @@
3
3
  # Redis Waiting Mode CLI Wrapper for Agents
4
4
  #
5
5
  # Usage:
6
- # ./invoke-waiting-mode.sh enter --task-id <task> --agent-id <agent> --context <context>
7
- # ./invoke-waiting-mode.sh wake --task-id <task> --agent-id <agent> --reason <reason> [--iteration <n>] [--priority <0-100>]
8
6
  # ./invoke-waiting-mode.sh report --task-id <task> --agent-id <agent> --confidence <score> [--iteration <n>]
9
7
  # ./invoke-waiting-mode.sh collect --task-id <task> --agent-ids <id1,id2,id3>
10
8
  # ./invoke-waiting-mode.sh shutdown --task-id <task> [--reason <reason>]
11
9
  #
10
+ # DEPRECATION NOTICE:
11
+ # - 'enter' and 'wake' subcommands are DEPRECATED
12
+ # - This script now only supports 'report', 'collect', and 'shutdown' subcommands
13
+ # - Agents are expected to exit cleanly without waiting mode
14
+ #
12
15
  # Priority Levels (0-100, higher = more urgent, default = 50):
13
16
  # 90-100: Critical (security patches, system failures)
14
17
  # 70-89: High (urgent features, blocking bugs)
15
18
  # 40-60: Medium (normal tasks, default)
16
19
  # 20-39: Low (optimizations, refactoring)
17
20
  # 0-19: Minimal (documentation, cleanup)
18
- #
19
- # Examples:
20
- # # Agent enters waiting mode
21
- # ./invoke-waiting-mode.sh enter --task-id auth-system --agent-id coder-1 --context "iteration-1"
22
- #
23
- # # Coordinator wakes agent with default priority
24
- # ./invoke-waiting-mode.sh wake --task-id auth-system --agent-id coder-1 --reason cfn_loop_iteration --iteration 2
25
- #
26
- # # Coordinator wakes agent with high priority
27
- # ./invoke-waiting-mode.sh wake --task-id auth-system --agent-id coder-1 --reason security_patch --priority 95
28
- #
29
- # # Agent reports result
30
- # ./invoke-waiting-mode.sh report --task-id auth-system --agent-id coder-1 --confidence 0.85 --iteration 1
31
- #
32
- # # Coordinator collects results
33
- # ./invoke-waiting-mode.sh collect --task-id auth-system --agent-ids coder-1,reviewer-1,tester-1
34
- #
35
- # # Coordinator broadcasts shutdown signal
36
- # ./invoke-waiting-mode.sh shutdown --task-id auth-system --reason task_complete
37
21
 
38
22
  set -euo pipefail
39
23
 
@@ -48,13 +32,12 @@ shift || true
48
32
  TASK_ID=""
49
33
  AGENT_ID=""
50
34
  AGENT_IDS=""
51
- CONTEXT=""
52
35
  REASON=""
53
36
  ITERATION=""
54
37
  CONFIDENCE=""
55
38
  FEEDBACK=""
56
- TASK_DESC=""
57
39
  PRIORITY=50 # Default medium priority (0-100, higher = more urgent)
40
+ MIN_QUORUM="" # Minimum quorum for consensus validation
58
41
 
59
42
  while [[ $# -gt 0 ]]; do
60
43
  case $1 in
@@ -70,10 +53,6 @@ while [[ $# -gt 0 ]]; do
70
53
  AGENT_IDS="$2"
71
54
  shift 2
72
55
  ;;
73
- --context)
74
- CONTEXT="$2"
75
- shift 2
76
- ;;
77
56
  --reason)
78
57
  REASON="$2"
79
58
  shift 2
@@ -90,14 +69,14 @@ while [[ $# -gt 0 ]]; do
90
69
  FEEDBACK="$2"
91
70
  shift 2
92
71
  ;;
93
- --task)
94
- TASK_DESC="$2"
95
- shift 2
96
- ;;
97
72
  --priority)
98
73
  PRIORITY="$2"
99
74
  shift 2
100
75
  ;;
76
+ --min-quorum)
77
+ MIN_QUORUM="$2"
78
+ shift 2
79
+ ;;
101
80
  *)
102
81
  echo "Unknown argument: $1"
103
82
  exit 1
@@ -105,156 +84,17 @@ while [[ $# -gt 0 ]]; do
105
84
  esac
106
85
  done
107
86
 
108
- # Validate required arguments
109
87
  case "$COMMAND" in
110
88
  enter)
111
- if [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ] || [ -z "$CONTEXT" ]; then
112
- echo "Error: enter requires --task-id, --agent-id, and --context"
113
- exit 1
114
- fi
115
-
116
- # Enter waiting mode
117
- READY_KEY="swarm:${TASK_ID}:${AGENT_ID}:ready"
118
- WAKE_QUEUE="swarm:${TASK_ID}:${AGENT_ID}:wake-queue"
119
- SHUTDOWN_KEY="swarm:${TASK_ID}:shutdown"
120
-
121
- # Publish ready status
122
- READY_MSG=$(jq -n \
123
- --arg status "waiting" \
124
- --arg context "$CONTEXT" \
125
- --arg ts "$(date +%s)" \
126
- '{status: $status, context: $context, timestamp: ($ts | tonumber)}')
127
-
128
- echo "$READY_MSG" | redis-cli -x LPUSH "$READY_KEY" >/dev/null
129
-
130
- echo "[$AGENT_ID] Entered waiting mode (context: $CONTEXT)"
131
- echo "[$AGENT_ID] Blocking on priority queue $WAKE_QUEUE and $SHUTDOWN_KEY (infinite timeout)..."
132
- echo "[$AGENT_ID] Zero token cost while waiting"
133
-
134
- # Poll loop: check shutdown first, then block on wake queue with timeout
135
- # This allows us to support both priority queues and shutdown signals
136
- while true; do
137
- # Check for shutdown signal first (highest priority)
138
- SHUTDOWN_CHECK=$(redis-cli LPOP "$SHUTDOWN_KEY")
139
-
140
- if [ -n "$SHUTDOWN_CHECK" ] && [ "$SHUTDOWN_CHECK" != "(nil)" ]; then
141
- # Shutdown signal received
142
- SHUTDOWN_REASON=$(echo "$SHUTDOWN_CHECK" | jq -r '.reason // "unknown"')
143
- echo "[$AGENT_ID] 🛑 Shutdown signal received"
144
- echo "[$AGENT_ID] Reason: $SHUTDOWN_REASON"
145
- echo "$SHUTDOWN_CHECK" | jq '.'
146
-
147
- # Exit with SIGINT code to indicate graceful shutdown
148
- exit 130
149
- fi
150
-
151
- # Block on wake queue with 1-second timeout (allows periodic shutdown checks)
152
- # BZPOPMIN returns: key, member, score (3 lines)
153
- WAKE_RESULT=$(redis-cli BZPOPMIN "$WAKE_QUEUE" 1 2>/dev/null)
154
-
155
- if [ -n "$WAKE_RESULT" ] && [ "$WAKE_RESULT" != "(nil)" ]; then
156
- # Parse result (BZPOPMIN returns 3 lines: key, member, score)
157
- WAKE_MSG=$(echo "$WAKE_RESULT" | sed -n '2p')
158
-
159
- # Validate JSON before processing
160
- if echo "$WAKE_MSG" | jq empty 2>/dev/null; then
161
- echo "[$AGENT_ID] ✅ Woken up!"
162
- echo "$WAKE_MSG" | jq '.'
163
-
164
- # Return wake message to caller
165
- echo "$WAKE_MSG"
166
- break
167
- else
168
- echo "[$AGENT_ID] ⚠️ Invalid JSON in wake message, ignoring"
169
- continue
170
- fi
171
- fi
172
-
173
- # If no wake signal received, loop back to check shutdown again
174
- done
89
+ echo "[DEPRECATED] 'enter' subcommand is no longer supported."
90
+ echo "Agents should no longer use waiting mode. Exit cleanly."
91
+ exit 1
175
92
  ;;
176
93
 
177
94
  wake)
178
- if [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ] || [ -z "$REASON" ]; then
179
- echo "Error: wake requires --task-id, --agent-id, and --reason"
180
- exit 1
181
- fi
182
-
183
- WAKE_QUEUE="swarm:${TASK_ID}:${AGENT_ID}:wake-queue"
184
-
185
- # Build wake message (compact JSON for Redis storage)
186
- WAKE_MSG=$(jq -nc \
187
- --arg reason "$REASON" \
188
- --arg iteration "${ITERATION:-0}" \
189
- --arg task "${TASK_DESC:-}" \
190
- --arg feedback "${FEEDBACK:-}" \
191
- --arg priority "$PRIORITY" \
192
- --arg ts "$(date +%s)" \
193
- '{
194
- reason: $reason,
195
- iteration: ($iteration | tonumber),
196
- task: $task,
197
- feedback: ($feedback | split(",") | map(select(length > 0))),
198
- priority: ($priority | tonumber),
199
- timestamp: ($ts | tonumber)
200
- }')
201
-
202
- # Store feedback in Redis for agent to read (if provided and iteration > 0)
203
- # Debug: Echo values before conditional (only if feedback provided)
204
- if [ -n "$FEEDBACK" ]; then
205
- [ "$DEBUG" = "true" ] && echo "[DEBUG] Checking feedback storage: FEEDBACK='$FEEDBACK', ITERATION='${ITERATION:-0}'"
206
- fi
207
-
208
- # Only store feedback if: feedback is non-empty AND iteration > 0
209
- # Check iteration value explicitly (not just default)
210
- if [ -n "$FEEDBACK" ] && [ -n "$ITERATION" ] && [ "$ITERATION" -gt 0 ]; then
211
- FEEDBACK_KEY="swarm:${TASK_ID}:${AGENT_ID}:feedback:iteration-${ITERATION}"
212
- FEEDBACK_ARRAY=$(echo "$FEEDBACK" | jq -Rc 'split(",") | map(select(length > 0))')
213
-
214
- # Only store if feedback array is not empty after filtering
215
- ARRAY_LENGTH=$(echo "$FEEDBACK_ARRAY" | jq 'length')
216
- if [ "$ARRAY_LENGTH" -gt 0 ]; then
217
- # Store as JSON array with 24-hour TTL using redis-cli -x (reads from stdin)
218
- # Note: -x reads LAST argument from stdin, so we can't use SET key value EX ttl
219
- # Instead: SET key (value from stdin), then EXPIRE key ttl
220
- REDIS_RESULT=$(printf '%s' "$FEEDBACK_ARRAY" | redis-cli -x SET "$FEEDBACK_KEY")
221
- redis-cli EXPIRE "$FEEDBACK_KEY" 86400 >/dev/null
222
-
223
- # Always log feedback storage (not just in DEBUG mode)
224
- if [ "$REDIS_RESULT" = "OK" ]; then
225
- echo " [Feedback] Stored $ARRAY_LENGTH items in Redis (TTL: 24h)"
226
- fi
227
-
228
- if [ "$DEBUG" = "true" ]; then
229
- echo "[DEBUG] Stored feedback in $FEEDBACK_KEY (TTL: 24h)"
230
- echo "[DEBUG] Feedback: $FEEDBACK_ARRAY"
231
- echo "[DEBUG] Redis SET result: $REDIS_RESULT"
232
- fi
233
- fi
234
- fi
235
-
236
- # Calculate priority score (lower score = higher priority, popped first)
237
- # Score = (100 - priority) * 1000000 + timestamp
238
- # This ensures higher priority messages are processed first, with FIFO for same priority
239
- TIMESTAMP=$(date +%s)
240
- PRIORITY_SCORE=$(echo "(100 - $PRIORITY) * 1000000 + $TIMESTAMP" | bc)
241
-
242
- # Debug output
243
- if [ "$DEBUG" = "true" ]; then
244
- echo "[DEBUG] WAKE_QUEUE: $WAKE_QUEUE"
245
- echo "[DEBUG] PRIORITY: $PRIORITY"
246
- echo "[DEBUG] Priority score: $PRIORITY_SCORE"
247
- echo "[DEBUG] Message: $WAKE_MSG"
248
- fi
249
-
250
- # Add to sorted set (ZADD with calculated score)
251
- # Use redis-cli with ZADD and pass JSON as the member directly
252
- redis-cli ZADD "$WAKE_QUEUE" "$PRIORITY_SCORE" "$WAKE_MSG" >/dev/null
253
-
254
- echo "[Coordinator] ✅ Wake signal sent to $AGENT_ID"
255
- echo " Reason: $REASON"
256
- echo " Priority: $PRIORITY (score: $PRIORITY_SCORE)"
257
- [ -n "$ITERATION" ] && echo " Iteration: $ITERATION"
95
+ echo "[DEPRECATED] 'wake' subcommand is no longer supported."
96
+ echo "Coordinator should spawn agents directly without waiting mode."
97
+ exit 1
258
98
  ;;
259
99
 
260
100
  report)
@@ -290,12 +130,13 @@ case "$COMMAND" in
290
130
 
291
131
  collect)
292
132
  if [ -z "$TASK_ID" ] || [ -z "$AGENT_IDS" ]; then
293
- echo "Error: collect requires --task-id and --agent-ids"
133
+ echo "Error: collect requires --task-id and --agent-ids" >&2
294
134
  exit 1
295
135
  fi
296
136
 
297
- echo "[Coordinator] Collecting results from agents..."
298
- echo ""
137
+ # Output verbose messages to stderr
138
+ echo "[Coordinator] Collecting results from agents..." >&2
139
+ echo "" >&2
299
140
 
300
141
  # Split agent IDs
301
142
  IFS=',' read -ra AGENTS <<< "$AGENT_IDS"
@@ -307,31 +148,70 @@ case "$COMMAND" in
307
148
  for AGENT in "${AGENTS[@]}"; do
308
149
  RESULT_KEY="swarm:${TASK_ID}:${AGENT}:result"
309
150
 
310
- # Get latest result (non-blocking)
311
- RESULT=$(redis-cli LPOP "$RESULT_KEY")
151
+ # Get latest result (non-blocking, non-destructive)
152
+ # Use LINDEX instead of LPOP to preserve results for multiple reads
153
+ RESULT=$(redis-cli LINDEX "$RESULT_KEY" 0)
312
154
 
313
155
  if [ -n "$RESULT" ] && [ "$RESULT" != "(nil)" ]; then
314
- CONF=$(echo "$RESULT" | jq -r '.confidence')
315
- echo " [$AGENT] Confidence: $CONF"
316
- RESULTS+=("$RESULT")
317
- CONFIDENCES+=("$CONF")
318
-
319
- # Check if result includes feedback array
320
- FEEDBACK=$(echo "$RESULT" | jq -r '.feedback // empty | .[]?' 2>/dev/null)
321
- if [ -n "$FEEDBACK" ]; then
322
- echo " [$AGENT] Feedback provided:"
323
- echo "$RESULT" | jq -r '.feedback[]' | sed 's/^/ - /'
324
-
325
- # Collect all feedback items
326
- while IFS= read -r ITEM; do
327
- ALL_FEEDBACK+=("$ITEM")
328
- done < <(echo "$RESULT" | jq -r '.feedback[]')
156
+ # Handle both simple numeric format and JSON format
157
+ # Try to parse as JSON first, fall back to simple number
158
+ if CONF=$(echo "$RESULT" | jq -r '.confidence' 2>/dev/null) && [ "$CONF" != "null" ]; then
159
+ # JSON format: {"confidence":0.85,"iteration":1,...}
160
+ echo " [$AGENT] Confidence: $CONF" >&2
161
+ RESULTS+=("$RESULT")
162
+ CONFIDENCES+=("$CONF")
163
+
164
+ # Check if result includes feedback array
165
+ FEEDBACK=$(echo "$RESULT" | jq -r '.feedback // empty | .[]?' 2>/dev/null)
166
+ if [ -n "$FEEDBACK" ]; then
167
+ echo " [$AGENT] Feedback provided:" >&2
168
+ echo "$RESULT" | jq -r '.feedback[]' | sed 's/^/ - /' >&2
169
+
170
+ # Collect all feedback items
171
+ while IFS= read -r ITEM; do
172
+ ALL_FEEDBACK+=("$ITEM")
173
+ done < <(echo "$RESULT" | jq -r '.feedback[]')
174
+ fi
175
+ elif [[ "$RESULT" =~ ^[0-9]+\.?[0-9]*$ ]]; then
176
+ # Simple numeric format: "0.85"
177
+ CONF="$RESULT"
178
+ echo " [$AGENT] Confidence: $CONF" >&2
179
+ CONFIDENCES+=("$CONF")
180
+ else
181
+ echo " [$AGENT] ⚠️ Invalid result format: $RESULT" >&2
329
182
  fi
330
183
  else
331
- echo " [$AGENT] ⚠️ No result found"
184
+ echo " [$AGENT] ⚠️ No result found" >&2
332
185
  fi
333
186
  done
334
187
 
188
+ # Validate quorum if specified
189
+ TOTAL_AGENTS=${#AGENTS[@]}
190
+ RESPONDING_AGENTS=${#CONFIDENCES[@]}
191
+
192
+ if [ -n "$MIN_QUORUM" ]; then
193
+ # Parse min-quorum (supports: absolute number, percentage, or decimal)
194
+ if [[ "$MIN_QUORUM" =~ ^[0-9]+%$ ]]; then
195
+ # Percentage format: "66%"
196
+ PCT=${MIN_QUORUM%\%}
197
+ REQUIRED=$(echo "scale=0; ($TOTAL_AGENTS * $PCT) / 100" | bc)
198
+ elif [[ "$MIN_QUORUM" =~ ^0\.[0-9]+$ ]]; then
199
+ # Decimal format: "0.66"
200
+ REQUIRED=$(echo "scale=0; ($TOTAL_AGENTS * $MIN_QUORUM) / 1" | bc)
201
+ else
202
+ # Absolute number format: "2"
203
+ REQUIRED=$MIN_QUORUM
204
+ fi
205
+
206
+ if [ "$RESPONDING_AGENTS" -lt "$REQUIRED" ]; then
207
+ echo "" >&2
208
+ echo "[Coordinator] ❌ Quorum not met" >&2
209
+ echo " Required: $REQUIRED agents" >&2
210
+ echo " Responding: $RESPONDING_AGENTS agents" >&2
211
+ exit 1
212
+ fi
213
+ fi
214
+
335
215
  # Calculate consensus
336
216
  if [ ${#CONFIDENCES[@]} -gt 0 ]; then
337
217
  SUM=0
@@ -341,19 +221,25 @@ case "$COMMAND" in
341
221
  COUNT=${#CONFIDENCES[@]}
342
222
  CONSENSUS=$(echo "scale=2; $SUM / $COUNT" | bc)
343
223
 
344
- echo ""
345
- echo "[Coordinator] Consensus: $CONSENSUS"
224
+ # Ensure leading zero for bc output (handles .87 -> 0.87)
225
+ if [[ "$CONSENSUS" =~ ^\. ]]; then
226
+ CONSENSUS="0$CONSENSUS"
227
+ fi
228
+
229
+ echo "" >&2
230
+ echo "[Coordinator] Consensus: $CONSENSUS" >&2
346
231
 
347
232
  # Print aggregated feedback if available
348
233
  if [ ${#ALL_FEEDBACK[@]} -gt 0 ]; then
349
- echo "[Coordinator] Aggregated Feedback (${#ALL_FEEDBACK[@]} items):"
350
- printf '%s\n' "${ALL_FEEDBACK[@]}" | sort -u | sed 's/^/ - /'
234
+ echo "[Coordinator] Aggregated Feedback (${#ALL_FEEDBACK[@]} items):" >&2
235
+ printf '%s\n' "${ALL_FEEDBACK[@]}" | sort -u | sed 's/^/ - /' >&2
351
236
  fi
352
237
 
238
+ # Output only consensus value to stdout for callers
353
239
  echo "$CONSENSUS"
354
240
  else
355
- echo ""
356
- echo "[Coordinator] No results to calculate consensus"
241
+ echo "" >&2
242
+ echo "[Coordinator] No results to calculate consensus" >&2
357
243
  echo "0.0"
358
244
  fi
359
245
  ;;
@@ -375,43 +261,23 @@ case "$COMMAND" in
375
261
  timestamp: ($ts | tonumber)
376
262
  }')
377
263
 
378
- # Broadcast shutdown signal (use LPUSH to add to list)
379
- # All waiting agents will check this key and exit gracefully
264
+ # Broadcast shutdown signal
380
265
  echo "$SHUTDOWN_MSG" | redis-cli -x LPUSH "$SHUTDOWN_KEY" >/dev/null
381
266
 
382
267
  echo "[Coordinator] 🛑 Shutdown signal broadcasted"
383
268
  echo " Task ID: $TASK_ID"
384
269
  echo " Reason: ${REASON:-task_complete}"
385
- echo ""
386
- echo "Note: Signal added to $SHUTDOWN_KEY"
387
- echo "All waiting agents will receive shutdown on next poll cycle (max 1 second)"
388
270
  ;;
389
271
 
390
272
  *)
391
-
392
273
  echo "Usage: $0 <command> [options]"
393
274
  echo ""
394
275
  echo "Commands:"
395
- echo " enter - Agent enters waiting mode"
396
- echo " wake - Coordinator wakes an agent (supports --priority 0-100)"
397
276
  echo " report - Agent reports result"
398
277
  echo " collect - Coordinator collects results"
399
- echo " shutdown - Coordinator broadcasts shutdown signal to all waiting agents"
400
- echo ""
401
- echo "Priority Levels (0-100, higher = more urgent, default = 50):"
402
- echo " 90-100: Critical (security patches, system failures)"
403
- echo " 70-89: High (urgent features, blocking bugs)"
404
- echo " 40-60: Medium (normal tasks, default)"
405
- echo " 20-39: Low (optimizations, refactoring)"
406
- echo " 0-19: Minimal (documentation, cleanup)"
278
+ echo " shutdown - Coordinator broadcasts shutdown signal"
407
279
  echo ""
408
- echo "Examples:"
409
- echo " $0 enter --task-id auth --agent-id coder-1 --context iteration-1"
410
- echo " $0 wake --task-id auth --agent-id coder-1 --reason cfn_loop_iteration --iteration 2"
411
- echo " $0 wake --task-id auth --agent-id coder-1 --reason security_patch --priority 95"
412
- echo " $0 report --task-id auth --agent-id coder-1 --confidence 0.85 --iteration 1"
413
- echo " $0 collect --task-id auth --agent-ids coder-1,reviewer-1,tester-1"
414
- echo " $0 shutdown --task-id auth --reason task_complete"
280
+ echo "Note: 'enter' and 'wake' subcommands are DEPRECATED"
415
281
  exit 1
416
282
  ;;
417
- esac
283
+ esac