claude-flow-novice 2.5.2 → 2.8.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/adaptive-context/cfn-v3-reflection.json +21 -0
- package/.claude/agents/AGENT_LIFECYCLE.md +495 -0
- package/.claude/agents/CLAUDE.md +1002 -1233
- package/.claude/agents/accessibility-advocate.md +457 -0
- package/.claude/agents/agent-principles/README.md +226 -226
- package/.claude/agents/agent-principles/agent-type-guidelines.md +10 -0
- package/.claude/agents/agent-principles/format-selection.md +10 -0
- package/.claude/agents/agent-principles/phase4-template-optimization.md +502 -494
- package/.claude/agents/agent-principles/prompt-engineering.md +8 -0
- package/.claude/agents/agent-principles/quality-metrics.md +8 -0
- package/.claude/agents/analysis/code-analyzer.md +7 -17
- package/.claude/agents/analysis/code-review/analyze-code-quality.md +2 -104
- package/.claude/agents/analysis/perf-analyzer.md +2 -196
- package/.claude/agents/context/context-curator.md +78 -84
- package/.claude/agents/context/context-reflector.md +27 -81
- package/.claude/agents/coordinators/README.md +42 -0
- package/.claude/agents/coordinators/cfn-v3-coordinator.md +440 -0
- package/.claude/agents/{product-owner-team → coordinators}/cto-agent.md +154 -187
- package/.claude/agents/coordinators/multi-sprint-coordinator.md +50 -0
- package/.claude/agents/{product-owner-team → coordinators}/product-owner-agent.md +6 -39
- package/.claude/agents/{cfn-loop → coordinators}/product-owner.md +72 -17
- package/.claude/agents/core-agents/reviewer.md +114 -135
- package/.claude/agents/custom/agent-builder.md +637 -0
- package/.claude/agents/developers/README.md +69 -0
- package/.claude/agents/developers/backend-dev.md +77 -0
- package/.claude/agents/{core-agents → developers}/coder.md +131 -26
- package/.claude/agents/developers/react-frontend-engineer.md +121 -0
- package/.claude/agents/{frontend → developers}/state-architect.md +1 -0
- package/.claude/agents/{frontend → developers}/ui-designer.md +1 -0
- package/.claude/agents/development/backend/dev-backend-api.md +0 -29
- package/.claude/agents/development/npm-package-specialist.md +355 -347
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +8 -0
- package/.claude/agents/documentation/api-docs.md +8 -0
- package/.claude/agents/github/github-commit-agent.md +125 -117
- package/.claude/agents/goal/goal-planner.md +8 -0
- package/.claude/agents/infrastructure/README.md +100 -0
- package/.claude/agents/{specialized → infrastructure}/devops-engineer.md +131 -150
- package/.claude/agents/planners/README.md +94 -0
- package/.claude/agents/{core-agents → planners}/analyst.md +1 -22
- package/.claude/agents/{planning-team → planners}/api-designer-persona.md +8 -0
- package/.claude/agents/{core-agents → planners}/architect.md +7 -20
- package/.claude/agents/{core-agents → planners}/planner.md +0 -21
- package/.claude/agents/{planning-team → planners}/security-architect-persona.md +8 -28
- package/.claude/agents/{planning-team → planners}/system-architect-persona.md +6 -38
- package/.claude/agents/{architecture → planners}/system-architect.md +12 -17
- package/.claude/agents/product-owner-team/accessibility-advocate-persona.md +132 -161
- package/.claude/agents/product-owner-team/power-user-persona.md +149 -182
- package/.claude/agents/retrospective-analyst.md +84 -0
- package/.claude/agents/reviewers/README.md +58 -0
- package/.claude/agents/{analysis → reviewers}/code-quality-validator.md +8 -17
- package/.claude/agents/reviewers/reviewer.md +181 -0
- package/.claude/agents/sparc/architecture.md +6 -25
- package/.claude/agents/sparc/pseudocode.md +6 -0
- package/.claude/agents/sparc/refinement.md +6 -0
- package/.claude/agents/sparc/specification.md +1 -0
- package/.claude/agents/specialists/README.md +60 -0
- package/.claude/agents/{core-agents → specialists}/base-template-generator.md +8 -21
- package/.claude/agents/{specialized → specialists}/cli-agent-optimizer.md +1 -1
- package/.claude/agents/{specialized → specialists}/code-booster.md +1 -0
- package/.claude/agents/{consensus → specialists}/consensus-builder.md +1 -17
- package/.claude/agents/{specialized/mobile → specialists}/mobile-dev.md +0 -20
- package/.claude/agents/{core-agents → specialists}/performance-benchmarker.md +134 -148
- package/.claude/agents/{specialized → specialists}/rust-developer.md +1 -20
- package/.claude/agents/{specialized → specialists}/rust-enterprise-developer.md +1 -20
- package/.claude/agents/{specialized → specialists}/rust-mvp-developer.md +1 -20
- package/.claude/agents/{core-agents → specialists}/security-manager.md +68 -88
- package/.claude/agents/{security → specialists}/security-specialist-existing.md +6 -57
- package/.claude/agents/{security → specialists}/security-specialist.md +6 -30
- package/.claude/agents/{specialized/mobile → specialists}/spec-mobile-react-native.md +2 -21
- package/.claude/agents/testers/README.md +94 -0
- package/.claude/agents/{testing → testers}/e2e/playwright-agent.md +1 -20
- package/.claude/agents/{testing → testers}/interaction-tester.md +1 -20
- package/.claude/agents/{testing → testers}/playwright-tester.md +1 -1
- package/.claude/agents/testers/tester.md +139 -0
- package/.claude/agents/testers/unit/tdd-london-swarm.md +49 -0
- package/.claude/agents/testers/validation/production-validator.md +33 -0
- package/.claude/agents-ignore/cfn-loop-coordinator.md +157 -0
- package/.claude/agents-ignore/cfn-loop-coordinator.md.backup +156 -0
- package/.claude/agents-ignore/coordinator.md.backup +182 -0
- package/.claude/agents-ignore/cost-savings-cfn-loop-coordinator.md +760 -0
- package/.claude/agents-ignore/cost-savings-coordinator.md +173 -0
- package/.claude/artifacts/ace-reflections/REFLECT-001-summary.json +39 -0
- package/.claude/artifacts/ace-reflections/sprint-7_$(date -u +/"%Y%m%d_%H%M%S/").json" +47 -0
- package/.claude/artifacts/reflection-merge-logs/cli-agent-spawning-v2.5.2-merge-report.md +61 -0
- package/.claude/commands/CFN_COORDINATOR_PARAMETERS.md +10 -10
- package/.claude/commands/cfn-loop-epic.md +43 -19
- package/.claude/commands/cfn-loop-single.md +3 -3
- package/.claude/commands/cfn-loop-sprints.md +1 -1
- package/.claude/commands/cfn-loop.md +45 -32
- package/.claude/commands/cfn-mode.md +20 -0
- package/.claude/commands/custom-routing-activate.md +37 -123
- package/.claude/commands/custom-routing-deactivate.md +27 -124
- package/.claude/commands/switch-api.md +41 -16
- package/.claude/commands/write-plan.md +104 -0
- package/.claude/data/cfn-loop.db +0 -0
- package/.claude/data/cfn_loop_logs.db +0 -0
- package/.claude/hooks/BACKUP_USAGE.md +243 -0
- package/.claude/hooks/post-edit-cfn-retrospective.sh +79 -0
- package/.claude/hooks/post-edit.sh +21 -0
- package/.claude/hooks/pre-edit-backup.sh +71 -0
- package/.claude/hooks/restore-from-backup.sh +37 -0
- package/.claude/prompts/cfn-loop-context.md +115 -0
- package/.claude/prompts/loop-specific/loop2.md +50 -0
- package/.claude/prompts/loop-specific/loop3.md +43 -0
- package/.claude/prompts/loop-specific/loop4.md +54 -0
- package/.claude/root-claude-distribute/CLAUDE.md +76 -2
- package/.claude/skills/ace-system/sprint-7-lessons.json +46 -0
- package/.claude/skills/ace-system/store-reflection.sh +33 -136
- package/.claude/skills/agent-discovery/SKILL.md +40 -0
- package/.claude/skills/agent-discovery/agents-registry-clean.json +0 -0
- package/.claude/skills/agent-discovery/agents-registry-fixed.json +19 -0
- package/.claude/skills/agent-discovery/agents-registry.json +718 -0
- package/.claude/skills/agent-discovery/discover-agents.py +175 -0
- package/.claude/skills/agent-discovery/discover-agents.sh +87 -0
- package/.claude/skills/agent-discovery/invoke-registry.sh +11 -0
- package/.claude/skills/agent-discovery/temp_script.py +0 -0
- package/.claude/skills/agent-execution/execute-agent.sh +126 -0
- package/.claude/skills/agent-output-processing/SKILL.md +359 -0
- package/.claude/skills/agent-selector/SKILL.md +90 -0
- package/.claude/skills/agent-selector/select-agents.sh +96 -0
- package/.claude/skills/agent-spawning/agent-selection-guide.md +1 -1
- package/.claude/skills/agent-swap/SKILL.md +36 -0
- package/.claude/skills/agent-swap/recommend-swap.sh +60 -0
- package/.claude/skills/api-validation/test-endpoints.sh +54 -0
- package/.claude/skills/automatic-memory-persistence/SKILL.md +73 -0
- package/.claude/skills/automatic-memory-persistence/persist-agent-output.sh +49 -0
- package/.claude/skills/automatic-memory-persistence/query-agent-history.sh +35 -0
- package/.claude/skills/automatic-memory-persistence/test-memory-persistence.sh +235 -0
- package/.claude/skills/cfn-loop-orchestration/README.md +41 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
- package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
- package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +840 -0
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
- package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
- package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +307 -217
- package/.claude/skills/complexity-estimator/SKILL.md +96 -0
- package/.claude/skills/complexity-estimator/estimate-complexity.sh +144 -0
- package/.claude/skills/context-pruner/SKILL.md +75 -0
- package/.claude/skills/context-pruner/prune-context.sh +73 -0
- package/.claude/skills/defense-in-depth/SKILL.md +133 -0
- package/.claude/skills/dependency-extractor/SKILL.md +35 -0
- package/.claude/skills/dependency-extractor/extract-dependencies.sh +66 -0
- package/.claude/skills/epic-decomposer/SKILL.md +44 -0
- package/.claude/skills/epic-decomposer/decompose-epic.sh +104 -0
- package/.claude/skills/improvement-recommender/SKILL.md +33 -0
- package/.claude/skills/improvement-recommender/recommend-improvements.sh +92 -0
- package/.claude/skills/intervention-detector/SKILL.md +39 -0
- package/.claude/skills/intervention-detector/detect-intervention.sh +111 -0
- package/.claude/skills/intervention-orchestrator/SKILL.md +43 -0
- package/.claude/skills/intervention-orchestrator/execute-intervention.sh +59 -0
- package/.claude/skills/loop2-output-processing/SKILL.md +163 -0
- package/.claude/skills/loop2-output-processing/execute-and-extract.sh +77 -0
- package/.claude/skills/loop2-output-processing/execute-and-extract.sh.backup +36 -0
- package/.claude/skills/loop2-output-processing/parse-feedback.sh +147 -0
- package/.claude/skills/loop2-output-processing/process-validator-output.sh +275 -0
- package/.claude/skills/loop2-output-processing/test-bug27-fix.sh +200 -0
- package/.claude/skills/loop2-output-processing/test-loop2-processing.sh +113 -0
- package/.claude/skills/loop3-output-processing/AGENT_COMPLETION_PROTOCOL.md +206 -0
- package/.claude/skills/loop3-output-processing/SKILL.md +421 -0
- package/.claude/skills/loop3-output-processing/calculate-confidence.sh +28 -0
- package/.claude/skills/loop3-output-processing/execute-and-extract.sh +85 -0
- package/.claude/skills/loop3-output-processing/parse-confidence.sh +31 -0
- package/.claude/skills/loop3-output-processing/test-agent-timeout.sh +327 -0
- package/.claude/skills/loop3-output-processing/test-loop3-processing.sh +155 -0
- package/.claude/skills/loop3-output-processing/verify-deliverables.sh +42 -0
- package/.claude/skills/pattern-extraction/SKILL.md +30 -0
- package/.claude/skills/pattern-extraction/extract-patterns.sh +80 -0
- package/.claude/skills/playbook/SKILL.md +113 -0
- package/.claude/skills/playbook/init-playbook.sh +54 -0
- package/.claude/skills/playbook/playbook.db +0 -0
- package/.claude/skills/playbook/query-playbook.sh +79 -0
- package/.claude/skills/playbook/update-playbook.sh +69 -0
- package/.claude/skills/playbook-auto-update/SKILL.md +29 -0
- package/.claude/skills/playbook-auto-update/auto-update-playbook.sh +86 -0
- package/.claude/skills/product-owner-decision/SKILL.md +332 -0
- package/.claude/skills/product-owner-decision/execute-decision.sh +176 -0
- package/.claude/skills/product-owner-decision/parse-decision.sh +66 -0
- package/.claude/skills/product-owner-decision/validate-deliverables.sh +82 -0
- package/.claude/skills/redis-coordination/AGENT_LOGGING.md +280 -0
- package/.claude/skills/redis-coordination/LOGGING.md +260 -0
- package/.claude/skills/redis-coordination/README.md +30 -29
- package/.claude/skills/redis-coordination/SKILL.md +685 -83
- package/.claude/skills/redis-coordination/agent-log.sh +124 -0
- package/.claude/skills/redis-coordination/analyze-task-complexity.sh +277 -0
- package/.claude/skills/redis-coordination/cfn-loop-exec.sh +468 -0
- package/.claude/skills/redis-coordination/collect-confidence-scores.sh +179 -0
- package/.claude/skills/redis-coordination/collect-results.sh +75 -0
- package/.claude/skills/redis-coordination/data/cfn-loop.db +0 -0
- package/.claude/skills/redis-coordination/demos/test-iteration-feedback.sh +320 -0
- package/.claude/skills/redis-coordination/{test-orchestrator.sh → demos/test-orchestrator.sh} +25 -0
- package/.claude/skills/redis-coordination/execute-product-owner-decision.sh +258 -0
- package/.claude/skills/redis-coordination/get-agent-timeout.sh +176 -176
- package/.claude/skills/redis-coordination/init-swarm.sh +6 -1
- package/.claude/skills/redis-coordination/invoke-waiting-mode.sh +106 -183
- package/.claude/skills/redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
- package/.claude/skills/redis-coordination/log-event.sh +109 -0
- package/.claude/skills/redis-coordination/monitor-cfn-violations.sh +391 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh +31 -933
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
- package/.claude/skills/redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
- package/.claude/skills/redis-coordination/query-logs.sh +103 -0
- package/.claude/skills/redis-coordination/retrieve-context.sh +58 -0
- package/.claude/skills/redis-coordination/select-specialist-agent.sh +371 -0
- package/.claude/skills/redis-coordination/semantic-match-tfidf.py +252 -0
- package/.claude/skills/redis-coordination/send-heartbeat.sh +164 -72
- package/.claude/skills/redis-coordination/signal.sh +38 -0
- package/.claude/skills/redis-coordination/store-context.sh +86 -0
- package/.claude/skills/redis-coordination/store-epic-context.sh +123 -0
- package/.claude/skills/redis-coordination/test-context-injection.sh +354 -0
- package/.claude/skills/redis-coordination/test-timeout-enforcement.sh +513 -0
- package/.claude/skills/redis-coordination/tests/convert-line-endings.sh +15 -0
- package/.claude/skills/redis-coordination/tests/dlq-functionality-test.sh +101 -101
- package/.claude/skills/redis-coordination/tests/edge-cases-test.sh +98 -98
- package/.claude/skills/redis-coordination/tests/integration-test.sh +169 -169
- package/.claude/skills/redis-coordination/tests/retry-mechanism-test.sh +81 -81
- package/.claude/skills/redis-coordination/tests/run-test-suite.sh +91 -91
- package/.claude/skills/redis-coordination/tests/run-tests.sh +4 -0
- package/.claude/skills/redis-coordination/tests/test-primitives.sh +166 -0
- package/.claude/skills/redis-coordination/tests/test-utils.sh +53 -121
- package/.claude/skills/redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
- package/.claude/skills/redis-coordination/tests/test_utils.sh +49 -0
- package/.claude/skills/redis-coordination/v2_modularization/core_orchestration.sh +76 -0
- package/.claude/skills/redis-coordination/validate-parameters.sh +492 -0
- package/.claude/skills/retrospective-report/SKILL.md +31 -0
- package/.claude/skills/retrospective-report/generate-report.sh +101 -0
- package/.claude/skills/run-all-skill-tests.sh +124 -0
- package/.claude/skills/scope-simplifier/SKILL.md +37 -0
- package/.claude/skills/scope-simplifier/simplify-scope.sh +68 -0
- package/.claude/skills/simplified-agent-lifecycle/COST_ANALYSIS.md +49 -0
- package/.claude/skills/simplified-agent-lifecycle/DESIGN.md +98 -0
- package/.claude/skills/simplified-agent-lifecycle/MIGRATION_PLAN.md +74 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/specialist-injection/SKILL.md +41 -0
- package/.claude/skills/specialist-injection/recommend-specialist.sh +57 -0
- package/.claude/skills/sprint-execution/SKILL.md +27 -0
- package/.claude/skills/sprint-execution/execute-sprint-task.sh +59 -0
- package/.claude/skills/sprint-execution/execute-sprint.sh +65 -0
- package/.claude/skills/sprint-planner/SKILL.md +37 -0
- package/.claude/skills/sprint-planner/plan-sprint.sh +85 -0
- package/.claude/skills/standardized-error-handling/SKILL.md +56 -0
- package/.claude/skills/standardized-error-handling/capture-agent-error.sh +87 -0
- package/.claude/skills/standardized-error-handling/test-error-handling.sh +166 -0
- package/.claude/skills/task-classifier/SKILL.md +94 -0
- package/.claude/skills/task-classifier/classify-task.sh +115 -0
- package/.claude/skills/validation-templates/SKILL.md +47 -0
- package/.claude/skills/validation-templates/content.json +38 -0
- package/.claude/skills/validation-templates/data.json +38 -0
- package/.claude/skills/validation-templates/design.json +38 -0
- package/.claude/skills/validation-templates/infrastructure.json +38 -0
- package/.claude/skills/validation-templates/research.json +38 -0
- package/.claude/skills/validation-templates/software.json +38 -0
- package/.claude/skills/webapp-testing/README.md +142 -0
- package/.claude/skills/webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
- package/.claude/skills/webapp-testing/SKILL.md +877 -0
- package/.claude/skills/webapp-testing/capture-screenshot.sh +238 -0
- package/.claude/skills/webapp-testing/cfn-loop-integration.sh +265 -0
- package/.claude/skills/webapp-testing/compare-screenshots.sh +199 -0
- package/.claude/skills/webapp-testing/init-storage.sh +150 -0
- package/.claude/skills/webapp-testing/set-baseline.sh +196 -0
- package/.claude/skills/webapp-testing/test-webapp-testing.sh +233 -0
- package/.claude/spawn-pattern-examples.md +3 -3
- package/CLAUDE.md +364 -16
- package/README.md +598 -251
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-command.js +153 -0
- package/dist/cli/agent-command.js.map +1 -0
- package/dist/cli/agent-definition-parser.js +183 -0
- package/dist/cli/agent-definition-parser.js.map +1 -0
- package/dist/cli/agent-executor.js +310 -0
- package/dist/cli/agent-executor.js.map +1 -0
- package/dist/cli/agent-prompt-builder.js +268 -0
- package/dist/cli/agent-prompt-builder.js.map +1 -0
- package/dist/cli/agent-spawn.js +56 -2
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/anthropic-client.js +421 -0
- package/dist/cli/anthropic-client.js.map +1 -0
- package/dist/cli/cfn-context.js +150 -0
- package/dist/cli/cfn-context.js.map +1 -1
- package/dist/cli/cfn-fork.js +159 -0
- package/dist/cli/cfn-fork.js.map +1 -0
- package/dist/cli/cli-agent-context.js +358 -0
- package/dist/cli/cli-agent-context.js.map +1 -0
- package/dist/cli/config-manager.js +109 -91
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/conversation-fork.js +201 -0
- package/dist/cli/conversation-fork.js.map +1 -0
- package/dist/cli/index.js +119 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/iteration-history.js +188 -0
- package/dist/cli/iteration-history.js.map +1 -0
- package/dist/cli/tool-definitions.js +263 -0
- package/dist/cli/tool-definitions.js.map +1 -0
- package/dist/cli/tool-executor.js +247 -0
- package/dist/cli/tool-executor.js.map +1 -0
- package/dist/hello.js +8 -0
- package/dist/hello.js.map +1 -0
- package/package.json +16 -6
- package/scripts/README.md +68 -0
- package/scripts/cfn-intervention-example.sh +21 -0
- package/scripts/migrate-test-infrastructure.sh +40 -0
- package/scripts/switch-api.sh +233 -0
- package/scripts/validate-test-migration.sh +49 -0
- package/scripts/verify-no-secrets.sh +55 -0
- package/.claude/agents/architecture/system-architect.md.backup +0 -603
- package/.claude/agents/code-booster.md +0 -131
- package/.claude/agents/consensus/performance-benchmarker.md +0 -101
- package/.claude/agents/consensus/security-manager.md +0 -107
- package/.claude/agents/context-curator.md +0 -167
- package/.claude/agents/context-reflector.md +0 -65
- package/.claude/agents/core-agents/cfn-loop-coordinator.md +0 -134
- package/.claude/agents/core-agents/code-quality-validator.md +0 -149
- package/.claude/agents/core-agents/context-curator.md +0 -452
- package/.claude/agents/core-agents/context-reflector.md +0 -273
- package/.claude/agents/core-agents/cost-savings-cfn-loop-coordinator.md +0 -190
- package/.claude/agents/core-agents/tester.md +0 -170
- package/.claude/agents/development/backend-dev.md +0 -165
- package/.claude/agents/devops/devops-engineer.md +0 -148
- package/.claude/agents/frontend/interaction-tester.md +0 -139
- package/.claude/agents/frontend/react-frontend-engineer.md +0 -9
- package/.claude/agents/personas/accessibility-advocate-persona.md +0 -107
- package/.claude/agents/testing/production-validator.md +0 -179
- package/.claude/agents/testing/tdd-london-swarm.md +0 -209
- package/.claude/agents/testing/unit/tdd-london-swarm.md +0 -43
- package/.claude/agents/testing/validation/production-validator.md +0 -43
- package/dist/coordination/fleet-manager.test.js +0 -141
- package/dist/coordination/fleet-manager.test.js.map +0 -1
- package/dist/middleware/transparency-middleware.test.js +0 -184
- package/dist/middleware/transparency-middleware.test.js.map +0 -1
- /package/.claude/agents/{core-agents → developers}/researcher.md +0 -0
- /package/.claude/agents/{consensus → specialists}/crdt-synchronizer.md +0 -0
- /package/.claude/agents/{consensus → specialists}/quorum-manager.md +0 -0
- /package/.claude/agents/{consensus → specialists}/raft-manager.md +0 -0
- /package/.claude/{agents/core-agents → agents-ignore}/coordinator.md +0 -0
- /package/.claude/{agents/core-agents/cost-savings-coordinator.md → agents-ignore/cost-savings-coordinator.md.backup} +0 -0
- /package/.claude/skills/redis-coordination/{phase4-wake-queue-test-report.md → demos/phase4-wake-queue-test-report.md} +0 -0
- /package/.claude/skills/redis-coordination/{test-bzpopmin-fix.sh → demos/test-bzpopmin-fix.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-cancel-swarm.sh → demos/test-cancel-swarm.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-dlq.sh → demos/test-dlq.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-priority-wake-phase4-unix.sh → demos/test-priority-wake-phase4-unix.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-priority-wake-phase4.sh → demos/test-priority-wake-phase4.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-priority-wake.sh → demos/test-priority-wake.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quick-fix.sh → demos/test-quick-fix.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quorum-absolute.sh → demos/test-quorum-absolute.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quorum-fallback.sh → demos/test-quorum-fallback.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quorum-percentage.sh → demos/test-quorum-percentage.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quorum-with-retry.sh → demos/test-quorum-with-retry.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-quorum.sh → demos/test-quorum.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-shutdown-handling.sh → demos/test-shutdown-handling.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-shutdown.sh → demos/test-shutdown.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-utils-unix.sh → demos/test-utils-unix.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-utils.sh → demos/test-utils.sh} +0 -0
- /package/.claude/skills/redis-coordination/{test-waiting-mode.sh → demos/test-waiting-mode.sh} +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
##############################################################################
|
|
4
|
+
# Store Epic Context in Redis
|
|
5
|
+
# Stores epic-level context for CLI-spawned agents to access
|
|
6
|
+
#
|
|
7
|
+
# Usage:
|
|
8
|
+
# ./store-epic-context.sh --task-id <id> \
|
|
9
|
+
# --epic-context <json> \
|
|
10
|
+
# [--phase-context <json>] \
|
|
11
|
+
# [--success-criteria <json>] \
|
|
12
|
+
# [--ttl <seconds>]
|
|
13
|
+
#
|
|
14
|
+
# Example:
|
|
15
|
+
# ./store-epic-context.sh --task-id "epic-auth-123" \
|
|
16
|
+
# --epic-context '{
|
|
17
|
+
# "epicGoal": "Build authentication system",
|
|
18
|
+
# "inScope": ["JWT auth", "RBAC", "Session management"],
|
|
19
|
+
# "outOfScope": ["OAuth", "MFA", "Biometrics"],
|
|
20
|
+
# "phases": ["assessment", "implementation", "validation"]
|
|
21
|
+
# }' \
|
|
22
|
+
# --phase-context '{
|
|
23
|
+
# "currentPhase": "assessment",
|
|
24
|
+
# "dependencies": [],
|
|
25
|
+
# "deliverables": ["Requirements doc", "Architecture design"]
|
|
26
|
+
# }' \
|
|
27
|
+
# --success-criteria '{
|
|
28
|
+
# "acceptanceCriteria": [
|
|
29
|
+
# "Core functionality implemented",
|
|
30
|
+
# "Tests pass >80% coverage",
|
|
31
|
+
# "Security review complete"
|
|
32
|
+
# ],
|
|
33
|
+
# "gateThreshold": 0.75,
|
|
34
|
+
# "consensusThreshold": 0.90
|
|
35
|
+
# }' \
|
|
36
|
+
# --ttl 86400
|
|
37
|
+
#
|
|
38
|
+
# Redis Keys Created:
|
|
39
|
+
# - swarm:<task-id>:epic-context
|
|
40
|
+
# - swarm:<task-id>:phase-context
|
|
41
|
+
# - swarm:<task-id>:success-criteria
|
|
42
|
+
#
|
|
43
|
+
# These keys are automatically read by cfn-spawn and injected as environment
|
|
44
|
+
# variables into spawned agents:
|
|
45
|
+
# - EPIC_CONTEXT
|
|
46
|
+
# - PHASE_CONTEXT
|
|
47
|
+
# - SUCCESS_CRITERIA
|
|
48
|
+
##############################################################################
|
|
49
|
+
|
|
50
|
+
set -euo pipefail
|
|
51
|
+
|
|
52
|
+
# Configuration
|
|
53
|
+
TASK_ID=""
|
|
54
|
+
EPIC_CONTEXT=""
|
|
55
|
+
PHASE_CONTEXT=""
|
|
56
|
+
SUCCESS_CRITERIA=""
|
|
57
|
+
TTL=86400 # 24 hours default
|
|
58
|
+
|
|
59
|
+
# Parse arguments
|
|
60
|
+
while [[ $# -gt 0 ]]; do
|
|
61
|
+
case $1 in
|
|
62
|
+
--task-id)
|
|
63
|
+
TASK_ID="$2"
|
|
64
|
+
shift 2
|
|
65
|
+
;;
|
|
66
|
+
--epic-context)
|
|
67
|
+
EPIC_CONTEXT="$2"
|
|
68
|
+
shift 2
|
|
69
|
+
;;
|
|
70
|
+
--phase-context)
|
|
71
|
+
PHASE_CONTEXT="$2"
|
|
72
|
+
shift 2
|
|
73
|
+
;;
|
|
74
|
+
--success-criteria)
|
|
75
|
+
SUCCESS_CRITERIA="$2"
|
|
76
|
+
shift 2
|
|
77
|
+
;;
|
|
78
|
+
--ttl)
|
|
79
|
+
TTL="$2"
|
|
80
|
+
shift 2
|
|
81
|
+
;;
|
|
82
|
+
*)
|
|
83
|
+
echo "Unknown option: $1"
|
|
84
|
+
exit 1
|
|
85
|
+
;;
|
|
86
|
+
esac
|
|
87
|
+
done
|
|
88
|
+
|
|
89
|
+
# Validation
|
|
90
|
+
if [ -z "$TASK_ID" ]; then
|
|
91
|
+
echo "Error: --task-id is required"
|
|
92
|
+
exit 1
|
|
93
|
+
fi
|
|
94
|
+
|
|
95
|
+
if [ -z "$EPIC_CONTEXT" ]; then
|
|
96
|
+
echo "Error: --epic-context is required"
|
|
97
|
+
exit 1
|
|
98
|
+
fi
|
|
99
|
+
|
|
100
|
+
# Store epic context
|
|
101
|
+
echo "Storing epic context for task: $TASK_ID"
|
|
102
|
+
|
|
103
|
+
if [ -n "$EPIC_CONTEXT" ]; then
|
|
104
|
+
redis-cli set "swarm:${TASK_ID}:epic-context" "$EPIC_CONTEXT" EX "$TTL" > /dev/null
|
|
105
|
+
echo " ✓ Epic context stored (TTL: ${TTL}s)"
|
|
106
|
+
fi
|
|
107
|
+
|
|
108
|
+
if [ -n "$PHASE_CONTEXT" ]; then
|
|
109
|
+
redis-cli set "swarm:${TASK_ID}:phase-context" "$PHASE_CONTEXT" EX "$TTL" > /dev/null
|
|
110
|
+
echo " ✓ Phase context stored (TTL: ${TTL}s)"
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
if [ -n "$SUCCESS_CRITERIA" ]; then
|
|
114
|
+
redis-cli set "swarm:${TASK_ID}:success-criteria" "$SUCCESS_CRITERIA" EX "$TTL" > /dev/null
|
|
115
|
+
echo " ✓ Success criteria stored (TTL: ${TTL}s)"
|
|
116
|
+
fi
|
|
117
|
+
|
|
118
|
+
echo "✅ Context storage complete"
|
|
119
|
+
echo ""
|
|
120
|
+
echo "CLI-spawned agents will automatically receive this context via environment variables:"
|
|
121
|
+
echo " - EPIC_CONTEXT"
|
|
122
|
+
echo " - PHASE_CONTEXT"
|
|
123
|
+
echo " - SUCCESS_CRITERIA"
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Context Injection Test Utility
|
|
4
|
+
# Validates end-to-end context propagation through CFN Loop layers
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
# Colors for output
|
|
9
|
+
RED='\033[0;31m'
|
|
10
|
+
GREEN='\033[0;32m'
|
|
11
|
+
YELLOW='\033[1;33m'
|
|
12
|
+
BLUE='\033[0;34m'
|
|
13
|
+
NC='\033[0m' # No Color
|
|
14
|
+
|
|
15
|
+
# Default configuration
|
|
16
|
+
TASK_ID=""
|
|
17
|
+
TEST_MODE=false
|
|
18
|
+
VERBOSE=false
|
|
19
|
+
EPIC_CONTEXT=""
|
|
20
|
+
PHASE_CONTEXT=""
|
|
21
|
+
SUCCESS_CRITERIA=""
|
|
22
|
+
|
|
23
|
+
# Logging functions
|
|
24
|
+
log_info() {
|
|
25
|
+
if [[ "$VERBOSE" == true ]]; then
|
|
26
|
+
echo -e "${BLUE}[INFO]${NC} $1"
|
|
27
|
+
fi
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
log_success() {
|
|
31
|
+
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
log_error() {
|
|
35
|
+
echo -e "${RED}[ERROR]${NC} $1"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
log_warning() {
|
|
39
|
+
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
# Usage information
|
|
43
|
+
usage() {
|
|
44
|
+
cat << EOF
|
|
45
|
+
Context Injection Test Utility
|
|
46
|
+
|
|
47
|
+
USAGE:
|
|
48
|
+
$0 [OPTIONS]
|
|
49
|
+
|
|
50
|
+
OPTIONS:
|
|
51
|
+
-t, --task-id <ID> Task ID for Redis operations
|
|
52
|
+
-e, --epic-context <JSON> Epic context JSON
|
|
53
|
+
-p, --phase-context <JSON> Phase context JSON
|
|
54
|
+
-s, --success-criteria <JSON> Success criteria JSON
|
|
55
|
+
--test-mode Run in test mode with sample data
|
|
56
|
+
-v, --verbose Enable verbose logging
|
|
57
|
+
-h, --help Show this help message
|
|
58
|
+
|
|
59
|
+
EXAMPLES:
|
|
60
|
+
# Test mode (validates infrastructure)
|
|
61
|
+
$0 --test-mode
|
|
62
|
+
|
|
63
|
+
# Production mode with custom contexts
|
|
64
|
+
$0 -t "my-task-123" \\
|
|
65
|
+
-e '{"epicGoal":"Build feature","inScope":["API"]}' \\
|
|
66
|
+
-p '{"phaseId":"phase-1","deliverables":["api.js"]}' \\
|
|
67
|
+
-s '{"acceptanceCriteria":["Tests pass"],"gateThreshold":0.8}'
|
|
68
|
+
|
|
69
|
+
EOF
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
# Parse command line arguments
|
|
73
|
+
parse_args() {
|
|
74
|
+
while [[ $# -gt 0 ]]; do
|
|
75
|
+
case $1 in
|
|
76
|
+
-t|--task-id)
|
|
77
|
+
TASK_ID="$2"
|
|
78
|
+
shift 2
|
|
79
|
+
;;
|
|
80
|
+
-e|--epic-context)
|
|
81
|
+
EPIC_CONTEXT="$2"
|
|
82
|
+
shift 2
|
|
83
|
+
;;
|
|
84
|
+
-p|--phase-context)
|
|
85
|
+
PHASE_CONTEXT="$2"
|
|
86
|
+
shift 2
|
|
87
|
+
;;
|
|
88
|
+
-s|--success-criteria)
|
|
89
|
+
SUCCESS_CRITERIA="$2"
|
|
90
|
+
shift 2
|
|
91
|
+
;;
|
|
92
|
+
--test-mode)
|
|
93
|
+
TEST_MODE=true
|
|
94
|
+
shift
|
|
95
|
+
;;
|
|
96
|
+
-v|--verbose)
|
|
97
|
+
VERBOSE=true
|
|
98
|
+
shift
|
|
99
|
+
;;
|
|
100
|
+
-h|--help)
|
|
101
|
+
usage
|
|
102
|
+
exit 0
|
|
103
|
+
;;
|
|
104
|
+
*)
|
|
105
|
+
log_error "Unknown option: $1"
|
|
106
|
+
usage
|
|
107
|
+
exit 1
|
|
108
|
+
;;
|
|
109
|
+
esac
|
|
110
|
+
done
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
# Validate Redis connectivity
|
|
114
|
+
validate_redis() {
|
|
115
|
+
log_info "Validating Redis connectivity..."
|
|
116
|
+
if ! redis-cli ping > /dev/null 2>&1; then
|
|
117
|
+
log_error "Redis is not available"
|
|
118
|
+
return 1
|
|
119
|
+
fi
|
|
120
|
+
log_success "Redis connectivity validated"
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
# Validate JSON format
|
|
124
|
+
validate_json() {
|
|
125
|
+
local json_string="$1"
|
|
126
|
+
local context_type="$2"
|
|
127
|
+
|
|
128
|
+
log_info "Validating $context_type JSON format..."
|
|
129
|
+
if ! echo "$json_string" | jq . > /dev/null 2>&1; then
|
|
130
|
+
log_error "Invalid JSON in $context_type: $json_string"
|
|
131
|
+
return 1
|
|
132
|
+
fi
|
|
133
|
+
log_success "$context_type JSON format validated"
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
# Store context in Redis
|
|
137
|
+
store_context() {
|
|
138
|
+
local context="$1"
|
|
139
|
+
local context_type="$2"
|
|
140
|
+
local redis_key="test:${TASK_ID}:${context_type}"
|
|
141
|
+
|
|
142
|
+
log_info "Storing $context_type in Redis..."
|
|
143
|
+
if ! redis-cli set "$redis_key" "$context" > /dev/null 2>&1; then
|
|
144
|
+
log_error "Failed to store $context_type in Redis"
|
|
145
|
+
return 1
|
|
146
|
+
fi
|
|
147
|
+
log_success "$context_type stored in Redis: $redis_key"
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
# Retrieve context from Redis
|
|
151
|
+
retrieve_context() {
|
|
152
|
+
local context_type="$1"
|
|
153
|
+
local redis_key="test:${TASK_ID}:${context_type}"
|
|
154
|
+
|
|
155
|
+
log_info "Retrieving $context_type from Redis..."
|
|
156
|
+
local retrieved=$(redis-cli get "$redis_key" 2>/dev/null || echo "")
|
|
157
|
+
|
|
158
|
+
if [[ -z "$retrieved" ]]; then
|
|
159
|
+
log_error "Failed to retrieve $context_type from Redis"
|
|
160
|
+
return 1
|
|
161
|
+
fi
|
|
162
|
+
|
|
163
|
+
log_success "$context_type retrieved from Redis"
|
|
164
|
+
echo "$retrieved"
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
# Test context propagation
|
|
168
|
+
test_propagation() {
|
|
169
|
+
log_info "Testing context propagation..."
|
|
170
|
+
|
|
171
|
+
local epic_retrieved=$(retrieve_context "epic-context")
|
|
172
|
+
local phase_retrieved=$(retrieve_context "phase-context")
|
|
173
|
+
local success_retrieved=$(retrieve_context "success-criteria")
|
|
174
|
+
|
|
175
|
+
# Validate content matches
|
|
176
|
+
if [[ "$epic_retrieved" != "$EPIC_CONTEXT" ]]; then
|
|
177
|
+
log_error "Epic context mismatch"
|
|
178
|
+
return 1
|
|
179
|
+
fi
|
|
180
|
+
|
|
181
|
+
if [[ "$phase_retrieved" != "$PHASE_CONTEXT" ]]; then
|
|
182
|
+
log_error "Phase context mismatch"
|
|
183
|
+
return 1
|
|
184
|
+
fi
|
|
185
|
+
|
|
186
|
+
if [[ "$success_retrieved" != "$SUCCESS_CRITERIA" ]]; then
|
|
187
|
+
log_error "Success criteria mismatch"
|
|
188
|
+
return 1
|
|
189
|
+
fi
|
|
190
|
+
|
|
191
|
+
log_success "All context propagation tests passed"
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
# Simulate agent context injection
|
|
195
|
+
simulate_agent_injection() {
|
|
196
|
+
log_info "Simulating agent context injection..."
|
|
197
|
+
|
|
198
|
+
# Create combined context for agent
|
|
199
|
+
local combined_context=$(jq -n \
|
|
200
|
+
--argjson epic "$EPIC_CONTEXT" \
|
|
201
|
+
--argjson phase "$PHASE_CONTEXT" \
|
|
202
|
+
--argjson success "$SUCCESS_CRITERIA" \
|
|
203
|
+
'{
|
|
204
|
+
epic: $epic,
|
|
205
|
+
phase: $phase,
|
|
206
|
+
success: $success
|
|
207
|
+
}')
|
|
208
|
+
|
|
209
|
+
# Create temporary agent script
|
|
210
|
+
cat > /tmp/test-agent-context.sh << EOF
|
|
211
|
+
#!/bin/bash
|
|
212
|
+
CONTEXT="\$1"
|
|
213
|
+
|
|
214
|
+
echo "Agent received context:"
|
|
215
|
+
echo "\$CONTEXT" | jq .
|
|
216
|
+
|
|
217
|
+
# Validate agent can access all context layers
|
|
218
|
+
EPIC_GOAL=\$(echo "\$CONTEXT" | jq -r '.epic.epicGoal')
|
|
219
|
+
PHASE_ID=\$(echo "\$CONTEXT" | jq -r '.phase.phaseId')
|
|
220
|
+
GATE_THRESHOLD=\$(echo "\$CONTEXT" | jq -r '.success.gateThreshold')
|
|
221
|
+
|
|
222
|
+
echo "Epic Goal: \$EPIC_GOAL"
|
|
223
|
+
echo "Phase ID: \$PHASE_ID"
|
|
224
|
+
echo "Gate Threshold: \$GATE_THRESHOLD"
|
|
225
|
+
|
|
226
|
+
# Create deliverables based on context
|
|
227
|
+
DELIVERABLES=\$(echo "\$CONTEXT" | jq -r '.phase.deliverables[]')
|
|
228
|
+
for deliverable in \$DELIVERABLES; do
|
|
229
|
+
touch "/tmp/\$deliverable"
|
|
230
|
+
echo "Created deliverable: \$deliverable"
|
|
231
|
+
done
|
|
232
|
+
EOF
|
|
233
|
+
|
|
234
|
+
chmod +x /tmp/test-agent-context.sh
|
|
235
|
+
|
|
236
|
+
# Execute agent script with context
|
|
237
|
+
if /tmp/test-agent-context.sh "$combined_context"; then
|
|
238
|
+
log_success "Agent context injection simulation successful"
|
|
239
|
+
else
|
|
240
|
+
log_error "Agent context injection simulation failed"
|
|
241
|
+
return 1
|
|
242
|
+
fi
|
|
243
|
+
|
|
244
|
+
# Cleanup
|
|
245
|
+
rm -f /tmp/test-agent-context.sh
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
# Cleanup test data
|
|
249
|
+
cleanup() {
|
|
250
|
+
log_info "Cleaning up test data..."
|
|
251
|
+
|
|
252
|
+
local test_keys=$(redis-cli keys "test:${TASK_ID}:*" 2>/dev/null || true)
|
|
253
|
+
if [[ -n "$test_keys" ]]; then
|
|
254
|
+
echo "$test_keys" | xargs redis-cli del > /dev/null
|
|
255
|
+
log_success "Test keys cleaned up from Redis"
|
|
256
|
+
fi
|
|
257
|
+
|
|
258
|
+
# Cleanup temporary files
|
|
259
|
+
rm -f /tmp/test-agent-context.sh
|
|
260
|
+
local deliverables=$(echo "$PHASE_CONTEXT" | jq -r '.deliverables[]' 2>/dev/null || true)
|
|
261
|
+
for deliverable in $deliverables; do
|
|
262
|
+
rm -f "/tmp/$deliverable"
|
|
263
|
+
done
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
# Test mode with sample data
|
|
267
|
+
run_test_mode() {
|
|
268
|
+
log_info "Running in test mode..."
|
|
269
|
+
|
|
270
|
+
# Generate test task ID
|
|
271
|
+
TASK_ID="context-injection-test-$(date +%s)"
|
|
272
|
+
|
|
273
|
+
# Sample context data
|
|
274
|
+
EPIC_CONTEXT='{
|
|
275
|
+
"epicGoal": "Test context injection validation",
|
|
276
|
+
"inScope": ["Redis operations", "Agent spawning", "Context propagation"],
|
|
277
|
+
"outOfScope": ["Performance optimization", "New context types"]
|
|
278
|
+
}'
|
|
279
|
+
|
|
280
|
+
PHASE_CONTEXT='{
|
|
281
|
+
"phaseId": "test-phase",
|
|
282
|
+
"deliverables": ["test-deliverable-1.txt", "test-deliverable-2.txt"],
|
|
283
|
+
"directory": "/tmp/test-context",
|
|
284
|
+
"acceptanceCriteria": ["All contexts propagated", "Deliverables created"]
|
|
285
|
+
}'
|
|
286
|
+
|
|
287
|
+
SUCCESS_CRITERIA='{
|
|
288
|
+
"acceptanceCriteria": [
|
|
289
|
+
"Epic context retrieved correctly",
|
|
290
|
+
"Phase context injected successfully",
|
|
291
|
+
"Success criteria visible to validators"
|
|
292
|
+
],
|
|
293
|
+
"gateThreshold": 0.8,
|
|
294
|
+
"maxIterations": 3
|
|
295
|
+
}'
|
|
296
|
+
|
|
297
|
+
log_success "Test mode data initialized"
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
# Main execution
|
|
301
|
+
main() {
|
|
302
|
+
# Parse arguments
|
|
303
|
+
parse_args "$@"
|
|
304
|
+
|
|
305
|
+
# Validate required parameters
|
|
306
|
+
if [[ "$TEST_MODE" == false ]]; then
|
|
307
|
+
if [[ -z "$TASK_ID" || -z "$EPIC_CONTEXT" || -z "$PHASE_CONTEXT" || -z "$SUCCESS_CRITERIA" ]]; then
|
|
308
|
+
log_error "Missing required parameters. Use --help for usage information."
|
|
309
|
+
exit 1
|
|
310
|
+
fi
|
|
311
|
+
else
|
|
312
|
+
run_test_mode
|
|
313
|
+
fi
|
|
314
|
+
|
|
315
|
+
log_info "Starting context injection validation"
|
|
316
|
+
log_info "Task ID: $TASK_ID"
|
|
317
|
+
echo "========================================"
|
|
318
|
+
|
|
319
|
+
# Validation pipeline
|
|
320
|
+
validate_redis || exit 1
|
|
321
|
+
validate_json "$EPIC_CONTEXT" "epic-context" || exit 1
|
|
322
|
+
validate_json "$PHASE_CONTEXT" "phase-context" || exit 1
|
|
323
|
+
validate_json "$SUCCESS_CRITERIA" "success-criteria" || exit 1
|
|
324
|
+
|
|
325
|
+
# Store contexts
|
|
326
|
+
store_context "$EPIC_CONTEXT" "epic-context" || exit 1
|
|
327
|
+
store_context "$PHASE_CONTEXT" "phase-context" || exit 1
|
|
328
|
+
store_context "$SUCCESS_CRITERIA" "success-criteria" || exit 1
|
|
329
|
+
|
|
330
|
+
# Test propagation
|
|
331
|
+
test_propagation || exit 1
|
|
332
|
+
|
|
333
|
+
# Simulate agent injection
|
|
334
|
+
simulate_agent_injection || exit 1
|
|
335
|
+
|
|
336
|
+
# Cleanup
|
|
337
|
+
cleanup
|
|
338
|
+
|
|
339
|
+
echo "========================================"
|
|
340
|
+
log_success "Context injection validation completed successfully!"
|
|
341
|
+
log_success "All tests passed - context propagation working correctly"
|
|
342
|
+
|
|
343
|
+
if [[ "$TEST_MODE" == true ]]; then
|
|
344
|
+
echo ""
|
|
345
|
+
log_info "Test mode validated infrastructure readiness"
|
|
346
|
+
log_info "Ready for production context injection testing"
|
|
347
|
+
fi
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
# Handle cleanup on script exit
|
|
351
|
+
trap cleanup EXIT
|
|
352
|
+
|
|
353
|
+
# Run main function
|
|
354
|
+
main "$@"
|