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
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# DLQ Functionality Test Suite
|
|
3
|
-
# Validates Dead Letter Queue write, expiration, and query mechanisms
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Source common test utilities
|
|
8
|
-
source "$(dirname "$0")/test-utils.sh"
|
|
9
|
-
|
|
10
|
-
# Generate test configuration
|
|
11
|
-
generate_test_config() {
|
|
12
|
-
local config_file="/tmp/dlq-test-config.json"
|
|
13
|
-
cat > "$config_file" << EOF
|
|
14
|
-
{
|
|
15
|
-
"dlq_max_retries": 3,
|
|
16
|
-
"dlq_ttl_days": 7,
|
|
17
|
-
"dlq_write_mode": "strict",
|
|
18
|
-
"redis_connection": {
|
|
19
|
-
"host": "localhost",
|
|
20
|
-
"port": 6379
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
EOF
|
|
24
|
-
echo "$config_file"
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
# Test DLQ write after max retries
|
|
28
|
-
test_dlq_write() {
|
|
29
|
-
local config_file=$(generate_test_config)
|
|
30
|
-
local task_id="test-task-$(date +%s)"
|
|
31
|
-
local agent_id="tester-dlq"
|
|
32
|
-
local error_details='{"code": 500, "message": "Test Error"}'
|
|
33
|
-
|
|
34
|
-
# Simulate max retry failure
|
|
35
|
-
local result=$(./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
36
|
-
--task-id "$task_id" \
|
|
37
|
-
--agent-id "$agent_id" \
|
|
38
|
-
--error "$error_details" \
|
|
39
|
-
--config "$config_file")
|
|
40
|
-
|
|
41
|
-
assert_not_empty "$result" "DLQ write failed"
|
|
42
|
-
|
|
43
|
-
# Validate DLQ entry structure
|
|
44
|
-
local dlq_entry=$(redis-cli get "dlq:$task_id:$agent_id")
|
|
45
|
-
assert_json_valid "$dlq_entry" "Invalid DLQ JSON structure"
|
|
46
|
-
|
|
47
|
-
# Check specific fields
|
|
48
|
-
local extracted_agent_id=$(echo "$dlq_entry" | jq -r '.agent_id')
|
|
49
|
-
assert_equal "$extracted_agent_id" "$agent_id" "Agent ID not preserved in DLQ"
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
# Test TTL expiration
|
|
53
|
-
test_dlq_ttl() {
|
|
54
|
-
local config_file=$(generate_test_config)
|
|
55
|
-
local task_id="ttl-test-$(date +%s)"
|
|
56
|
-
local agent_id="tester-ttl"
|
|
57
|
-
local error_details='{"code": 404, "message": "Resource Not Found"}'
|
|
58
|
-
|
|
59
|
-
# Write to DLQ
|
|
60
|
-
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
61
|
-
--task-id "$task_id" \
|
|
62
|
-
--agent-id "$agent_id" \
|
|
63
|
-
--error "$error_details" \
|
|
64
|
-
--config "$config_file"
|
|
65
|
-
|
|
66
|
-
# Check TTL (should be close to 7 days)
|
|
67
|
-
local ttl=$(redis-cli ttl "dlq:$task_id:$agent_id")
|
|
68
|
-
assert "[ $ttl -ge 604600 ] && [ $ttl -le 604800 ]" "TTL not set correctly"
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
# Test query-dlq script
|
|
72
|
-
test_dlq_query() {
|
|
73
|
-
# Populate test DLQ entries
|
|
74
|
-
local task_ids=("query-test-1" "query-test-2")
|
|
75
|
-
for task_id in "${task_ids[@]}"; do
|
|
76
|
-
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
77
|
-
--task-id "$task_id" \
|
|
78
|
-
--agent-id "tester-query" \
|
|
79
|
-
--error '{"code": 503, "message": "Test Query Error"}'
|
|
80
|
-
done
|
|
81
|
-
|
|
82
|
-
# Query DLQ
|
|
83
|
-
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
84
|
-
--agent-id "tester-query")
|
|
85
|
-
|
|
86
|
-
assert_not_empty "$query_result" "DLQ query returned no results"
|
|
87
|
-
|
|
88
|
-
# Validate query results contain expected task IDs
|
|
89
|
-
for task_id in "${task_ids[@]}"; do
|
|
90
|
-
assert "echo '$query_result' | grep -q '$task_id'" "Task ID $task_id not found in query results"
|
|
91
|
-
done
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
# Run tests
|
|
95
|
-
main() {
|
|
96
|
-
test_dlq_write
|
|
97
|
-
test_dlq_ttl
|
|
98
|
-
test_dlq_query
|
|
99
|
-
echo "DLQ Functionality Tests: PASSED"
|
|
100
|
-
}
|
|
101
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# DLQ Functionality Test Suite
|
|
3
|
+
# Validates Dead Letter Queue write, expiration, and query mechanisms
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Source common test utilities
|
|
8
|
+
source "$(dirname "$0")/test-utils.sh"
|
|
9
|
+
|
|
10
|
+
# Generate test configuration
|
|
11
|
+
generate_test_config() {
|
|
12
|
+
local config_file="/tmp/dlq-test-config.json"
|
|
13
|
+
cat > "$config_file" << EOF
|
|
14
|
+
{
|
|
15
|
+
"dlq_max_retries": 3,
|
|
16
|
+
"dlq_ttl_days": 7,
|
|
17
|
+
"dlq_write_mode": "strict",
|
|
18
|
+
"redis_connection": {
|
|
19
|
+
"host": "localhost",
|
|
20
|
+
"port": 6379
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
EOF
|
|
24
|
+
echo "$config_file"
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Test DLQ write after max retries
|
|
28
|
+
test_dlq_write() {
|
|
29
|
+
local config_file=$(generate_test_config)
|
|
30
|
+
local task_id="test-task-$(date +%s)"
|
|
31
|
+
local agent_id="tester-dlq"
|
|
32
|
+
local error_details='{"code": 500, "message": "Test Error"}'
|
|
33
|
+
|
|
34
|
+
# Simulate max retry failure
|
|
35
|
+
local result=$(./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
36
|
+
--task-id "$task_id" \
|
|
37
|
+
--agent-id "$agent_id" \
|
|
38
|
+
--error "$error_details" \
|
|
39
|
+
--config "$config_file")
|
|
40
|
+
|
|
41
|
+
assert_not_empty "$result" "DLQ write failed"
|
|
42
|
+
|
|
43
|
+
# Validate DLQ entry structure
|
|
44
|
+
local dlq_entry=$(redis-cli get "dlq:$task_id:$agent_id")
|
|
45
|
+
assert_json_valid "$dlq_entry" "Invalid DLQ JSON structure"
|
|
46
|
+
|
|
47
|
+
# Check specific fields
|
|
48
|
+
local extracted_agent_id=$(echo "$dlq_entry" | jq -r '.agent_id')
|
|
49
|
+
assert_equal "$extracted_agent_id" "$agent_id" "Agent ID not preserved in DLQ"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# Test TTL expiration
|
|
53
|
+
test_dlq_ttl() {
|
|
54
|
+
local config_file=$(generate_test_config)
|
|
55
|
+
local task_id="ttl-test-$(date +%s)"
|
|
56
|
+
local agent_id="tester-ttl"
|
|
57
|
+
local error_details='{"code": 404, "message": "Resource Not Found"}'
|
|
58
|
+
|
|
59
|
+
# Write to DLQ
|
|
60
|
+
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
61
|
+
--task-id "$task_id" \
|
|
62
|
+
--agent-id "$agent_id" \
|
|
63
|
+
--error "$error_details" \
|
|
64
|
+
--config "$config_file"
|
|
65
|
+
|
|
66
|
+
# Check TTL (should be close to 7 days)
|
|
67
|
+
local ttl=$(redis-cli ttl "dlq:$task_id:$agent_id")
|
|
68
|
+
assert "[ $ttl -ge 604600 ] && [ $ttl -le 604800 ]" "TTL not set correctly"
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# Test query-dlq script
|
|
72
|
+
test_dlq_query() {
|
|
73
|
+
# Populate test DLQ entries
|
|
74
|
+
local task_ids=("query-test-1" "query-test-2")
|
|
75
|
+
for task_id in "${task_ids[@]}"; do
|
|
76
|
+
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
77
|
+
--task-id "$task_id" \
|
|
78
|
+
--agent-id "tester-query" \
|
|
79
|
+
--error '{"code": 503, "message": "Test Query Error"}'
|
|
80
|
+
done
|
|
81
|
+
|
|
82
|
+
# Query DLQ
|
|
83
|
+
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
84
|
+
--agent-id "tester-query")
|
|
85
|
+
|
|
86
|
+
assert_not_empty "$query_result" "DLQ query returned no results"
|
|
87
|
+
|
|
88
|
+
# Validate query results contain expected task IDs
|
|
89
|
+
for task_id in "${task_ids[@]}"; do
|
|
90
|
+
assert "echo '$query_result' | grep -q '$task_id'" "Task ID $task_id not found in query results"
|
|
91
|
+
done
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
# Run tests
|
|
95
|
+
main() {
|
|
96
|
+
test_dlq_write
|
|
97
|
+
test_dlq_ttl
|
|
98
|
+
test_dlq_query
|
|
99
|
+
echo "DLQ Functionality Tests: PASSED"
|
|
100
|
+
}
|
|
101
|
+
|
|
102
102
|
main
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Edge Cases Test Suite
|
|
3
|
-
# Validates complex and concurrent scenarios for error recovery
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Source common test utilities
|
|
8
|
-
source "$(dirname "$0")/test-utils.sh"
|
|
9
|
-
|
|
10
|
-
# Redis connection failure simulation
|
|
11
|
-
test_redis_connection_failure() {
|
|
12
|
-
local original_redis_host=$(redis-cli config get bind | tail -n 1)
|
|
13
|
-
|
|
14
|
-
# Simulate connection failure by setting invalid host
|
|
15
|
-
redis-cli config set bind "invalid-host"
|
|
16
|
-
|
|
17
|
-
set +e # Disable immediate exit on error
|
|
18
|
-
./.claude/skills/redis-coordination/retry-mechanism.sh \
|
|
19
|
-
--task-id "connection-failure-test" \
|
|
20
|
-
--max-retries 3 2>/dev/null
|
|
21
|
-
local exit_code=$?
|
|
22
|
-
set -e
|
|
23
|
-
|
|
24
|
-
# Restore original Redis host
|
|
25
|
-
redis-cli config set bind "$original_redis_host"
|
|
26
|
-
|
|
27
|
-
# Check that retry mechanism handles connection failure
|
|
28
|
-
assert "[ $exit_code -ne 0 ]" "Connection failure not handled correctly"
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
# Concurrent DLQ writes test
|
|
32
|
-
test_concurrent_dlq_writes() {
|
|
33
|
-
local concurrent_tasks=10
|
|
34
|
-
local base_task_id="concurrent-dlq-$(date +%s)"
|
|
35
|
-
|
|
36
|
-
# Run concurrent DLQ writes
|
|
37
|
-
for ((i=1; i<=concurrent_tasks; i++)); do
|
|
38
|
-
(
|
|
39
|
-
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
40
|
-
--task-id "${base_task_id}-$i" \
|
|
41
|
-
--agent-id "concurrent-tester" \
|
|
42
|
-
--error '{"code": 500, "message": "Concurrent Test"}' &
|
|
43
|
-
)
|
|
44
|
-
done
|
|
45
|
-
|
|
46
|
-
# Wait for all background processes
|
|
47
|
-
wait
|
|
48
|
-
|
|
49
|
-
# Verify all entries were written
|
|
50
|
-
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
51
|
-
--agent-id "concurrent-tester")
|
|
52
|
-
|
|
53
|
-
assert "[ $(echo '$query_result' | grep -c "$base_task_id") -eq $concurrent_tasks ]" "Not all concurrent DLQ writes successful"
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
# Invalid agent ID handling
|
|
57
|
-
test_invalid_agent_id() {
|
|
58
|
-
set +e # Disable immediate exit on error
|
|
59
|
-
local result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
60
|
-
--agent-id "!@#$%^&*()-invalid-agent" 2>&1)
|
|
61
|
-
local exit_code=$?
|
|
62
|
-
set -e
|
|
63
|
-
|
|
64
|
-
assert "[ $exit_code -ne 0 ]" "Invalid agent ID not rejected"
|
|
65
|
-
assert_contains "$result" "Invalid agent ID" "Error message missing for invalid agent ID"
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
# TTL expiration edge cases
|
|
69
|
-
test_ttl_expiration_edge_cases() {
|
|
70
|
-
local task_id="ttl-edge-$(date +%s)"
|
|
71
|
-
local short_ttl=60 # 1 minute
|
|
72
|
-
|
|
73
|
-
# Write with extremely short TTL
|
|
74
|
-
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
75
|
-
--task-id "$task_id" \
|
|
76
|
-
--agent-id "ttl-edge-tester" \
|
|
77
|
-
--error '{"code": 999, "message": "TTL Edge Case"}' \
|
|
78
|
-
--ttl "$short_ttl"
|
|
79
|
-
|
|
80
|
-
# Wait slightly beyond TTL
|
|
81
|
-
sleep $((short_ttl + 5))
|
|
82
|
-
|
|
83
|
-
# Verify entry is automatically removed
|
|
84
|
-
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
85
|
-
--task-id "$task_id")
|
|
86
|
-
|
|
87
|
-
assert_empty "$query_result" "DLQ entry not automatically expired"
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
# Run tests
|
|
91
|
-
main() {
|
|
92
|
-
test_redis_connection_failure
|
|
93
|
-
test_concurrent_dlq_writes
|
|
94
|
-
test_invalid_agent_id
|
|
95
|
-
test_ttl_expiration_edge_cases
|
|
96
|
-
echo "Edge Cases Tests: PASSED"
|
|
97
|
-
}
|
|
98
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Edge Cases Test Suite
|
|
3
|
+
# Validates complex and concurrent scenarios for error recovery
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Source common test utilities
|
|
8
|
+
source "$(dirname "$0")/test-utils.sh"
|
|
9
|
+
|
|
10
|
+
# Redis connection failure simulation
|
|
11
|
+
test_redis_connection_failure() {
|
|
12
|
+
local original_redis_host=$(redis-cli config get bind | tail -n 1)
|
|
13
|
+
|
|
14
|
+
# Simulate connection failure by setting invalid host
|
|
15
|
+
redis-cli config set bind "invalid-host"
|
|
16
|
+
|
|
17
|
+
set +e # Disable immediate exit on error
|
|
18
|
+
./.claude/skills/redis-coordination/retry-mechanism.sh \
|
|
19
|
+
--task-id "connection-failure-test" \
|
|
20
|
+
--max-retries 3 2>/dev/null
|
|
21
|
+
local exit_code=$?
|
|
22
|
+
set -e
|
|
23
|
+
|
|
24
|
+
# Restore original Redis host
|
|
25
|
+
redis-cli config set bind "$original_redis_host"
|
|
26
|
+
|
|
27
|
+
# Check that retry mechanism handles connection failure
|
|
28
|
+
assert "[ $exit_code -ne 0 ]" "Connection failure not handled correctly"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# Concurrent DLQ writes test
|
|
32
|
+
test_concurrent_dlq_writes() {
|
|
33
|
+
local concurrent_tasks=10
|
|
34
|
+
local base_task_id="concurrent-dlq-$(date +%s)"
|
|
35
|
+
|
|
36
|
+
# Run concurrent DLQ writes
|
|
37
|
+
for ((i=1; i<=concurrent_tasks; i++)); do
|
|
38
|
+
(
|
|
39
|
+
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
40
|
+
--task-id "${base_task_id}-$i" \
|
|
41
|
+
--agent-id "concurrent-tester" \
|
|
42
|
+
--error '{"code": 500, "message": "Concurrent Test"}' &
|
|
43
|
+
)
|
|
44
|
+
done
|
|
45
|
+
|
|
46
|
+
# Wait for all background processes
|
|
47
|
+
wait
|
|
48
|
+
|
|
49
|
+
# Verify all entries were written
|
|
50
|
+
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
51
|
+
--agent-id "concurrent-tester")
|
|
52
|
+
|
|
53
|
+
assert "[ $(echo '$query_result' | grep -c "$base_task_id") -eq $concurrent_tasks ]" "Not all concurrent DLQ writes successful"
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
# Invalid agent ID handling
|
|
57
|
+
test_invalid_agent_id() {
|
|
58
|
+
set +e # Disable immediate exit on error
|
|
59
|
+
local result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
60
|
+
--agent-id "!@#$%^&*()-invalid-agent" 2>&1)
|
|
61
|
+
local exit_code=$?
|
|
62
|
+
set -e
|
|
63
|
+
|
|
64
|
+
assert "[ $exit_code -ne 0 ]" "Invalid agent ID not rejected"
|
|
65
|
+
assert_contains "$result" "Invalid agent ID" "Error message missing for invalid agent ID"
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
# TTL expiration edge cases
|
|
69
|
+
test_ttl_expiration_edge_cases() {
|
|
70
|
+
local task_id="ttl-edge-$(date +%s)"
|
|
71
|
+
local short_ttl=60 # 1 minute
|
|
72
|
+
|
|
73
|
+
# Write with extremely short TTL
|
|
74
|
+
./.claude/skills/redis-coordination/write-to-dlq.sh \
|
|
75
|
+
--task-id "$task_id" \
|
|
76
|
+
--agent-id "ttl-edge-tester" \
|
|
77
|
+
--error '{"code": 999, "message": "TTL Edge Case"}' \
|
|
78
|
+
--ttl "$short_ttl"
|
|
79
|
+
|
|
80
|
+
# Wait slightly beyond TTL
|
|
81
|
+
sleep $((short_ttl + 5))
|
|
82
|
+
|
|
83
|
+
# Verify entry is automatically removed
|
|
84
|
+
local query_result=$(./.claude/skills/redis-coordination/query-dlq.sh \
|
|
85
|
+
--task-id "$task_id")
|
|
86
|
+
|
|
87
|
+
assert_empty "$query_result" "DLQ entry not automatically expired"
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
# Run tests
|
|
91
|
+
main() {
|
|
92
|
+
test_redis_connection_failure
|
|
93
|
+
test_concurrent_dlq_writes
|
|
94
|
+
test_invalid_agent_id
|
|
95
|
+
test_ttl_expiration_edge_cases
|
|
96
|
+
echo "Edge Cases Tests: PASSED"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
99
|
main
|