claude-flow-novice 2.9.1 → 2.10.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.
- 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/cli/agent-executor.js +1 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/package.json +43 -7
- package/readme/README.md +15 -4
- package/scripts/init-project.js +76 -6
- 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,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Claude Flow Novice Configuration",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"redis": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"host": {"type": "string", "default": "localhost"},
|
|
10
|
+
"port": {"type": "number", "default": 6379},
|
|
11
|
+
"password": {"type": "string"}
|
|
12
|
+
},
|
|
13
|
+
"required": ["host", "port"]
|
|
14
|
+
},
|
|
15
|
+
"agent": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"properties": {
|
|
18
|
+
"default_strategy": {"type": "string", "default": "development"},
|
|
19
|
+
"max_concurrent_agents": {"type": "number", "default": 5},
|
|
20
|
+
"log_level": {"type": "string", "enum": ["debug", "info", "warn", "error"], "default": "info"}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"security": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"enabled": {"type": "boolean", "default": true},
|
|
27
|
+
"max_retry_attempts": {"type": "number", "default": 3}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": ["redis", "agent"]
|
|
32
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
# Config Management CLI Wrapper with Nested Support
|
|
5
|
+
|
|
6
|
+
CONFIG_FILE="${HOME}/.claude-flow-config.json"
|
|
7
|
+
SCHEMA_FILE="/mnt/c/Users/masha/Documents/claude-flow-novice/.claude/skills/cfn-config-management/config.json"
|
|
8
|
+
|
|
9
|
+
# Validate JSON against schema
|
|
10
|
+
validate_config() {
|
|
11
|
+
if command -v ajv &> /dev/null; then
|
|
12
|
+
ajv validate -s "$SCHEMA_FILE" -d "$1"
|
|
13
|
+
else
|
|
14
|
+
echo "Warning: JSON schema validation skipped. Install 'ajv' for full validation."
|
|
15
|
+
return 0
|
|
16
|
+
fi
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
# Get nested configuration value
|
|
20
|
+
get_config() {
|
|
21
|
+
local key="$1"
|
|
22
|
+
jq -r "$key" "$CONFIG_FILE" 2>/dev/null || echo "Key not found: $key"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Set nested configuration value with advanced handling
|
|
26
|
+
set_config() {
|
|
27
|
+
local key="$1"
|
|
28
|
+
local value="$2"
|
|
29
|
+
|
|
30
|
+
# Temp file for atomic write
|
|
31
|
+
temp_file=$(mktemp)
|
|
32
|
+
|
|
33
|
+
# Handle nested key updates
|
|
34
|
+
jq "$key = $value" "$CONFIG_FILE" > "$temp_file"
|
|
35
|
+
|
|
36
|
+
# Validate before overwriting
|
|
37
|
+
if validate_config "$temp_file"; then
|
|
38
|
+
mv "$temp_file" "$CONFIG_FILE"
|
|
39
|
+
echo "Configuration updated successfully."
|
|
40
|
+
else
|
|
41
|
+
rm "$temp_file"
|
|
42
|
+
echo "Invalid configuration. Update rejected."
|
|
43
|
+
exit 1
|
|
44
|
+
fi
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# Merge configurations
|
|
48
|
+
merge_config() {
|
|
49
|
+
local config_to_merge="$1"
|
|
50
|
+
|
|
51
|
+
# Temp file for atomic write
|
|
52
|
+
temp_file=$(mktemp)
|
|
53
|
+
|
|
54
|
+
# Deep merge using jq
|
|
55
|
+
jq -s '.[0] * .[1]' "$CONFIG_FILE" "$config_to_merge" > "$temp_file"
|
|
56
|
+
|
|
57
|
+
# Validate before overwriting
|
|
58
|
+
if validate_config "$temp_file"; then
|
|
59
|
+
mv "$temp_file" "$CONFIG_FILE"
|
|
60
|
+
echo "Configuration merged successfully."
|
|
61
|
+
else
|
|
62
|
+
rm "$temp_file"
|
|
63
|
+
echo "Invalid merged configuration. Update rejected."
|
|
64
|
+
exit 1
|
|
65
|
+
fi
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
# List all configurations
|
|
69
|
+
list_config() {
|
|
70
|
+
cat "$CONFIG_FILE"
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
# Reset to defaults
|
|
74
|
+
reset_config() {
|
|
75
|
+
cp "$SCHEMA_FILE" "$CONFIG_FILE"
|
|
76
|
+
echo "Configuration reset to defaults."
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
# Create config file if it doesn't exist
|
|
80
|
+
ensure_config_file() {
|
|
81
|
+
if [ ! -f "$CONFIG_FILE" ]; then
|
|
82
|
+
reset_config
|
|
83
|
+
fi
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
# Main command dispatcher
|
|
87
|
+
main() {
|
|
88
|
+
ensure_config_file
|
|
89
|
+
|
|
90
|
+
case "$1" in
|
|
91
|
+
get)
|
|
92
|
+
get_config "$2"
|
|
93
|
+
;;
|
|
94
|
+
set)
|
|
95
|
+
set_config "$2" "$3"
|
|
96
|
+
;;
|
|
97
|
+
merge)
|
|
98
|
+
merge_config "$2"
|
|
99
|
+
;;
|
|
100
|
+
list)
|
|
101
|
+
list_config
|
|
102
|
+
;;
|
|
103
|
+
reset)
|
|
104
|
+
reset_config
|
|
105
|
+
;;
|
|
106
|
+
*)
|
|
107
|
+
echo "Usage: $0 {get|set|merge|list|reset} [key] [value]"
|
|
108
|
+
exit 1
|
|
109
|
+
;;
|
|
110
|
+
esac
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
main "$@"
|
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
# Event Bus Skill
|
|
2
|
+
|
|
3
|
+
## Version
|
|
4
|
+
**Version:** 1.0.0
|
|
5
|
+
**Status:** OPERATIONAL
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
Event Bus provides a centralized event-driven communication system for agent coordination, system events, and lifecycle tracking. Built on the QEEventBus architecture, it enables decoupled, asynchronous messaging between agents and system components.
|
|
9
|
+
|
|
10
|
+
## Features
|
|
11
|
+
- Event Publishing and Subscription
|
|
12
|
+
- Agent Lifecycle Tracking
|
|
13
|
+
- Event Filtering and Statistics
|
|
14
|
+
- Type-Safe Event Handling
|
|
15
|
+
- WASM JSON Integration (Placeholder)
|
|
16
|
+
|
|
17
|
+
## Core Components
|
|
18
|
+
|
|
19
|
+
### 1. Event Router and Dispatcher
|
|
20
|
+
The Event Bus uses a pub/sub architecture with the following key components:
|
|
21
|
+
|
|
22
|
+
**Event Emitter**: Core EventBus class from `.claude/core/event-bus.js`
|
|
23
|
+
- `emit(event, data)` - Publish an event
|
|
24
|
+
- `on(event, handler)` - Subscribe to an event
|
|
25
|
+
- `once(event, handler)` - Subscribe to one-time event
|
|
26
|
+
- `off(event, handler)` - Unsubscribe from event
|
|
27
|
+
- `waitFor(event, timeoutMs)` - Async wait for event
|
|
28
|
+
|
|
29
|
+
**Event Statistics**:
|
|
30
|
+
- `getEventStats()` - Get event metrics (count, last emitted)
|
|
31
|
+
- `resetStats()` - Clear event statistics
|
|
32
|
+
|
|
33
|
+
### 2. Agent Lifecycle Events
|
|
34
|
+
Track agent state transitions across the execution lifecycle:
|
|
35
|
+
|
|
36
|
+
**Lifecycle Stages**:
|
|
37
|
+
- `spawn` - Agent created and initialized
|
|
38
|
+
- `complete` - Agent successfully finished task
|
|
39
|
+
- `fail` - Agent encountered critical error
|
|
40
|
+
- `timeout` - Agent exceeded execution time limit
|
|
41
|
+
|
|
42
|
+
**Lifecycle Metadata**:
|
|
43
|
+
```json
|
|
44
|
+
{
|
|
45
|
+
"agentId": "backend-dev-1",
|
|
46
|
+
"taskId": "auth-system",
|
|
47
|
+
"timestamp": 1729311234,
|
|
48
|
+
"metadata": {
|
|
49
|
+
"reason": "Task completed successfully",
|
|
50
|
+
"confidence": 0.92,
|
|
51
|
+
"duration": 45000
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 3. System Events
|
|
57
|
+
Pre-defined system-wide events for cross-agent coordination:
|
|
58
|
+
|
|
59
|
+
**Common System Events**:
|
|
60
|
+
- `agent:spawned` - New agent created
|
|
61
|
+
- `agent:completed` - Agent finished
|
|
62
|
+
- `agent:failed` - Agent error
|
|
63
|
+
- `task:started` - Task execution begins
|
|
64
|
+
- `task:completed` - Task finished
|
|
65
|
+
- `consensus:reached` - CFN Loop consensus achieved
|
|
66
|
+
- `validation:passed` - Validation gate passed
|
|
67
|
+
- `validation:failed` - Validation gate failed
|
|
68
|
+
|
|
69
|
+
### 4. WASM JSON Integration
|
|
70
|
+
**Status:** Placeholder for future implementation
|
|
71
|
+
|
|
72
|
+
Future integration with WASM-based JSON processing for:
|
|
73
|
+
- High-performance event serialization
|
|
74
|
+
- Schema validation
|
|
75
|
+
- Binary event encoding
|
|
76
|
+
- Cross-platform event format
|
|
77
|
+
|
|
78
|
+
## Agent Integration Examples
|
|
79
|
+
|
|
80
|
+
### 1. Publishing Events
|
|
81
|
+
|
|
82
|
+
#### Basic Event Publishing
|
|
83
|
+
```bash
|
|
84
|
+
# Publish task completion event
|
|
85
|
+
./.claude/skills/event-bus/invoke-event-publish.sh \
|
|
86
|
+
--topic "task:completed" \
|
|
87
|
+
--payload '{
|
|
88
|
+
"taskId": "auth-system",
|
|
89
|
+
"agentId": "backend-dev-1",
|
|
90
|
+
"confidence": 0.92,
|
|
91
|
+
"timestamp": '$(date +%s)'
|
|
92
|
+
}'
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
#### Publishing with Trace ID
|
|
96
|
+
```bash
|
|
97
|
+
# Publish with distributed tracing
|
|
98
|
+
./.claude/skills/event-bus/invoke-event-publish.sh \
|
|
99
|
+
--topic "validation:passed" \
|
|
100
|
+
--payload '{
|
|
101
|
+
"taskId": "deploy-feature",
|
|
102
|
+
"validator": "security-agent",
|
|
103
|
+
"checks": ["input-validation", "auth-check", "rate-limiting"]
|
|
104
|
+
}' \
|
|
105
|
+
--trace-id "trace-123-abc"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 2. Subscribing to Events
|
|
109
|
+
|
|
110
|
+
#### Subscribe to Single Event
|
|
111
|
+
```bash
|
|
112
|
+
# Subscribe to agent completion events
|
|
113
|
+
./.claude/skills/event-bus/invoke-event-subscribe.sh \
|
|
114
|
+
--topic "agent:completed" \
|
|
115
|
+
--callback "handle_agent_complete"
|
|
116
|
+
|
|
117
|
+
# Callback function definition
|
|
118
|
+
handle_agent_complete() {
|
|
119
|
+
local event_data="$1"
|
|
120
|
+
echo "Agent completed: $(echo "$event_data" | jq -r '.agentId')"
|
|
121
|
+
# Process event...
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Filtered Event Subscription
|
|
126
|
+
```bash
|
|
127
|
+
# Subscribe only to high-confidence completions
|
|
128
|
+
./.claude/skills/event-bus/invoke-event-subscribe.sh \
|
|
129
|
+
--topic "agent:completed" \
|
|
130
|
+
--filter 'select(.confidence >= 0.90)' \
|
|
131
|
+
--callback "handle_high_confidence_completion"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### 3. Agent Lifecycle Tracking
|
|
135
|
+
|
|
136
|
+
#### Track Agent Spawn
|
|
137
|
+
```bash
|
|
138
|
+
# Record agent creation
|
|
139
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
140
|
+
--agent-id "backend-dev-1" \
|
|
141
|
+
--event "spawn" \
|
|
142
|
+
--metadata '{
|
|
143
|
+
"taskId": "auth-system",
|
|
144
|
+
"role": "backend-developer",
|
|
145
|
+
"timestamp": '$(date +%s)'
|
|
146
|
+
}'
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
#### Track Agent Completion
|
|
150
|
+
```bash
|
|
151
|
+
# Record successful completion
|
|
152
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
153
|
+
--agent-id "backend-dev-1" \
|
|
154
|
+
--event "complete" \
|
|
155
|
+
--metadata '{
|
|
156
|
+
"taskId": "auth-system",
|
|
157
|
+
"confidence": 0.92,
|
|
158
|
+
"duration": 45000,
|
|
159
|
+
"filesModified": 12
|
|
160
|
+
}'
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
#### Track Agent Failure
|
|
164
|
+
```bash
|
|
165
|
+
# Record agent failure
|
|
166
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
167
|
+
--agent-id "backend-dev-1" \
|
|
168
|
+
--event "fail" \
|
|
169
|
+
--metadata '{
|
|
170
|
+
"taskId": "auth-system",
|
|
171
|
+
"error": "TypeScript compilation failed",
|
|
172
|
+
"stage": "post-edit-validation",
|
|
173
|
+
"timestamp": '$(date +%s)'
|
|
174
|
+
}'
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
#### Track Agent Timeout
|
|
178
|
+
```bash
|
|
179
|
+
# Record timeout
|
|
180
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
181
|
+
--agent-id "backend-dev-1" \
|
|
182
|
+
--event "timeout" \
|
|
183
|
+
--metadata '{
|
|
184
|
+
"taskId": "auth-system",
|
|
185
|
+
"timeLimit": 300000,
|
|
186
|
+
"elapsed": 305000
|
|
187
|
+
}'
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Integration Patterns
|
|
191
|
+
|
|
192
|
+
### Pattern 1: Event-Driven Coordination
|
|
193
|
+
Use events to coordinate agent workflows without tight coupling:
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Agent A publishes completion
|
|
197
|
+
./.claude/skills/event-bus/invoke-event-publish.sh \
|
|
198
|
+
--topic "code:ready" \
|
|
199
|
+
--payload '{"taskId": "auth", "status": "ready-for-review"}'
|
|
200
|
+
|
|
201
|
+
# Agent B subscribes and auto-triggers
|
|
202
|
+
./.claude/skills/event-bus/invoke-event-subscribe.sh \
|
|
203
|
+
--topic "code:ready" \
|
|
204
|
+
--callback "start_review_process"
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Pattern 2: Lifecycle Monitoring
|
|
208
|
+
Track agent progress across CFN Loop iterations:
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Iteration 1 start
|
|
212
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
213
|
+
--agent-id "coder-1" \
|
|
214
|
+
--event "spawn" \
|
|
215
|
+
--metadata '{"iteration": 1, "taskId": "auth"}'
|
|
216
|
+
|
|
217
|
+
# Iteration 1 complete
|
|
218
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
219
|
+
--agent-id "coder-1" \
|
|
220
|
+
--event "complete" \
|
|
221
|
+
--metadata '{"iteration": 1, "confidence": 0.75}'
|
|
222
|
+
|
|
223
|
+
# Iteration 2 start (after feedback)
|
|
224
|
+
./.claude/skills/event-bus/invoke-lifecycle-track.sh \
|
|
225
|
+
--agent-id "coder-1" \
|
|
226
|
+
--event "spawn" \
|
|
227
|
+
--metadata '{"iteration": 2, "taskId": "auth"}'
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Pattern 3: Consensus Broadcasting
|
|
231
|
+
Broadcast consensus events to all waiting agents:
|
|
232
|
+
|
|
233
|
+
```bash
|
|
234
|
+
# Coordinator publishes consensus
|
|
235
|
+
./.claude/skills/event-bus/invoke-event-publish.sh \
|
|
236
|
+
--topic "consensus:reached" \
|
|
237
|
+
--payload '{
|
|
238
|
+
"taskId": "auth-system",
|
|
239
|
+
"avgConfidence": 0.93,
|
|
240
|
+
"iteration": 3,
|
|
241
|
+
"agents": ["coder-1", "reviewer-1", "tester-1"]
|
|
242
|
+
}'
|
|
243
|
+
|
|
244
|
+
# All agents subscribe and receive notification
|
|
245
|
+
./.claude/skills/event-bus/invoke-event-subscribe.sh \
|
|
246
|
+
--topic "consensus:reached" \
|
|
247
|
+
--callback "handle_consensus"
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
## Event Schema Guidelines
|
|
251
|
+
|
|
252
|
+
### Standard Event Format
|
|
253
|
+
All events should follow this structure:
|
|
254
|
+
|
|
255
|
+
```json
|
|
256
|
+
{
|
|
257
|
+
"eventType": "agent:completed",
|
|
258
|
+
"timestamp": 1729311234,
|
|
259
|
+
"source": {
|
|
260
|
+
"agentId": "backend-dev-1",
|
|
261
|
+
"taskId": "auth-system"
|
|
262
|
+
},
|
|
263
|
+
"payload": {
|
|
264
|
+
"confidence": 0.92,
|
|
265
|
+
"metrics": {
|
|
266
|
+
"duration": 45000,
|
|
267
|
+
"filesModified": 12
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
"traceId": "trace-123-abc"
|
|
271
|
+
}
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### Lifecycle Event Format
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"eventType": "lifecycle",
|
|
278
|
+
"stage": "complete",
|
|
279
|
+
"agentId": "backend-dev-1",
|
|
280
|
+
"taskId": "auth-system",
|
|
281
|
+
"timestamp": 1729311234,
|
|
282
|
+
"metadata": {
|
|
283
|
+
"confidence": 0.92,
|
|
284
|
+
"duration": 45000
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
## Available Invoke Scripts
|
|
290
|
+
|
|
291
|
+
### 1. invoke-event-publish.sh
|
|
292
|
+
Publish events to the event bus.
|
|
293
|
+
|
|
294
|
+
**Arguments**:
|
|
295
|
+
- `--topic` (required) - Event topic/channel
|
|
296
|
+
- `--payload` (required) - JSON event payload
|
|
297
|
+
- `--trace-id` (optional) - Distributed tracing ID
|
|
298
|
+
|
|
299
|
+
**Returns**: JSON with publish status and event ID
|
|
300
|
+
|
|
301
|
+
### 2. invoke-event-subscribe.sh
|
|
302
|
+
Subscribe to event topics.
|
|
303
|
+
|
|
304
|
+
**Arguments**:
|
|
305
|
+
- `--topic` (required) - Event topic to subscribe to
|
|
306
|
+
- `--callback` (required) - Callback function name
|
|
307
|
+
- `--filter` (optional) - JQ filter expression
|
|
308
|
+
|
|
309
|
+
**Returns**: Subscription ID
|
|
310
|
+
|
|
311
|
+
### 3. invoke-lifecycle-track.sh
|
|
312
|
+
Track agent lifecycle events.
|
|
313
|
+
|
|
314
|
+
**Arguments**:
|
|
315
|
+
- `--agent-id` (required) - Agent identifier
|
|
316
|
+
- `--event` (required) - Lifecycle event (spawn|complete|fail|timeout)
|
|
317
|
+
- `--metadata` (required) - JSON metadata object
|
|
318
|
+
|
|
319
|
+
**Returns**: JSON with tracking confirmation
|
|
320
|
+
|
|
321
|
+
### 4. test-event-bus.sh
|
|
322
|
+
Comprehensive test suite for Event Bus functionality.
|
|
323
|
+
|
|
324
|
+
**Tests**:
|
|
325
|
+
- Event publishing
|
|
326
|
+
- Event subscription
|
|
327
|
+
- Lifecycle tracking
|
|
328
|
+
- Event filtering
|
|
329
|
+
- Statistics collection
|
|
330
|
+
|
|
331
|
+
## Event Bus vs Redis Coordination
|
|
332
|
+
|
|
333
|
+
**Use Event Bus When**:
|
|
334
|
+
- Decoupled communication needed
|
|
335
|
+
- Multiple subscribers per event
|
|
336
|
+
- Event history/statistics required
|
|
337
|
+
- System-wide notifications
|
|
338
|
+
|
|
339
|
+
**Use Redis Coordination When**:
|
|
340
|
+
- Agent synchronization required
|
|
341
|
+
- Blocking operations needed (BLPOP)
|
|
342
|
+
- CFN Loop dependencies
|
|
343
|
+
- Consensus collection
|
|
344
|
+
|
|
345
|
+
**Combined Usage**:
|
|
346
|
+
Use both for comprehensive coordination:
|
|
347
|
+
```bash
|
|
348
|
+
# Redis: Block until agent ready
|
|
349
|
+
./.claude/skills/redis-coordination/invoke-waiting-mode.sh enter \
|
|
350
|
+
--task-id "auth" --agent-id "coder-1" --context "waiting"
|
|
351
|
+
|
|
352
|
+
# Event Bus: Notify all watchers
|
|
353
|
+
./.claude/skills/event-bus/invoke-event-publish.sh \
|
|
354
|
+
--topic "agent:waiting" \
|
|
355
|
+
--payload '{"agentId": "coder-1", "status": "blocked"}'
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
## Future Enhancements
|
|
359
|
+
|
|
360
|
+
### WASM JSON Processing
|
|
361
|
+
Future implementation will include:
|
|
362
|
+
- Binary event encoding via WASM
|
|
363
|
+
- Schema validation at native speed
|
|
364
|
+
- Cross-language event serialization
|
|
365
|
+
- Performance optimization for high-throughput scenarios
|
|
366
|
+
|
|
367
|
+
### Advanced Features (Roadmap)
|
|
368
|
+
- Event replay and time-travel debugging
|
|
369
|
+
- Persistent event store integration
|
|
370
|
+
- Event sourcing for agent state
|
|
371
|
+
- Real-time event streaming API
|
|
372
|
+
|
|
373
|
+
## Configuration
|
|
374
|
+
|
|
375
|
+
Event Bus behavior can be configured via:
|
|
376
|
+
- `EVENTBUS_DEBUG=true` - Enable verbose event logging
|
|
377
|
+
- `EVENTBUS_STATS=true` - Collect detailed statistics
|
|
378
|
+
- `EVENTBUS_MAX_LISTENERS=100` - Set max listeners per event
|
|
379
|
+
|
|
380
|
+
## Troubleshooting
|
|
381
|
+
|
|
382
|
+
### High Memory Usage
|
|
383
|
+
```bash
|
|
384
|
+
# Reset event statistics to free memory
|
|
385
|
+
node -e "
|
|
386
|
+
const { eventBus } = require('./.claude/core/event-bus.js');
|
|
387
|
+
eventBus.resetStats();
|
|
388
|
+
console.log('Stats reset');
|
|
389
|
+
"
|
|
390
|
+
```
|
|
391
|
+
|
|
392
|
+
### Event Not Received
|
|
393
|
+
1. Verify topic name matches exactly
|
|
394
|
+
2. Check callback function is defined
|
|
395
|
+
3. Enable debug mode: `EVENTBUS_DEBUG=true`
|
|
396
|
+
4. Check event statistics for publish confirmation
|
|
397
|
+
|
|
398
|
+
### Lifecycle Events Missing
|
|
399
|
+
1. Ensure invoke-lifecycle-track.sh is called
|
|
400
|
+
2. Verify JSON metadata is valid
|
|
401
|
+
3. Check agent-id matches expected format
|
|
402
|
+
|
|
403
|
+
## Related Skills
|
|
404
|
+
- **Redis Coordination** (`.claude/skills/redis-coordination/SKILL.md`) - Blocking coordination
|
|
405
|
+
- **Agent Spawning** (`.claude/skills/agent-spawning/SKILL.md`) - Agent creation
|
|
406
|
+
- **CFN Loop Validation** (`.claude/skills/cfn-loop-validation/SKILL.md`) - Consensus loops
|
|
407
|
+
|
|
408
|
+
## Support
|
|
409
|
+
For issues or questions:
|
|
410
|
+
1. Check test suite: `.claude/skills/event-bus/test-event-bus.sh`
|
|
411
|
+
2. Review event statistics via `getEventStats()`
|
|
412
|
+
3. Enable debug logging with `EVENTBUS_DEBUG=true`
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": {
|
|
3
|
+
"name": "event-bus",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "Centralized event-driven communication system for agent coordination and lifecycle tracking",
|
|
6
|
+
"status": "operational",
|
|
7
|
+
"author": "Claude Flow Novice System",
|
|
8
|
+
"created": "2025-10-19"
|
|
9
|
+
},
|
|
10
|
+
"capabilities": [
|
|
11
|
+
"event-publishing",
|
|
12
|
+
"event-subscription",
|
|
13
|
+
"lifecycle-tracking",
|
|
14
|
+
"event-filtering",
|
|
15
|
+
"statistics-collection",
|
|
16
|
+
"trace-propagation"
|
|
17
|
+
],
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"core": [
|
|
20
|
+
".claude/core/event-bus.js"
|
|
21
|
+
],
|
|
22
|
+
"external": [
|
|
23
|
+
"node",
|
|
24
|
+
"jq",
|
|
25
|
+
"bash"
|
|
26
|
+
],
|
|
27
|
+
"optional": [
|
|
28
|
+
"redis-cli"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"publish": "./invoke-event-publish.sh",
|
|
33
|
+
"subscribe": "./invoke-event-subscribe.sh",
|
|
34
|
+
"track": "./invoke-lifecycle-track.sh",
|
|
35
|
+
"test": "./test-event-bus.sh"
|
|
36
|
+
},
|
|
37
|
+
"configuration": {
|
|
38
|
+
"debug": {
|
|
39
|
+
"env": "EVENTBUS_DEBUG",
|
|
40
|
+
"default": false,
|
|
41
|
+
"description": "Enable verbose event logging"
|
|
42
|
+
},
|
|
43
|
+
"stats": {
|
|
44
|
+
"env": "EVENTBUS_STATS",
|
|
45
|
+
"default": false,
|
|
46
|
+
"description": "Collect detailed event statistics"
|
|
47
|
+
},
|
|
48
|
+
"persist": {
|
|
49
|
+
"env": "EVENTBUS_PERSIST",
|
|
50
|
+
"default": false,
|
|
51
|
+
"description": "Persist lifecycle events to Redis"
|
|
52
|
+
},
|
|
53
|
+
"maxListeners": {
|
|
54
|
+
"env": "EVENTBUS_MAX_LISTENERS",
|
|
55
|
+
"default": 100,
|
|
56
|
+
"description": "Maximum listeners per event"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"eventTypes": {
|
|
60
|
+
"system": [
|
|
61
|
+
"agent:spawned",
|
|
62
|
+
"agent:completed",
|
|
63
|
+
"agent:failed",
|
|
64
|
+
"agent:timeout",
|
|
65
|
+
"task:started",
|
|
66
|
+
"task:completed",
|
|
67
|
+
"consensus:reached",
|
|
68
|
+
"validation:passed",
|
|
69
|
+
"validation:failed"
|
|
70
|
+
],
|
|
71
|
+
"lifecycle": [
|
|
72
|
+
"spawn",
|
|
73
|
+
"complete",
|
|
74
|
+
"fail",
|
|
75
|
+
"timeout"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"integration": {
|
|
79
|
+
"redis-coordination": {
|
|
80
|
+
"description": "Combined event + blocking coordination",
|
|
81
|
+
"pattern": "Publish events for notifications, use Redis BLPOP for synchronization"
|
|
82
|
+
},
|
|
83
|
+
"cfn-loop": {
|
|
84
|
+
"description": "Lifecycle tracking across iterations",
|
|
85
|
+
"pattern": "Track spawn/complete for each iteration, broadcast consensus events"
|
|
86
|
+
},
|
|
87
|
+
"agent-spawning": {
|
|
88
|
+
"description": "Agent creation and termination events",
|
|
89
|
+
"pattern": "Emit spawn event on creation, complete/fail/timeout on termination"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"testing": {
|
|
93
|
+
"suite": "./test-event-bus.sh",
|
|
94
|
+
"coverage": [
|
|
95
|
+
"Event publishing",
|
|
96
|
+
"Event subscription",
|
|
97
|
+
"Lifecycle tracking (all stages)",
|
|
98
|
+
"Event filtering",
|
|
99
|
+
"Statistics collection",
|
|
100
|
+
"Invalid input handling",
|
|
101
|
+
"Trace ID propagation"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"futureEnhancements": [
|
|
105
|
+
"WASM JSON processing",
|
|
106
|
+
"Event replay and time-travel debugging",
|
|
107
|
+
"Persistent event store integration",
|
|
108
|
+
"Event sourcing for agent state",
|
|
109
|
+
"Real-time event streaming API"
|
|
110
|
+
]
|
|
111
|
+
}
|