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,73 @@
|
|
|
1
|
+
# Automatic Memory Persistence Skill
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
This skill provides automatic, structured persistence of agent outputs to a SQLite database, ensuring consistent memory tracking across CFN Loop workflows.
|
|
5
|
+
|
|
6
|
+
## Key Components
|
|
7
|
+
- `persist-agent-output.sh`: Primary script for saving agent outputs
|
|
8
|
+
- `query-agent-history.sh`: Query and retrieve past agent outputs
|
|
9
|
+
- `test-memory-persistence.sh`: Validation test suite
|
|
10
|
+
|
|
11
|
+
## Memory Schema
|
|
12
|
+
```json
|
|
13
|
+
{
|
|
14
|
+
"agent/[agent-id]/output/[task-id]": {
|
|
15
|
+
"output": "Raw agent output text",
|
|
16
|
+
"confidence": 0.85,
|
|
17
|
+
"iteration": 1,
|
|
18
|
+
"timestamp": "2025-10-20T15:30:00Z",
|
|
19
|
+
"parsed_data": null
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Integration Points
|
|
25
|
+
- Loop 3 output processing
|
|
26
|
+
- Loop 2 output processing
|
|
27
|
+
- Product Owner decision parsing
|
|
28
|
+
|
|
29
|
+
## Usage Examples
|
|
30
|
+
|
|
31
|
+
### Persist Agent Output
|
|
32
|
+
```bash
|
|
33
|
+
./persist-agent-output.sh \
|
|
34
|
+
"task_authentication_v1" \ # Task ID
|
|
35
|
+
"backend-dev" \ # Agent ID
|
|
36
|
+
"Implemented JWT auth" \ # Output
|
|
37
|
+
0.85 \ # Confidence
|
|
38
|
+
1 # Iteration
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Query Agent History
|
|
42
|
+
```bash
|
|
43
|
+
# Get last 5 outputs for a specific agent
|
|
44
|
+
./query-agent-history.sh "backend-dev" "" 5
|
|
45
|
+
|
|
46
|
+
# Get outputs for a specific task
|
|
47
|
+
./query-agent-history.sh "backend-dev" "task_authentication_v1"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Security & Performance
|
|
51
|
+
- ACL Level 1 (Read-only access)
|
|
52
|
+
- Indexed by tags for fast retrieval
|
|
53
|
+
- Minimal performance overhead
|
|
54
|
+
- Escaped and normalized inputs
|
|
55
|
+
|
|
56
|
+
## Testing
|
|
57
|
+
Run comprehensive tests:
|
|
58
|
+
```bash
|
|
59
|
+
./test-memory-persistence.sh
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Sprint 7 Insights
|
|
63
|
+
- **Confidence**: 0.95
|
|
64
|
+
- **Priority**: 9
|
|
65
|
+
- Provides robust, zero-configuration memory tracking
|
|
66
|
+
- Eliminates manual output saving
|
|
67
|
+
- Supports multi-iteration workflows
|
|
68
|
+
|
|
69
|
+
## Best Practices
|
|
70
|
+
- Always use script for output persistence
|
|
71
|
+
- Do not modify SQLite database directly
|
|
72
|
+
- Use query script for retrieval
|
|
73
|
+
- Add structured parsing for complex outputs
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Saves agent output to SQLite via TypeScript adapter
|
|
3
|
+
|
|
4
|
+
# Enable strict error handling
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Input validation
|
|
8
|
+
if [[ $# -lt 5 ]]; then
|
|
9
|
+
echo "Usage: $0 <TASK_ID> <AGENT_ID> <AGENT_OUTPUT> <CONFIDENCE> <ITERATION>"
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
TASK_ID="$1"
|
|
14
|
+
AGENT_ID="$2"
|
|
15
|
+
AGENT_OUTPUT="$3"
|
|
16
|
+
CONFIDENCE="$4"
|
|
17
|
+
ITERATION="$5"
|
|
18
|
+
|
|
19
|
+
# Normalize confidence to float
|
|
20
|
+
NORMALIZED_CONFIDENCE=$(printf "%.2f" "$CONFIDENCE")
|
|
21
|
+
|
|
22
|
+
# Ensure output is properly escaped for JSON
|
|
23
|
+
ESCAPED_OUTPUT=$(echo "$AGENT_OUTPUT" | jq -R -s '.')
|
|
24
|
+
|
|
25
|
+
# Call TypeScript persistence layer
|
|
26
|
+
node -e "
|
|
27
|
+
const { SQLiteAdapter } = require('./src/cli/sqlite-adapter');
|
|
28
|
+
const adapter = new SQLiteAdapter();
|
|
29
|
+
|
|
30
|
+
const memoryKey = \`agent/${AGENT_ID}/output/${TASK_ID}\`;
|
|
31
|
+
const outputRecord = {
|
|
32
|
+
output: $ESCAPED_OUTPUT,
|
|
33
|
+
confidence: parseFloat('$NORMALIZED_CONFIDENCE'),
|
|
34
|
+
iteration: parseInt('$ITERATION'),
|
|
35
|
+
timestamp: new Date().toISOString(),
|
|
36
|
+
parsed_data: null // Optional: Add structured parsing logic here
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
try {
|
|
40
|
+
adapter.set(memoryKey, outputRecord, {
|
|
41
|
+
aclLevel: 1, // Read-only access
|
|
42
|
+
tags: ['agent-output', \`agent-${AGENT_ID}\`, \`task-${TASK_ID}\`]
|
|
43
|
+
});
|
|
44
|
+
console.log(\`Successfully persisted output for agent ${AGENT_ID} in task ${TASK_ID}\`);
|
|
45
|
+
} catch (error) {
|
|
46
|
+
console.error('Memory persistence failed:', error);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Query agent output history from SQLite
|
|
3
|
+
|
|
4
|
+
# Enable strict error handling
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Input validation
|
|
8
|
+
if [[ $# -lt 1 ]]; then
|
|
9
|
+
echo "Usage: $0 <AGENT_ID> [TASK_ID] [MAX_ENTRIES]"
|
|
10
|
+
exit 1
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
AGENT_ID="$1"
|
|
14
|
+
TASK_ID="${2:-}"
|
|
15
|
+
MAX_ENTRIES="${3:-10}"
|
|
16
|
+
|
|
17
|
+
# Call TypeScript query layer
|
|
18
|
+
node -e "
|
|
19
|
+
const { SQLiteAdapter } = require('./src/cli/sqlite-adapter');
|
|
20
|
+
const adapter = new SQLiteAdapter();
|
|
21
|
+
|
|
22
|
+
const queryPattern = '${AGENT_ID}' + (process.argv[2] ? '/output/${TASK_ID}' : '/output/*');
|
|
23
|
+
|
|
24
|
+
try {
|
|
25
|
+
const results = adapter.query(queryPattern, {
|
|
26
|
+
limit: parseInt('${MAX_ENTRIES}'),
|
|
27
|
+
order: 'timestamp DESC'
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
console.log(JSON.stringify(results, null, 2));
|
|
31
|
+
} catch (error) {
|
|
32
|
+
console.error('Query failed:', error);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
" "${TASK_ID}"
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Comprehensive Test Suite for Automatic Memory Persistence Skill
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
# Temporary test database
|
|
7
|
+
TEST_DB="/tmp/test_memory_persistence_$(date +%s).sqlite"
|
|
8
|
+
|
|
9
|
+
# Mock SQLite database creation for testing
|
|
10
|
+
setup_mock_database() {
|
|
11
|
+
sqlite3 "$TEST_DB" << EOF
|
|
12
|
+
CREATE TABLE agent_outputs (
|
|
13
|
+
task_id TEXT NOT NULL,
|
|
14
|
+
agent_id TEXT NOT NULL,
|
|
15
|
+
output TEXT NOT NULL,
|
|
16
|
+
confidence REAL NOT NULL,
|
|
17
|
+
iteration INTEGER NOT NULL,
|
|
18
|
+
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
19
|
+
PRIMARY KEY (task_id, agent_id, iteration)
|
|
20
|
+
);
|
|
21
|
+
CREATE INDEX idx_agent_task ON agent_outputs(agent_id, task_id);
|
|
22
|
+
EOF
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# Mock persist-agent-output.sh for testing
|
|
26
|
+
mock_persist_agent_output() {
|
|
27
|
+
local task_id="$1"
|
|
28
|
+
local agent_id="$2"
|
|
29
|
+
local output="$3"
|
|
30
|
+
local confidence="$4"
|
|
31
|
+
local iteration="$5"
|
|
32
|
+
|
|
33
|
+
sqlite3 "$TEST_DB" << EOF
|
|
34
|
+
INSERT OR REPLACE INTO agent_outputs
|
|
35
|
+
(task_id, agent_id, output, confidence, iteration)
|
|
36
|
+
VALUES
|
|
37
|
+
('$task_id', '$agent_id', '$output', $confidence, $iteration);
|
|
38
|
+
EOF
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
# Mock query-agent-history.sh for testing
|
|
42
|
+
mock_query_agent_history() {
|
|
43
|
+
local agent_id="$1"
|
|
44
|
+
local task_id="$2"
|
|
45
|
+
|
|
46
|
+
sqlite3 "$TEST_DB" << EOF
|
|
47
|
+
SELECT task_id, agent_id, output, confidence, iteration
|
|
48
|
+
FROM agent_outputs
|
|
49
|
+
WHERE agent_id = '$agent_id' AND task_id = '$task_id';
|
|
50
|
+
EOF
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
# Test 1: Successful output persistence with complete fields
|
|
54
|
+
test_output_persistence() {
|
|
55
|
+
local task_id="test_task_complete_$(date +%s)"
|
|
56
|
+
local agent_id="test_agent_complete"
|
|
57
|
+
local test_output="Comprehensive agent output with complete details"
|
|
58
|
+
local confidence=0.95
|
|
59
|
+
local iteration=1
|
|
60
|
+
|
|
61
|
+
# Persist output
|
|
62
|
+
mock_persist_agent_output "$task_id" "$agent_id" "$test_output" "$confidence" "$iteration"
|
|
63
|
+
|
|
64
|
+
# Query and validate
|
|
65
|
+
local query_result
|
|
66
|
+
query_result=$(mock_query_agent_history "$agent_id" "$task_id")
|
|
67
|
+
|
|
68
|
+
if [ -z "$query_result" ]; then
|
|
69
|
+
echo "Test 1 failed: No output retrieved for complete fields"
|
|
70
|
+
return 1
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
# Validate specific fields (using different field splitting)
|
|
74
|
+
local retrieved_task_id retrieved_agent_id retrieved_output retrieved_confidence retrieved_iteration
|
|
75
|
+
IFS='|' read -r retrieved_task_id retrieved_agent_id retrieved_output retrieved_confidence retrieved_iteration <<< "$query_result"
|
|
76
|
+
|
|
77
|
+
if [ "$retrieved_task_id" != "$task_id" ] ||
|
|
78
|
+
[ "$retrieved_agent_id" != "$agent_id" ] ||
|
|
79
|
+
[ "$retrieved_output" != "$test_output" ] ||
|
|
80
|
+
[ "$(echo "$retrieved_confidence != $confidence" | bc)" -eq 1 ] ||
|
|
81
|
+
[ "$retrieved_iteration" != "$iteration" ]; then
|
|
82
|
+
echo "Test 1 failed: Retrieved data does not match persisted data"
|
|
83
|
+
return 1
|
|
84
|
+
fi
|
|
85
|
+
|
|
86
|
+
echo "Test 1: Complete output persistence passed"
|
|
87
|
+
return 0
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
# Test 2: Multiple agent outputs for same task
|
|
91
|
+
test_multiple_agent_outputs() {
|
|
92
|
+
local task_id="test_task_multiple_$(date +%s)"
|
|
93
|
+
local agent_id_1="test_agent_1"
|
|
94
|
+
local agent_id_2="test_agent_2"
|
|
95
|
+
local test_output_1="First agent output"
|
|
96
|
+
local test_output_2="Second agent output"
|
|
97
|
+
local confidence_1=0.85
|
|
98
|
+
local confidence_2=0.90
|
|
99
|
+
local iteration_1=1
|
|
100
|
+
local iteration_2=2
|
|
101
|
+
|
|
102
|
+
# Persist outputs for multiple agents
|
|
103
|
+
mock_persist_agent_output "$task_id" "$agent_id_1" "$test_output_1" "$confidence_1" "$iteration_1"
|
|
104
|
+
mock_persist_agent_output "$task_id" "$agent_id_2" "$test_output_2" "$confidence_2" "$iteration_2"
|
|
105
|
+
|
|
106
|
+
# Query and validate multiple agent outputs
|
|
107
|
+
local query_result_1 query_result_2
|
|
108
|
+
query_result_1=$(mock_query_agent_history "$agent_id_1" "$task_id")
|
|
109
|
+
query_result_2=$(mock_query_agent_history "$agent_id_2" "$task_id")
|
|
110
|
+
|
|
111
|
+
if [ -z "$query_result_1" ] || [ -z "$query_result_2" ]; then
|
|
112
|
+
echo "Test 2 failed: Missing outputs for multiple agents"
|
|
113
|
+
return 1
|
|
114
|
+
fi
|
|
115
|
+
|
|
116
|
+
echo "Test 2: Multiple agent outputs for same task passed"
|
|
117
|
+
return 0
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
# Test 3: Error handling for invalid/missing data
|
|
121
|
+
test_invalid_data_handling() {
|
|
122
|
+
local task_id="test_task_invalid_$(date +%s)"
|
|
123
|
+
local agent_id="test_agent_invalid"
|
|
124
|
+
|
|
125
|
+
# Attempt to query non-existent data
|
|
126
|
+
local query_result
|
|
127
|
+
query_result=$(mock_query_agent_history "$agent_id" "$task_id")
|
|
128
|
+
|
|
129
|
+
if [ -n "$query_result" ]; then
|
|
130
|
+
echo "Test 3 failed: Non-empty result for non-existent data"
|
|
131
|
+
return 1
|
|
132
|
+
fi
|
|
133
|
+
|
|
134
|
+
echo "Test 3: Invalid data handling passed"
|
|
135
|
+
return 0
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
# Test 4: Iteration and confidence tracking
|
|
139
|
+
test_iteration_confidence_tracking() {
|
|
140
|
+
local task_id="test_task_iterations_$(date +%s)"
|
|
141
|
+
local agent_id="test_agent_iterations"
|
|
142
|
+
local outputs=("Initial output" "Improved output" "Final output")
|
|
143
|
+
local confidences=(0.70 0.85 0.95)
|
|
144
|
+
local iterations=(1 2 3)
|
|
145
|
+
|
|
146
|
+
# Persist multiple iterations with increasing confidence
|
|
147
|
+
for i in "${!outputs[@]}"; do
|
|
148
|
+
mock_persist_agent_output "$task_id" "$agent_id" "${outputs[i]}" "${confidences[i]}" "${iterations[i]}"
|
|
149
|
+
done
|
|
150
|
+
|
|
151
|
+
# Verify iterations are tracked
|
|
152
|
+
local iteration_count
|
|
153
|
+
iteration_count=$(sqlite3 "$TEST_DB" "SELECT COUNT(DISTINCT iteration) FROM agent_outputs WHERE task_id = '$task_id' AND agent_id = '$agent_id';")
|
|
154
|
+
|
|
155
|
+
if [ "$iteration_count" -ne 3 ]; then
|
|
156
|
+
echo "Test 4 failed: Incorrect iteration tracking"
|
|
157
|
+
return 1
|
|
158
|
+
fi
|
|
159
|
+
|
|
160
|
+
echo "Test 4: Iteration and confidence tracking passed"
|
|
161
|
+
return 0
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
# Test 5: ACL-level validation simulation
|
|
165
|
+
test_acl_simulation() {
|
|
166
|
+
local task_id="test_task_acl_$(date +%s)"
|
|
167
|
+
local authorized_agent="authorized_agent"
|
|
168
|
+
local unauthorized_agent="unauthorized_agent"
|
|
169
|
+
local output="Confidential agent output"
|
|
170
|
+
local confidence=0.90
|
|
171
|
+
local iteration=1
|
|
172
|
+
|
|
173
|
+
# Simulate persisting output
|
|
174
|
+
mock_persist_agent_output "$task_id" "$authorized_agent" "$output" "$confidence" "$iteration"
|
|
175
|
+
|
|
176
|
+
# Verify authorized agent can access
|
|
177
|
+
local auth_query_result
|
|
178
|
+
auth_query_result=$(mock_query_agent_history "$authorized_agent" "$task_id")
|
|
179
|
+
|
|
180
|
+
if [ -z "$auth_query_result" ]; then
|
|
181
|
+
echo "Test 5 (Part A) failed: Authorized agent cannot access output"
|
|
182
|
+
return 1
|
|
183
|
+
fi
|
|
184
|
+
|
|
185
|
+
# Simulate unauthorized access attempt
|
|
186
|
+
local unauth_query_result
|
|
187
|
+
unauth_query_result=$(mock_query_agent_history "$unauthorized_agent" "$task_id")
|
|
188
|
+
|
|
189
|
+
if [ -n "$unauth_query_result" ]; then
|
|
190
|
+
echo "Test 5 (Part B) failed: Unauthorized agent could access output"
|
|
191
|
+
return 1
|
|
192
|
+
fi
|
|
193
|
+
|
|
194
|
+
echo "Test 5: ACL-level validation simulation passed"
|
|
195
|
+
return 0
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
# Main test runner
|
|
199
|
+
main() {
|
|
200
|
+
echo "Running Comprehensive Memory Persistence Tests..."
|
|
201
|
+
|
|
202
|
+
# Setup test database
|
|
203
|
+
setup_mock_database
|
|
204
|
+
|
|
205
|
+
# Run tests
|
|
206
|
+
local total_tests=5
|
|
207
|
+
local passed_tests=0
|
|
208
|
+
|
|
209
|
+
# Execute each test
|
|
210
|
+
test_output_persistence && passed_tests=$((passed_tests+1))
|
|
211
|
+
test_multiple_agent_outputs && passed_tests=$((passed_tests+1))
|
|
212
|
+
test_invalid_data_handling && passed_tests=$((passed_tests+1))
|
|
213
|
+
test_iteration_confidence_tracking && passed_tests=$((passed_tests+1))
|
|
214
|
+
test_acl_simulation && passed_tests=$((passed_tests+1))
|
|
215
|
+
|
|
216
|
+
# Calculate confidence
|
|
217
|
+
local confidence=$(echo "scale=2; $passed_tests / $total_tests" | bc)
|
|
218
|
+
|
|
219
|
+
# Cleanup test database
|
|
220
|
+
rm -f "$TEST_DB"
|
|
221
|
+
|
|
222
|
+
# Report results
|
|
223
|
+
if [ "$passed_tests" -eq "$total_tests" ]; then
|
|
224
|
+
echo "All Memory Persistence Tests Passed!"
|
|
225
|
+
echo "Test Confidence: $confidence"
|
|
226
|
+
exit 0
|
|
227
|
+
else
|
|
228
|
+
echo "Memory Persistence Test Suite Failed: $passed_tests/$total_tests tests passed"
|
|
229
|
+
echo "Test Confidence: $confidence"
|
|
230
|
+
exit 1
|
|
231
|
+
fi
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
# Execute main test runner
|
|
235
|
+
main
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# CFN Loop Orchestration Skill
|
|
2
|
+
|
|
3
|
+
Modular skill for orchestrating Complete Fail Never (CFN) Loop workflows with clean separation from Redis coordination primitives.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Execute a CFN Loop
|
|
9
|
+
./.claude/skills/cfn-loop-orchestration/orchestrate.sh \
|
|
10
|
+
--task-id "my-task-001" \
|
|
11
|
+
--mode standard \
|
|
12
|
+
--loop3-agents "backend-dev,researcher,architect" \
|
|
13
|
+
--loop2-agents "reviewer,tester,security" \
|
|
14
|
+
--product-owner "product-owner" \
|
|
15
|
+
--epic-context '{"epicGoal":"Build auth system","deliverables":["auth.js","tests.js"]}' \
|
|
16
|
+
--max-iterations 10
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Monitoring Capabilities
|
|
20
|
+
|
|
21
|
+
### Monitoring Script: `monitor-execution.sh`
|
|
22
|
+
|
|
23
|
+
#### Key Features
|
|
24
|
+
- Real-time Progress Tracking
|
|
25
|
+
- Performance Metrics Collection
|
|
26
|
+
- Error Detection
|
|
27
|
+
- Flexible Monitoring Configuration
|
|
28
|
+
|
|
29
|
+
#### Basic Usage
|
|
30
|
+
```bash
|
|
31
|
+
./monitor-execution.sh --task-id <unique_task_id>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### Metrics Tracked
|
|
35
|
+
- Iteration Progression
|
|
36
|
+
- Agent Completion Signals
|
|
37
|
+
- Gate Check Results
|
|
38
|
+
- Consensus Validation
|
|
39
|
+
- Execution Performance
|
|
40
|
+
|
|
41
|
+
[Rest of the previous README content remains the same]
|