claude-flow-novice 2.9.0 → 2.10.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.
- package/.claude/agents/cfn-dev-team/CLAUDE.md +1086 -0
- package/.claude/agents/cfn-dev-team/README.md +116 -0
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
- package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
- package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
- package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
- package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
- package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
- package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
- package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
- package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
- package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
- package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
- package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
- package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
- package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
- package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
- package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
- package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
- package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
- package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
- package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
- package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
- package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
- package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
- package/.claude/commands/cfn/cfn-loop.md +168 -7
- package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
- package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
- package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
- package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
- package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
- package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
- package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
- package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
- package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
- package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
- package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
- package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
- package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
- package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
- package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
- package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
- package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
- package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
- package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
- package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
- package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
- package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
- package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
- package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
- package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
- package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
- package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
- package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
- package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
- package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
- package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
- package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
- package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
- package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
- package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
- package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
- package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
- package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
- package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
- package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
- package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
- package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
- package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
- package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
- package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
- package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
- package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
- package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
- package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
- package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
- package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
- package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
- package/.claude/skills/cfn-config-management/SKILL.md +34 -0
- package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
- package/.claude/skills/cfn-config-management/config.json +32 -0
- package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
- package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
- package/.claude/skills/cfn-event-bus/config.json +111 -0
- package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
- package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
- package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
- package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
- package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
- package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
- package/.claude/skills/cfn-fleet-manager/config.json +60 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
- package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
- package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
- package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
- package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
- package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
- package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
- package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
- package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
- package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
- package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
- package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
- package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
- package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
- package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
- package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
- package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
- package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
- package/.claude/skills/cfn-loop-validation/config.json +161 -0
- package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
- package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
- package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
- package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
- package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
- package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
- package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
- package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
- package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
- package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
- package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
- package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
- package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
- package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
- package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
- package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
- package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
- package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
- package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/config.json +61 -0
- package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
- package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
- package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
- package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
- package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
- package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
- package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
- package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
- package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
- package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
- package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
- package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
- package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
- package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
- package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
- package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
- package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
- package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
- package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
- package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
- package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
- package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
- package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
- package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
- package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
- package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
- package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
- package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
- package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
- package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
- package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
- package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
- package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
- package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
- package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
- package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
- package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
- package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
- package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
- package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
- package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
- package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
- package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
- package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
- package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
- package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
- package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
- package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
- package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
- package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
- package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
- package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
- package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
- package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
- package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
- package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
- package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
- package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
- package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
- package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
- package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
- package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
- package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
- package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
- package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
- package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
- package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
- package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
- package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
- package/README.md +51 -2
- package/dist/ace/ace-reflector.js +109 -10
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-executor.js +1 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/config-manager.js +109 -91
- package/dist/cli/config-manager.js.map +1 -1
- package/package.json +43 -7
- package/readme/README.md +15 -4
- package/scripts/init-project.js +84 -29
- package/scripts/run-marketing-tests.sh +43 -0
- package/scripts/update_paths.sh +47 -0
- package/tools/install-lizard.sh +37 -0
- package/tools/simple-complexity.sh +44 -0
- package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
- package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
- package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
- /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
- /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#
|
|
3
|
+
# Event Bus Skill - Test Suite
|
|
4
|
+
#
|
|
5
|
+
# Tests:
|
|
6
|
+
# 1. Event Publishing
|
|
7
|
+
# 2. Event Subscription (manual verification)
|
|
8
|
+
# 3. Lifecycle Tracking (spawn, complete, fail, timeout)
|
|
9
|
+
# 4. Event Statistics
|
|
10
|
+
# 5. Trace ID Propagation
|
|
11
|
+
# 6. Invalid Input Handling
|
|
12
|
+
#
|
|
13
|
+
# Usage:
|
|
14
|
+
# ./test-event-bus.sh
|
|
15
|
+
|
|
16
|
+
set -euo pipefail
|
|
17
|
+
|
|
18
|
+
# Script directory
|
|
19
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
20
|
+
|
|
21
|
+
# Test counters
|
|
22
|
+
TESTS_RUN=0
|
|
23
|
+
TESTS_PASSED=0
|
|
24
|
+
TESTS_FAILED=0
|
|
25
|
+
|
|
26
|
+
# Color output
|
|
27
|
+
GREEN='\033[0;32m'
|
|
28
|
+
RED='\033[0;31m'
|
|
29
|
+
YELLOW='\033[1;33m'
|
|
30
|
+
NC='\033[0m' # No Color
|
|
31
|
+
|
|
32
|
+
# Test helper functions
|
|
33
|
+
run_test() {
|
|
34
|
+
local test_name="$1"
|
|
35
|
+
TESTS_RUN=$((TESTS_RUN + 1))
|
|
36
|
+
echo -e "\n${YELLOW}[Test $TESTS_RUN]${NC} $test_name"
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
assert_success() {
|
|
40
|
+
if [ $? -eq 0 ]; then
|
|
41
|
+
echo -e "${GREEN}✓ PASSED${NC}"
|
|
42
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
43
|
+
return 0
|
|
44
|
+
else
|
|
45
|
+
echo -e "${RED}✗ FAILED${NC}"
|
|
46
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
47
|
+
return 1
|
|
48
|
+
fi
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
assert_equals() {
|
|
52
|
+
local expected="$1"
|
|
53
|
+
local actual="$2"
|
|
54
|
+
if [ "$expected" == "$actual" ]; then
|
|
55
|
+
echo -e "${GREEN}✓ PASSED${NC} (expected: $expected, got: $actual)"
|
|
56
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
57
|
+
return 0
|
|
58
|
+
else
|
|
59
|
+
echo -e "${RED}✗ FAILED${NC} (expected: $expected, got: $actual)"
|
|
60
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
61
|
+
return 1
|
|
62
|
+
fi
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
assert_contains() {
|
|
66
|
+
local needle="$1"
|
|
67
|
+
local haystack="$2"
|
|
68
|
+
if echo "$haystack" | grep -q "$needle"; then
|
|
69
|
+
echo -e "${GREEN}✓ PASSED${NC} (contains: $needle)"
|
|
70
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
71
|
+
return 0
|
|
72
|
+
else
|
|
73
|
+
echo -e "${RED}✗ FAILED${NC} (does not contain: $needle)"
|
|
74
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
75
|
+
return 1
|
|
76
|
+
fi
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
echo "========================================"
|
|
80
|
+
echo "Event Bus Skill - Test Suite"
|
|
81
|
+
echo "========================================"
|
|
82
|
+
|
|
83
|
+
# Test 1: Basic Event Publishing
|
|
84
|
+
run_test "Event Publishing - Basic"
|
|
85
|
+
RESULT=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
86
|
+
--topic "test:basic" \
|
|
87
|
+
--payload '{"message": "Hello Event Bus", "testId": 1}')
|
|
88
|
+
|
|
89
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
90
|
+
TOPIC=$(echo "$RESULT" | jq -r '.topic')
|
|
91
|
+
assert_equals "published" "$STATUS"
|
|
92
|
+
assert_equals "test:basic" "$TOPIC"
|
|
93
|
+
|
|
94
|
+
# Test 2: Event Publishing with Trace ID
|
|
95
|
+
run_test "Event Publishing - With Trace ID"
|
|
96
|
+
RESULT=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
97
|
+
--topic "test:traced" \
|
|
98
|
+
--payload '{"message": "Traced event", "testId": 2}' \
|
|
99
|
+
--trace-id "trace-test-123")
|
|
100
|
+
|
|
101
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
102
|
+
TRACE_ID=$(echo "$RESULT" | jq -r '.traceId')
|
|
103
|
+
assert_equals "published" "$STATUS"
|
|
104
|
+
assert_equals "trace-test-123" "$TRACE_ID"
|
|
105
|
+
|
|
106
|
+
# Test 3: Lifecycle Tracking - Spawn
|
|
107
|
+
run_test "Lifecycle Tracking - Agent Spawn"
|
|
108
|
+
RESULT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
109
|
+
--agent-id "test-agent-1" \
|
|
110
|
+
--event "spawn" \
|
|
111
|
+
--metadata '{"taskId": "test-task", "role": "tester"}')
|
|
112
|
+
|
|
113
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
114
|
+
EVENT=$(echo "$RESULT" | jq -r '.event')
|
|
115
|
+
assert_equals "tracked" "$STATUS"
|
|
116
|
+
assert_equals "spawn" "$EVENT"
|
|
117
|
+
|
|
118
|
+
# Test 4: Lifecycle Tracking - Complete
|
|
119
|
+
run_test "Lifecycle Tracking - Agent Complete"
|
|
120
|
+
RESULT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
121
|
+
--agent-id "test-agent-1" \
|
|
122
|
+
--event "complete" \
|
|
123
|
+
--metadata '{"taskId": "test-task", "confidence": 0.95, "duration": 30000}')
|
|
124
|
+
|
|
125
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
126
|
+
EVENT=$(echo "$RESULT" | jq -r '.event')
|
|
127
|
+
AGENT_ID=$(echo "$RESULT" | jq -r '.agentId')
|
|
128
|
+
assert_equals "tracked" "$STATUS"
|
|
129
|
+
assert_equals "complete" "$EVENT"
|
|
130
|
+
assert_equals "test-agent-1" "$AGENT_ID"
|
|
131
|
+
|
|
132
|
+
# Test 5: Lifecycle Tracking - Fail
|
|
133
|
+
run_test "Lifecycle Tracking - Agent Fail"
|
|
134
|
+
RESULT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
135
|
+
--agent-id "test-agent-2" \
|
|
136
|
+
--event "fail" \
|
|
137
|
+
--metadata '{"taskId": "test-task", "error": "Test error", "stage": "validation"}')
|
|
138
|
+
|
|
139
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
140
|
+
EVENT=$(echo "$RESULT" | jq -r '.event')
|
|
141
|
+
assert_equals "tracked" "$STATUS"
|
|
142
|
+
assert_equals "fail" "$EVENT"
|
|
143
|
+
|
|
144
|
+
# Test 6: Lifecycle Tracking - Timeout
|
|
145
|
+
run_test "Lifecycle Tracking - Agent Timeout"
|
|
146
|
+
RESULT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
147
|
+
--agent-id "test-agent-3" \
|
|
148
|
+
--event "timeout" \
|
|
149
|
+
--metadata '{"taskId": "test-task", "timeLimit": 60000, "elapsed": 65000}')
|
|
150
|
+
|
|
151
|
+
STATUS=$(echo "$RESULT" | jq -r '.status')
|
|
152
|
+
EVENT=$(echo "$RESULT" | jq -r '.event')
|
|
153
|
+
assert_equals "tracked" "$STATUS"
|
|
154
|
+
assert_equals "timeout" "$EVENT"
|
|
155
|
+
|
|
156
|
+
# Test 7: Invalid Event Type
|
|
157
|
+
run_test "Lifecycle Tracking - Invalid Event Type"
|
|
158
|
+
OUTPUT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
159
|
+
--agent-id "test-agent-4" \
|
|
160
|
+
--event "invalid-event" \
|
|
161
|
+
--metadata '{"taskId": "test-task"}' 2>&1 || true)
|
|
162
|
+
|
|
163
|
+
assert_contains "Invalid event type" "$OUTPUT"
|
|
164
|
+
|
|
165
|
+
# Test 8: Invalid JSON Payload
|
|
166
|
+
run_test "Event Publishing - Invalid JSON"
|
|
167
|
+
OUTPUT=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
168
|
+
--topic "test:invalid" \
|
|
169
|
+
--payload 'not-valid-json' 2>&1 || true)
|
|
170
|
+
|
|
171
|
+
assert_contains "Invalid JSON" "$OUTPUT"
|
|
172
|
+
|
|
173
|
+
# Test 9: Missing Required Arguments - Publish
|
|
174
|
+
run_test "Event Publishing - Missing Arguments"
|
|
175
|
+
OUTPUT=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
176
|
+
--topic "test:missing" 2>&1 || true)
|
|
177
|
+
|
|
178
|
+
assert_contains "required" "$OUTPUT"
|
|
179
|
+
|
|
180
|
+
# Test 10: Missing Required Arguments - Lifecycle
|
|
181
|
+
run_test "Lifecycle Tracking - Missing Arguments"
|
|
182
|
+
OUTPUT=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
183
|
+
--agent-id "test-agent-5" \
|
|
184
|
+
--event "spawn" 2>&1 || true)
|
|
185
|
+
|
|
186
|
+
assert_contains "required" "$OUTPUT"
|
|
187
|
+
|
|
188
|
+
# Test 11: Event ID Generation
|
|
189
|
+
run_test "Event Publishing - Unique Event IDs"
|
|
190
|
+
RESULT1=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
191
|
+
--topic "test:id-check" \
|
|
192
|
+
--payload '{"test": 1}')
|
|
193
|
+
EVENT_ID1=$(echo "$RESULT1" | jq -r '.eventId')
|
|
194
|
+
|
|
195
|
+
RESULT2=$("$SCRIPT_DIR/invoke-event-publish.sh" \
|
|
196
|
+
--topic "test:id-check" \
|
|
197
|
+
--payload '{"test": 2}')
|
|
198
|
+
EVENT_ID2=$(echo "$RESULT2" | jq -r '.eventId')
|
|
199
|
+
|
|
200
|
+
if [ "$EVENT_ID1" != "$EVENT_ID2" ]; then
|
|
201
|
+
echo -e "${GREEN}✓ PASSED${NC} (Event IDs are unique)"
|
|
202
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
203
|
+
else
|
|
204
|
+
echo -e "${RED}✗ FAILED${NC} (Event IDs are not unique)"
|
|
205
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
206
|
+
fi
|
|
207
|
+
|
|
208
|
+
# Test 12: Tracking ID Generation
|
|
209
|
+
run_test "Lifecycle Tracking - Unique Tracking IDs"
|
|
210
|
+
RESULT1=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
211
|
+
--agent-id "test-agent-6" \
|
|
212
|
+
--event "spawn" \
|
|
213
|
+
--metadata '{"test": 1}')
|
|
214
|
+
TRACKING_ID1=$(echo "$RESULT1" | jq -r '.trackingId')
|
|
215
|
+
|
|
216
|
+
RESULT2=$("$SCRIPT_DIR/invoke-lifecycle-track.sh" \
|
|
217
|
+
--agent-id "test-agent-7" \
|
|
218
|
+
--event "spawn" \
|
|
219
|
+
--metadata '{"test": 2}')
|
|
220
|
+
TRACKING_ID2=$(echo "$RESULT2" | jq -r '.trackingId')
|
|
221
|
+
|
|
222
|
+
if [ "$TRACKING_ID1" != "$TRACKING_ID2" ]; then
|
|
223
|
+
echo -e "${GREEN}✓ PASSED${NC} (Tracking IDs are unique)"
|
|
224
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
225
|
+
else
|
|
226
|
+
echo -e "${RED}✗ FAILED${NC} (Tracking IDs are not unique)"
|
|
227
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
228
|
+
fi
|
|
229
|
+
|
|
230
|
+
# Test 13: Event Statistics (via Node.js)
|
|
231
|
+
run_test "Event Statistics - Verification"
|
|
232
|
+
STATS=$(node -e "
|
|
233
|
+
const path = require('path');
|
|
234
|
+
const { eventBus } = require(path.join('$SCRIPT_DIR', 'eventbus-wrapper.cjs'));
|
|
235
|
+
|
|
236
|
+
// Emit test events
|
|
237
|
+
eventBus.emitEvent('stats:test:1', { data: 'test1' });
|
|
238
|
+
eventBus.emitEvent('stats:test:2', { data: 'test2' });
|
|
239
|
+
eventBus.emitEvent('stats:test:1', { data: 'test3' });
|
|
240
|
+
|
|
241
|
+
// Get stats
|
|
242
|
+
const stats = eventBus.getEventStats();
|
|
243
|
+
const test1Stats = stats.find(s => s.event === 'stats:test:1');
|
|
244
|
+
|
|
245
|
+
console.log(JSON.stringify({
|
|
246
|
+
count: test1Stats ? test1Stats.count : 0,
|
|
247
|
+
hasLastEmitted: test1Stats && test1Stats.lastEmitted !== null
|
|
248
|
+
}));
|
|
249
|
+
")
|
|
250
|
+
|
|
251
|
+
COUNT=$(echo "$STATS" | jq -r '.count')
|
|
252
|
+
if [ "$COUNT" -ge 2 ]; then
|
|
253
|
+
echo -e "${GREEN}✓ PASSED${NC} (Event count tracked correctly: $COUNT)"
|
|
254
|
+
TESTS_PASSED=$((TESTS_PASSED + 1))
|
|
255
|
+
else
|
|
256
|
+
echo -e "${RED}✗ FAILED${NC} (Event count incorrect: $COUNT)"
|
|
257
|
+
TESTS_FAILED=$((TESTS_FAILED + 1))
|
|
258
|
+
fi
|
|
259
|
+
|
|
260
|
+
# Test Summary
|
|
261
|
+
echo ""
|
|
262
|
+
echo "========================================"
|
|
263
|
+
echo "Test Summary"
|
|
264
|
+
echo "========================================"
|
|
265
|
+
echo "Total Tests: $TESTS_RUN"
|
|
266
|
+
echo -e "${GREEN}Passed: $TESTS_PASSED${NC}"
|
|
267
|
+
if [ $TESTS_FAILED -gt 0 ]; then
|
|
268
|
+
echo -e "${RED}Failed: $TESTS_FAILED${NC}"
|
|
269
|
+
else
|
|
270
|
+
echo "Failed: $TESTS_FAILED"
|
|
271
|
+
fi
|
|
272
|
+
echo "========================================"
|
|
273
|
+
|
|
274
|
+
# Exit with appropriate code
|
|
275
|
+
if [ $TESTS_FAILED -gt 0 ]; then
|
|
276
|
+
exit 1
|
|
277
|
+
else
|
|
278
|
+
echo -e "${GREEN}All tests passed!${NC}"
|
|
279
|
+
exit 0
|
|
280
|
+
fi
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
# Fleet Manager Skill
|
|
2
|
+
|
|
3
|
+
## Version
|
|
4
|
+
**Version:** 1.0.0
|
|
5
|
+
**Status:** OPERATIONAL
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
Fleet Manager provides comprehensive resource allocation, tier-based resource management, performance monitoring, and load balancing for distributed agent swarms.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
- Agent Registration with Resource Tiers
|
|
12
|
+
- Dynamic Resource Allocation
|
|
13
|
+
- Real-time Performance Metrics
|
|
14
|
+
- Intelligent Load Balancing
|
|
15
|
+
- Resource Quota Management
|
|
16
|
+
- Health Monitoring
|
|
17
|
+
|
|
18
|
+
## Resource Tiers
|
|
19
|
+
|
|
20
|
+
### Shared Tier (Default)
|
|
21
|
+
- **CPU:** 0.5 cores
|
|
22
|
+
- **Memory:** 512 MB
|
|
23
|
+
- **Use Case:** Lightweight tasks, research, documentation
|
|
24
|
+
- **Cost:** Minimal
|
|
25
|
+
|
|
26
|
+
### Dedicated Tier
|
|
27
|
+
- **CPU:** 2.0 cores
|
|
28
|
+
- **Memory:** 2048 MB
|
|
29
|
+
- **Use Case:** Backend development, testing, code analysis
|
|
30
|
+
- **Cost:** Standard
|
|
31
|
+
|
|
32
|
+
### Premium Tier
|
|
33
|
+
- **CPU:** 4.0 cores
|
|
34
|
+
- **Memory:** 4096 MB
|
|
35
|
+
- **Use Case:** CFN Loop validation, compilation, heavy processing
|
|
36
|
+
- **Cost:** Maximum
|
|
37
|
+
|
|
38
|
+
## Agent Integration Examples
|
|
39
|
+
|
|
40
|
+
### 1. Register Agent with Resource Tier
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Register agent with shared tier (default)
|
|
44
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
45
|
+
--agent-id "researcher-1" \
|
|
46
|
+
--tier shared
|
|
47
|
+
|
|
48
|
+
# Register agent with dedicated tier
|
|
49
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
50
|
+
--agent-id "backend-dev-1" \
|
|
51
|
+
--tier dedicated
|
|
52
|
+
|
|
53
|
+
# Register agent with premium tier
|
|
54
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
55
|
+
--agent-id "cfn-validator-1" \
|
|
56
|
+
--tier premium
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Output:**
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"status": "registered",
|
|
63
|
+
"agentId": "backend-dev-1",
|
|
64
|
+
"tier": "dedicated",
|
|
65
|
+
"resources": {
|
|
66
|
+
"cpu": 2.0,
|
|
67
|
+
"memory": 2048
|
|
68
|
+
},
|
|
69
|
+
"timestamp": 1729332000
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 2. Allocate Resources to Agent
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Allocate custom resources
|
|
77
|
+
./.claude/skills/fleet-manager/invoke-fleet-allocate.sh \
|
|
78
|
+
--agent-id "backend-dev-1" \
|
|
79
|
+
--cpu 3.0 \
|
|
80
|
+
--memory 3072
|
|
81
|
+
|
|
82
|
+
# Allocate with priority flag
|
|
83
|
+
./.claude/skills/fleet-manager/invoke-fleet-allocate.sh \
|
|
84
|
+
--agent-id "cfn-validator-1" \
|
|
85
|
+
--cpu 4.0 \
|
|
86
|
+
--memory 4096 \
|
|
87
|
+
--priority high
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Output:**
|
|
91
|
+
```json
|
|
92
|
+
{
|
|
93
|
+
"status": "allocated",
|
|
94
|
+
"agentId": "backend-dev-1",
|
|
95
|
+
"allocated": {
|
|
96
|
+
"cpu": 3.0,
|
|
97
|
+
"memory": 3072
|
|
98
|
+
},
|
|
99
|
+
"availability": {
|
|
100
|
+
"cpuRemaining": 5.0,
|
|
101
|
+
"memoryRemaining": 4096
|
|
102
|
+
},
|
|
103
|
+
"timestamp": 1729332100
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 3. Get Performance Metrics
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Get metrics for specific agent
|
|
111
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
112
|
+
--agent-id "backend-dev-1"
|
|
113
|
+
|
|
114
|
+
# Get metrics with detailed breakdown
|
|
115
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
116
|
+
--agent-id "backend-dev-1" \
|
|
117
|
+
--detailed
|
|
118
|
+
|
|
119
|
+
# Get fleet-wide metrics
|
|
120
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
121
|
+
--all
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Output:**
|
|
125
|
+
```json
|
|
126
|
+
{
|
|
127
|
+
"agentId": "backend-dev-1",
|
|
128
|
+
"metrics": {
|
|
129
|
+
"cpuUsage": 2.4,
|
|
130
|
+
"cpuUtilization": 0.80,
|
|
131
|
+
"memoryUsage": 1800,
|
|
132
|
+
"memoryUtilization": 0.88,
|
|
133
|
+
"taskCompletionRate": 0.95,
|
|
134
|
+
"averageResponseTime": 120
|
|
135
|
+
},
|
|
136
|
+
"health": "healthy",
|
|
137
|
+
"timestamp": 1729332200
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### 4. Trigger Load Balancing
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# Balance resources across multiple agents
|
|
145
|
+
./.claude/skills/fleet-manager/invoke-fleet-balance.sh \
|
|
146
|
+
--agents "backend-dev-1,backend-dev-2,backend-dev-3"
|
|
147
|
+
|
|
148
|
+
# Balance with strategy
|
|
149
|
+
./.claude/skills/fleet-manager/invoke-fleet-balance.sh \
|
|
150
|
+
--agents "cfn-validator-1,cfn-validator-2" \
|
|
151
|
+
--strategy round-robin
|
|
152
|
+
|
|
153
|
+
# Balance entire fleet
|
|
154
|
+
./.claude/skills/fleet-manager/invoke-fleet-balance.sh \
|
|
155
|
+
--all
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Output:**
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"status": "balanced",
|
|
162
|
+
"strategy": "round-robin",
|
|
163
|
+
"agents": [
|
|
164
|
+
{
|
|
165
|
+
"agentId": "backend-dev-1",
|
|
166
|
+
"beforeLoad": 0.80,
|
|
167
|
+
"afterLoad": 0.65,
|
|
168
|
+
"adjustment": "reduced"
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"agentId": "backend-dev-2",
|
|
172
|
+
"beforeLoad": 0.45,
|
|
173
|
+
"afterLoad": 0.60,
|
|
174
|
+
"adjustment": "increased"
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"timestamp": 1729332300
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Integration Patterns
|
|
182
|
+
|
|
183
|
+
### Pattern 1: CFN Loop with Resource Management
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Register all CFN Loop agents with appropriate tiers
|
|
187
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
188
|
+
--agent-id "coder-1" --tier dedicated
|
|
189
|
+
|
|
190
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
191
|
+
--agent-id "reviewer-1" --tier dedicated
|
|
192
|
+
|
|
193
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
194
|
+
--agent-id "product-owner-1" --tier premium
|
|
195
|
+
|
|
196
|
+
# Monitor performance during loop
|
|
197
|
+
metrics=$(
|
|
198
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
199
|
+
--agent-id "coder-1"
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
# If CPU utilization high, trigger rebalancing
|
|
203
|
+
cpu_util=$(echo "$metrics" | jq '.metrics.cpuUtilization')
|
|
204
|
+
if (( $(echo "$cpu_util > 0.85" | bc -l) )); then
|
|
205
|
+
./.claude/skills/fleet-manager/invoke-fleet-balance.sh \
|
|
206
|
+
--agents "coder-1,coder-2,coder-3"
|
|
207
|
+
fi
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Pattern 2: Dynamic Resource Scaling
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Start with shared tier
|
|
214
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
215
|
+
--agent-id "researcher-1" --tier shared
|
|
216
|
+
|
|
217
|
+
# If task complexity increases, allocate more resources
|
|
218
|
+
./.claude/skills/fleet-manager/invoke-fleet-allocate.sh \
|
|
219
|
+
--agent-id "researcher-1" \
|
|
220
|
+
--cpu 2.0 \
|
|
221
|
+
--memory 2048
|
|
222
|
+
|
|
223
|
+
# Monitor and adjust
|
|
224
|
+
metrics=$(
|
|
225
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
226
|
+
--agent-id "researcher-1"
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
memory_util=$(echo "$metrics" | jq '.metrics.memoryUtilization')
|
|
230
|
+
if (( $(echo "$memory_util > 0.90" | bc -l) )); then
|
|
231
|
+
./.claude/skills/fleet-manager/invoke-fleet-allocate.sh \
|
|
232
|
+
--agent-id "researcher-1" \
|
|
233
|
+
--memory 4096 \
|
|
234
|
+
--priority high
|
|
235
|
+
fi
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Pattern 3: Health-Based Resource Adjustment
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# Check agent health
|
|
242
|
+
metrics=$(
|
|
243
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
244
|
+
--agent-id "backend-dev-1"
|
|
245
|
+
)
|
|
246
|
+
|
|
247
|
+
health=$(echo "$metrics" | jq -r '.health')
|
|
248
|
+
|
|
249
|
+
if [ "$health" = "degraded" ]; then
|
|
250
|
+
# Reduce load on degraded agent
|
|
251
|
+
./.claude/skills/fleet-manager/invoke-fleet-balance.sh \
|
|
252
|
+
--agents "backend-dev-1,backend-dev-2" \
|
|
253
|
+
--strategy offload
|
|
254
|
+
fi
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## Performance Characteristics
|
|
258
|
+
|
|
259
|
+
### Resource Allocation Latency
|
|
260
|
+
- Registration: <50ms
|
|
261
|
+
- Allocation: <100ms
|
|
262
|
+
- Metrics Retrieval: <30ms
|
|
263
|
+
- Load Balancing: <200ms
|
|
264
|
+
|
|
265
|
+
### Scalability
|
|
266
|
+
- Max Concurrent Agents: 100+
|
|
267
|
+
- Max Resource Pool: 400 cores, 400GB RAM
|
|
268
|
+
- Metrics Collection Rate: 1Hz per agent
|
|
269
|
+
- Balancing Frequency: On-demand or scheduled
|
|
270
|
+
|
|
271
|
+
### Resource Efficiency
|
|
272
|
+
- Shared Tier: 95% resource utilization
|
|
273
|
+
- Dedicated Tier: 85% resource utilization
|
|
274
|
+
- Premium Tier: 75% resource utilization (reserved headroom)
|
|
275
|
+
|
|
276
|
+
## Redis Key Structure
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
# Agent Registration
|
|
280
|
+
fleet:agent:{agentId}:registration -> {tier, cpu, memory, timestamp}
|
|
281
|
+
|
|
282
|
+
# Resource Allocation
|
|
283
|
+
fleet:agent:{agentId}:allocation -> {cpu, memory, priority, timestamp}
|
|
284
|
+
|
|
285
|
+
# Performance Metrics
|
|
286
|
+
fleet:agent:{agentId}:metrics -> {cpuUsage, memoryUsage, health, timestamp}
|
|
287
|
+
|
|
288
|
+
# Load Balancing State
|
|
289
|
+
fleet:balance:{balanceId}:state -> {agents, strategy, status, timestamp}
|
|
290
|
+
|
|
291
|
+
# Resource Pool
|
|
292
|
+
fleet:pool:available -> {totalCpu, totalMemory, allocated, reserved}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
## Error Handling
|
|
296
|
+
|
|
297
|
+
### Common Errors
|
|
298
|
+
|
|
299
|
+
**Insufficient Resources:**
|
|
300
|
+
```json
|
|
301
|
+
{
|
|
302
|
+
"error": "RESOURCE_UNAVAILABLE",
|
|
303
|
+
"message": "Requested resources exceed available pool",
|
|
304
|
+
"requested": {"cpu": 4.0, "memory": 4096},
|
|
305
|
+
"available": {"cpu": 2.0, "memory": 2048}
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**Agent Not Found:**
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"error": "AGENT_NOT_FOUND",
|
|
313
|
+
"message": "Agent backend-dev-1 not registered",
|
|
314
|
+
"suggestion": "Register agent first using invoke-fleet-register.sh"
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**Invalid Tier:**
|
|
319
|
+
```json
|
|
320
|
+
{
|
|
321
|
+
"error": "INVALID_TIER",
|
|
322
|
+
"message": "Tier 'ultra' not recognized",
|
|
323
|
+
"validTiers": ["shared", "dedicated", "premium"]
|
|
324
|
+
}
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
## Best Practices
|
|
328
|
+
|
|
329
|
+
1. **Register Before Allocation:** Always register agents before allocating custom resources
|
|
330
|
+
2. **Monitor Regularly:** Check metrics at least once per iteration for long-running tasks
|
|
331
|
+
3. **Balance Proactively:** Trigger load balancing when fleet-wide utilization >70%
|
|
332
|
+
4. **Use Appropriate Tiers:** Match tier to task complexity to optimize cost
|
|
333
|
+
5. **Graceful Degradation:** Handle resource scarcity by queuing tasks or reducing quality
|
|
334
|
+
|
|
335
|
+
## Testing
|
|
336
|
+
|
|
337
|
+
Run comprehensive test suite:
|
|
338
|
+
```bash
|
|
339
|
+
./.claude/skills/fleet-manager/test-fleet-manager.sh
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Test Coverage
|
|
343
|
+
- Agent registration (all tiers)
|
|
344
|
+
- Resource allocation (standard and high-priority)
|
|
345
|
+
- Metrics collection (individual and fleet-wide)
|
|
346
|
+
- Load balancing (multiple strategies)
|
|
347
|
+
- Error handling (resource exhaustion, invalid inputs)
|
|
348
|
+
- Concurrency (parallel agent operations)
|
|
349
|
+
|
|
350
|
+
## Coordination with Other Skills
|
|
351
|
+
|
|
352
|
+
### Redis Coordination Integration
|
|
353
|
+
```bash
|
|
354
|
+
# Register CFN Loop agents with Fleet Manager
|
|
355
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
356
|
+
--agent-id "coder-1" --tier dedicated
|
|
357
|
+
|
|
358
|
+
# Start CFN Loop with orchestration
|
|
359
|
+
./.claude/skills/redis-coordination/orchestrate-cfn-loop.sh \
|
|
360
|
+
--task-id "auth-system" \
|
|
361
|
+
--loop3-agents "coder-1,coder-2" \
|
|
362
|
+
--loop2-agents "reviewer-1" \
|
|
363
|
+
--product-owner "product-owner-1"
|
|
364
|
+
|
|
365
|
+
# Monitor resource usage during loop
|
|
366
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh \
|
|
367
|
+
--agent-id "coder-1"
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Agent Spawning Integration
|
|
371
|
+
```bash
|
|
372
|
+
# Register agent in spawning script
|
|
373
|
+
./.claude/skills/fleet-manager/invoke-fleet-register.sh \
|
|
374
|
+
--agent-id "$AGENT_ID" --tier dedicated
|
|
375
|
+
|
|
376
|
+
# Spawn agent with Task tool
|
|
377
|
+
# ... agent spawning logic ...
|
|
378
|
+
|
|
379
|
+
# Deallocate resources when agent completes
|
|
380
|
+
./.claude/skills/fleet-manager/invoke-fleet-allocate.sh \
|
|
381
|
+
--agent-id "$AGENT_ID" --cpu 0 --memory 0
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
## Maintenance
|
|
385
|
+
|
|
386
|
+
### Daily Health Checks
|
|
387
|
+
```bash
|
|
388
|
+
# Check fleet-wide health
|
|
389
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh --all | jq '.agents[] | select(.health != "healthy")'
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### Weekly Resource Audits
|
|
393
|
+
```bash
|
|
394
|
+
# Identify underutilized agents
|
|
395
|
+
./.claude/skills/fleet-manager/invoke-fleet-metrics.sh --all | jq '.agents[] | select(.metrics.cpuUtilization < 0.20)'
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Monthly Capacity Planning
|
|
399
|
+
```bash
|
|
400
|
+
# Analyze resource trends
|
|
401
|
+
# Export metrics to analytics system for trend analysis
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Version History
|
|
405
|
+
|
|
406
|
+
### v1.0.0 (2025-10-19)
|
|
407
|
+
- Initial release
|
|
408
|
+
- Agent registration with 3-tier resource model
|
|
409
|
+
- Dynamic resource allocation
|
|
410
|
+
- Real-time performance metrics
|
|
411
|
+
- Load balancing with multiple strategies
|
|
412
|
+
- Comprehensive test suite
|