claude-flow-novice 2.15.2 → 2.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/.claude/commands/cfn-loop-cli.md +16 -2
- package/.claude/commands/switch-api.md +31 -10
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/.claude/hooks/cfn-post-edit.config.json +44 -44
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/README.md +116 -475
- package/claude-assets/agents/cfn-dev-team/README.md +103 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
- package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/claude-assets/commands/cfn-loop-cli.md +16 -2
- package/claude-assets/commands/switch-api.md +31 -10
- package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
- package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
- package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
- package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
- package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
- package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
- package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
- package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
- package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
- package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
- package/claude-assets/skills/bootstrap/database-connection.md +464 -0
- package/claude-assets/skills/bootstrap/error-handling.md +580 -0
- package/claude-assets/skills/bootstrap/file-operations.md +699 -0
- package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
- package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
- package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
- package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
- package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
- package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
- package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
- package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
- package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
- package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
- package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
- package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
- package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
- package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
- package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
- package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
- package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
- package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
- package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
- package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
- package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
- package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
- package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
- package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
- package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
- package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
- package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
- package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
- package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
- package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
- package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
- package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
- package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
- package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
- package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
- package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
- package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
- package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
- package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
- package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
- package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
- package/claude-assets/skills/cfn-utilities/test.sh +317 -0
- package/claude-assets/skills/docker-build/SKILL.md +96 -203
- package/claude-assets/skills/docker-build/build.sh +73 -73
- package/claude-assets/skills/integration/agent-handoff.sh +492 -0
- package/claude-assets/skills/integration/file-operations.sh +414 -0
- package/claude-assets/skills/json-validation/SKILL.md +431 -0
- package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
- package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
- package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
- package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
- package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
- package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
- package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
- package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
- package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
- package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
- package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
- package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
- package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
- package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
- package/dist/ace/ace-curator.js +10 -2
- package/dist/ace/ace-curator.js.map +1 -1
- package/dist/ace/ace-generator.js +4 -0
- package/dist/ace/ace-generator.js.map +1 -1
- package/dist/ace/ace-reflector.js +1 -1
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/ace/context-injection.js +24 -2
- package/dist/ace/context-injection.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/agents/task-agent-integration.js +1 -1
- package/dist/agents/task-agent-integration.js.map +1 -1
- package/dist/api/health-endpoints.js +390 -0
- package/dist/api/health-endpoints.js.map +1 -0
- package/dist/cli/agent-executor.js +4 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +89 -1
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +130 -37
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/skill-cache-validator.js +412 -0
- package/dist/cli/skill-cache-validator.js.map +1 -0
- package/dist/cli/skill-cli.js +991 -0
- package/dist/cli/skill-cli.js.map +1 -0
- package/dist/cli/skill-execution-logger.js +284 -0
- package/dist/cli/skill-execution-logger.js.map +1 -0
- package/dist/cli/skill-loader.js +457 -0
- package/dist/cli/skill-loader.js.map +1 -0
- package/dist/coordination/event-bus.js +2 -2
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/fleet-manager.js +1 -1
- package/dist/coordination/fleet-manager.js.map +1 -1
- package/dist/coordination/index.js +23 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/types/fleet-manager.types.js.map +1 -1
- package/dist/db/migration-manager.js +483 -0
- package/dist/db/migration-manager.js.map +1 -0
- package/dist/db/skills-query.js +535 -0
- package/dist/db/skills-query.js.map +1 -0
- package/dist/integration/DatabaseHandoff.js +507 -0
- package/dist/integration/DatabaseHandoff.js.map +1 -0
- package/dist/integration/StandardAdapter.js +291 -0
- package/dist/integration/StandardAdapter.js.map +1 -0
- package/dist/jobs/edge-case-analyzer.js +367 -0
- package/dist/jobs/edge-case-analyzer.js.map +1 -0
- package/dist/jobs/promotion-sla-enforcer.js +288 -0
- package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
- package/dist/lib/agent-output-parser.js +518 -0
- package/dist/lib/agent-output-parser.js.map +1 -0
- package/dist/lib/agent-output-validator.js +950 -0
- package/dist/lib/agent-output-validator.js.map +1 -0
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.js.map +1 -0
- package/dist/lib/artifact-registry.js +443 -0
- package/dist/lib/artifact-registry.js.map +1 -0
- package/dist/lib/atomic-file-writer.js +377 -0
- package/dist/lib/atomic-file-writer.js.map +1 -0
- package/dist/lib/backup-manager.js +779 -0
- package/dist/lib/backup-manager.js.map +1 -0
- package/dist/lib/checkpoint-manager.js +837 -0
- package/dist/lib/checkpoint-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.js +340 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/completion-signal-handler.js +243 -0
- package/dist/lib/completion-signal-handler.js.map +1 -0
- package/dist/lib/config-manager.js +312 -0
- package/dist/lib/config-manager.js.map +1 -0
- package/dist/lib/config-migrator.js +386 -0
- package/dist/lib/config-migrator.js.map +1 -0
- package/dist/lib/config-validator.js +687 -0
- package/dist/lib/config-validator.js.map +1 -0
- package/dist/lib/correlation-cache.js +311 -0
- package/dist/lib/correlation-cache.js.map +1 -0
- package/dist/lib/correlation.js +263 -0
- package/dist/lib/correlation.js.map +1 -0
- package/dist/lib/database-service/connection-pool-manager.js +520 -0
- package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
- package/dist/lib/database-service/correlation.js +329 -0
- package/dist/lib/database-service/correlation.js.map +1 -0
- package/dist/lib/database-service/errors.js +120 -0
- package/dist/lib/database-service/errors.js.map +1 -0
- package/dist/lib/database-service/index.js +168 -0
- package/dist/lib/database-service/index.js.map +1 -0
- package/dist/lib/database-service/postgres-adapter.js +526 -0
- package/dist/lib/database-service/postgres-adapter.js.map +1 -0
- package/dist/lib/database-service/redis-adapter.js +360 -0
- package/dist/lib/database-service/redis-adapter.js.map +1 -0
- package/dist/lib/database-service/sqlite-adapter.js +544 -0
- package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
- package/dist/lib/database-service/transaction-manager.js +773 -0
- package/dist/lib/database-service/transaction-manager.js.map +1 -0
- package/dist/lib/database-service/types.js +23 -0
- package/dist/lib/database-service/types.js.map +1 -0
- package/dist/lib/deadlock-resolver.js +292 -0
- package/dist/lib/deadlock-resolver.js.map +1 -0
- package/dist/lib/distributed-lock.js +451 -0
- package/dist/lib/distributed-lock.js.map +1 -0
- package/dist/lib/edge-case-deduplicator.js +227 -0
- package/dist/lib/edge-case-deduplicator.js.map +1 -0
- package/dist/lib/encryption-manager.js +322 -0
- package/dist/lib/encryption-manager.js.map +1 -0
- package/dist/lib/error-aggregator.js +234 -0
- package/dist/lib/error-aggregator.js.map +1 -0
- package/dist/lib/errors.js +287 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock-manager.js +578 -0
- package/dist/lib/file-lock-manager.js.map +1 -0
- package/dist/lib/file-operations.js +367 -0
- package/dist/lib/file-operations.js.map +1 -0
- package/dist/lib/idempotent-write.js +237 -0
- package/dist/lib/idempotent-write.js.map +1 -0
- package/dist/lib/integration-schema-validator.js +522 -0
- package/dist/lib/integration-schema-validator.js.map +1 -0
- package/dist/lib/lock-health-monitor.js +298 -0
- package/dist/lib/lock-health-monitor.js.map +1 -0
- package/dist/lib/log-shipper.js +422 -0
- package/dist/lib/log-shipper.js.map +1 -0
- package/dist/lib/logging.js +146 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/message-deduplicator.js +439 -0
- package/dist/lib/message-deduplicator.js.map +1 -0
- package/dist/lib/multi-system-query.js +604 -0
- package/dist/lib/multi-system-query.js.map +1 -0
- package/dist/lib/orphan-detector.js +332 -0
- package/dist/lib/orphan-detector.js.map +1 -0
- package/dist/lib/password-generator.js +166 -0
- package/dist/lib/password-generator.js.map +1 -0
- package/dist/lib/path-validator.js +429 -0
- package/dist/lib/path-validator.js.map +1 -0
- package/dist/lib/query-translator.js +905 -0
- package/dist/lib/query-translator.js.map +1 -0
- package/dist/lib/queue-recovery.js +469 -0
- package/dist/lib/queue-recovery.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +512 -0
- package/dist/lib/redis-queue-manager.js.map +1 -0
- package/dist/lib/reflection-archiver.js +272 -0
- package/dist/lib/reflection-archiver.js.map +1 -0
- package/dist/lib/retry-manager.js +453 -0
- package/dist/lib/retry-manager.js.map +1 -0
- package/dist/lib/retry.js +262 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/schema-transform.js +695 -0
- package/dist/lib/schema-transform.js.map +1 -0
- package/dist/lib/schema-validator.js +491 -0
- package/dist/lib/schema-validator.js.map +1 -0
- package/dist/lib/skill-cache.js +297 -0
- package/dist/lib/skill-cache.js.map +1 -0
- package/dist/lib/skill-content-manager.js +337 -0
- package/dist/lib/skill-content-manager.js.map +1 -0
- package/dist/lib/skill-frontmatter-parser.js +237 -0
- package/dist/lib/skill-frontmatter-parser.js.map +1 -0
- package/dist/lib/skill-git-integration.js +275 -0
- package/dist/lib/skill-git-integration.js.map +1 -0
- package/dist/lib/skill-markdown-validator.js +396 -0
- package/dist/lib/skill-markdown-validator.js.map +1 -0
- package/dist/lib/skill-output-parser.js +312 -0
- package/dist/lib/skill-output-parser.js.map +1 -0
- package/dist/lib/unified-query-api.js +467 -0
- package/dist/lib/unified-query-api.js.map +1 -0
- package/dist/middleware/auth-middleware.js +350 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/schema-validation.js +347 -0
- package/dist/middleware/schema-validation.js.map +1 -0
- package/dist/providers/anthropic-provider.js +1 -1
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +2 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/services/edge-case-analyzer.js +321 -0
- package/dist/services/edge-case-analyzer.js.map +1 -0
- package/dist/services/edge-case-deduplicator.js +266 -0
- package/dist/services/edge-case-deduplicator.js.map +1 -0
- package/dist/services/edge-case-detector.js +337 -0
- package/dist/services/edge-case-detector.js.map +1 -0
- package/dist/services/edge-case-tracker.js +547 -0
- package/dist/services/edge-case-tracker.js.map +1 -0
- package/dist/services/health-check-system.js +586 -0
- package/dist/services/health-check-system.js.map +1 -0
- package/dist/services/metrics-logger.js +412 -0
- package/dist/services/metrics-logger.js.map +1 -0
- package/dist/services/patch-generator.js +378 -0
- package/dist/services/patch-generator.js.map +1 -0
- package/dist/services/patch-validator.js +337 -0
- package/dist/services/patch-validator.js.map +1 -0
- package/dist/services/performance-monitor.js +811 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/promotion-pipeline.js +918 -0
- package/dist/services/promotion-pipeline.js.map +1 -0
- package/dist/services/promotion-validator.js +394 -0
- package/dist/services/promotion-validator.js.map +1 -0
- package/dist/services/reflection-logger.js +388 -0
- package/dist/services/reflection-logger.js.map +1 -0
- package/dist/services/skill-deployment.js +472 -0
- package/dist/services/skill-deployment.js.map +1 -0
- package/dist/services/skill-loader.js +427 -0
- package/dist/services/skill-loader.js.map +1 -0
- package/dist/services/skill-promotion.js +372 -0
- package/dist/services/skill-promotion.js.map +1 -0
- package/dist/services/skill-validator.js +454 -0
- package/dist/services/skill-validator.js.map +1 -0
- package/dist/services/skill-versioning.js +244 -0
- package/dist/services/skill-versioning.js.map +1 -0
- package/dist/services/workspace-supervisor.js +597 -0
- package/dist/services/workspace-supervisor.js.map +1 -0
- package/dist/types/agent-output.js +44 -0
- package/dist/types/agent-output.js.map +1 -0
- package/dist/types/config.js +28 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -176
- package/readme/README.md +19 -4
- package/scripts/artifact-cleanup.sh +392 -0
- package/scripts/backup-cleanup.sh +627 -0
- package/scripts/cleanup-workspaces.sh +412 -0
- package/scripts/cleanup-yaml-configs.sh +141 -0
- package/scripts/deploy-approved-skills.sh +263 -0
- package/scripts/deploy-production.sh +355 -355
- package/scripts/docker-playwright-fix.sh +311 -311
- package/scripts/docker-rebuild-all-agents.sh +127 -127
- package/scripts/health-check.sh +447 -0
- package/scripts/log-aggregator.sh +554 -0
- package/scripts/log-monitor.sh +629 -0
- package/scripts/manage-agent-workspaces.sh +434 -0
- package/scripts/memory-leak-prevention.sh +305 -305
- package/scripts/migrate-artifacts.sh +563 -0
- package/scripts/migrate-schema.sh +533 -0
- package/scripts/migrate-yaml-to-json.sh +465 -0
- package/scripts/promote-staged-skills.sh +423 -0
- package/scripts/run-marketing-tests.sh +42 -42
- package/scripts/update_paths.sh +46 -46
- package/scripts/verify-no-secrets.sh +88 -35
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
- package/README.md.backup_before_replace +0 -781
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
|
@@ -1,279 +1,279 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Task Decomposition for Complex Operations
|
|
3
|
-
# Breaks down complex tasks into smaller, tool-budget-efficient subtasks
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Configuration
|
|
8
|
-
TASK_ID="${1}"
|
|
9
|
-
TASK_DESCRIPTION="${2}"
|
|
10
|
-
TOOL_BUDGET="${3:-10}" # Default 10 tool budget per agent
|
|
11
|
-
COMPLEXITY_THRESHOLD="${4:-medium}" # low, medium, high
|
|
12
|
-
|
|
13
|
-
# Colors for output
|
|
14
|
-
RED='\033[0;31m'
|
|
15
|
-
GREEN='\033[0;32m'
|
|
16
|
-
YELLOW='\033[1;33m'
|
|
17
|
-
BLUE='\033[0;34m'
|
|
18
|
-
NC='\033[0m' # No Color
|
|
19
|
-
|
|
20
|
-
echo -e "${BLUE}🔧 CFN Loop Task Decomposition${NC}"
|
|
21
|
-
echo "Task ID: $TASK_ID"
|
|
22
|
-
echo "Tool Budget: $TOOL_BUDGET per agent"
|
|
23
|
-
echo "Complexity: $COMPLEXITY_THRESHOLD"
|
|
24
|
-
echo ""
|
|
25
|
-
|
|
26
|
-
# Function to analyze task complexity
|
|
27
|
-
analyze_task_complexity() {
|
|
28
|
-
local description="$1"
|
|
29
|
-
local complexity_score=0
|
|
30
|
-
|
|
31
|
-
# File operation indicators
|
|
32
|
-
if echo "$description" | grep -qiE "(fix|create|modify|update|delete|write).*file"; then
|
|
33
|
-
((complexity_score += 3))
|
|
34
|
-
fi
|
|
35
|
-
|
|
36
|
-
# Directory exploration indicators
|
|
37
|
-
if echo "$description" | grep -qiE "(explore|find|search|scan|directory|folder)"; then
|
|
38
|
-
((complexity_score += 2))
|
|
39
|
-
fi
|
|
40
|
-
|
|
41
|
-
# Multiple component indicators
|
|
42
|
-
if echo "$description" | grep -qiE "(multiple|batch|all|every|comprehensive)"; then
|
|
43
|
-
((complexity_score += 4))
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
# TypeScript/Complex file indicators
|
|
47
|
-
if echo "$description" | grep -qiE "(typescript|tsx|interface|type|complex)"; then
|
|
48
|
-
((complexity_score += 2))
|
|
49
|
-
fi
|
|
50
|
-
|
|
51
|
-
# Dependency analysis indicators
|
|
52
|
-
if echo "$description" | grep -qiE "(dependency|import|require|module)"; then
|
|
53
|
-
((complexity_score += 2))
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
echo "$complexity_score"
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
# Function to decompose TypeScript error fixing tasks
|
|
60
|
-
decompose_typescript_task() {
|
|
61
|
-
local task_id="$1"
|
|
62
|
-
local description="$2"
|
|
63
|
-
local output_file=".claude/skills/cfn-task-decomposition/${task_id}-subtasks.json"
|
|
64
|
-
|
|
65
|
-
echo -e "${YELLOW}Decomposing TypeScript task...${NC}"
|
|
66
|
-
|
|
67
|
-
# Create subtasks
|
|
68
|
-
cat > "$output_file" << EOF
|
|
69
|
-
{
|
|
70
|
-
"task_id": "$task_id",
|
|
71
|
-
"original_task": "$description",
|
|
72
|
-
"decomposition_strategy": "typescript-error-fixing",
|
|
73
|
-
"subtasks": [
|
|
74
|
-
{
|
|
75
|
-
"subtask_id": "${task_id}-recon",
|
|
76
|
-
"title": "Directory Reconnaissance",
|
|
77
|
-
"description": "Explore project structure and identify TypeScript files needing fixes",
|
|
78
|
-
"agent_type": "researcher",
|
|
79
|
-
"tool_budget": 5,
|
|
80
|
-
"expected_tools": ["find", "grep", "Read", "Glob"],
|
|
81
|
-
"deliverables": ["file-list.txt", "error-classification.json"],
|
|
82
|
-
"estimated_duration": "5-10 minutes"
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
"subtask_id": "${task_id}-pattern",
|
|
86
|
-
"title": "Error Pattern Analysis",
|
|
87
|
-
"description": "Analyze TypeScript errors and identify common patterns",
|
|
88
|
-
"agent_type": "analyst",
|
|
89
|
-
"tool_budget": 8,
|
|
90
|
-
"expected_tools": ["Read", "Grep", "Bash"],
|
|
91
|
-
"deliverables": ["error-patterns.json", "fix-strategy.md"],
|
|
92
|
-
"estimated_duration": "10-15 minutes"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"subtask_id": "${task_id}-fix",
|
|
96
|
-
"title": "File-by-File Fixes",
|
|
97
|
-
"description": "Fix TypeScript errors in identified files using patterns",
|
|
98
|
-
"agent_type": "backend-developer",
|
|
99
|
-
"tool_budget": 15,
|
|
100
|
-
"expected_tools": ["Read", "Edit", "Write", "Bash"],
|
|
101
|
-
"deliverables": ["fixed-files/", "fix-summary.json"],
|
|
102
|
-
"estimated_duration": "20-30 minutes",
|
|
103
|
-
"batch_processing": {
|
|
104
|
-
"max_files_per_batch": 3,
|
|
105
|
-
"batches_total": 5
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"subtask_id": "${task_id}-validate",
|
|
110
|
-
"title": "Validation and Testing",
|
|
111
|
-
"description": "Validate fixes and run TypeScript compilation",
|
|
112
|
-
"agent_type": "tester",
|
|
113
|
-
"tool_budget": 10,
|
|
114
|
-
"expected_tools": ["Bash", "Read", "Write"],
|
|
115
|
-
"deliverables": ["validation-report.json", "compilation-results.txt"],
|
|
116
|
-
"estimated_duration": "10-15 minutes"
|
|
117
|
-
}
|
|
118
|
-
],
|
|
119
|
-
"coordination": {
|
|
120
|
-
"dependency_order": ["recon", "pattern", "fix", "validate"],
|
|
121
|
-
"redis_context_keys": {
|
|
122
|
-
"recon": "${task_id}:recon:results",
|
|
123
|
-
"pattern": "${task_id}:pattern:results",
|
|
124
|
-
"fix": "${task_id}:fix:results",
|
|
125
|
-
"validate": "${task_id}:validate:results"
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
EOF
|
|
130
|
-
|
|
131
|
-
echo -e "${GREEN}✓ Task decomposition created: $output_file${NC}"
|
|
132
|
-
echo "$output_file"
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
# Function to decompose file exploration tasks
|
|
136
|
-
decompose_exploration_task() {
|
|
137
|
-
local task_id="$1"
|
|
138
|
-
local description="$2"
|
|
139
|
-
local output_file=".claude/skills/cfn-task-decomposition/${task_id}-subtasks.json"
|
|
140
|
-
|
|
141
|
-
echo -e "${YELLOW}Decomposing exploration task...${NC}"
|
|
142
|
-
|
|
143
|
-
cat > "$output_file" << EOF
|
|
144
|
-
{
|
|
145
|
-
"task_id": "$task_id",
|
|
146
|
-
"original_task": "$description",
|
|
147
|
-
"decomposition_strategy": "directory-exploration",
|
|
148
|
-
"subtasks": [
|
|
149
|
-
{
|
|
150
|
-
"subtask_id": "${task_id}-scan",
|
|
151
|
-
"title": "Targeted Directory Scan",
|
|
152
|
-
"description": "Scan specific directories for target files using ripgrep",
|
|
153
|
-
"agent_type": "researcher",
|
|
154
|
-
"tool_budget": 6,
|
|
155
|
-
"expected_tools": ["Bash", "rg", "Glob", "Read"],
|
|
156
|
-
"deliverables": ["target-files.txt", "directory-map.json"],
|
|
157
|
-
"estimated_duration": "5-8 minutes"
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"subtask_id": "${task_id}-analyze",
|
|
161
|
-
"title": "File Content Analysis",
|
|
162
|
-
"description": "Analyze found files to understand structure and patterns",
|
|
163
|
-
"agent_type": "analyst",
|
|
164
|
-
"tool_budget": 8,
|
|
165
|
-
"expected_tools": ["Read", "Grep", "Write"],
|
|
166
|
-
"deliverables": ["file-analysis.json", "content-summary.md"],
|
|
167
|
-
"estimated_duration": "8-12 minutes"
|
|
168
|
-
}
|
|
169
|
-
]
|
|
170
|
-
}
|
|
171
|
-
EOF
|
|
172
|
-
|
|
173
|
-
echo -e "${GREEN}✓ Task decomposition created: $output_file${NC}"
|
|
174
|
-
echo "$output_file"
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
# Function to create task-specific agent prompts
|
|
178
|
-
create_agent_prompts() {
|
|
179
|
-
local subtasks_file="$1"
|
|
180
|
-
local prompts_dir=".claude/skills/cfn-task-decomposition/prompts"
|
|
181
|
-
|
|
182
|
-
mkdir -p "$prompts_dir"
|
|
183
|
-
|
|
184
|
-
# Extract subtask information
|
|
185
|
-
local task_id=$(jq -r '.task_id' "$subtasks_file")
|
|
186
|
-
local strategy=$(jq -r '.decomposition_strategy' "$subtasks_file")
|
|
187
|
-
|
|
188
|
-
# Generate prompts for each subtask
|
|
189
|
-
jq -r '.subtasks[] | @base64' "$subtasks_file" | while read -r subtask_b64; do
|
|
190
|
-
local subtask=$(echo "$subtask_b64" | base64 -d)
|
|
191
|
-
local subtask_id=$(echo "$subtask" | jq -r '.subtask_id')
|
|
192
|
-
local title=$(echo "$subtask" | jq -r '.title')
|
|
193
|
-
local description=$(echo "$subtask" | jq -r '.description')
|
|
194
|
-
local tool_budget=$(echo "$subtask" | jq -r '.tool_budget')
|
|
195
|
-
local deliverables=$(echo "$subtask" | jq -r '.deliverables[]')
|
|
196
|
-
|
|
197
|
-
cat > "$prompts_dir/${subtask_id}-prompt.md" << EOF
|
|
198
|
-
# Task: $title
|
|
199
|
-
|
|
200
|
-
## Context
|
|
201
|
-
You are working on subtask "${subtask_id}" of the larger task "${task_id}".
|
|
202
|
-
|
|
203
|
-
## Your Mission
|
|
204
|
-
$description
|
|
205
|
-
|
|
206
|
-
## Tool Budget Optimization
|
|
207
|
-
You have **$tool_budget tool uses** available. Use them efficiently:
|
|
208
|
-
|
|
209
|
-
### Recommended Tool Sequence:
|
|
210
|
-
1. **Exploration tools** (Read, Glob, Bash) - 2-3 uses
|
|
211
|
-
2. **Analysis tools** (Grep, Read) - 2-3 uses
|
|
212
|
-
3. **Implementation tools** (Edit, Write) - 3-5 uses
|
|
213
|
-
4. **Validation tools** (Bash, Read) - 1-2 uses
|
|
214
|
-
|
|
215
|
-
### Efficiency Tips:
|
|
216
|
-
- **Batch operations**: Read multiple files in one tool use when possible
|
|
217
|
-
- **Targeted searches**: Use specific patterns instead of broad scans
|
|
218
|
-
- **Early validation**: Check results after each major step
|
|
219
|
-
- **Combine tool uses**: Use compound commands to reduce tool count
|
|
220
|
-
|
|
221
|
-
## Expected Deliverables
|
|
222
|
-
$deliverables
|
|
223
|
-
|
|
224
|
-
## Success Criteria
|
|
225
|
-
- All deliverables created with high quality
|
|
226
|
-
- Tool budget not exceeded
|
|
227
|
-
- Results passed to next subtask via Redis
|
|
228
|
-
|
|
229
|
-
## Redis Context
|
|
230
|
-
- Store results in: \`${task_id}:${subtask_id}:results\`
|
|
231
|
-
- Use confidence scoring based on deliverable completion
|
|
232
|
-
- Signal completion via Redis LPUSH to \`${task_id}:${subtask_id}:done\`
|
|
233
|
-
EOF
|
|
234
|
-
|
|
235
|
-
echo -e "${GREEN}✓ Created prompt for $subtask_id${NC}"
|
|
236
|
-
done
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
# Main execution
|
|
240
|
-
main() {
|
|
241
|
-
local complexity_score=$(analyze_task_complexity "$TASK_DESCRIPTION")
|
|
242
|
-
echo -e "${YELLOW}Task Complexity Score: $complexity_score${NC}"
|
|
243
|
-
|
|
244
|
-
local decomposition_file=""
|
|
245
|
-
|
|
246
|
-
# Determine decomposition strategy based on task type
|
|
247
|
-
if echo "$TASK_DESCRIPTION" | grep -qiE "(typescript|tsx|ts27|ts23|error|fix)"; then
|
|
248
|
-
decomposition_file=$(decompose_typescript_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
249
|
-
elif echo "$TASK_DESCRIPTION" | grep -qiE "(explore|find|search|scan)"; then
|
|
250
|
-
decomposition_file=$(decompose_exploration_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
251
|
-
else
|
|
252
|
-
echo -e "${YELLOW}Using general task decomposition...${NC}"
|
|
253
|
-
decomposition_file=$(decompose_typescript_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
254
|
-
fi
|
|
255
|
-
|
|
256
|
-
# Create agent prompts
|
|
257
|
-
if [ -n "$decomposition_file" ] && [ -f "$decomposition_file" ]; then
|
|
258
|
-
create_agent_prompts "$decomposition_file"
|
|
259
|
-
|
|
260
|
-
echo -e "\n${GREEN}=== Task Decomposition Complete ===${NC}"
|
|
261
|
-
echo -e "📄 ${BLUE}Decomposition file:${NC} $decomposition_file"
|
|
262
|
-
echo -e "🤖 ${BLUE}Agent prompts:${NC} .claude/skills/cfn-task-decomposition/prompts/"
|
|
263
|
-
echo -e "💡 ${BLUE}Strategy:${NC} Break complex task into tool-budget-efficient subtasks"
|
|
264
|
-
|
|
265
|
-
# Store decomposition info in Redis for coordinator
|
|
266
|
-
if command -v redis-cli >/dev/null 2>&1; then
|
|
267
|
-
redis-cli set "${TASK_ID}:decomposition" "$(cat "$decomposition_file")" >/dev/null
|
|
268
|
-
echo -e "📦 ${BLUE}Redis context stored:${NC} ${TASK_ID}:decomposition"
|
|
269
|
-
fi
|
|
270
|
-
|
|
271
|
-
return 0
|
|
272
|
-
else
|
|
273
|
-
echo -e "${RED}❌ Task decomposition failed${NC}"
|
|
274
|
-
return 1
|
|
275
|
-
fi
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
# Execute main function
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Task Decomposition for Complex Operations
|
|
3
|
+
# Breaks down complex tasks into smaller, tool-budget-efficient subtasks
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Configuration
|
|
8
|
+
TASK_ID="${1}"
|
|
9
|
+
TASK_DESCRIPTION="${2}"
|
|
10
|
+
TOOL_BUDGET="${3:-10}" # Default 10 tool budget per agent
|
|
11
|
+
COMPLEXITY_THRESHOLD="${4:-medium}" # low, medium, high
|
|
12
|
+
|
|
13
|
+
# Colors for output
|
|
14
|
+
RED='\033[0;31m'
|
|
15
|
+
GREEN='\033[0;32m'
|
|
16
|
+
YELLOW='\033[1;33m'
|
|
17
|
+
BLUE='\033[0;34m'
|
|
18
|
+
NC='\033[0m' # No Color
|
|
19
|
+
|
|
20
|
+
echo -e "${BLUE}🔧 CFN Loop Task Decomposition${NC}"
|
|
21
|
+
echo "Task ID: $TASK_ID"
|
|
22
|
+
echo "Tool Budget: $TOOL_BUDGET per agent"
|
|
23
|
+
echo "Complexity: $COMPLEXITY_THRESHOLD"
|
|
24
|
+
echo ""
|
|
25
|
+
|
|
26
|
+
# Function to analyze task complexity
|
|
27
|
+
analyze_task_complexity() {
|
|
28
|
+
local description="$1"
|
|
29
|
+
local complexity_score=0
|
|
30
|
+
|
|
31
|
+
# File operation indicators
|
|
32
|
+
if echo "$description" | grep -qiE "(fix|create|modify|update|delete|write).*file"; then
|
|
33
|
+
((complexity_score += 3))
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
# Directory exploration indicators
|
|
37
|
+
if echo "$description" | grep -qiE "(explore|find|search|scan|directory|folder)"; then
|
|
38
|
+
((complexity_score += 2))
|
|
39
|
+
fi
|
|
40
|
+
|
|
41
|
+
# Multiple component indicators
|
|
42
|
+
if echo "$description" | grep -qiE "(multiple|batch|all|every|comprehensive)"; then
|
|
43
|
+
((complexity_score += 4))
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# TypeScript/Complex file indicators
|
|
47
|
+
if echo "$description" | grep -qiE "(typescript|tsx|interface|type|complex)"; then
|
|
48
|
+
((complexity_score += 2))
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
# Dependency analysis indicators
|
|
52
|
+
if echo "$description" | grep -qiE "(dependency|import|require|module)"; then
|
|
53
|
+
((complexity_score += 2))
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
echo "$complexity_score"
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# Function to decompose TypeScript error fixing tasks
|
|
60
|
+
decompose_typescript_task() {
|
|
61
|
+
local task_id="$1"
|
|
62
|
+
local description="$2"
|
|
63
|
+
local output_file=".claude/skills/cfn-task-decomposition/${task_id}-subtasks.json"
|
|
64
|
+
|
|
65
|
+
echo -e "${YELLOW}Decomposing TypeScript task...${NC}"
|
|
66
|
+
|
|
67
|
+
# Create subtasks
|
|
68
|
+
cat > "$output_file" << EOF
|
|
69
|
+
{
|
|
70
|
+
"task_id": "$task_id",
|
|
71
|
+
"original_task": "$description",
|
|
72
|
+
"decomposition_strategy": "typescript-error-fixing",
|
|
73
|
+
"subtasks": [
|
|
74
|
+
{
|
|
75
|
+
"subtask_id": "${task_id}-recon",
|
|
76
|
+
"title": "Directory Reconnaissance",
|
|
77
|
+
"description": "Explore project structure and identify TypeScript files needing fixes",
|
|
78
|
+
"agent_type": "researcher",
|
|
79
|
+
"tool_budget": 5,
|
|
80
|
+
"expected_tools": ["find", "grep", "Read", "Glob"],
|
|
81
|
+
"deliverables": ["file-list.txt", "error-classification.json"],
|
|
82
|
+
"estimated_duration": "5-10 minutes"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"subtask_id": "${task_id}-pattern",
|
|
86
|
+
"title": "Error Pattern Analysis",
|
|
87
|
+
"description": "Analyze TypeScript errors and identify common patterns",
|
|
88
|
+
"agent_type": "analyst",
|
|
89
|
+
"tool_budget": 8,
|
|
90
|
+
"expected_tools": ["Read", "Grep", "Bash"],
|
|
91
|
+
"deliverables": ["error-patterns.json", "fix-strategy.md"],
|
|
92
|
+
"estimated_duration": "10-15 minutes"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"subtask_id": "${task_id}-fix",
|
|
96
|
+
"title": "File-by-File Fixes",
|
|
97
|
+
"description": "Fix TypeScript errors in identified files using patterns",
|
|
98
|
+
"agent_type": "backend-developer",
|
|
99
|
+
"tool_budget": 15,
|
|
100
|
+
"expected_tools": ["Read", "Edit", "Write", "Bash"],
|
|
101
|
+
"deliverables": ["fixed-files/", "fix-summary.json"],
|
|
102
|
+
"estimated_duration": "20-30 minutes",
|
|
103
|
+
"batch_processing": {
|
|
104
|
+
"max_files_per_batch": 3,
|
|
105
|
+
"batches_total": 5
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"subtask_id": "${task_id}-validate",
|
|
110
|
+
"title": "Validation and Testing",
|
|
111
|
+
"description": "Validate fixes and run TypeScript compilation",
|
|
112
|
+
"agent_type": "tester",
|
|
113
|
+
"tool_budget": 10,
|
|
114
|
+
"expected_tools": ["Bash", "Read", "Write"],
|
|
115
|
+
"deliverables": ["validation-report.json", "compilation-results.txt"],
|
|
116
|
+
"estimated_duration": "10-15 minutes"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"coordination": {
|
|
120
|
+
"dependency_order": ["recon", "pattern", "fix", "validate"],
|
|
121
|
+
"redis_context_keys": {
|
|
122
|
+
"recon": "${task_id}:recon:results",
|
|
123
|
+
"pattern": "${task_id}:pattern:results",
|
|
124
|
+
"fix": "${task_id}:fix:results",
|
|
125
|
+
"validate": "${task_id}:validate:results"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
EOF
|
|
130
|
+
|
|
131
|
+
echo -e "${GREEN}✓ Task decomposition created: $output_file${NC}"
|
|
132
|
+
echo "$output_file"
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
# Function to decompose file exploration tasks
|
|
136
|
+
decompose_exploration_task() {
|
|
137
|
+
local task_id="$1"
|
|
138
|
+
local description="$2"
|
|
139
|
+
local output_file=".claude/skills/cfn-task-decomposition/${task_id}-subtasks.json"
|
|
140
|
+
|
|
141
|
+
echo -e "${YELLOW}Decomposing exploration task...${NC}"
|
|
142
|
+
|
|
143
|
+
cat > "$output_file" << EOF
|
|
144
|
+
{
|
|
145
|
+
"task_id": "$task_id",
|
|
146
|
+
"original_task": "$description",
|
|
147
|
+
"decomposition_strategy": "directory-exploration",
|
|
148
|
+
"subtasks": [
|
|
149
|
+
{
|
|
150
|
+
"subtask_id": "${task_id}-scan",
|
|
151
|
+
"title": "Targeted Directory Scan",
|
|
152
|
+
"description": "Scan specific directories for target files using ripgrep",
|
|
153
|
+
"agent_type": "researcher",
|
|
154
|
+
"tool_budget": 6,
|
|
155
|
+
"expected_tools": ["Bash", "rg", "Glob", "Read"],
|
|
156
|
+
"deliverables": ["target-files.txt", "directory-map.json"],
|
|
157
|
+
"estimated_duration": "5-8 minutes"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"subtask_id": "${task_id}-analyze",
|
|
161
|
+
"title": "File Content Analysis",
|
|
162
|
+
"description": "Analyze found files to understand structure and patterns",
|
|
163
|
+
"agent_type": "analyst",
|
|
164
|
+
"tool_budget": 8,
|
|
165
|
+
"expected_tools": ["Read", "Grep", "Write"],
|
|
166
|
+
"deliverables": ["file-analysis.json", "content-summary.md"],
|
|
167
|
+
"estimated_duration": "8-12 minutes"
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
EOF
|
|
172
|
+
|
|
173
|
+
echo -e "${GREEN}✓ Task decomposition created: $output_file${NC}"
|
|
174
|
+
echo "$output_file"
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
# Function to create task-specific agent prompts
|
|
178
|
+
create_agent_prompts() {
|
|
179
|
+
local subtasks_file="$1"
|
|
180
|
+
local prompts_dir=".claude/skills/cfn-task-decomposition/prompts"
|
|
181
|
+
|
|
182
|
+
mkdir -p "$prompts_dir"
|
|
183
|
+
|
|
184
|
+
# Extract subtask information
|
|
185
|
+
local task_id=$(jq -r '.task_id' "$subtasks_file")
|
|
186
|
+
local strategy=$(jq -r '.decomposition_strategy' "$subtasks_file")
|
|
187
|
+
|
|
188
|
+
# Generate prompts for each subtask
|
|
189
|
+
jq -r '.subtasks[] | @base64' "$subtasks_file" | while read -r subtask_b64; do
|
|
190
|
+
local subtask=$(echo "$subtask_b64" | base64 -d)
|
|
191
|
+
local subtask_id=$(echo "$subtask" | jq -r '.subtask_id')
|
|
192
|
+
local title=$(echo "$subtask" | jq -r '.title')
|
|
193
|
+
local description=$(echo "$subtask" | jq -r '.description')
|
|
194
|
+
local tool_budget=$(echo "$subtask" | jq -r '.tool_budget')
|
|
195
|
+
local deliverables=$(echo "$subtask" | jq -r '.deliverables[]')
|
|
196
|
+
|
|
197
|
+
cat > "$prompts_dir/${subtask_id}-prompt.md" << EOF
|
|
198
|
+
# Task: $title
|
|
199
|
+
|
|
200
|
+
## Context
|
|
201
|
+
You are working on subtask "${subtask_id}" of the larger task "${task_id}".
|
|
202
|
+
|
|
203
|
+
## Your Mission
|
|
204
|
+
$description
|
|
205
|
+
|
|
206
|
+
## Tool Budget Optimization
|
|
207
|
+
You have **$tool_budget tool uses** available. Use them efficiently:
|
|
208
|
+
|
|
209
|
+
### Recommended Tool Sequence:
|
|
210
|
+
1. **Exploration tools** (Read, Glob, Bash) - 2-3 uses
|
|
211
|
+
2. **Analysis tools** (Grep, Read) - 2-3 uses
|
|
212
|
+
3. **Implementation tools** (Edit, Write) - 3-5 uses
|
|
213
|
+
4. **Validation tools** (Bash, Read) - 1-2 uses
|
|
214
|
+
|
|
215
|
+
### Efficiency Tips:
|
|
216
|
+
- **Batch operations**: Read multiple files in one tool use when possible
|
|
217
|
+
- **Targeted searches**: Use specific patterns instead of broad scans
|
|
218
|
+
- **Early validation**: Check results after each major step
|
|
219
|
+
- **Combine tool uses**: Use compound commands to reduce tool count
|
|
220
|
+
|
|
221
|
+
## Expected Deliverables
|
|
222
|
+
$deliverables
|
|
223
|
+
|
|
224
|
+
## Success Criteria
|
|
225
|
+
- All deliverables created with high quality
|
|
226
|
+
- Tool budget not exceeded
|
|
227
|
+
- Results passed to next subtask via Redis
|
|
228
|
+
|
|
229
|
+
## Redis Context
|
|
230
|
+
- Store results in: \`${task_id}:${subtask_id}:results\`
|
|
231
|
+
- Use confidence scoring based on deliverable completion
|
|
232
|
+
- Signal completion via Redis LPUSH to \`${task_id}:${subtask_id}:done\`
|
|
233
|
+
EOF
|
|
234
|
+
|
|
235
|
+
echo -e "${GREEN}✓ Created prompt for $subtask_id${NC}"
|
|
236
|
+
done
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
# Main execution
|
|
240
|
+
main() {
|
|
241
|
+
local complexity_score=$(analyze_task_complexity "$TASK_DESCRIPTION")
|
|
242
|
+
echo -e "${YELLOW}Task Complexity Score: $complexity_score${NC}"
|
|
243
|
+
|
|
244
|
+
local decomposition_file=""
|
|
245
|
+
|
|
246
|
+
# Determine decomposition strategy based on task type
|
|
247
|
+
if echo "$TASK_DESCRIPTION" | grep -qiE "(typescript|tsx|ts27|ts23|error|fix)"; then
|
|
248
|
+
decomposition_file=$(decompose_typescript_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
249
|
+
elif echo "$TASK_DESCRIPTION" | grep -qiE "(explore|find|search|scan)"; then
|
|
250
|
+
decomposition_file=$(decompose_exploration_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
251
|
+
else
|
|
252
|
+
echo -e "${YELLOW}Using general task decomposition...${NC}"
|
|
253
|
+
decomposition_file=$(decompose_typescript_task "$TASK_ID" "$TASK_DESCRIPTION")
|
|
254
|
+
fi
|
|
255
|
+
|
|
256
|
+
# Create agent prompts
|
|
257
|
+
if [ -n "$decomposition_file" ] && [ -f "$decomposition_file" ]; then
|
|
258
|
+
create_agent_prompts "$decomposition_file"
|
|
259
|
+
|
|
260
|
+
echo -e "\n${GREEN}=== Task Decomposition Complete ===${NC}"
|
|
261
|
+
echo -e "📄 ${BLUE}Decomposition file:${NC} $decomposition_file"
|
|
262
|
+
echo -e "🤖 ${BLUE}Agent prompts:${NC} .claude/skills/cfn-task-decomposition/prompts/"
|
|
263
|
+
echo -e "💡 ${BLUE}Strategy:${NC} Break complex task into tool-budget-efficient subtasks"
|
|
264
|
+
|
|
265
|
+
# Store decomposition info in Redis for coordinator
|
|
266
|
+
if command -v redis-cli >/dev/null 2>&1; then
|
|
267
|
+
redis-cli set "${TASK_ID}:decomposition" "$(cat "$decomposition_file")" >/dev/null
|
|
268
|
+
echo -e "📦 ${BLUE}Redis context stored:${NC} ${TASK_ID}:decomposition"
|
|
269
|
+
fi
|
|
270
|
+
|
|
271
|
+
return 0
|
|
272
|
+
else
|
|
273
|
+
echo -e "${RED}❌ Task decomposition failed${NC}"
|
|
274
|
+
return 1
|
|
275
|
+
fi
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
# Execute main function
|
|
279
279
|
main "$@"
|
|
@@ -4,6 +4,10 @@ set -euo pipefail
|
|
|
4
4
|
|
|
5
5
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
6
6
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
|
|
7
|
+
|
|
8
|
+
# Load parameterized query library (SQL injection prevention)
|
|
9
|
+
source "$PROJECT_ROOT/.claude/skills/bootstrap/sqlite-params.sh"
|
|
10
|
+
|
|
7
11
|
DB_FILE="$PROJECT_ROOT/.artifacts/test-benchmarks.db"
|
|
8
12
|
|
|
9
13
|
THRESHOLD=0.10
|
|
@@ -16,7 +20,7 @@ while [[ $# -gt 0 ]]; do
|
|
|
16
20
|
done
|
|
17
21
|
|
|
18
22
|
# Get latest run
|
|
19
|
-
LATEST_RUN=$(
|
|
23
|
+
LATEST_RUN=$(sqlite_select "$DB_FILE" "SELECT id FROM test_runs ORDER BY run_timestamp DESC LIMIT 1")
|
|
20
24
|
|
|
21
25
|
if [ -z "$LATEST_RUN" ]; then
|
|
22
26
|
echo "No test runs found"
|
|
@@ -24,29 +28,28 @@ if [ -z "$LATEST_RUN" ]; then
|
|
|
24
28
|
fi
|
|
25
29
|
|
|
26
30
|
# Get baseline (average of last 10 runs excluding latest)
|
|
27
|
-
BASELINE_SUCCESS_RATE=$(
|
|
31
|
+
BASELINE_SUCCESS_RATE=$(sqlite_select "$DB_FILE" "
|
|
28
32
|
SELECT AVG(success_rate) FROM (
|
|
29
|
-
SELECT success_rate FROM test_runs
|
|
30
|
-
WHERE id !=
|
|
31
|
-
ORDER BY run_timestamp DESC
|
|
33
|
+
SELECT success_rate FROM test_runs
|
|
34
|
+
WHERE id != ?1
|
|
35
|
+
ORDER BY run_timestamp DESC
|
|
32
36
|
LIMIT 10
|
|
33
37
|
)
|
|
34
|
-
")
|
|
38
|
+
" "$LATEST_RUN")
|
|
35
39
|
|
|
36
|
-
LATEST_SUCCESS_RATE=$(
|
|
40
|
+
LATEST_SUCCESS_RATE=$(sqlite_select "$DB_FILE" "SELECT success_rate FROM test_runs WHERE id = ?1" "$LATEST_RUN")
|
|
37
41
|
|
|
38
42
|
# Check for regression
|
|
39
43
|
REGRESSION=$(awk "BEGIN {print ($BASELINE_SUCCESS_RATE - $LATEST_SUCCESS_RATE) > $THRESHOLD}")
|
|
40
44
|
|
|
41
45
|
if [ "$REGRESSION" = "1" ]; then
|
|
42
46
|
DIFF=$(awk "BEGIN {printf \"%.1f\", ($BASELINE_SUCCESS_RATE - $LATEST_SUCCESS_RATE) * 100}")
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
VALUES (
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
MESSAGE="Success rate dropped ${DIFF}% (baseline: ${BASELINE_SUCCESS_RATE}, current: ${LATEST_SUCCESS_RATE})"
|
|
48
|
+
|
|
49
|
+
sqlite_exec "$DB_FILE" \
|
|
50
|
+
"INSERT INTO regression_alerts (run_id, alert_type, severity, message) VALUES (?1, ?2, ?3, ?4)" \
|
|
51
|
+
"$LATEST_RUN" "success_rate_drop" "warning" "$MESSAGE"
|
|
52
|
+
|
|
50
53
|
echo "⚠️ Regression detected: Success rate dropped ${DIFF}%"
|
|
51
54
|
exit 1
|
|
52
55
|
fi
|