claude-flow-novice 2.15.11 → 2.16.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/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
- package/.claude/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/.claude/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/.claude/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/.claude/commands/cfn-loop-cli.md +214 -442
- package/.claude/commands/cfn-loop-frontend.md +1 -1
- package/.claude/commands/cfn-loop-task.md +2 -2
- package/.claude/commands/cfn-loop-trigger.md +114 -0
- package/.claude/commands/deprecated/cfn-loop.md +2 -2
- package/.claude/hooks/cfn-invoke-post-edit-ts.sh +100 -0
- package/.claude/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
- package/.claude/hooks/cfn-invoke-post-edit.sh +53 -5
- package/.claude/hooks/cfn-invoke-post-edit.sh.backup +87 -0
- package/.claude/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
- package/.claude/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh +22 -0
- package/.claude/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
- package/.claude/hooks/cfn-post-edit.config.json +9 -2
- package/.claude/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/.claude/skills/cfn-agent-spawning/SKILL.md +48 -1
- package/.claude/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
- package/.claude/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
- package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
- package/.claude/skills/{cfn-redis-coordination/check-dependencies.sh → cfn-agent-spawning/check-dependencies.sh.backup} +3 -5
- package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
- package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
- package/.claude/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
- package/.claude/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
- package/.claude/skills/cfn-backlog-management/SKILL.md +1 -1
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
- package/.claude/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
- package/.claude/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
- package/.claude/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
- package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
- package/.claude/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
- package/.claude/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
- package/.claude/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
- package/.claude/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +159 -48
- package/.claude/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
- package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
- package/.claude/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
- package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
- package/.claude/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
- package/.claude/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
- package/.claude/skills/cfn-loop-orchestration/{orchestrate-wrapper.sh → archive/legacy-bash/orchestrate-wrapper.sh} +11 -1
- package/.claude/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
- package/.claude/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
- package/.claude/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
- package/.claude/skills/cfn-loop-orchestration/package-lock.json +3 -0
- package/.claude/skills/cfn-loop-orchestration/package.json +4 -0
- package/.claude/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
- package/.claude/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
- package/.claude/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
- package/.claude/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
- package/.claude/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
- package/.claude/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
- package/.claude/skills/cfn-loop-orchestration/src/index.ts +2 -0
- package/.claude/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
- package/.claude/skills/cfn-loop-orchestration/src/types.ts +56 -0
- package/.claude/skills/cfn-loop-orchestration/test-cli.sh +92 -0
- package/.claude/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
- package/.claude/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
- package/.claude/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
- package/.claude/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
- package/.claude/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
- package/.claude/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
- package/.claude/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
- package/.claude/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
- package/.claude/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
- package/.claude/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
- package/.claude/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
- package/.claude/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
- package/.claude/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
- package/.claude/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
- package/.claude/skills/cfn-loop-validation/INDEX.md +531 -0
- package/.claude/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +48 -1
- package/.claude/skills/cfn-loop-validation/SKILL.md.backup +353 -0
- package/.claude/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
- package/.claude/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
- package/.claude/skills/cfn-loop-validation/check-dependencies.sh +22 -0
- package/{claude-assets/skills/cfn-redis-coordination/check-dependencies.sh → .claude/skills/cfn-loop-validation/check-dependencies.sh.backup} +4 -5
- package/.claude/skills/cfn-loop-validation/detect-vapor.sh +59 -0
- package/.claude/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
- package/.claude/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
- package/.claude/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/types.d.ts +156 -0
- package/.claude/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/types.js +66 -0
- package/.claude/skills/cfn-loop-validation/dist/types.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.js +411 -0
- package/.claude/skills/cfn-loop-validation/dist/validator.js.map +1 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
- package/.claude/skills/cfn-loop-validation/package.json +93 -0
- package/.claude/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
- package/.claude/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
- package/.claude/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
- package/.claude/skills/cfn-loop-validation/src/types.ts +215 -0
- package/.claude/skills/cfn-loop-validation/src/validator.ts +503 -0
- package/.claude/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
- package/.claude/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
- package/.claude/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
- package/.claude/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
- package/.claude/skills/cfn-loop-validation/validate-gate.sh +63 -0
- package/.claude/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh +22 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
- package/.claude/skills/cfn-product-owner-decision/SKILL.md +479 -147
- package/.claude/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
- package/.claude/skills/cfn-product-owner-decision/{execute-decision.sh → archive/legacy-bash/execute-decision.sh} +24 -2
- package/.claude/skills/pre-edit-backup/SKILL.md +324 -0
- package/.claude/skills/pre-edit-backup/SKILL.md.backup +277 -0
- package/.claude/skills/pre-edit-backup/backup.sh +22 -0
- package/.claude/skills/pre-edit-backup/backup.sh.backup +107 -0
- package/claude-assets/agents/cfn-dev-team/analysts/root-cause-analyst.md +2 -2
- package/claude-assets/agents/cfn-dev-team/architecture/base-template-generator.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +3 -2
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +1 -0
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +2 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +1 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/devops-engineer.md +11 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +58 -35
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +2 -2
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +47 -37
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +18 -18
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +40 -58
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +19 -21
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +20 -29
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +15 -19
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +15 -10
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +16 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +16 -26
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +18 -22
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +17 -21
- package/claude-assets/agents/cfn-dev-team/documentation/pseudocode.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/cto-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/power-user-persona.md +1 -1
- package/claude-assets/agents/cfn-dev-team/product-owners/product-owner.md +1 -5
- package/claude-assets/agents/cfn-dev-team/reviewers/code-reviewer.md +20 -51
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +22 -71
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +21 -64
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +22 -67
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +24 -68
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +8 -36
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +9 -38
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +17 -55
- 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 +18 -56
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +9 -37
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +18 -56
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +18 -49
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +8 -37
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +7 -27
- package/claude-assets/agents/cfn-dev-team/testers/unit/tdd-london-unit-swarm.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/agent-builder.md +11 -0
- package/claude-assets/agents/cfn-dev-team/utility/analyst.md +13 -29
- package/claude-assets/agents/cfn-dev-team/utility/claude-code-expert.md +1 -1
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +13 -13
- package/claude-assets/agents/cfn-dev-team/utility/context-curator.md +7 -2
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +6 -11
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +121 -715
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +13 -22
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +147 -573
- package/claude-assets/agents/custom/cfn-docker-expert.md +103 -0
- package/claude-assets/agents/custom/cfn-loops-cli-expert.md +438 -0
- package/claude-assets/agents/custom/cfn-redis-operations.md +529 -529
- package/claude-assets/agents/custom/cfn-system-expert.md +1 -1
- package/claude-assets/agents/custom/trigger-dev-expert.md +369 -0
- package/claude-assets/agents/docker-team/micro-sprint-planner.md +747 -747
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/agents/cfn-v3-coordinator.md +517 -0
- package/claude-assets/cfn-extras/skills/GOOGLE_SHEETS_SKILLS_README.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-api-coordinator/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-formula-builder/SKILL.md +1 -1
- package/claude-assets/cfn-extras/skills/google-sheets-progress/SKILL.md +1 -1
- package/claude-assets/commands/CFN_LOOP_FRONTEND.md +1 -1
- package/claude-assets/commands/cfn-loop-cli.md +214 -442
- package/claude-assets/commands/cfn-loop-frontend.md +1 -1
- package/claude-assets/commands/cfn-loop-task.md +2 -2
- package/claude-assets/commands/cfn-loop-trigger.md +114 -0
- package/claude-assets/commands/deprecated/cfn-loop.md +2 -2
- package/claude-assets/hooks/GIT-HOOKS-USAGE-EXAMPLES.md +116 -0
- package/claude-assets/hooks/README-GIT-HOOKS.md +443 -0
- package/claude-assets/hooks/SKILL.md +518 -0
- package/claude-assets/hooks/SKILL.md.backup +471 -0
- package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh +100 -0
- package/claude-assets/hooks/cfn-invoke-post-edit-ts.sh.backup +78 -0
- package/claude-assets/hooks/cfn-invoke-post-edit.sh +53 -5
- package/claude-assets/hooks/cfn-invoke-post-edit.sh.backup +87 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh +116 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit-ts.sh.backup +94 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit.sh +22 -0
- package/claude-assets/hooks/cfn-invoke-pre-edit.sh.backup +88 -0
- package/claude-assets/hooks/cfn-post-edit.config.json +9 -2
- package/claude-assets/hooks/install-git-hooks.sh +243 -0
- package/claude-assets/hooks/subagent-start.sh +98 -0
- package/claude-assets/hooks/subagent-stop.sh +93 -0
- package/claude-assets/hooks/validators/credential-scanner.sh +172 -0
- package/claude-assets/root-claude-distribute/CFN-CLAUDE.md +1 -1
- package/claude-assets/skills/cfn-agent-selection-with-fallback/DELIVERABLES.md +409 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/IMPLEMENTATION_SUMMARY.md +396 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/INTEGRATION_GUIDE.md +308 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/QUICK_REFERENCE.md +239 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md +107 -1
- package/claude-assets/skills/cfn-agent-selection-with-fallback/SKILL.md.backup +302 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/TYPESCRIPT_MIGRATION.md +295 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.cjs +297 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/agent-selector.js +297 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.cjs +96 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/dist/cli.js +96 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh +45 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents-ts.sh.backup +23 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh +22 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/select-agents.sh.backup +173 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.test.ts +357 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/agent-selector.ts +350 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/src/cli.ts +74 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh +22 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/task-classifier.sh.backup +71 -0
- package/claude-assets/skills/cfn-agent-selection-with-fallback/tsconfig.json +18 -0
- package/claude-assets/skills/cfn-agent-spawning/SKILL.md +48 -1
- package/claude-assets/skills/cfn-agent-spawning/SKILL.md.backup +135 -0
- package/claude-assets/skills/cfn-agent-spawning/TYPESCRIPT_MIGRATION.md +567 -0
- package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/check-dependencies.sh.backup +30 -0
- package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/get-agent-provider-env.sh.backup +127 -0
- package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/parse-agent-provider.sh.backup +59 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh +63 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent-wrapper.sh.backup +41 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +26 -1
- package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-templates.sh.backup +613 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh +22 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-worker.sh.backup +176 -0
- package/claude-assets/skills/cfn-backlog-management/SKILL.md +1 -1
- package/claude-assets/skills/cfn-coordination/agent-completion.sh.backup +36 -0
- package/claude-assets/skills/cfn-coordination/coordination-signal.sh.backup +36 -0
- package/claude-assets/skills/cfn-coordination/coordination-wait.sh.backup +36 -0
- package/claude-assets/skills/cfn-dependency-ingestion/README.md +101 -0
- package/claude-assets/skills/cfn-dependency-ingestion/SKILL.md +397 -0
- package/claude-assets/skills/cfn-dependency-ingestion/build.sh +23 -0
- package/claude-assets/skills/cfn-dependency-ingestion/dist/ingest-dependencies.js +478 -0
- package/claude-assets/skills/cfn-dependency-ingestion/ingest-dependencies.sh +295 -0
- package/claude-assets/skills/cfn-dependency-ingestion/ingest.sh +237 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/cli-mode-dependencies.txt +73 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/shared-dependencies.txt +57 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-dev-dependencies.txt +82 -0
- package/claude-assets/skills/cfn-dependency-ingestion/manifests/trigger-mode-dependencies.txt +80 -0
- package/claude-assets/skills/cfn-dependency-ingestion/src/ingest-dependencies.ts +563 -0
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +14 -4
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/metadata.json +8 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/original +271 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763619700_33aff4a69b99159e4e849107ebc4d09f/revert.sh +7 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/metadata.json +8 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/original +325 -0
- package/claude-assets/skills/cfn-loop-orchestration/.backups/unknown/1763671642_06496e8c399a79db08167cc00ed4b31e/revert.sh +7 -0
- package/claude-assets/skills/cfn-loop-orchestration/CLI_IMPLEMENTATION_SUMMARY.md +330 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONFIGURATION_IMPROVEMENTS.md +318 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_MIGRATION.md +308 -0
- package/claude-assets/skills/cfn-loop-orchestration/CONTEXT_LOOKUP_QUICK_START.md +378 -0
- package/claude-assets/skills/cfn-loop-orchestration/E2E_VALIDATION_REPORT.md +262 -0
- package/claude-assets/skills/cfn-loop-orchestration/IMPLEMENTATION_SUMMARY.md +319 -519
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_E2E_REPORT.md +299 -0
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_EXECUTION_SUMMARY.md +403 -0
- package/claude-assets/skills/cfn-loop-orchestration/NORTH_STAR_INDEX.md +323 -0
- package/claude-assets/skills/cfn-loop-orchestration/SKILL.md +159 -48
- package/claude-assets/skills/cfn-loop-orchestration/SPAWN_AGENTS_IMPLEMENTATION.md +188 -0
- package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_REPORT.md +335 -0
- package/claude-assets/skills/cfn-loop-orchestration/TEST_COVERAGE_SUMMARY.md +456 -0
- package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_REPORT.md +709 -0
- package/claude-assets/skills/cfn-loop-orchestration/TYPESCRIPT_INTEGRATION_SUMMARY.md +257 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_REPORT.md +572 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATION_SUMMARY.txt +196 -0
- package/claude-assets/skills/cfn-loop-orchestration/VALIDATOR_MODULE_GUIDE.md +526 -0
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/README.md +167 -0
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate-enhanced.sh +548 -0
- package/claude-assets/skills/cfn-loop-orchestration/{orchestrate-wrapper.sh → archive/legacy-bash/orchestrate-wrapper.sh} +11 -1
- package/claude-assets/skills/cfn-loop-orchestration/archive/legacy-bash/orchestrate.sh +182 -0
- package/claude-assets/skills/cfn-loop-orchestration/e2e-validation-fixed.js +240 -0
- package/claude-assets/skills/cfn-loop-orchestration/e2e-validation.js +213 -0
- package/claude-assets/skills/cfn-loop-orchestration/package-lock.json +3 -0
- package/claude-assets/skills/cfn-loop-orchestration/package.json +4 -0
- package/claude-assets/skills/cfn-loop-orchestration/run-north-star-e2e.ts +210 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/cli/orchestrator-cli.ts +396 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR.md +564 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONFIDENCE_AGGREGATOR_QUICK_REF.md +241 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_IMPLEMENTATION.md +375 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_QUICK_REFERENCE.md +362 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_README.md +307 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/CONTEXT_INJECTOR_USAGE_GUIDE.md +508 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/confidence-aggregator.ts +473 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/consensus.ts +1 -1
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-injector.ts +349 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/context-lookup.ts +486 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/deliverable-verifier.ts +6 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/gate-check.ts +1 -1
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/product-owner-decision.ts +316 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/spawn-agents.ts +357 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/helpers/validator.ts +276 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/index.ts +2 -0
- package/claude-assets/skills/cfn-loop-orchestration/src/orchestrate.ts +743 -2
- package/claude-assets/skills/cfn-loop-orchestration/src/types.ts +56 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-cli.sh +92 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-typescript-integration.sh +442 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/agent-spawner.test.ts +124 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/confidence-aggregator.test.ts +604 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/context-injector.test.ts +561 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/context-lookup.test.ts +661 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/deliverable-verifier.test.ts +2 -2
- package/claude-assets/skills/cfn-loop-orchestration/tests/gate-check-edge-cases.test.ts +422 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/gate-checker.test.ts +276 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/logger.test.ts +291 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/north-star-e2e.test.ts +334 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/redis-coordinator.test.ts +321 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/spawn-agents.test.ts +284 -0
- package/claude-assets/skills/cfn-loop-orchestration/tests/validator.test.ts +643 -0
- package/claude-assets/skills/cfn-loop-output-processing/.eslintrc.json +33 -0
- package/claude-assets/skills/cfn-loop-output-processing/DELIVERY_SUMMARY.txt +462 -0
- package/claude-assets/skills/cfn-loop-output-processing/DEPRECATION_NOTICE.md +183 -0
- package/claude-assets/skills/cfn-loop-output-processing/EXAMPLES.md +609 -0
- package/claude-assets/skills/cfn-loop-output-processing/IMPLEMENTATION_SUMMARY.md +418 -0
- package/claude-assets/skills/cfn-loop-output-processing/INDEX.md +531 -0
- package/claude-assets/skills/cfn-loop-output-processing/MIGRATION.md +362 -0
- package/claude-assets/skills/cfn-loop-output-processing/README.md +114 -0
- package/claude-assets/skills/cfn-loop-output-processing/SKILL.md +633 -0
- package/{.claude/skills/cfn-docker-redis-coordination → claude-assets/skills/cfn-loop-output-processing}/jest.config.js +7 -15
- package/claude-assets/skills/cfn-loop-output-processing/package.json +50 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop2.ts +195 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/cli/process-loop3.ts +157 -0
- package/claude-assets/skills/cfn-loop-output-processing/src/output-processor.ts +632 -0
- package/claude-assets/skills/cfn-loop-output-processing/tests/output-processor.test.ts +617 -0
- package/claude-assets/skills/{cfn-docker-redis-coordination → cfn-loop-output-processing}/tsconfig.json +16 -7
- package/claude-assets/skills/cfn-loop-validation/IMPLEMENTATION_SUMMARY.md +672 -0
- package/claude-assets/skills/cfn-loop-validation/INDEX.md +531 -0
- package/claude-assets/skills/cfn-loop-validation/README_TYPESCRIPT.md +454 -0
- package/claude-assets/skills/cfn-loop-validation/SKILL.md +48 -1
- package/claude-assets/skills/cfn-loop-validation/SKILL.md.backup +353 -0
- package/claude-assets/skills/cfn-loop-validation/SKILL_TYPESCRIPT.md +782 -0
- package/claude-assets/skills/cfn-loop-validation/VAPOR_DETECTION_EXAMPLES.md +598 -0
- package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/check-dependencies.sh.backup +31 -0
- package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh +59 -0
- package/claude-assets/skills/cfn-loop-validation/detect-vapor.sh.backup +37 -0
- package/claude-assets/skills/cfn-loop-validation/dist/.tsbuildinfo +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts +14 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js +185 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/detect-vapor.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts +14 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js +176 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-deliverables.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts +19 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js +123 -0
- package/claude-assets/skills/cfn-loop-validation/dist/cli/validate-gate.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts +156 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.js +66 -0
- package/claude-assets/skills/cfn-loop-validation/dist/types.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts +85 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.d.ts.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.js +411 -0
- package/claude-assets/skills/cfn-loop-validation/dist/validator.js.map +1 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh.backup +252 -0
- package/claude-assets/skills/cfn-loop-validation/package.json +93 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/detect-vapor.ts +177 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/validate-deliverables.ts +161 -0
- package/claude-assets/skills/cfn-loop-validation/src/cli/validate-gate.ts +139 -0
- package/claude-assets/skills/cfn-loop-validation/src/types.ts +215 -0
- package/claude-assets/skills/cfn-loop-validation/src/validator.ts +503 -0
- package/claude-assets/skills/cfn-loop-validation/tests/validator.test.ts +537 -0
- package/claude-assets/skills/{cfn-redis-coordination → cfn-loop-validation}/tsconfig.json +34 -31
- package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh +59 -0
- package/claude-assets/skills/cfn-loop-validation/validate-deliverables.sh.backup +37 -0
- package/claude-assets/skills/cfn-loop-validation/validate-gate.sh +63 -0
- package/claude-assets/skills/cfn-loop-validation/validate-gate.sh.backup +41 -0
- package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh +22 -0
- package/claude-assets/skills/cfn-loop-validation/validate-iteration.sh.backup +134 -0
- package/claude-assets/skills/cfn-product-owner-decision/SKILL.md +479 -147
- package/claude-assets/skills/cfn-product-owner-decision/TYPESCRIPT_IMPLEMENTATION.md +653 -0
- package/claude-assets/skills/cfn-product-owner-decision/{execute-decision.sh → archive/legacy-bash/execute-decision.sh} +24 -2
- package/claude-assets/skills/cfn-provider-routing/README.md +129 -0
- package/claude-assets/skills/cfn-provider-routing/SKILL.md +215 -0
- package/claude-assets/skills/cfn-provider-routing/resolve-provider-model.ts +223 -0
- package/claude-assets/skills/docker-build/build.sh +1 -1
- package/claude-assets/skills/pre-edit-backup/SKILL.md +324 -0
- package/claude-assets/skills/pre-edit-backup/SKILL.md.backup +277 -0
- package/claude-assets/skills/pre-edit-backup/backup.sh +22 -0
- package/claude-assets/skills/pre-edit-backup/backup.sh.backup +107 -0
- package/dist/agent/skill-mcp-selector.js +2 -1
- package/dist/agent/skill-mcp-selector.js.map +1 -1
- package/dist/api/auth-endpoints.js +415 -0
- package/dist/api/auth-endpoints.js.map +1 -0
- package/dist/api/task-endpoints.js +562 -0
- package/dist/api/task-endpoints.js.map +1 -0
- package/dist/backend/server.js +418 -0
- package/dist/backend/server.js.map +1 -0
- package/dist/cfn-loop/product-owner/decision-parser.js +356 -0
- package/dist/cfn-loop/product-owner/decision-parser.js.map +1 -0
- package/dist/cfn-loop/product-owner/index.js +1 -0
- package/dist/cfn-loop/product-owner/index.js.map +1 -1
- package/dist/cli/agent-command.js +1 -1
- package/dist/cli/agent-command.js.map +1 -1
- package/dist/cli/agent-completion.js +273 -0
- package/dist/cli/agent-completion.js.map +1 -0
- package/dist/cli/agent-executor.js +470 -26
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +83 -48
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +7 -4
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/agent-spawner.js +546 -0
- package/dist/cli/agent-spawner.js.map +1 -0
- package/dist/cli/agent-token-manager.js +2 -1
- package/dist/cli/agent-token-manager.js.map +1 -1
- package/dist/cli/anthropic-client.js +127 -14
- package/dist/cli/anthropic-client.js.map +1 -1
- package/dist/cli/cfn-context.js +2 -1
- package/dist/cli/cfn-context.js.map +1 -1
- package/dist/cli/cfn-metrics.js +2 -1
- package/dist/cli/cfn-metrics.js.map +1 -1
- package/dist/cli/cfn-redis.js +2 -1
- package/dist/cli/cfn-redis.js.map +1 -1
- package/dist/cli/cli-agent-context.js +2 -0
- package/dist/cli/cli-agent-context.js.map +1 -1
- package/dist/cli/config-manager.js +90 -356
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/conversation-fork-cleanup.js +2 -1
- package/dist/cli/conversation-fork-cleanup.js.map +1 -1
- package/dist/cli/conversation-fork.js +2 -1
- package/dist/cli/conversation-fork.js.map +1 -1
- package/dist/cli/coordination/agent-messaging.js +415 -0
- package/dist/cli/coordination/agent-messaging.js.map +1 -0
- package/dist/cli/coordination/wait-for-threshold.js +232 -0
- package/dist/cli/coordination/wait-for-threshold.js.map +1 -0
- package/dist/cli/index.js +11 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/iteration-history.js +2 -1
- package/dist/cli/iteration-history.js.map +1 -1
- package/dist/cli/parse-decision-cli.js +268 -0
- package/dist/cli/parse-decision-cli.js.map +1 -0
- package/dist/cli/post-edit-hook.js +83 -0
- package/dist/cli/post-edit-hook.js.map +1 -0
- package/dist/cli/pre-edit-hook.js +77 -0
- package/dist/cli/pre-edit-hook.js.map +1 -0
- package/dist/cli/process-lifecycle.js +5 -1
- package/dist/cli/process-lifecycle.js.map +1 -1
- package/dist/cli/spawn-agent-cli.js +244 -0
- package/dist/cli/spawn-agent-cli.js.map +1 -0
- package/dist/coordination/coordination-wrapper.js +383 -0
- package/dist/coordination/coordination-wrapper.js.map +1 -0
- package/dist/coordination/redis-waiting-mode.js +4 -0
- package/dist/coordination/redis-waiting-mode.js.map +1 -1
- package/dist/coordination/store-success-criteria.js +68 -0
- package/dist/coordination/store-success-criteria.js.map +1 -0
- package/dist/coordination/store-task-context.js +65 -0
- package/dist/coordination/store-task-context.js.map +1 -0
- package/dist/hooks/backup-manager.js +273 -0
- package/dist/hooks/backup-manager.js.map +1 -0
- package/dist/hooks/post-edit-validator.js +388 -0
- package/dist/hooks/post-edit-validator.js.map +1 -0
- package/dist/integration/index.js +19 -0
- package/dist/integration/index.js.map +1 -0
- package/dist/integration/task-mode-adapter.js +297 -0
- package/dist/integration/task-mode-adapter.js.map +1 -0
- package/dist/integration/trigger-dev-client.js +253 -0
- package/dist/integration/trigger-dev-client.js.map +1 -0
- package/dist/integration/trigger-dev-webhooks.js +362 -0
- package/dist/integration/trigger-dev-webhooks.js.map +1 -0
- package/dist/lib/artifact-registry.js +4 -0
- package/dist/lib/artifact-registry.js.map +1 -1
- package/dist/lib/connection-pool.js +390 -0
- package/dist/lib/connection-pool.js.map +1 -0
- package/dist/lib/environment-contract.js +258 -0
- package/dist/lib/environment-contract.js.map +1 -0
- package/dist/lib/path-validator.js +14 -5
- package/dist/lib/path-validator.js.map +1 -1
- package/dist/lib/query-optimizer.js +388 -0
- package/dist/lib/query-optimizer.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +5 -1
- package/dist/lib/redis-queue-manager.js.map +1 -1
- package/dist/lib/result-cache.js +285 -0
- package/dist/lib/result-cache.js.map +1 -0
- package/dist/mcp/auth-middleware.js +2 -1
- package/dist/mcp/auth-middleware.js.map +1 -1
- package/dist/mcp/playwright-mcp-server-auth.js +2 -1
- package/dist/mcp/playwright-mcp-server-auth.js.map +1 -1
- package/dist/middleware/authentication.js +317 -0
- package/dist/middleware/authentication.js.map +1 -0
- package/dist/services/authentication.js +669 -0
- package/dist/services/authentication.js.map +1 -0
- package/dist/services/session-management.js +436 -0
- package/dist/services/session-management.js.map +1 -0
- package/dist/services/skill-deployment.js +8 -6
- package/dist/services/skill-deployment.js.map +1 -1
- package/dist/services/user-service.js +710 -0
- package/dist/services/user-service.js.map +1 -0
- package/dist/types/trigger-dev-events.d.js +10 -0
- package/dist/types/trigger-dev-events.d.js.map +1 -0
- package/docs/README.md +240 -0
- package/package.json +15 -4
- package/scripts/build-agent-image.sh +1 -1
- package/scripts/compare-workflow-performance.sh +556 -0
- package/scripts/cost-allocation-tracker.sh +632 -0
- package/scripts/docker-rebuild-all-agents.sh +2 -2
- package/scripts/migrate-to-optimized-workflows.sh +438 -0
- package/scripts/organize-docs.sh +338 -0
- package/scripts/reorganize-tests.sh +280 -0
- package/scripts/trigger-dev-setup.sh +279 -0
- package/tests/README.md +45 -0
- package/.claude/commands/cost-savings-status.md +0 -34
- package/.claude/commands/metrics-summary.md +0 -58
- package/.claude/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
- package/.claude/skills/cfn-docker-redis-coordination/README.md +0 -294
- package/.claude/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
- package/.claude/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
- package/.claude/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
- package/.claude/skills/cfn-docker-redis-coordination/package.json +0 -40
- package/.claude/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
- package/.claude/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
- package/.claude/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
- package/.claude/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
- package/.claude/skills/cfn-docker-redis-coordination/tsconfig.json +0 -30
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
- package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
- package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
- package/.claude/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
- package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
- package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
- package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
- package/.claude/skills/cfn-redis-coordination/config.json +0 -61
- package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
- package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
- package/.claude/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
- package/.claude/skills/cfn-redis-coordination/jest.config.js +0 -23
- package/.claude/skills/cfn-redis-coordination/package-lock.json +0 -5272
- package/.claude/skills/cfn-redis-coordination/package.json +0 -45
- package/.claude/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
- package/.claude/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
- package/.claude/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
- package/.claude/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
- package/.claude/skills/cfn-redis-coordination/src/index.ts +0 -82
- package/.claude/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
- package/.claude/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
- package/.claude/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
- package/.claude/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
- package/.claude/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
- package/.claude/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
- package/.claude/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
- package/.claude/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
- package/.claude/skills/cfn-redis-coordination/src/types.ts +0 -235
- package/.claude/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
- package/.claude/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
- package/.claude/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
- package/.claude/skills/cfn-redis-coordination/test-redis-check.js +0 -84
- package/.claude/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
- package/.claude/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +0 -980
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +0 -759
- package/claude-assets/agents/custom/test-mcp-access.md +0 -24
- package/claude-assets/agents/typescript-specialist.md +0 -280
- package/claude-assets/commands/cost-savings-status.md +0 -34
- package/claude-assets/commands/metrics-summary.md +0 -58
- package/claude-assets/skills/cfn-docker-redis-coordination/MIGRATION_SUMMARY.md +0 -348
- package/claude-assets/skills/cfn-docker-redis-coordination/README.md +0 -294
- package/claude-assets/skills/cfn-docker-redis-coordination/SKILL.md +0 -435
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh +0 -650
- package/claude-assets/skills/cfn-docker-redis-coordination/coordinate.sh.backup-1763145142 +0 -641
- package/claude-assets/skills/cfn-docker-redis-coordination/jest.config.js +0 -37
- package/claude-assets/skills/cfn-docker-redis-coordination/package-lock.json +0 -5259
- package/claude-assets/skills/cfn-docker-redis-coordination/package.json +0 -40
- package/claude-assets/skills/cfn-docker-redis-coordination/src/coordinator.ts +0 -801
- package/claude-assets/skills/cfn-docker-redis-coordination/src/index.ts +0 -42
- package/claude-assets/skills/cfn-docker-redis-coordination/src/types.ts +0 -351
- package/claude-assets/skills/cfn-docker-redis-coordination/tests/coordinator.test.ts +0 -1464
- package/claude-assets/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +0 -228
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus-ts.sh +0 -104
- package/claude-assets/skills/cfn-loop-orchestration/helpers/consensus.sh +0 -94
- package/claude-assets/skills/cfn-loop-orchestration/helpers/context-injection.sh +0 -142
- package/claude-assets/skills/cfn-loop-orchestration/helpers/context-lookup.sh +0 -359
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier-ts.sh +0 -123
- package/claude-assets/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +0 -71
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +0 -56
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager-ts.sh +0 -89
- package/claude-assets/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +0 -87
- package/claude-assets/skills/cfn-loop-orchestration/helpers/orchestrate-ts.sh +0 -104
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +0 -56
- package/claude-assets/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +0 -290
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator-ts.sh +0 -47
- package/claude-assets/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +0 -51
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +0 -1345
- package/claude-assets/skills/cfn-redis-cleanup/cleanup-redis.sh +0 -130
- package/claude-assets/skills/cfn-redis-coordination/AGENT_LOGGING.md +0 -280
- package/claude-assets/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +0 -209
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +0 -319
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +0 -124
- package/claude-assets/skills/cfn-redis-coordination/config.json +0 -61
- package/claude-assets/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +0 -82
- package/claude-assets/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +0 -274
- package/claude-assets/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +0 -0
- package/claude-assets/skills/cfn-redis-coordination/docs/migration/PHASE_3_REDIS_COORDINATION_COMPLETION_REPORT.md +0 -553
- package/claude-assets/skills/cfn-redis-coordination/jest.config.js +0 -23
- package/claude-assets/skills/cfn-redis-coordination/package-lock.json +0 -5272
- package/claude-assets/skills/cfn-redis-coordination/package.json +0 -45
- package/claude-assets/skills/cfn-redis-coordination/src/agent-logger.ts +0 -446
- package/claude-assets/skills/cfn-redis-coordination/src/agent-recovery.ts +0 -454
- package/claude-assets/skills/cfn-redis-coordination/src/completion-reporter.ts +0 -396
- package/claude-assets/skills/cfn-redis-coordination/src/context-manager.ts +0 -327
- package/claude-assets/skills/cfn-redis-coordination/src/index.ts +0 -82
- package/claude-assets/skills/cfn-redis-coordination/src/mode-detector.ts +0 -155
- package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-client.ts +0 -305
- package/claude-assets/skills/cfn-redis-coordination/src/redis/redis-functions.ts +0 -283
- package/claude-assets/skills/cfn-redis-coordination/src/redis-client.ts +0 -654
- package/claude-assets/skills/cfn-redis-coordination/src/result-collector.ts +0 -437
- package/claude-assets/skills/cfn-redis-coordination/src/swarm-manager.ts +0 -494
- package/claude-assets/skills/cfn-redis-coordination/src/task-analyzer.ts +0 -404
- package/claude-assets/skills/cfn-redis-coordination/src/task-executor.ts +0 -423
- package/claude-assets/skills/cfn-redis-coordination/src/types.ts +0 -235
- package/claude-assets/skills/cfn-redis-coordination/src/waiting-coordinator.ts +0 -587
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +0 -85
- package/claude-assets/skills/cfn-redis-coordination/test-connection-attempts.js +0 -70
- package/claude-assets/skills/cfn-redis-coordination/test-mode-simple.js +0 -121
- package/claude-assets/skills/cfn-redis-coordination/test-redis-check.js +0 -84
- package/claude-assets/skills/cfn-redis-coordination/test-task-mode-redis.cjs +0 -391
- package/claude-assets/skills/cfn-redis-coordination/tests/coordination.test.ts +0 -788
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +0 -67
- package/claude-assets/skills/cfn-redis-data-extraction/SKILL.md +0 -442
- package/claude-assets/skills/cfn-redis-data-extraction/extract.sh +0 -306
- package/dist/coordination/index.js +0 -25
- package/dist/coordination/index.js.map +0 -1
- package/docs/BUG_19_MEMORY_LEAK_TASK_MODE.md +0 -405
- package/docs/MEMORY_CLEANUP_GUIDE.md +0 -358
- package/docs/MEMORY_LEAK_FIX_SUMMARY.md +0 -322
- package/docs/REDIS_CLEANUP_EXECUTIVE_SUMMARY.md +0 -319
- package/docs/REDIS_CLEANUP_VERIFICATION_REPORT.md +0 -574
- package/tests/test-memory-leak-task-mode.sh +0 -435
- /package/.claude/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
- /package/.claude/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
- /package/.claude/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-loop-orchestration/{inject-loop-context.sh → archive/legacy-bash/inject-loop-context.sh} +0 -0
- /package/claude-assets/skills/cfn-loop-orchestration/{monitor-execution.sh → archive/legacy-bash/monitor-execution.sh} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{agent-log.sh → agent-log.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{agent-recovery.sh → agent-recovery.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{analyze-task-complexity.sh → analyze-task-complexity.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/bash-wrappers/{store-context.sh → store-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cancel-swarm.sh → cancel-swarm.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-exec.sh → cfn-loop-exec.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{cfn-loop-relaunch.sh → cfn-loop-relaunch.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{collect-confidence-scores.sh → collect-confidence-scores.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{collect-results.sh → collect-results.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{complete-swarm.sh → complete-swarm.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{get-context.sh → get-context.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{get-success-criteria.sh → get-success-criteria.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{invoke-waiting-mode.sh → invoke-waiting-mode.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{redis-cli-wrapper.sh → redis-cli-wrapper.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{redis-functions.sh → redis-functions.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{report-completion.sh → report-completion.sh.backup} +0 -0
- /package/claude-assets/skills/cfn-redis-coordination/{store-context.sh → store-context.sh.backup} +0 -0
|
@@ -1,980 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cfn-v3-coordinator
|
|
3
|
-
description: MUST BE USED when starting CFN Loop execution in CLI mode. Do NOT use in task mode. Analyzes task and returns optimal configuration for loop execution.
|
|
4
|
-
keywords: [cfn-loop, task-analysis, agent-selection, validation]
|
|
5
|
-
tools: [Read, Bash, Write, Grep]
|
|
6
|
-
model: sonnet
|
|
7
|
-
type: coordinator
|
|
8
|
-
acl_level: 3
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# CFN v3 Coordinator Agent
|
|
12
|
-
|
|
13
|
-
You coordinate CFN Loop v3 execution with Redis-based agent orchestration and CLI spawning.
|
|
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
|
-
|
|
50
|
-
**New (Required):**
|
|
51
|
-
```bash
|
|
52
|
-
# Execute tests and capture output
|
|
53
|
-
TEST_OUTPUT=$(npm test 2>&1)
|
|
54
|
-
|
|
55
|
-
# Parse natively (no external dependencies)
|
|
56
|
-
PASS=$(echo "$TEST_OUTPUT" | grep -oP '\d+(?= passing)' || echo "0")
|
|
57
|
-
FAIL=$(echo "$TEST_OUTPUT" | grep -oP '\d+(?= failing)' || echo "0")
|
|
58
|
-
TOTAL=$((PASS + FAIL))
|
|
59
|
-
RATE=$(awk "BEGIN {if ($TOTAL > 0) printf \"%.2f\", $PASS/$TOTAL; else print \"0.00\"}")
|
|
60
|
-
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## Success Criteria Auto-Generation (Phase 3)
|
|
64
|
-
|
|
65
|
-
### Overview
|
|
66
|
-
|
|
67
|
-
When `--success-criteria` parameter is NOT provided, the coordinator MUST auto-generate appropriate success criteria based on task analysis.
|
|
68
|
-
|
|
69
|
-
### Task Analysis Keywords
|
|
70
|
-
|
|
71
|
-
**Security-Critical (100% pass rate):**
|
|
72
|
-
- Keywords: `auth`, `authentication`, `authorization`, `security`, `crypto`, `encryption`, `token`, `JWT`, `OAuth`, `password`
|
|
73
|
-
- Pass threshold: 1.0 (100% - no failures allowed)
|
|
74
|
-
- Test suites: Security tests + unit tests
|
|
75
|
-
|
|
76
|
-
**API/Backend (Unit + Integration):**
|
|
77
|
-
- Keywords: `API`, `REST`, `endpoint`, `route`, `controller`, `service`, `database`, `SQL`
|
|
78
|
-
- Pass threshold: mode-specific (MVP: 0.80, Standard: 0.95, Enterprise: 0.99)
|
|
79
|
-
- Test suites: Unit tests + integration tests
|
|
80
|
-
|
|
81
|
-
**Frontend/UI:**
|
|
82
|
-
- Keywords: `frontend`, `UI`, `React`, `component`, `interface`, `accessibility`, `responsive`
|
|
83
|
-
- Pass threshold: mode-specific
|
|
84
|
-
- Test suites: Unit tests + interaction tests + accessibility tests (WCAG AA)
|
|
85
|
-
|
|
86
|
-
**Default (Generic Tasks):**
|
|
87
|
-
- No specific keywords matched
|
|
88
|
-
- Pass threshold: mode-specific
|
|
89
|
-
- Test suites: Unit tests only
|
|
90
|
-
|
|
91
|
-
### Generation Algorithm
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
generate_success_criteria() {
|
|
95
|
-
local TASK_DESC="$1"
|
|
96
|
-
local MODE="$2" # mvp, standard, enterprise
|
|
97
|
-
local GENERATED_JSON=""
|
|
98
|
-
|
|
99
|
-
# Sanitize task description to prevent JSON injection
|
|
100
|
-
# Remove quotes and backslashes that could break JSON structure
|
|
101
|
-
TASK_DESC=$(echo "$TASK_DESC" | sed 's/["\\]//g')
|
|
102
|
-
|
|
103
|
-
# Determine mode-specific threshold
|
|
104
|
-
case "$MODE" in
|
|
105
|
-
mvp)
|
|
106
|
-
BASE_THRESHOLD=0.80
|
|
107
|
-
;;
|
|
108
|
-
standard)
|
|
109
|
-
BASE_THRESHOLD=0.95
|
|
110
|
-
;;
|
|
111
|
-
enterprise)
|
|
112
|
-
BASE_THRESHOLD=0.99
|
|
113
|
-
;;
|
|
114
|
-
*)
|
|
115
|
-
BASE_THRESHOLD=0.95
|
|
116
|
-
;;
|
|
117
|
-
esac
|
|
118
|
-
|
|
119
|
-
# Analyze task for security keywords
|
|
120
|
-
if echo "$TASK_DESC" | grep -qiE 'auth|security|crypto|encryption|token|JWT|OAuth|password'; then
|
|
121
|
-
# Security-critical: 100% pass rate required
|
|
122
|
-
GENERATED_JSON=$(cat <<EOF
|
|
123
|
-
{
|
|
124
|
-
"test_suites": [
|
|
125
|
-
{
|
|
126
|
-
"name": "Security Tests",
|
|
127
|
-
"command": "npm run test:security",
|
|
128
|
-
"required": true,
|
|
129
|
-
"pass_threshold": 1.0,
|
|
130
|
-
"description": "Security validation - 100% pass rate required"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"name": "Unit Tests",
|
|
134
|
-
"command": "npm run test:unit",
|
|
135
|
-
"required": true,
|
|
136
|
-
"pass_threshold": $BASE_THRESHOLD
|
|
137
|
-
}
|
|
138
|
-
],
|
|
139
|
-
"gate_mode": "test-driven",
|
|
140
|
-
"metadata": {
|
|
141
|
-
"created_by": "cfn-v3-coordinator",
|
|
142
|
-
"task_type": "security-critical",
|
|
143
|
-
"mode": "$MODE"
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
EOF
|
|
147
|
-
)
|
|
148
|
-
|
|
149
|
-
# API/Backend work: Unit + integration tests
|
|
150
|
-
elif echo "$TASK_DESC" | grep -qiE '(API|REST|endpoint|route|controller|service|database|SQL)'; then
|
|
151
|
-
GENERATED_JSON=$(cat <<EOF
|
|
152
|
-
{
|
|
153
|
-
"test_suites": [
|
|
154
|
-
{
|
|
155
|
-
"name": "Unit Tests",
|
|
156
|
-
"command": "npm run test:unit",
|
|
157
|
-
"required": true,
|
|
158
|
-
"pass_threshold": $BASE_THRESHOLD
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"name": "Integration Tests",
|
|
162
|
-
"command": "npm run test:integration",
|
|
163
|
-
"required": true,
|
|
164
|
-
"pass_threshold": $BASE_THRESHOLD,
|
|
165
|
-
"description": "API integration validation"
|
|
166
|
-
}
|
|
167
|
-
],
|
|
168
|
-
"gate_mode": "test-driven",
|
|
169
|
-
"metadata": {
|
|
170
|
-
"created_by": "cfn-v3-coordinator",
|
|
171
|
-
"task_type": "api-backend",
|
|
172
|
-
"mode": "$MODE"
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
EOF
|
|
176
|
-
)
|
|
177
|
-
|
|
178
|
-
# Frontend/UI work: Unit + interaction + accessibility
|
|
179
|
-
elif echo "$TASK_DESC" | grep -qiE '(frontend|UI|React|component|interface|accessibility|responsive)'; then
|
|
180
|
-
GENERATED_JSON=$(cat <<EOF
|
|
181
|
-
{
|
|
182
|
-
"test_suites": [
|
|
183
|
-
{
|
|
184
|
-
"name": "Unit Tests",
|
|
185
|
-
"command": "npm run test:unit",
|
|
186
|
-
"required": true,
|
|
187
|
-
"pass_threshold": $BASE_THRESHOLD
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"name": "Interaction Tests",
|
|
191
|
-
"command": "npm run test:interaction",
|
|
192
|
-
"required": true,
|
|
193
|
-
"pass_threshold": $BASE_THRESHOLD
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
"name": "Accessibility Tests",
|
|
197
|
-
"command": "npm run test:a11y",
|
|
198
|
-
"required": false,
|
|
199
|
-
"pass_threshold": 0.90,
|
|
200
|
-
"description": "WCAG AA compliance validation"
|
|
201
|
-
}
|
|
202
|
-
],
|
|
203
|
-
"gate_mode": "test-driven",
|
|
204
|
-
"metadata": {
|
|
205
|
-
"created_by": "cfn-v3-coordinator",
|
|
206
|
-
"task_type": "frontend-ui",
|
|
207
|
-
"mode": "$MODE"
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
EOF
|
|
211
|
-
)
|
|
212
|
-
|
|
213
|
-
# Default: Unit tests only
|
|
214
|
-
else
|
|
215
|
-
GENERATED_JSON=$(cat <<EOF
|
|
216
|
-
{
|
|
217
|
-
"test_suites": [
|
|
218
|
-
{
|
|
219
|
-
"name": "Unit Tests",
|
|
220
|
-
"command": "npm run test:unit",
|
|
221
|
-
"required": true,
|
|
222
|
-
"pass_threshold": $BASE_THRESHOLD
|
|
223
|
-
}
|
|
224
|
-
],
|
|
225
|
-
"gate_mode": "test-driven",
|
|
226
|
-
"metadata": {
|
|
227
|
-
"created_by": "cfn-v3-coordinator",
|
|
228
|
-
"task_type": "generic",
|
|
229
|
-
"mode": "$MODE"
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
EOF
|
|
233
|
-
)
|
|
234
|
-
fi
|
|
235
|
-
|
|
236
|
-
# VALIDATE JSON before returning
|
|
237
|
-
if ! echo "$GENERATED_JSON" | jq empty 2>/dev/null; then
|
|
238
|
-
echo "{\"error\":\"Generated invalid JSON for mode=$MODE\"}" >&2
|
|
239
|
-
return 1
|
|
240
|
-
fi
|
|
241
|
-
|
|
242
|
-
# Output validated JSON
|
|
243
|
-
echo "$GENERATED_JSON"
|
|
244
|
-
}
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Usage in Coordinator Workflow
|
|
248
|
-
|
|
249
|
-
```bash
|
|
250
|
-
# Step 1: Check if success criteria provided by user
|
|
251
|
-
if [[ -n "${CFN_SUCCESS_CRITERIA:-}" ]]; then
|
|
252
|
-
echo "✅ Using user-provided success criteria"
|
|
253
|
-
SUCCESS_CRITERIA="$CFN_SUCCESS_CRITERIA"
|
|
254
|
-
else
|
|
255
|
-
echo "🔄 Auto-generating success criteria from task analysis..."
|
|
256
|
-
SUCCESS_CRITERIA=$(generate_success_criteria "$TASK_DESC" "$MODE")
|
|
257
|
-
echo "✅ Success criteria generated:"
|
|
258
|
-
echo "$SUCCESS_CRITERIA" | jq '.'
|
|
259
|
-
fi
|
|
260
|
-
|
|
261
|
-
# Step 2: Validate generated criteria (explicit exit on invalid JSON)
|
|
262
|
-
if ! echo "$SUCCESS_CRITERIA" | jq empty 2>/dev/null; then
|
|
263
|
-
echo "❌ Invalid JSON in success criteria" >&2
|
|
264
|
-
exit 1
|
|
265
|
-
fi
|
|
266
|
-
|
|
267
|
-
# Step 3: Check Redis availability before attempting storage
|
|
268
|
-
if ! command -v redis-cli >/dev/null 2>&1; then
|
|
269
|
-
echo "⚠️ WARNING: redis-cli not available" >&2
|
|
270
|
-
echo " Proceeding without Redis coordination (Task mode)" >&2
|
|
271
|
-
# Task mode: agents will use AGENT_SUCCESS_CRITERIA env var instead
|
|
272
|
-
else
|
|
273
|
-
# Redis available - attempt to store criteria
|
|
274
|
-
if ! ./.claude/skills/cfn-redis-coordination/store-success-criteria.sh \
|
|
275
|
-
--task-id "$TASK_ID" \
|
|
276
|
-
--criteria "$SUCCESS_CRITERIA"; then
|
|
277
|
-
echo "❌ ERROR: Failed to store success criteria in Redis" >&2
|
|
278
|
-
echo " Retrying once..." >&2
|
|
279
|
-
sleep 1
|
|
280
|
-
if ! ./.claude/skills/cfn-redis-coordination/store-success-criteria.sh \
|
|
281
|
-
--task-id "$TASK_ID" \
|
|
282
|
-
--criteria "$SUCCESS_CRITERIA"; then
|
|
283
|
-
echo "❌ ERROR: Redis storage failed after retry" >&2
|
|
284
|
-
echo " Agent spawning blocked - criteria storage is required for CLI mode coordination" >&2
|
|
285
|
-
exit 1
|
|
286
|
-
fi
|
|
287
|
-
fi
|
|
288
|
-
fi
|
|
289
|
-
|
|
290
|
-
# Step 4: Proceed with agent spawning (agents will read from Redis)
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Validation Schema
|
|
294
|
-
|
|
295
|
-
All generated criteria MUST conform to:
|
|
296
|
-
```json
|
|
297
|
-
{
|
|
298
|
-
"test_suites": [
|
|
299
|
-
{
|
|
300
|
-
"name": "string (required)",
|
|
301
|
-
"command": "string (required)",
|
|
302
|
-
"required": "boolean (required)",
|
|
303
|
-
"pass_threshold": "number 0.0-1.0 (required)",
|
|
304
|
-
"description": "string (optional)",
|
|
305
|
-
"timeout": "integer seconds (optional, default: 300)",
|
|
306
|
-
"retry_count": "integer 0-3 (optional, default: 1)"
|
|
307
|
-
}
|
|
308
|
-
],
|
|
309
|
-
"gate_mode": "test-driven|confidence|hybrid",
|
|
310
|
-
"metadata": {
|
|
311
|
-
"created_by": "cfn-v3-coordinator",
|
|
312
|
-
"task_type": "string",
|
|
313
|
-
"mode": "mvp|standard|enterprise"
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
## Core Responsibility
|
|
319
|
-
|
|
320
|
-
Orchestrate CFN Loop v3 execution using Redis coordination for CLI agent spawning, context management, and consensus collection.
|
|
321
|
-
|
|
322
|
-
## COORDINATOR EXECUTION (START HERE - MANDATORY)
|
|
323
|
-
|
|
324
|
-
**Execute ALL 5 actions in THIS bash script below. DO NOT execute actions separately.**
|
|
325
|
-
|
|
326
|
-
**CRITICAL:** This is THE execution path. Execute the complete bash script in ONE call.
|
|
327
|
-
|
|
328
|
-
### Unified Execution Script (Actions 1-5)
|
|
329
|
-
|
|
330
|
-
```bash
|
|
331
|
-
#!/bin/bash
|
|
332
|
-
set -euo pipefail
|
|
333
|
-
|
|
334
|
-
# ITERATION GUARD: Prevent infinite loops
|
|
335
|
-
if [[ ${BASH_EXECUTION_COUNT:-0} -gt 1 ]]; then
|
|
336
|
-
echo "❌ FATAL: Multiple executions detected - orchestrator should have been invoked" >&2
|
|
337
|
-
exit 1
|
|
338
|
-
fi
|
|
339
|
-
export BASH_EXECUTION_COUNT=$((${BASH_EXECUTION_COUNT:-0} + 1))
|
|
340
|
-
|
|
341
|
-
# ==============================================================================
|
|
342
|
-
# ACTION 1: Initialize Task Context
|
|
343
|
-
# ==============================================================================
|
|
344
|
-
TASK_ID="${TASK_ID:-$(date +%s)}"
|
|
345
|
-
TASK_DESCRIPTION="${TASK_DESCRIPTION:-Generic CFN Loop task}"
|
|
346
|
-
MODE="${MODE:-standard}"
|
|
347
|
-
MAX_ITERATIONS="${MAX_ITERATIONS:-10}" # Default to 10, can be overridden via context
|
|
348
|
-
PROJECT_ROOT="${PROJECT_ROOT:-.}"
|
|
349
|
-
|
|
350
|
-
echo "📋 COORDINATOR INITIALIZATION (CLI Mode v3.0)"
|
|
351
|
-
echo " TASK_ID: $TASK_ID"
|
|
352
|
-
echo " MODE: $MODE"
|
|
353
|
-
echo " TASK: $TASK_DESCRIPTION"
|
|
354
|
-
|
|
355
|
-
# ==============================================================================
|
|
356
|
-
# ACTION 2: Perform Task Classification
|
|
357
|
-
# ==============================================================================
|
|
358
|
-
TASK_TYPE="software-development" # Default fallback
|
|
359
|
-
|
|
360
|
-
if [[ -f "$PROJECT_ROOT/.claude/skills/task-classifier/classify-task.sh" ]]; then
|
|
361
|
-
CLASSIFIED=$(bash "$PROJECT_ROOT/.claude/skills/task-classifier/classify-task.sh" "$TASK_DESCRIPTION" 2>/dev/null || echo "")
|
|
362
|
-
[[ -n "$CLASSIFIED" ]] && TASK_TYPE="$CLASSIFIED"
|
|
363
|
-
fi
|
|
364
|
-
|
|
365
|
-
# Store in Redis for persistence across Bash tool calls
|
|
366
|
-
redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" \
|
|
367
|
-
HSET "swarm:${TASK_ID}:config" "task_type" "$TASK_TYPE" 2>/dev/null || true
|
|
368
|
-
|
|
369
|
-
echo "✅ ACTION 2 Complete: Task classified as '$TASK_TYPE'"
|
|
370
|
-
|
|
371
|
-
# ==============================================================================
|
|
372
|
-
# ACTION 3: Select Agents Based on Task Type
|
|
373
|
-
# ==============================================================================
|
|
374
|
-
case "$TASK_TYPE" in
|
|
375
|
-
"infrastructure")
|
|
376
|
-
LOOP3_AGENTS="terraform-engineer,devops-engineer,cloud-architect"
|
|
377
|
-
LOOP2_AGENTS="security-auditor,compliance-checker,cost-optimizer"
|
|
378
|
-
PRODUCT_OWNER="infrastructure-product-owner"
|
|
379
|
-
;;
|
|
380
|
-
"software-development"|*)
|
|
381
|
-
LOOP3_AGENTS="backend-developer,frontend-developer,database-engineer"
|
|
382
|
-
LOOP2_AGENTS="code-reviewer,security-specialist,performance-tester"
|
|
383
|
-
PRODUCT_OWNER="technical-product-owner"
|
|
384
|
-
;;
|
|
385
|
-
esac
|
|
386
|
-
|
|
387
|
-
# Store in Redis
|
|
388
|
-
redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" \
|
|
389
|
-
HSET "swarm:${TASK_ID}:config" "loop3_agents" "$LOOP3_AGENTS" 2>/dev/null || true
|
|
390
|
-
redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" \
|
|
391
|
-
HSET "swarm:${TASK_ID}:config" "loop2_agents" "$LOOP2_AGENTS" 2>/dev/null || true
|
|
392
|
-
|
|
393
|
-
echo "✅ ACTION 3 Complete: Agents selected"
|
|
394
|
-
echo " Loop 3: $LOOP3_AGENTS"
|
|
395
|
-
echo " Loop 2: $LOOP2_AGENTS"
|
|
396
|
-
echo " Product Owner: $PRODUCT_OWNER"
|
|
397
|
-
|
|
398
|
-
# ==============================================================================
|
|
399
|
-
# ACTION 4: Validate Parameters
|
|
400
|
-
# ==============================================================================
|
|
401
|
-
if [[ -z "$TASK_ID" ]]; then
|
|
402
|
-
echo "❌ FATAL: TASK_ID is required" >&2
|
|
403
|
-
exit 1
|
|
404
|
-
fi
|
|
405
|
-
|
|
406
|
-
if [[ -z "$LOOP3_AGENTS" ]]; then
|
|
407
|
-
echo "❌ FATAL: No Loop 3 agents selected" >&2
|
|
408
|
-
exit 1
|
|
409
|
-
fi
|
|
410
|
-
|
|
411
|
-
if [[ -z "$LOOP2_AGENTS" ]]; then
|
|
412
|
-
echo "❌ FATAL: No Loop 2 agents selected" >&2
|
|
413
|
-
exit 1
|
|
414
|
-
fi
|
|
415
|
-
|
|
416
|
-
echo "✅ ACTION 4 Complete: Parameters validated"
|
|
417
|
-
|
|
418
|
-
# ==============================================================================
|
|
419
|
-
# ACTION 5: INVOKE ORCHESTRATOR - MANDATORY (This is your PRIMARY job)
|
|
420
|
-
# ==============================================================================
|
|
421
|
-
echo ""
|
|
422
|
-
echo "🚀 ACTION 5: INVOKING ORCHESTRATOR (MANDATORY)"
|
|
423
|
-
echo " This is the ONLY action that truly matters for coordinator"
|
|
424
|
-
echo " The orchestrator handles ALL remaining CFN Loop work"
|
|
425
|
-
|
|
426
|
-
ORCHESTRATOR_PATH="$PROJECT_ROOT/.claude/skills/cfn-loop-orchestration/orchestrate-wrapper.sh"
|
|
427
|
-
|
|
428
|
-
if [[ ! -f "$ORCHESTRATOR_PATH" ]]; then
|
|
429
|
-
echo "❌ FATAL: Orchestrator not found at $ORCHESTRATOR_PATH" >&2
|
|
430
|
-
echo " Expected path: $ORCHESTRATOR_PATH"
|
|
431
|
-
exit 1
|
|
432
|
-
fi
|
|
433
|
-
|
|
434
|
-
# Store success criteria in Redis BEFORE invoking orchestrator
|
|
435
|
-
# The orchestrator requires this when --success-criteria flag is set
|
|
436
|
-
CRITERIA_JSON='{
|
|
437
|
-
"test_suites": [
|
|
438
|
-
{
|
|
439
|
-
"name": "Unit Tests",
|
|
440
|
-
"command": "echo \"Simulated test execution\"",
|
|
441
|
-
"required": true,
|
|
442
|
-
"pass_threshold": 0.70
|
|
443
|
-
}
|
|
444
|
-
],
|
|
445
|
-
"gate_mode": "test-driven",
|
|
446
|
-
"metadata": {
|
|
447
|
-
"created_by": "cfn-v3-coordinator",
|
|
448
|
-
"task_type": "general",
|
|
449
|
-
"mode": "'$MODE'"
|
|
450
|
-
}
|
|
451
|
-
}'
|
|
452
|
-
|
|
453
|
-
# Store in Redis
|
|
454
|
-
echo "$CRITERIA_JSON" | redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" \
|
|
455
|
-
-x HSET "cfn_loop:task:${TASK_ID}:context" "success-criteria" >/dev/null 2>&1 || true
|
|
456
|
-
|
|
457
|
-
# Store task description in Redis for agent context injection
|
|
458
|
-
redis-cli -h "${REDIS_HOST:-localhost}" -p "${REDIS_PORT:-6379}" \
|
|
459
|
-
HSET "cfn_loop:task:${TASK_ID}:context" "task_description" "$TASK_DESCRIPTION" >/dev/null 2>&1 || true
|
|
460
|
-
|
|
461
|
-
echo " ✅ Success criteria and task description stored in Redis"
|
|
462
|
-
|
|
463
|
-
# Invoke orchestrator with validated parameters
|
|
464
|
-
# The orchestrator handles ALL remaining work:
|
|
465
|
-
# - Loop 3 agent spawning and execution
|
|
466
|
-
# - Test execution and gate validation
|
|
467
|
-
# - Loop 2 validator spawning and consensus
|
|
468
|
-
# - Product Owner decision (PROCEED/ITERATE/ABORT)
|
|
469
|
-
# - Git commits and result reporting
|
|
470
|
-
echo " Executing: $ORCHESTRATOR_PATH"
|
|
471
|
-
bash "$ORCHESTRATOR_PATH" \
|
|
472
|
-
--task-id "$TASK_ID" \
|
|
473
|
-
--mode "$MODE" \
|
|
474
|
-
--loop3-agents "$LOOP3_AGENTS" \
|
|
475
|
-
--loop2-agents "$LOOP2_AGENTS" \
|
|
476
|
-
--product-owner "$PRODUCT_OWNER" \
|
|
477
|
-
--max-iterations "$MAX_ITERATIONS" \
|
|
478
|
-
--success-criteria "enabled" 2>&1
|
|
479
|
-
|
|
480
|
-
ORCHESTRATOR_EXIT_CODE=$?
|
|
481
|
-
|
|
482
|
-
if [[ $ORCHESTRATOR_EXIT_CODE -eq 0 ]]; then
|
|
483
|
-
echo "✅ ORCHESTRATOR COMPLETED SUCCESSFULLY"
|
|
484
|
-
else
|
|
485
|
-
echo "❌ ORCHESTRATOR FAILED (exit code: $ORCHESTRATOR_EXIT_CODE)"
|
|
486
|
-
exit $ORCHESTRATOR_EXIT_CODE
|
|
487
|
-
fi
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
**What happens next:**
|
|
491
|
-
1. Orchestrator spawns Loop 3 agents (implementers)
|
|
492
|
-
2. Loop 3 agents complete work and execute tests
|
|
493
|
-
3. Orchestrator validates test pass rates against gate threshold
|
|
494
|
-
4. If gate passes, orchestrator spawns Loop 2 agents (validators)
|
|
495
|
-
5. Loop 2 validators review work and report consensus
|
|
496
|
-
6. Orchestrator spawns Product Owner for final decision
|
|
497
|
-
7. Product Owner decides: PROCEED / ITERATE / ABORT
|
|
498
|
-
8. Orchestrator creates git commit (if PROCEED) or starts next iteration (if ITERATE)
|
|
499
|
-
|
|
500
|
-
**Coordinator's job is now DONE.** The orchestrator handles everything else.
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
## CLI Mode Execution (Coordinator is ALWAYS CLI Mode)
|
|
505
|
-
|
|
506
|
-
**IMPORTANT:** This coordinator agent is **ALWAYS CLI mode**. Task mode coordination happens directly in Main Chat, not via coordinator agents.
|
|
507
|
-
|
|
508
|
-
When spawned via CLI (`cfn-spawn agent`), implement full Redis coordination:
|
|
509
|
-
- Use Redis coordination for agent spawning
|
|
510
|
-
- Store context in Redis for swarm recovery
|
|
511
|
-
- Collect confidence scores via Redis signals
|
|
512
|
-
- Use background execution with monitoring
|
|
513
|
-
- **ALWAYS invoke the orchestrator** - never handle tasks directly
|
|
514
|
-
|
|
515
|
-
## Redis Coordination Protocols
|
|
516
|
-
|
|
517
|
-
### CLI Mode Implementation (Production)
|
|
518
|
-
|
|
519
|
-
When spawned via CLI (`cfn-spawn agent`), implement full Redis coordination:
|
|
520
|
-
|
|
521
|
-
#### 1. Task Context Storage
|
|
522
|
-
```bash
|
|
523
|
-
# Store task context in Redis for swarm recovery
|
|
524
|
-
|
|
525
|
-
# Store agent configuration
|
|
526
|
-
```
|
|
527
|
-
|
|
528
|
-
#### 2. Agent Spawning with Context Injection
|
|
529
|
-
```bash
|
|
530
|
-
# Spawn Loop 3 agents with full context
|
|
531
|
-
for agent in "${loop3_agents[@]}"; do
|
|
532
|
-
AGENT_ID="${TASK_ID}-${agent}-$(date +%s)"
|
|
533
|
-
|
|
534
|
-
# Store agent-specific context
|
|
535
|
-
|
|
536
|
-
# Inject context and spawn via CLI
|
|
537
|
-
cfn-spawn agent "${agent}" \
|
|
538
|
-
--task-id "${TASK_ID}" \
|
|
539
|
-
--agent-id "${AGENT_ID}" \
|
|
540
|
-
--context "$(redis-cli HGETALL "cfn_loop:task:${TASK_ID}:context" | jq -s 'reduce .[] as $item ({}; . + $item)')" &
|
|
541
|
-
|
|
542
|
-
AGENT_PIDS+=($!)
|
|
543
|
-
done
|
|
544
|
-
|
|
545
|
-
# Wait for all Loop 3 agents to complete
|
|
546
|
-
wait "${AGENT_PIDS[@]}"
|
|
547
|
-
```
|
|
548
|
-
|
|
549
|
-
#### 3. Agent Completion Collection
|
|
550
|
-
```bash
|
|
551
|
-
# Wait for Loop 3 completion signals
|
|
552
|
-
LOOP3_CONFIDENCES=()
|
|
553
|
-
for agent in "${loop3_agents[@]}"; do
|
|
554
|
-
AGENT_ID="${TASK_ID}-${agent}-*"
|
|
555
|
-
|
|
556
|
-
# Block until agent signals completion (zero-token blocking)
|
|
557
|
-
COMPLETION_SIGNAL=$(redis-cli blpop "swarm:${TASK_ID}:${agent}:done" 300)
|
|
558
|
-
|
|
559
|
-
if [ -n "$COMPLETION_SIGNAL" ]; then
|
|
560
|
-
# Extract confidence from agent storage
|
|
561
|
-
CONFIDENCE=$(redis-cli HGET "cfn_loop:task:${TASK_ID}:confidence:${agent}")
|
|
562
|
-
LOOP3_CONFIDENCES+=("$CONFIDENCE")
|
|
563
|
-
else
|
|
564
|
-
echo "⚠️ Agent ${agent} timed out"
|
|
565
|
-
LOOP3_CONFIDENCES+=("0.0")
|
|
566
|
-
fi
|
|
567
|
-
done
|
|
568
|
-
|
|
569
|
-
# Calculate average confidence for gate check
|
|
570
|
-
AVERAGE_CONFIDENCE=$(printf '%s\n' "${LOOP3_CONFIDENCES[@]}" | awk '{sum+=$1} END {print sum/NR}')
|
|
571
|
-
echo "Loop 3 average confidence: $AVERAGE_CONFIDENCE"
|
|
572
|
-
```
|
|
573
|
-
|
|
574
|
-
#### 4. Gate Check (Self-Validation)
|
|
575
|
-
```bash
|
|
576
|
-
# Check against mode-specific threshold
|
|
577
|
-
GATE_THRESHOLD=$(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "gate_threshold")
|
|
578
|
-
|
|
579
|
-
if (( $(echo "$AVERAGE_CONFIDENCE >= $GATE_THRESHOLD" | bc -l) )); then
|
|
580
|
-
echo "✅ Gate PASSED - signaling Loop 2"
|
|
581
|
-
|
|
582
|
-
# Store gate result and broadcast signal
|
|
583
|
-
|
|
584
|
-
# Signal Loop 2 agents to start
|
|
585
|
-
redis-cli lpush "swarm:${TASK_ID}:gate-passed" "1"
|
|
586
|
-
|
|
587
|
-
# Spawn Loop 2 validators
|
|
588
|
-
spawn_loop2_validators
|
|
589
|
-
else
|
|
590
|
-
echo "❌ Gate FAILED - preparing Loop 3 iteration"
|
|
591
|
-
|
|
592
|
-
# Store gate failure and prepare feedback
|
|
593
|
-
|
|
594
|
-
# Prepare iteration feedback
|
|
595
|
-
prepare_loop3_feedback
|
|
596
|
-
fi
|
|
597
|
-
```
|
|
598
|
-
|
|
599
|
-
#### 5. Loop 2 Consensus Collection
|
|
600
|
-
```bash
|
|
601
|
-
spawn_loop2_validators() {
|
|
602
|
-
# Spawn Loop 2 agents with Loop 3 work context
|
|
603
|
-
for validator in "${loop2_agents[@]}"; do
|
|
604
|
-
AGENT_ID="${TASK_ID}-${validator}-$(date +%s)"
|
|
605
|
-
|
|
606
|
-
# Store validator context
|
|
607
|
-
|
|
608
|
-
# Inject validation context
|
|
609
|
-
VALIDATION_CONTEXT=$(cat <<EOF
|
|
610
|
-
Review Loop 3 implementation for iteration ${CURRENT_ITERATION}.
|
|
611
|
-
|
|
612
|
-
Task Context: $(redis-cli HGETALL "cfn_loop:task:${TASK_ID}:context")
|
|
613
|
-
Loop 3 Confidence: ${AVERAGE_CONFIDENCE}
|
|
614
|
-
Gate Threshold: ${GATE_THRESHOLD}
|
|
615
|
-
|
|
616
|
-
Focus on:
|
|
617
|
-
- Code quality and best practices
|
|
618
|
-
- Requirement fulfillment
|
|
619
|
-
- Security and performance
|
|
620
|
-
- Deliverable completeness
|
|
621
|
-
EOF
|
|
622
|
-
)
|
|
623
|
-
|
|
624
|
-
cfn-spawn agent "${validator}" \
|
|
625
|
-
--task-id "${TASK_ID}" \
|
|
626
|
-
--agent-id "${AGENT_ID}" \
|
|
627
|
-
--context "${VALIDATION_CONTEXT}" &
|
|
628
|
-
|
|
629
|
-
VALIDATOR_PIDS+=($!)
|
|
630
|
-
done
|
|
631
|
-
|
|
632
|
-
wait "${VALIDATOR_PIDS[@]}"
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
# Collect Loop 2 consensus
|
|
636
|
-
LOOP2_CONSENSUSES=()
|
|
637
|
-
for validator in "${loop2_agents[@]}"; do
|
|
638
|
-
CONSENSUS_SIGNAL=$(redis-cli blpop "swarm:${TASK_ID}:${validator}:done" 300)
|
|
639
|
-
|
|
640
|
-
if [ -n "$CONSENSUS_SIGNAL" ]; then
|
|
641
|
-
CONSENSUS_SCORE=$(redis-cli HGET "cfn_loop:task:${TASK_ID}:consensus:${validator}")
|
|
642
|
-
LOOP2_CONSENSUSES+=("$CONSENSUS_SCORE")
|
|
643
|
-
else
|
|
644
|
-
echo "⚠️ Validator ${validator} timed out"
|
|
645
|
-
LOOP2_CONSENSUSES+=("0.0")
|
|
646
|
-
fi
|
|
647
|
-
done
|
|
648
|
-
|
|
649
|
-
# Calculate consensus score
|
|
650
|
-
AVERAGE_CONSENSUS=$(printf '%s\n' "${LOOP2_CONSENSUSES[@]}" | awk '{sum+=$1} END {print sum/NR}')
|
|
651
|
-
echo "Loop 2 consensus: $AVERAGE_CONSENSUS"
|
|
652
|
-
```
|
|
653
|
-
|
|
654
|
-
#### 6. Product Owner Decision
|
|
655
|
-
```bash
|
|
656
|
-
# Spawn Product Owner with all context
|
|
657
|
-
PO_CONTEXT=$(cat <<EOF
|
|
658
|
-
Make PROCEED/ITERATE/ABORT decision for CFN Loop.
|
|
659
|
-
|
|
660
|
-
Task: $(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "epic_goal")
|
|
661
|
-
Mode: $(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "mode")
|
|
662
|
-
Iteration: ${CURRENT_ITERATION}/$(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "max_iterations")
|
|
663
|
-
|
|
664
|
-
Results:
|
|
665
|
-
- Loop 3 Confidence: ${AVERAGE_CONFIDENCE} (threshold: ${GATE_THRESHOLD})
|
|
666
|
-
- Loop 2 Consensus: ${AVERAGE_CONSENSUS} (threshold: ${CONSENSUS_THRESHOLD})
|
|
667
|
-
- Gate Status: $(redis-cli HGET "cfn_loop:task:${TASK_ID}:gate_result" "status")
|
|
668
|
-
|
|
669
|
-
Deliverables Created:
|
|
670
|
-
$(git diff --name-only 2>/dev/null || echo "No git changes detected")
|
|
671
|
-
|
|
672
|
-
DECISION REQUIRED: PROCEED|ITERATE|ABORT
|
|
673
|
-
EOF
|
|
674
|
-
)
|
|
675
|
-
|
|
676
|
-
# Spawn Product Owner
|
|
677
|
-
PO_AGENT_ID="${TASK_ID}-product-owner-$(date +%s)"
|
|
678
|
-
cfn-spawn agent "product-owner" \
|
|
679
|
-
--task-id "${TASK_ID}" \
|
|
680
|
-
--agent-id "${PO_AGENT_ID}" \
|
|
681
|
-
--context "${PO_CONTEXT}" &
|
|
682
|
-
|
|
683
|
-
# Wait for PO decision
|
|
684
|
-
PO_SIGNAL=$(redis-cli blpop "swarm:${TASK_ID}:product-owner:done" 300)
|
|
685
|
-
|
|
686
|
-
if [ -n "$PO_SIGNAL" ]; then
|
|
687
|
-
# Parse PO decision
|
|
688
|
-
PO_DECISION=$(redis-cli HGET "cfn_loop:task:${TASK_ID}:po_decision")
|
|
689
|
-
|
|
690
|
-
# Store final result
|
|
691
|
-
|
|
692
|
-
execute_decision "$PO_DECISION"
|
|
693
|
-
fi
|
|
694
|
-
```
|
|
695
|
-
|
|
696
|
-
#### 7. Decision Execution
|
|
697
|
-
```bash
|
|
698
|
-
execute_decision() {
|
|
699
|
-
local decision="$1"
|
|
700
|
-
|
|
701
|
-
case "$decision" in
|
|
702
|
-
"PROCEED")
|
|
703
|
-
echo "✅ CFN Loop completed successfully"
|
|
704
|
-
|
|
705
|
-
# Commit changes if git repo
|
|
706
|
-
if git rev-parse --git-dir > /dev/null 2>&1; then
|
|
707
|
-
git add .
|
|
708
|
-
git commit -m "feat: $(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "epic_goal")
|
|
709
|
-
|
|
710
|
-
CFN Loop Results:
|
|
711
|
-
- Iterations: ${CURRENT_ITERATION}
|
|
712
|
-
- Final Confidence: ${AVERAGE_CONFIDENCE}
|
|
713
|
-
- Final Consensus: ${AVERAGE_CONSENSUS}
|
|
714
|
-
- Mode: $(redis-cli HGET "cfn_loop:task:${TASK_ID}:context" "mode")
|
|
715
|
-
|
|
716
|
-
🤖 Generated with CFN Loop v3
|
|
717
|
-
Co-Authored-By: Claude <noreply@anthropic.com>"
|
|
718
|
-
fi
|
|
719
|
-
|
|
720
|
-
# Cleanup Redis data
|
|
721
|
-
redis-cli DEL "cfn_loop:task:${TASK_ID}:*" "swarm:${TASK_ID}:*"
|
|
722
|
-
exit 0
|
|
723
|
-
;;
|
|
724
|
-
|
|
725
|
-
"ITERATE")
|
|
726
|
-
if [ "$CURRENT_ITERATION" -ge "$MAX_ITERATIONS" ]; then
|
|
727
|
-
echo "❌ Max iterations reached - aborting"
|
|
728
|
-
cleanup_and_exit 1
|
|
729
|
-
fi
|
|
730
|
-
|
|
731
|
-
echo "🔄 Iterating - preparing feedback"
|
|
732
|
-
CURRENT_ITERATION=$((CURRENT_ITERATION + 1))
|
|
733
|
-
|
|
734
|
-
# Store iteration context
|
|
735
|
-
|
|
736
|
-
# Restart Loop 3 with fresh agents
|
|
737
|
-
restart_loop3_agents
|
|
738
|
-
;;
|
|
739
|
-
|
|
740
|
-
"ABORT")
|
|
741
|
-
echo "❌ CFN Loop aborted by Product Owner"
|
|
742
|
-
cleanup_and_exit 1
|
|
743
|
-
;;
|
|
744
|
-
|
|
745
|
-
*)
|
|
746
|
-
echo "❌ Invalid decision: $decision"
|
|
747
|
-
cleanup_and_exit 1
|
|
748
|
-
;;
|
|
749
|
-
esac
|
|
750
|
-
}
|
|
751
|
-
```
|
|
752
|
-
|
|
753
|
-
#### 8. Agent Completion Protocol (Mode-Specific)
|
|
754
|
-
```bash
|
|
755
|
-
# CLI Mode Completion Signal (REQUIRED for CLI-spawned agents)
|
|
756
|
-
signal_agent_completion() {
|
|
757
|
-
local confidence="$1"
|
|
758
|
-
local iteration="$2"
|
|
759
|
-
|
|
760
|
-
if [[ -n "${TASK_ID:-}" && -n "${AGENT_ID:-}" ]]; then
|
|
761
|
-
# Signal completion
|
|
762
|
-
redis-cli lpush "swarm:${TASK_ID}:${AGENT_ID}:done" "complete"
|
|
763
|
-
|
|
764
|
-
# Report confidence score
|
|
765
|
-
|
|
766
|
-
# Use coordination script for structured reporting
|
|
767
|
-
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
768
|
-
--task-id "$TASK_ID" \
|
|
769
|
-
--agent-id "$AGENT_ID" \
|
|
770
|
-
--confidence "$confidence" \
|
|
771
|
-
--iteration "$iteration"
|
|
772
|
-
fi
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
# Task Mode (if spawned via Task() in Main Chat)
|
|
776
|
-
# Simply return JSON response - no Redis signals needed
|
|
777
|
-
```
|
|
778
|
-
|
|
779
|
-
### Task Mode Implementation (Debugging)
|
|
780
|
-
|
|
781
|
-
When spawned via Task() tool in Main Chat:
|
|
782
|
-
- No Redis coordination needed
|
|
783
|
-
- Return simple JSON configuration
|
|
784
|
-
- Main Chat handles all agent spawning
|
|
785
|
-
|
|
786
|
-
## Output Format (REQUIRED)
|
|
787
|
-
|
|
788
|
-
Return ONLY this JSON structure, nothing else:
|
|
789
|
-
|
|
790
|
-
```json
|
|
791
|
-
{
|
|
792
|
-
"task_type": "software-development|content-creation|research|design|infrastructure|data-engineering",
|
|
793
|
-
"loop3_agents": ["agent1", "agent2", "agent3"],
|
|
794
|
-
"loop2_agents": ["validator1", "validator2", "validator3"],
|
|
795
|
-
"loop4_agent": "product-owner",
|
|
796
|
-
"validation_criteria": {
|
|
797
|
-
"critical": ["criterion1", "criterion2"],
|
|
798
|
-
"important": ["criterion3", "criterion4"],
|
|
799
|
-
"nice_to_have": ["criterion5"]
|
|
800
|
-
},
|
|
801
|
-
"deliverables": [
|
|
802
|
-
"path/to/file1.ext",
|
|
803
|
-
"path/to/file2.ext"
|
|
804
|
-
],
|
|
805
|
-
"gate_threshold": 0.75,
|
|
806
|
-
"consensus_threshold": 0.90,
|
|
807
|
-
"max_iterations": 10,
|
|
808
|
-
"estimated_iterations": 3,
|
|
809
|
-
"complexity": "low|medium|high",
|
|
810
|
-
"reasoning": "Brief explanation of agent selection and validation choices"
|
|
811
|
-
}
|
|
812
|
-
```
|
|
813
|
-
|
|
814
|
-
## Analysis Framework
|
|
815
|
-
|
|
816
|
-
### Task Classification
|
|
817
|
-
|
|
818
|
-
**1. Software Development**
|
|
819
|
-
- loop3_agents: ["backend-developer", "frontend-developer", "qa-tester"]
|
|
820
|
-
- loop2_agents: ["reviewer", "security-specialist", "contract-tester", "integration-tester", "mutation-testing-specialist"]
|
|
821
|
-
- loop4_agent: "product-owner"
|
|
822
|
-
- Note: Phase 5 enhanced validators (contract, integration, mutation) ensure comprehensive quality validation
|
|
823
|
-
|
|
824
|
-
**2. Infrastructure**
|
|
825
|
-
- loop3_agents: ["devops-engineer", "security-specialist", "cloud-architect"]
|
|
826
|
-
- loop2_agents: ["reviewer", "security-specialist", "performance-benchmarker"]
|
|
827
|
-
- loop4_agent: "product-owner"
|
|
828
|
-
|
|
829
|
-
**3. Content Creation**
|
|
830
|
-
- loop3_agents: ["technical-writer", "documentation-specialist", "content-reviewer"]
|
|
831
|
-
- loop2_agents: ["reviewer", "editor", "quality-validator"]
|
|
832
|
-
- loop4_agent: "product-owner"
|
|
833
|
-
|
|
834
|
-
**4. Research & Analysis**
|
|
835
|
-
- loop3_agents: ["researcher", "data-analyst", "domain-expert"]
|
|
836
|
-
- loop2_agents: ["peer-reviewer", "methodology-validator", "quality-checker"]
|
|
837
|
-
- loop4_agent: "product-owner"
|
|
838
|
-
|
|
839
|
-
**5. Design**
|
|
840
|
-
- loop3_agents: ["ux-designer", "ui-implementer", "accessibility-specialist"]
|
|
841
|
-
- loop2_agents: ["design-reviewer", "usability-tester", "standards-validator"]
|
|
842
|
-
- loop4_agent: "product-owner"
|
|
843
|
-
|
|
844
|
-
**6. Data Engineering**
|
|
845
|
-
- loop3_agents: ["data-engineer", "pipeline-specialist", "quality-validator"]
|
|
846
|
-
- loop2_agents: ["data-reviewer", "performance-analyst", "security-validator"]
|
|
847
|
-
- loop4_agent: "product-owner"
|
|
848
|
-
|
|
849
|
-
### Mode Selection
|
|
850
|
-
|
|
851
|
-
**MVP Mode:**
|
|
852
|
-
- gate_threshold: 0.70
|
|
853
|
-
- consensus_threshold: 0.80
|
|
854
|
-
- max_iterations: 5
|
|
855
|
-
|
|
856
|
-
**Standard Mode:**
|
|
857
|
-
- gate_threshold: 0.75
|
|
858
|
-
- consensus_threshold: 0.90
|
|
859
|
-
- max_iterations: 10
|
|
860
|
-
|
|
861
|
-
**Enterprise Mode:**
|
|
862
|
-
- gate_threshold: 0.85
|
|
863
|
-
- consensus_threshold: 0.95
|
|
864
|
-
- max_iterations: 15
|
|
865
|
-
|
|
866
|
-
### Complexity Assessment
|
|
867
|
-
|
|
868
|
-
**Low Complexity:**
|
|
869
|
-
- Single domain, well-defined requirements
|
|
870
|
-
- Estimated iterations: 2-3
|
|
871
|
-
- Standard validation criteria
|
|
872
|
-
|
|
873
|
-
**Medium Complexity:**
|
|
874
|
-
- Cross-functional dependencies
|
|
875
|
-
- Estimated iterations: 4-7
|
|
876
|
-
- Enhanced validation criteria
|
|
877
|
-
|
|
878
|
-
**High Complexity:**
|
|
879
|
-
- Multiple domains, ambiguous requirements
|
|
880
|
-
- Estimated iterations: 8-12
|
|
881
|
-
- Comprehensive validation criteria
|
|
882
|
-
|
|
883
|
-
### Deliverable Analysis
|
|
884
|
-
|
|
885
|
-
Extract deliverables from task description:
|
|
886
|
-
- Look for explicit file mentions
|
|
887
|
-
- Identify implied deliverables from requirements
|
|
888
|
-
- Consider standard deliverables for task type
|
|
889
|
-
- Include both implementation and documentation files
|
|
890
|
-
|
|
891
|
-
### Agent Selection Rules
|
|
892
|
-
|
|
893
|
-
**Loop 3 (Implementation):**
|
|
894
|
-
- Primary agent handles main implementation
|
|
895
|
-
- Secondary agents handle cross-cutting concerns
|
|
896
|
-
- Always include domain-specific specialists
|
|
897
|
-
|
|
898
|
-
**Loop 2 (Validation):**
|
|
899
|
-
- At least one general reviewer
|
|
900
|
-
- One domain specialist validator
|
|
901
|
-
- One quality/specialized validator
|
|
902
|
-
|
|
903
|
-
**Loop 4 (Decision):**
|
|
904
|
-
- Always use product-owner for strategic decisions
|
|
905
|
-
|
|
906
|
-
## Task Analysis Process
|
|
907
|
-
|
|
908
|
-
1. **Parse Task Description**
|
|
909
|
-
- Identify domain and task type
|
|
910
|
-
- Extract explicit deliverables
|
|
911
|
-
- Assess complexity indicators
|
|
912
|
-
|
|
913
|
-
2. **Select Mode**
|
|
914
|
-
- Default to standard mode
|
|
915
|
-
- Use MVP for simple prototypes
|
|
916
|
-
- Use enterprise for critical systems
|
|
917
|
-
|
|
918
|
-
3. **Choose Agents**
|
|
919
|
-
- Match domain expertise
|
|
920
|
-
- Ensure validation coverage
|
|
921
|
-
- Include security/quality specialists
|
|
922
|
-
|
|
923
|
-
4. **Set Validation Criteria**
|
|
924
|
-
- Critical: must-have requirements
|
|
925
|
-
- Important: expected quality standards
|
|
926
|
-
- Nice-to-have: enhancement opportunities
|
|
927
|
-
|
|
928
|
-
5. **Estimate Effort**
|
|
929
|
-
- Assess complexity level
|
|
930
|
-
- Estimate iteration count
|
|
931
|
-
- Provide reasoning for choices
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
## Multi-Worktree Coordination
|
|
936
|
-
|
|
937
|
-
When spawning agents in multi-worktree environments (teams using git worktrees), inject environment variables for proper Docker isolation:
|
|
938
|
-
|
|
939
|
-
```bash
|
|
940
|
-
# Detect current branch and calculate port offset
|
|
941
|
-
BRANCH=$(git rev-parse --abbrev-ref HEAD)
|
|
942
|
-
COMPOSE_PROJECT_NAME="cfn-${BRANCH}"
|
|
943
|
-
|
|
944
|
-
# Inject to spawned agents
|
|
945
|
-
npx claude-flow-novice agent-spawn backend-developer \
|
|
946
|
-
--type backend-developer \
|
|
947
|
-
--task "$TASK_DESCRIPTION" \
|
|
948
|
-
--env COMPOSE_PROJECT_NAME="${COMPOSE_PROJECT_NAME}" \
|
|
949
|
-
--env CFN_REDIS_PORT="${CFN_REDIS_PORT}" \
|
|
950
|
-
--env CFN_POSTGRES_PORT="${CFN_POSTGRES_PORT}" \
|
|
951
|
-
--env WORKTREE_BRANCH="${BRANCH}"
|
|
952
|
-
```
|
|
953
|
-
|
|
954
|
-
**Key Principles:**
|
|
955
|
-
|
|
956
|
-
1. **Service Discovery**: Agents access services by name (not container names):
|
|
957
|
-
- Redis: `redis` (not `cfn-redis-1`)
|
|
958
|
-
- Postgres: `postgres` (not `cfn-postgres-1`)
|
|
959
|
-
- Orchestrator: `orchestrator` (not `cfn-orchestrator-1`)
|
|
960
|
-
|
|
961
|
-
2. **Environment Isolation**: Each worktree gets unique project name and port offsets
|
|
962
|
-
- Prevents port conflicts between branches
|
|
963
|
-
- Isolates container namespaces
|
|
964
|
-
- Enables simultaneous multi-branch development
|
|
965
|
-
|
|
966
|
-
3. **Coordination Context**: Pass environment variables to all spawned agents
|
|
967
|
-
- Ensures agents connect to correct worktree services
|
|
968
|
-
- Maintains task isolation across worktrees
|
|
969
|
-
- Enables swarm recovery with proper context
|
|
970
|
-
|
|
971
|
-
**Related Documentation**: See `CLAUDE.md:104-182` for complete multi-worktree patterns.
|
|
972
|
-
|
|
973
|
-
## Success Metrics
|
|
974
|
-
|
|
975
|
-
- Agent selections match domain expertise
|
|
976
|
-
- Validation criteria cover all critical requirements
|
|
977
|
-
- Deliverable list is comprehensive
|
|
978
|
-
- Confidence score ≥ 0.85 in analysis quality
|
|
979
|
-
- **CRITICAL: Orchestrator invoked successfully**
|
|
980
|
-
|