claude-flow-novice 2.15.2 → 2.15.4
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/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/.claude/commands/cfn-loop-cli.md +16 -2
- package/.claude/commands/switch-api.md +31 -10
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/.claude/hooks/cfn-post-edit.config.json +44 -44
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/README.md +116 -475
- package/claude-assets/agents/cfn-dev-team/README.md +103 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
- package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/claude-assets/commands/cfn-loop-cli.md +16 -2
- package/claude-assets/commands/switch-api.md +31 -10
- package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
- package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
- package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
- package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
- package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
- package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
- package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
- package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
- package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
- package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
- package/claude-assets/skills/bootstrap/database-connection.md +464 -0
- package/claude-assets/skills/bootstrap/error-handling.md +580 -0
- package/claude-assets/skills/bootstrap/file-operations.md +699 -0
- package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
- package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
- package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
- package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
- package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
- package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
- package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
- package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
- package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
- package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
- package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
- package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
- package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
- package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
- package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
- package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
- package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
- package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
- package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
- package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
- package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
- package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
- package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
- package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
- package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
- package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
- package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
- package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
- package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
- package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
- package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
- package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
- package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
- package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
- package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
- package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
- package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
- package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
- package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
- package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
- package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
- package/claude-assets/skills/cfn-utilities/test.sh +317 -0
- package/claude-assets/skills/docker-build/SKILL.md +96 -203
- package/claude-assets/skills/docker-build/build.sh +73 -73
- package/claude-assets/skills/integration/agent-handoff.sh +492 -0
- package/claude-assets/skills/integration/file-operations.sh +414 -0
- package/claude-assets/skills/json-validation/SKILL.md +431 -0
- package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
- package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
- package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
- package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
- package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
- package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
- package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
- package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
- package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
- package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
- package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
- package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
- package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
- package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
- package/dist/ace/ace-curator.js +10 -2
- package/dist/ace/ace-curator.js.map +1 -1
- package/dist/ace/ace-generator.js +4 -0
- package/dist/ace/ace-generator.js.map +1 -1
- package/dist/ace/ace-reflector.js +1 -1
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/ace/context-injection.js +24 -2
- package/dist/ace/context-injection.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/agents/task-agent-integration.js +1 -1
- package/dist/agents/task-agent-integration.js.map +1 -1
- package/dist/api/health-endpoints.js +390 -0
- package/dist/api/health-endpoints.js.map +1 -0
- package/dist/cli/agent-executor.js +4 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +89 -1
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +130 -37
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/skill-cache-validator.js +412 -0
- package/dist/cli/skill-cache-validator.js.map +1 -0
- package/dist/cli/skill-cli.js +991 -0
- package/dist/cli/skill-cli.js.map +1 -0
- package/dist/cli/skill-execution-logger.js +284 -0
- package/dist/cli/skill-execution-logger.js.map +1 -0
- package/dist/cli/skill-loader.js +457 -0
- package/dist/cli/skill-loader.js.map +1 -0
- package/dist/coordination/event-bus.js +2 -2
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/fleet-manager.js +1 -1
- package/dist/coordination/fleet-manager.js.map +1 -1
- package/dist/coordination/index.js +23 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/types/fleet-manager.types.js.map +1 -1
- package/dist/db/migration-manager.js +483 -0
- package/dist/db/migration-manager.js.map +1 -0
- package/dist/db/skills-query.js +535 -0
- package/dist/db/skills-query.js.map +1 -0
- package/dist/integration/DatabaseHandoff.js +507 -0
- package/dist/integration/DatabaseHandoff.js.map +1 -0
- package/dist/integration/StandardAdapter.js +291 -0
- package/dist/integration/StandardAdapter.js.map +1 -0
- package/dist/jobs/edge-case-analyzer.js +367 -0
- package/dist/jobs/edge-case-analyzer.js.map +1 -0
- package/dist/jobs/promotion-sla-enforcer.js +288 -0
- package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
- package/dist/lib/agent-output-parser.js +518 -0
- package/dist/lib/agent-output-parser.js.map +1 -0
- package/dist/lib/agent-output-validator.js +950 -0
- package/dist/lib/agent-output-validator.js.map +1 -0
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.js.map +1 -0
- package/dist/lib/artifact-registry.js +443 -0
- package/dist/lib/artifact-registry.js.map +1 -0
- package/dist/lib/atomic-file-writer.js +377 -0
- package/dist/lib/atomic-file-writer.js.map +1 -0
- package/dist/lib/backup-manager.js +779 -0
- package/dist/lib/backup-manager.js.map +1 -0
- package/dist/lib/checkpoint-manager.js +837 -0
- package/dist/lib/checkpoint-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.js +340 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/completion-signal-handler.js +243 -0
- package/dist/lib/completion-signal-handler.js.map +1 -0
- package/dist/lib/config-manager.js +312 -0
- package/dist/lib/config-manager.js.map +1 -0
- package/dist/lib/config-migrator.js +386 -0
- package/dist/lib/config-migrator.js.map +1 -0
- package/dist/lib/config-validator.js +687 -0
- package/dist/lib/config-validator.js.map +1 -0
- package/dist/lib/correlation-cache.js +311 -0
- package/dist/lib/correlation-cache.js.map +1 -0
- package/dist/lib/correlation.js +263 -0
- package/dist/lib/correlation.js.map +1 -0
- package/dist/lib/database-service/connection-pool-manager.js +520 -0
- package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
- package/dist/lib/database-service/correlation.js +329 -0
- package/dist/lib/database-service/correlation.js.map +1 -0
- package/dist/lib/database-service/errors.js +120 -0
- package/dist/lib/database-service/errors.js.map +1 -0
- package/dist/lib/database-service/index.js +168 -0
- package/dist/lib/database-service/index.js.map +1 -0
- package/dist/lib/database-service/postgres-adapter.js +526 -0
- package/dist/lib/database-service/postgres-adapter.js.map +1 -0
- package/dist/lib/database-service/redis-adapter.js +360 -0
- package/dist/lib/database-service/redis-adapter.js.map +1 -0
- package/dist/lib/database-service/sqlite-adapter.js +544 -0
- package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
- package/dist/lib/database-service/transaction-manager.js +773 -0
- package/dist/lib/database-service/transaction-manager.js.map +1 -0
- package/dist/lib/database-service/types.js +23 -0
- package/dist/lib/database-service/types.js.map +1 -0
- package/dist/lib/deadlock-resolver.js +292 -0
- package/dist/lib/deadlock-resolver.js.map +1 -0
- package/dist/lib/distributed-lock.js +451 -0
- package/dist/lib/distributed-lock.js.map +1 -0
- package/dist/lib/edge-case-deduplicator.js +227 -0
- package/dist/lib/edge-case-deduplicator.js.map +1 -0
- package/dist/lib/encryption-manager.js +322 -0
- package/dist/lib/encryption-manager.js.map +1 -0
- package/dist/lib/error-aggregator.js +234 -0
- package/dist/lib/error-aggregator.js.map +1 -0
- package/dist/lib/errors.js +287 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock-manager.js +578 -0
- package/dist/lib/file-lock-manager.js.map +1 -0
- package/dist/lib/file-operations.js +367 -0
- package/dist/lib/file-operations.js.map +1 -0
- package/dist/lib/idempotent-write.js +237 -0
- package/dist/lib/idempotent-write.js.map +1 -0
- package/dist/lib/integration-schema-validator.js +522 -0
- package/dist/lib/integration-schema-validator.js.map +1 -0
- package/dist/lib/lock-health-monitor.js +298 -0
- package/dist/lib/lock-health-monitor.js.map +1 -0
- package/dist/lib/log-shipper.js +422 -0
- package/dist/lib/log-shipper.js.map +1 -0
- package/dist/lib/logging.js +146 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/message-deduplicator.js +439 -0
- package/dist/lib/message-deduplicator.js.map +1 -0
- package/dist/lib/multi-system-query.js +604 -0
- package/dist/lib/multi-system-query.js.map +1 -0
- package/dist/lib/orphan-detector.js +332 -0
- package/dist/lib/orphan-detector.js.map +1 -0
- package/dist/lib/password-generator.js +166 -0
- package/dist/lib/password-generator.js.map +1 -0
- package/dist/lib/path-validator.js +429 -0
- package/dist/lib/path-validator.js.map +1 -0
- package/dist/lib/query-translator.js +905 -0
- package/dist/lib/query-translator.js.map +1 -0
- package/dist/lib/queue-recovery.js +469 -0
- package/dist/lib/queue-recovery.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +512 -0
- package/dist/lib/redis-queue-manager.js.map +1 -0
- package/dist/lib/reflection-archiver.js +272 -0
- package/dist/lib/reflection-archiver.js.map +1 -0
- package/dist/lib/retry-manager.js +453 -0
- package/dist/lib/retry-manager.js.map +1 -0
- package/dist/lib/retry.js +262 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/schema-transform.js +695 -0
- package/dist/lib/schema-transform.js.map +1 -0
- package/dist/lib/schema-validator.js +491 -0
- package/dist/lib/schema-validator.js.map +1 -0
- package/dist/lib/skill-cache.js +297 -0
- package/dist/lib/skill-cache.js.map +1 -0
- package/dist/lib/skill-content-manager.js +337 -0
- package/dist/lib/skill-content-manager.js.map +1 -0
- package/dist/lib/skill-frontmatter-parser.js +237 -0
- package/dist/lib/skill-frontmatter-parser.js.map +1 -0
- package/dist/lib/skill-git-integration.js +275 -0
- package/dist/lib/skill-git-integration.js.map +1 -0
- package/dist/lib/skill-markdown-validator.js +396 -0
- package/dist/lib/skill-markdown-validator.js.map +1 -0
- package/dist/lib/skill-output-parser.js +312 -0
- package/dist/lib/skill-output-parser.js.map +1 -0
- package/dist/lib/unified-query-api.js +467 -0
- package/dist/lib/unified-query-api.js.map +1 -0
- package/dist/middleware/auth-middleware.js +350 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/schema-validation.js +347 -0
- package/dist/middleware/schema-validation.js.map +1 -0
- package/dist/providers/anthropic-provider.js +1 -1
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +2 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/services/edge-case-analyzer.js +321 -0
- package/dist/services/edge-case-analyzer.js.map +1 -0
- package/dist/services/edge-case-deduplicator.js +266 -0
- package/dist/services/edge-case-deduplicator.js.map +1 -0
- package/dist/services/edge-case-detector.js +337 -0
- package/dist/services/edge-case-detector.js.map +1 -0
- package/dist/services/edge-case-tracker.js +547 -0
- package/dist/services/edge-case-tracker.js.map +1 -0
- package/dist/services/health-check-system.js +586 -0
- package/dist/services/health-check-system.js.map +1 -0
- package/dist/services/metrics-logger.js +412 -0
- package/dist/services/metrics-logger.js.map +1 -0
- package/dist/services/patch-generator.js +378 -0
- package/dist/services/patch-generator.js.map +1 -0
- package/dist/services/patch-validator.js +337 -0
- package/dist/services/patch-validator.js.map +1 -0
- package/dist/services/performance-monitor.js +811 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/promotion-pipeline.js +918 -0
- package/dist/services/promotion-pipeline.js.map +1 -0
- package/dist/services/promotion-validator.js +394 -0
- package/dist/services/promotion-validator.js.map +1 -0
- package/dist/services/reflection-logger.js +388 -0
- package/dist/services/reflection-logger.js.map +1 -0
- package/dist/services/skill-deployment.js +472 -0
- package/dist/services/skill-deployment.js.map +1 -0
- package/dist/services/skill-loader.js +427 -0
- package/dist/services/skill-loader.js.map +1 -0
- package/dist/services/skill-promotion.js +372 -0
- package/dist/services/skill-promotion.js.map +1 -0
- package/dist/services/skill-validator.js +454 -0
- package/dist/services/skill-validator.js.map +1 -0
- package/dist/services/skill-versioning.js +244 -0
- package/dist/services/skill-versioning.js.map +1 -0
- package/dist/services/workspace-supervisor.js +597 -0
- package/dist/services/workspace-supervisor.js.map +1 -0
- package/dist/types/agent-output.js +44 -0
- package/dist/types/agent-output.js.map +1 -0
- package/dist/types/config.js +28 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -176
- package/readme/README.md +19 -4
- package/scripts/artifact-cleanup.sh +392 -0
- package/scripts/backup-cleanup.sh +627 -0
- package/scripts/cleanup-workspaces.sh +412 -0
- package/scripts/cleanup-yaml-configs.sh +141 -0
- package/scripts/deploy-approved-skills.sh +263 -0
- package/scripts/deploy-production.sh +355 -355
- package/scripts/docker-playwright-fix.sh +311 -311
- package/scripts/docker-rebuild-all-agents.sh +127 -127
- package/scripts/health-check.sh +447 -0
- package/scripts/log-aggregator.sh +554 -0
- package/scripts/log-monitor.sh +629 -0
- package/scripts/manage-agent-workspaces.sh +434 -0
- package/scripts/memory-leak-prevention.sh +305 -305
- package/scripts/migrate-artifacts.sh +563 -0
- package/scripts/migrate-schema.sh +533 -0
- package/scripts/migrate-yaml-to-json.sh +465 -0
- package/scripts/promote-staged-skills.sh +423 -0
- package/scripts/run-marketing-tests.sh +42 -42
- package/scripts/update_paths.sh +46 -46
- package/scripts/verify-no-secrets.sh +88 -35
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
- package/README.md.backup_before_replace +0 -781
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
|
@@ -92,6 +92,109 @@ Each agent MUST include:
|
|
|
92
92
|
- Redis coordination
|
|
93
93
|
7. **ACL Level**: Access control level (1-5)
|
|
94
94
|
|
|
95
|
+
## Multi-Worktree Coordination
|
|
96
|
+
|
|
97
|
+
### Environment Variables Provided by Coordinator
|
|
98
|
+
|
|
99
|
+
When coordinators spawn agents in multi-worktree environments, the following environment variables are automatically injected:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
COMPOSE_PROJECT_NAME="cfn-feature-auth" # Unique project name per branch
|
|
103
|
+
CFN_REDIS_PORT=6421 # Redis port (6379 + offset)
|
|
104
|
+
CFN_POSTGRES_PORT=5474 # Postgres port (5432 + offset)
|
|
105
|
+
WORKTREE_BRANCH="feature-auth" # Git branch name
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Service Discovery Pattern
|
|
109
|
+
|
|
110
|
+
Agents use Docker service names for internal communication:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Redis connection (within Docker network)
|
|
114
|
+
redis-cli -h redis -p 6379
|
|
115
|
+
|
|
116
|
+
# PostgreSQL connection (within Docker network)
|
|
117
|
+
PGHOST=postgres PGPORT=5432 psql -U postgres
|
|
118
|
+
|
|
119
|
+
# HTTP connections
|
|
120
|
+
curl http://orchestrator:3001/health
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Important**: Service names are resolved by Docker's internal DNS within the network. Container names (e.g., `cfn-redis-1`) will NOT resolve.
|
|
124
|
+
|
|
125
|
+
### Multi-Worktree Examples
|
|
126
|
+
|
|
127
|
+
#### Scenario 1: Feature Development (Feature-Auth Branch)
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Branch: feature-auth
|
|
131
|
+
# Offset: ~42 (calculated from branch name)
|
|
132
|
+
# Ports: Redis=6421, Postgres=5474, Orchestrator=3043
|
|
133
|
+
|
|
134
|
+
# Coordinator injects:
|
|
135
|
+
export COMPOSE_PROJECT_NAME="cfn-feature-auth"
|
|
136
|
+
export CFN_REDIS_PORT=6421
|
|
137
|
+
export CFN_POSTGRES_PORT=5474
|
|
138
|
+
|
|
139
|
+
# Agent connects to correct worktree services
|
|
140
|
+
redis-cli -h redis -p 6421
|
|
141
|
+
psql -h postgres -p 5474
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### Scenario 2: Bugfix Work (Bugfix-Validation Branch)
|
|
145
|
+
|
|
146
|
+
```bash
|
|
147
|
+
# Branch: bugfix-validation
|
|
148
|
+
# Offset: ~78 (calculated from branch name)
|
|
149
|
+
# Ports: Redis=6457, Postgres=5510, Orchestrator=3079
|
|
150
|
+
|
|
151
|
+
# Coordinator injects:
|
|
152
|
+
export COMPOSE_PROJECT_NAME="cfn-bugfix-validation"
|
|
153
|
+
export CFN_REDIS_PORT=6457
|
|
154
|
+
export CFN_POSTGRES_PORT=5510
|
|
155
|
+
|
|
156
|
+
# Agent connects to correct worktree services
|
|
157
|
+
redis-cli -h redis -p 6457
|
|
158
|
+
psql -h postgres -p 5510
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
#### Scenario 3: Main Branch (Production Ready)
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# Branch: main/master
|
|
165
|
+
# Offset: 0 (main gets priority)
|
|
166
|
+
# Ports: Redis=6379, Postgres=5432, Orchestrator=3001
|
|
167
|
+
|
|
168
|
+
# Coordinator injects:
|
|
169
|
+
export COMPOSE_PROJECT_NAME="cfn-main"
|
|
170
|
+
export CFN_REDIS_PORT=6379
|
|
171
|
+
export CFN_POSTGRES_PORT=5432
|
|
172
|
+
|
|
173
|
+
# Standard ports - no offset
|
|
174
|
+
redis-cli -h redis -p 6379
|
|
175
|
+
psql -h postgres -p 5432
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Running Multiple Worktrees Simultaneously
|
|
179
|
+
|
|
180
|
+
Team members can develop in parallel without conflicts:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
# Developer 1: Feature branch
|
|
184
|
+
worktree_1/feature-auth$ ./scripts/docker/run-in-worktree.sh up -d
|
|
185
|
+
# Ports: Redis=6421, Postgres=5474
|
|
186
|
+
|
|
187
|
+
# Developer 2: Bugfix branch (same machine)
|
|
188
|
+
worktree_2/bugfix-validation$ ./scripts/docker/run-in-worktree.sh up -d
|
|
189
|
+
# Ports: Redis=6457, Postgres=5510
|
|
190
|
+
|
|
191
|
+
# Developer 3: Main branch
|
|
192
|
+
worktree_3/main$ ./scripts/docker/run-in-worktree.sh up -d
|
|
193
|
+
# Ports: Redis=6379, Postgres=5432
|
|
194
|
+
|
|
195
|
+
# All three run simultaneously without port conflicts!
|
|
196
|
+
```
|
|
197
|
+
|
|
95
198
|
## Adding New Agents
|
|
96
199
|
|
|
97
200
|
### Process
|
|
@@ -22,7 +22,7 @@ validation_hooks:
|
|
|
22
22
|
## 🚨 MANDATORY POST-EDIT VALIDATION
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
|
|
25
|
+
./.claude/hooks/cfn-invoke-post-edit.sh [FILE_PATH] --agent-id "${AGENT_ID}"
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
## GOAP Planning Framework
|
|
@@ -12,6 +12,61 @@ mode_support: [cli]
|
|
|
12
12
|
|
|
13
13
|
You coordinate frontend CFN Loops with visual iteration workflow, mockup integration, and brand guideline enforcement.
|
|
14
14
|
|
|
15
|
+
## Success Criteria Awareness (REQUIRED - Phase 2 TDD)
|
|
16
|
+
|
|
17
|
+
### 1. Read Success Criteria
|
|
18
|
+
Before starting work, read test requirements from environment:
|
|
19
|
+
```bash
|
|
20
|
+
if [[ -n "${AGENT_SUCCESS_CRITERIA:-}" ]]; then
|
|
21
|
+
CRITERIA=$(echo "$AGENT_SUCCESS_CRITERIA" | jq -r '.')
|
|
22
|
+
TEST_SUITES=$(echo "$CRITERIA" | jq -r '.test_suites[]')
|
|
23
|
+
echo "📋 Success Criteria Loaded:"
|
|
24
|
+
echo "$TEST_SUITES" | jq -r '.name'
|
|
25
|
+
fi
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. TDD Protocol (MANDATORY)
|
|
29
|
+
|
|
30
|
+
**Write Tests First (15-20 min):**
|
|
31
|
+
- Extract test requirements from success criteria
|
|
32
|
+
- Write failing tests for frontend validation and visual checks
|
|
33
|
+
- Ensure test coverage ≥80%
|
|
34
|
+
|
|
35
|
+
**Implement (30-40 min):**
|
|
36
|
+
- Write minimum code to pass tests
|
|
37
|
+
- Run tests continuously (Playwright, visual regression tests)
|
|
38
|
+
- Refactor for quality
|
|
39
|
+
|
|
40
|
+
**Validate (5 min):**
|
|
41
|
+
- Run full test suite from success criteria
|
|
42
|
+
- Verify pass rate meets threshold (Standard: ≥95%)
|
|
43
|
+
- Check coverage: `npm run coverage`
|
|
44
|
+
|
|
45
|
+
### 3. Report Test Results (NOT Confidence)
|
|
46
|
+
|
|
47
|
+
**Old (Deprecated):**
|
|
48
|
+
```bash
|
|
49
|
+
redis-cli HSET "swarm:${TASK_ID}:confidence:iteration${ITERATION}" \
|
|
50
|
+
"${AGENT_ID}" "0.85"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**New (Required):**
|
|
54
|
+
```bash
|
|
55
|
+
# Execute tests and capture output
|
|
56
|
+
TEST_OUTPUT=$(npm test -- --reporter=json 2>&1)
|
|
57
|
+
|
|
58
|
+
# Parse test results
|
|
59
|
+
RESULTS=$(./.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh \
|
|
60
|
+
"jest" "$TEST_OUTPUT")
|
|
61
|
+
|
|
62
|
+
# Store in Redis
|
|
63
|
+
redis-cli HSET "swarm:${TASK_ID}:test-results:iteration${ITERATION}" \
|
|
64
|
+
"${AGENT_ID}" "$RESULTS"
|
|
65
|
+
|
|
66
|
+
# Signal completion
|
|
67
|
+
redis-cli LPUSH "swarm:${TASK_ID}:completion:${AGENT_ID}" "done"
|
|
68
|
+
```
|
|
69
|
+
|
|
15
70
|
## Core Responsibility
|
|
16
71
|
|
|
17
72
|
**CLI Mode Only**: Orchestrate visual-first frontend development with Redis-based coordination and dual validation (screenshot + video).
|
|
@@ -846,27 +901,34 @@ if ! command -v playwright &> /dev/null; then
|
|
|
846
901
|
fi
|
|
847
902
|
```
|
|
848
903
|
|
|
849
|
-
## Task Completion Protocol
|
|
904
|
+
## Task Completion Protocol (Test-Driven)
|
|
850
905
|
|
|
851
|
-
Complete your frontend coordination work and provide
|
|
906
|
+
Complete your frontend coordination work and provide test-based validation:
|
|
852
907
|
|
|
853
|
-
1. **
|
|
854
|
-
2. **
|
|
855
|
-
3. **
|
|
856
|
-
|
|
908
|
+
1. **Execute Tests**: Run all test suites from success criteria
|
|
909
|
+
2. **Parse Results**: Use parse-test-results.sh helper
|
|
910
|
+
3. **Report Metrics**:
|
|
911
|
+
- Total tests: X
|
|
912
|
+
- Passed: Y
|
|
913
|
+
- Failed: Z
|
|
914
|
+
- Pass rate: Y/X (e.g., 0.95)
|
|
915
|
+
- Coverage: ≥80%
|
|
916
|
+
4. **Store in Redis**: Use test-results key (not confidence key)
|
|
917
|
+
5. **Signal Completion**: Push to completion queue
|
|
857
918
|
|
|
858
|
-
**Example
|
|
919
|
+
**Example Report:**
|
|
859
920
|
```
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
-
|
|
865
|
-
-
|
|
866
|
-
-
|
|
867
|
-
- visual-validation-report.json
|
|
921
|
+
Test Execution Summary:
|
|
922
|
+
- Playwright Tests: 12/12 passed (100%)
|
|
923
|
+
- Visual Tests: 8/10 passed (80%)
|
|
924
|
+
- Integration Tests: 15/15 passed (100%)
|
|
925
|
+
- Overall: 35/37 passed (94.6%)
|
|
926
|
+
- Coverage: 85.2%
|
|
927
|
+
- Gate Status: PASS (≥95% in 2/3 suites, ≥80% overall)
|
|
868
928
|
```
|
|
869
929
|
|
|
930
|
+
**Note:** Coordination instructions and success criteria provided when spawned via CLI.
|
|
931
|
+
|
|
870
932
|
## Related Documentation
|
|
871
933
|
|
|
872
934
|
- Guide: `.claude/commands/cfn/CFN_LOOP_FRONTEND.md`
|
|
@@ -12,6 +12,316 @@ acl_level: 3
|
|
|
12
12
|
|
|
13
13
|
You coordinate CFN Loop v3 execution with Redis-based agent orchestration and CLI spawning.
|
|
14
14
|
|
|
15
|
+
## Success Criteria Awareness (REQUIRED - Phase 2 TDD)
|
|
16
|
+
|
|
17
|
+
### 1. Read Success Criteria
|
|
18
|
+
Before starting work, read test requirements from environment:
|
|
19
|
+
```bash
|
|
20
|
+
if [[ -n "${AGENT_SUCCESS_CRITERIA:-}" ]]; then
|
|
21
|
+
CRITERIA=$(echo "$AGENT_SUCCESS_CRITERIA" | jq -r '.')
|
|
22
|
+
TEST_SUITES=$(echo "$CRITERIA" | jq -r '.test_suites[]')
|
|
23
|
+
echo "📋 Success Criteria Loaded:"
|
|
24
|
+
echo "$TEST_SUITES" | jq -r '.name'
|
|
25
|
+
fi
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. TDD Protocol (MANDATORY)
|
|
29
|
+
|
|
30
|
+
**Write Tests First (15-20 min):**
|
|
31
|
+
- Extract test requirements from success criteria
|
|
32
|
+
- Write failing tests for coordination protocols
|
|
33
|
+
- Ensure test coverage ≥80%
|
|
34
|
+
|
|
35
|
+
**Implement (30-40 min):**
|
|
36
|
+
- Write minimum code to pass tests
|
|
37
|
+
- Run tests continuously with monitoring
|
|
38
|
+
- Refactor for quality
|
|
39
|
+
|
|
40
|
+
**Validate (5 min):**
|
|
41
|
+
- Run full test suite from success criteria
|
|
42
|
+
- Verify pass rate meets threshold (Standard: ≥95%)
|
|
43
|
+
- Check coverage metrics
|
|
44
|
+
|
|
45
|
+
### 3. Report Test Results (NOT Confidence)
|
|
46
|
+
|
|
47
|
+
**Old (Deprecated):**
|
|
48
|
+
```bash
|
|
49
|
+
redis-cli HSET "swarm:${TASK_ID}:confidence:iteration${ITERATION}" \
|
|
50
|
+
"${AGENT_ID}" "0.85"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**New (Required):**
|
|
54
|
+
```bash
|
|
55
|
+
# Execute tests and capture output
|
|
56
|
+
TEST_OUTPUT=$(npm test 2>&1)
|
|
57
|
+
|
|
58
|
+
# Parse test results
|
|
59
|
+
RESULTS=$(./.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh \
|
|
60
|
+
"jest" "$TEST_OUTPUT")
|
|
61
|
+
|
|
62
|
+
# Store in Redis
|
|
63
|
+
redis-cli HSET "swarm:${TASK_ID}:test-results:iteration${ITERATION}" \
|
|
64
|
+
"${AGENT_ID}" "$RESULTS"
|
|
65
|
+
|
|
66
|
+
# Signal completion
|
|
67
|
+
redis-cli LPUSH "swarm:${TASK_ID}:completion:${AGENT_ID}" "done"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Success Criteria Auto-Generation (Phase 3)
|
|
71
|
+
|
|
72
|
+
### Overview
|
|
73
|
+
|
|
74
|
+
When `--success-criteria` parameter is NOT provided, the coordinator MUST auto-generate appropriate success criteria based on task analysis.
|
|
75
|
+
|
|
76
|
+
### Task Analysis Keywords
|
|
77
|
+
|
|
78
|
+
**Security-Critical (100% pass rate):**
|
|
79
|
+
- Keywords: `auth`, `authentication`, `authorization`, `security`, `crypto`, `encryption`, `token`, `JWT`, `OAuth`, `password`
|
|
80
|
+
- Pass threshold: 1.0 (100% - no failures allowed)
|
|
81
|
+
- Test suites: Security tests + unit tests
|
|
82
|
+
|
|
83
|
+
**API/Backend (Unit + Integration):**
|
|
84
|
+
- Keywords: `API`, `REST`, `endpoint`, `route`, `controller`, `service`, `database`, `SQL`
|
|
85
|
+
- Pass threshold: mode-specific (MVP: 0.80, Standard: 0.95, Enterprise: 0.99)
|
|
86
|
+
- Test suites: Unit tests + integration tests
|
|
87
|
+
|
|
88
|
+
**Frontend/UI:**
|
|
89
|
+
- Keywords: `frontend`, `UI`, `React`, `component`, `interface`, `accessibility`, `responsive`
|
|
90
|
+
- Pass threshold: mode-specific
|
|
91
|
+
- Test suites: Unit tests + interaction tests + accessibility tests (WCAG AA)
|
|
92
|
+
|
|
93
|
+
**Default (Generic Tasks):**
|
|
94
|
+
- No specific keywords matched
|
|
95
|
+
- Pass threshold: mode-specific
|
|
96
|
+
- Test suites: Unit tests only
|
|
97
|
+
|
|
98
|
+
### Generation Algorithm
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
generate_success_criteria() {
|
|
102
|
+
local TASK_DESC="$1"
|
|
103
|
+
local MODE="$2" # mvp, standard, enterprise
|
|
104
|
+
local GENERATED_JSON=""
|
|
105
|
+
|
|
106
|
+
# Sanitize task description to prevent JSON injection
|
|
107
|
+
# Remove quotes and backslashes that could break JSON structure
|
|
108
|
+
TASK_DESC=$(echo "$TASK_DESC" | sed 's/["\\]//g')
|
|
109
|
+
|
|
110
|
+
# Determine mode-specific threshold
|
|
111
|
+
case "$MODE" in
|
|
112
|
+
mvp)
|
|
113
|
+
BASE_THRESHOLD=0.80
|
|
114
|
+
;;
|
|
115
|
+
standard)
|
|
116
|
+
BASE_THRESHOLD=0.95
|
|
117
|
+
;;
|
|
118
|
+
enterprise)
|
|
119
|
+
BASE_THRESHOLD=0.99
|
|
120
|
+
;;
|
|
121
|
+
*)
|
|
122
|
+
BASE_THRESHOLD=0.95
|
|
123
|
+
;;
|
|
124
|
+
esac
|
|
125
|
+
|
|
126
|
+
# Analyze task for security keywords
|
|
127
|
+
if echo "$TASK_DESC" | grep -qiE 'auth|security|crypto|encryption|token|JWT|OAuth|password'; then
|
|
128
|
+
# Security-critical: 100% pass rate required
|
|
129
|
+
GENERATED_JSON=$(cat <<EOF
|
|
130
|
+
{
|
|
131
|
+
"test_suites": [
|
|
132
|
+
{
|
|
133
|
+
"name": "Security Tests",
|
|
134
|
+
"command": "npm run test:security",
|
|
135
|
+
"required": true,
|
|
136
|
+
"pass_threshold": 1.0,
|
|
137
|
+
"description": "Security validation - 100% pass rate required"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "Unit Tests",
|
|
141
|
+
"command": "npm run test:unit",
|
|
142
|
+
"required": true,
|
|
143
|
+
"pass_threshold": $BASE_THRESHOLD
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"gate_mode": "test-driven",
|
|
147
|
+
"metadata": {
|
|
148
|
+
"created_by": "cfn-v3-coordinator",
|
|
149
|
+
"task_type": "security-critical",
|
|
150
|
+
"mode": "$MODE"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
EOF
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
# API/Backend work: Unit + integration tests
|
|
157
|
+
elif echo "$TASK_DESC" | grep -qiE '(API|REST|endpoint|route|controller|service|database|SQL)'; then
|
|
158
|
+
GENERATED_JSON=$(cat <<EOF
|
|
159
|
+
{
|
|
160
|
+
"test_suites": [
|
|
161
|
+
{
|
|
162
|
+
"name": "Unit Tests",
|
|
163
|
+
"command": "npm run test:unit",
|
|
164
|
+
"required": true,
|
|
165
|
+
"pass_threshold": $BASE_THRESHOLD
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "Integration Tests",
|
|
169
|
+
"command": "npm run test:integration",
|
|
170
|
+
"required": true,
|
|
171
|
+
"pass_threshold": $BASE_THRESHOLD,
|
|
172
|
+
"description": "API integration validation"
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"gate_mode": "test-driven",
|
|
176
|
+
"metadata": {
|
|
177
|
+
"created_by": "cfn-v3-coordinator",
|
|
178
|
+
"task_type": "api-backend",
|
|
179
|
+
"mode": "$MODE"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
EOF
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
# Frontend/UI work: Unit + interaction + accessibility
|
|
186
|
+
elif echo "$TASK_DESC" | grep -qiE '(frontend|UI|React|component|interface|accessibility|responsive)'; then
|
|
187
|
+
GENERATED_JSON=$(cat <<EOF
|
|
188
|
+
{
|
|
189
|
+
"test_suites": [
|
|
190
|
+
{
|
|
191
|
+
"name": "Unit Tests",
|
|
192
|
+
"command": "npm run test:unit",
|
|
193
|
+
"required": true,
|
|
194
|
+
"pass_threshold": $BASE_THRESHOLD
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "Interaction Tests",
|
|
198
|
+
"command": "npm run test:interaction",
|
|
199
|
+
"required": true,
|
|
200
|
+
"pass_threshold": $BASE_THRESHOLD
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "Accessibility Tests",
|
|
204
|
+
"command": "npm run test:a11y",
|
|
205
|
+
"required": false,
|
|
206
|
+
"pass_threshold": 0.90,
|
|
207
|
+
"description": "WCAG AA compliance validation"
|
|
208
|
+
}
|
|
209
|
+
],
|
|
210
|
+
"gate_mode": "test-driven",
|
|
211
|
+
"metadata": {
|
|
212
|
+
"created_by": "cfn-v3-coordinator",
|
|
213
|
+
"task_type": "frontend-ui",
|
|
214
|
+
"mode": "$MODE"
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
EOF
|
|
218
|
+
)
|
|
219
|
+
|
|
220
|
+
# Default: Unit tests only
|
|
221
|
+
else
|
|
222
|
+
GENERATED_JSON=$(cat <<EOF
|
|
223
|
+
{
|
|
224
|
+
"test_suites": [
|
|
225
|
+
{
|
|
226
|
+
"name": "Unit Tests",
|
|
227
|
+
"command": "npm run test:unit",
|
|
228
|
+
"required": true,
|
|
229
|
+
"pass_threshold": $BASE_THRESHOLD
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"gate_mode": "test-driven",
|
|
233
|
+
"metadata": {
|
|
234
|
+
"created_by": "cfn-v3-coordinator",
|
|
235
|
+
"task_type": "generic",
|
|
236
|
+
"mode": "$MODE"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
EOF
|
|
240
|
+
)
|
|
241
|
+
fi
|
|
242
|
+
|
|
243
|
+
# VALIDATE JSON before returning
|
|
244
|
+
if ! echo "$GENERATED_JSON" | jq empty 2>/dev/null; then
|
|
245
|
+
echo "{\"error\":\"Generated invalid JSON for mode=$MODE\"}" >&2
|
|
246
|
+
return 1
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
# Output validated JSON
|
|
250
|
+
echo "$GENERATED_JSON"
|
|
251
|
+
}
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Usage in Coordinator Workflow
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Step 1: Check if success criteria provided by user
|
|
258
|
+
if [[ -n "${CFN_SUCCESS_CRITERIA:-}" ]]; then
|
|
259
|
+
echo "✅ Using user-provided success criteria"
|
|
260
|
+
SUCCESS_CRITERIA="$CFN_SUCCESS_CRITERIA"
|
|
261
|
+
else
|
|
262
|
+
echo "🔄 Auto-generating success criteria from task analysis..."
|
|
263
|
+
SUCCESS_CRITERIA=$(generate_success_criteria "$TASK_DESC" "$MODE")
|
|
264
|
+
echo "✅ Success criteria generated:"
|
|
265
|
+
echo "$SUCCESS_CRITERIA" | jq '.'
|
|
266
|
+
fi
|
|
267
|
+
|
|
268
|
+
# Step 2: Validate generated criteria (explicit exit on invalid JSON)
|
|
269
|
+
if ! echo "$SUCCESS_CRITERIA" | jq empty 2>/dev/null; then
|
|
270
|
+
echo "❌ Invalid JSON in success criteria" >&2
|
|
271
|
+
exit 1
|
|
272
|
+
fi
|
|
273
|
+
|
|
274
|
+
# Step 3: Check Redis availability before attempting storage
|
|
275
|
+
if ! command -v redis-cli >/dev/null 2>&1; then
|
|
276
|
+
echo "⚠️ WARNING: redis-cli not available" >&2
|
|
277
|
+
echo " Proceeding without Redis coordination (Task mode)" >&2
|
|
278
|
+
# Task mode: agents will use AGENT_SUCCESS_CRITERIA env var instead
|
|
279
|
+
else
|
|
280
|
+
# Redis available - attempt to store criteria
|
|
281
|
+
if ! ./.claude/skills/cfn-redis-coordination/store-success-criteria.sh \
|
|
282
|
+
--task-id "$TASK_ID" \
|
|
283
|
+
--criteria "$SUCCESS_CRITERIA"; then
|
|
284
|
+
echo "❌ ERROR: Failed to store success criteria in Redis" >&2
|
|
285
|
+
echo " Retrying once..." >&2
|
|
286
|
+
sleep 1
|
|
287
|
+
if ! ./.claude/skills/cfn-redis-coordination/store-success-criteria.sh \
|
|
288
|
+
--task-id "$TASK_ID" \
|
|
289
|
+
--criteria "$SUCCESS_CRITERIA"; then
|
|
290
|
+
echo "❌ ERROR: Redis storage failed after retry" >&2
|
|
291
|
+
echo " Agent spawning blocked - criteria storage is required for CLI mode coordination" >&2
|
|
292
|
+
exit 1
|
|
293
|
+
fi
|
|
294
|
+
fi
|
|
295
|
+
fi
|
|
296
|
+
|
|
297
|
+
# Step 4: Proceed with agent spawning (agents will read from Redis)
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
### Validation Schema
|
|
301
|
+
|
|
302
|
+
All generated criteria MUST conform to:
|
|
303
|
+
```json
|
|
304
|
+
{
|
|
305
|
+
"test_suites": [
|
|
306
|
+
{
|
|
307
|
+
"name": "string (required)",
|
|
308
|
+
"command": "string (required)",
|
|
309
|
+
"required": "boolean (required)",
|
|
310
|
+
"pass_threshold": "number 0.0-1.0 (required)",
|
|
311
|
+
"description": "string (optional)",
|
|
312
|
+
"timeout": "integer seconds (optional, default: 300)",
|
|
313
|
+
"retry_count": "integer 0-3 (optional, default: 1)"
|
|
314
|
+
}
|
|
315
|
+
],
|
|
316
|
+
"gate_mode": "test-driven|confidence|hybrid",
|
|
317
|
+
"metadata": {
|
|
318
|
+
"created_by": "cfn-v3-coordinator",
|
|
319
|
+
"task_type": "string",
|
|
320
|
+
"mode": "mvp|standard|enterprise"
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
15
325
|
## Core Responsibility
|
|
16
326
|
|
|
17
327
|
Orchestrate CFN Loop v3 execution using Redis coordination for CLI agent spawning, context management, and consensus collection.
|
|
@@ -20,7 +330,7 @@ Orchestrate CFN Loop v3 execution using Redis coordination for CLI agent spawnin
|
|
|
20
330
|
|
|
21
331
|
**IMPORTANT:** This coordinator agent is **ALWAYS CLI mode**. Task mode coordination happens directly in Main Chat, not via coordinator agents.
|
|
22
332
|
|
|
23
|
-
When spawned via CLI (`
|
|
333
|
+
When spawned via CLI (`cfn-spawn agent`), implement full Redis coordination:
|
|
24
334
|
- Use Redis coordination for agent spawning
|
|
25
335
|
- Store context in Redis for swarm recovery
|
|
26
336
|
- Collect confidence scores via Redis signals
|
|
@@ -31,7 +341,7 @@ When spawned via CLI (`npx claude-flow-novice agent-spawn`), implement full Redi
|
|
|
31
341
|
|
|
32
342
|
### CLI Mode Implementation (Production)
|
|
33
343
|
|
|
34
|
-
When spawned via CLI (`
|
|
344
|
+
When spawned via CLI (`cfn-spawn agent`), implement full Redis coordination:
|
|
35
345
|
|
|
36
346
|
#### 1. Task Context Storage
|
|
37
347
|
```bash
|
|
@@ -70,7 +380,7 @@ for agent in "${loop3_agents[@]}"; do
|
|
|
70
380
|
"status" "spawning"
|
|
71
381
|
|
|
72
382
|
# Inject context and spawn via CLI
|
|
73
|
-
|
|
383
|
+
cfn-spawn agent "${agent}" \
|
|
74
384
|
--task-id "${TASK_ID}" \
|
|
75
385
|
--agent-id "${AGENT_ID}" \
|
|
76
386
|
--context "$(redis-cli HGETALL "cfn_loop:task:${TASK_ID}:context" | jq -s 'reduce .[] as $item ({}; . + $item)')" &
|
|
@@ -170,7 +480,7 @@ Focus on:
|
|
|
170
480
|
EOF
|
|
171
481
|
)
|
|
172
482
|
|
|
173
|
-
|
|
483
|
+
cfn-spawn agent "${validator}" \
|
|
174
484
|
--task-id "${TASK_ID}" \
|
|
175
485
|
--agent-id "${AGENT_ID}" \
|
|
176
486
|
--context "${VALIDATION_CONTEXT}" &
|
|
@@ -224,7 +534,7 @@ EOF
|
|
|
224
534
|
|
|
225
535
|
# Spawn Product Owner
|
|
226
536
|
PO_AGENT_ID="${TASK_ID}-product-owner-$(date +%s)"
|
|
227
|
-
|
|
537
|
+
cfn-spawn agent "product-owner" \
|
|
228
538
|
--task-id "${TASK_ID}" \
|
|
229
539
|
--agent-id "${PO_AGENT_ID}" \
|
|
230
540
|
--context "${PO_CONTEXT}" &
|
|
@@ -380,8 +690,9 @@ Return ONLY this JSON structure, nothing else:
|
|
|
380
690
|
|
|
381
691
|
**1. Software Development**
|
|
382
692
|
- loop3_agents: ["backend-developer", "frontend-developer", "qa-tester"]
|
|
383
|
-
- loop2_agents: ["reviewer", "tester", "
|
|
693
|
+
- loop2_agents: ["reviewer", "security-specialist", "contract-tester", "integration-tester", "mutation-testing-specialist"]
|
|
384
694
|
- loop4_agent: "product-owner"
|
|
695
|
+
- Note: Phase 5 enhanced validators (contract, integration, mutation) ensure comprehensive quality validation
|
|
385
696
|
|
|
386
697
|
**2. Infrastructure**
|
|
387
698
|
- loop3_agents: ["devops-engineer", "security-specialist", "cloud-architect"]
|
|
@@ -557,6 +868,44 @@ fi
|
|
|
557
868
|
- **Orchestrator invocation MUST happen by iteration 3**
|
|
558
869
|
- This coordinator's ONLY job is to configure and invoke the orchestrator
|
|
559
870
|
|
|
871
|
+
## Multi-Worktree Coordination
|
|
872
|
+
|
|
873
|
+
When spawning agents in multi-worktree environments (teams using git worktrees), inject environment variables for proper Docker isolation:
|
|
874
|
+
|
|
875
|
+
```bash
|
|
876
|
+
# Detect current branch and calculate port offset
|
|
877
|
+
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
878
|
+
COMPOSE_PROJECT_NAME="cfn-${BRANCH}"
|
|
879
|
+
|
|
880
|
+
# Inject to spawned agents
|
|
881
|
+
npx claude-flow-novice agent-spawn backend-developer \
|
|
882
|
+
--type backend-developer \
|
|
883
|
+
--task "$TASK_DESCRIPTION" \
|
|
884
|
+
--env COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME}" \
|
|
885
|
+
--env CFN_REDIS_PORT="${CFN_REDIS_PORT}" \
|
|
886
|
+
--env CFN_POSTGRES_PORT="${CFN_POSTGRES_PORT}" \
|
|
887
|
+
--env WORKTREE_BRANCH="${BRANCH}"
|
|
888
|
+
```
|
|
889
|
+
|
|
890
|
+
**Key Principles:**
|
|
891
|
+
|
|
892
|
+
1. **Service Discovery**: Agents access services by name (not container names):
|
|
893
|
+
- Redis: `redis` (not `cfn-redis-1`)
|
|
894
|
+
- Postgres: `postgres` (not `cfn-postgres-1`)
|
|
895
|
+
- Orchestrator: `orchestrator` (not `cfn-orchestrator-1`)
|
|
896
|
+
|
|
897
|
+
2. **Environment Isolation**: Each worktree gets unique project name and port offsets
|
|
898
|
+
- Prevents port conflicts between branches
|
|
899
|
+
- Isolates container namespaces
|
|
900
|
+
- Enables simultaneous multi-branch development
|
|
901
|
+
|
|
902
|
+
3. **Coordination Context**: Pass environment variables to all spawned agents
|
|
903
|
+
- Ensures agents connect to correct worktree services
|
|
904
|
+
- Maintains task isolation across worktrees
|
|
905
|
+
- Enables swarm recovery with proper context
|
|
906
|
+
|
|
907
|
+
**Related Documentation**: See `CLAUDE.md:104-182` for complete multi-worktree patterns.
|
|
908
|
+
|
|
560
909
|
## Success Metrics
|
|
561
910
|
|
|
562
911
|
- Agent selections match domain expertise
|