claude-flow-novice 2.15.2 → 2.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/.claude/commands/cfn-loop-cli.md +16 -2
- package/.claude/commands/switch-api.md +31 -10
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/.claude/hooks/cfn-post-edit.config.json +44 -44
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/README.md +116 -475
- package/claude-assets/agents/cfn-dev-team/README.md +103 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
- package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/claude-assets/commands/cfn-loop-cli.md +16 -2
- package/claude-assets/commands/switch-api.md +31 -10
- package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
- package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
- package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
- package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
- package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
- package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
- package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
- package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
- package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
- package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
- package/claude-assets/skills/bootstrap/database-connection.md +464 -0
- package/claude-assets/skills/bootstrap/error-handling.md +580 -0
- package/claude-assets/skills/bootstrap/file-operations.md +699 -0
- package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
- package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
- package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
- package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
- package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
- package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
- package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
- package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
- package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
- package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
- package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
- package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
- package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
- package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
- package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
- package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
- package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
- package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
- package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
- package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
- package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
- package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
- package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
- package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
- package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
- package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
- package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
- package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
- package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
- package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
- package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
- package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
- package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
- package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
- package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
- package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
- package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
- package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
- package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
- package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
- package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
- package/claude-assets/skills/cfn-utilities/test.sh +317 -0
- package/claude-assets/skills/docker-build/SKILL.md +96 -203
- package/claude-assets/skills/docker-build/build.sh +73 -73
- package/claude-assets/skills/integration/agent-handoff.sh +492 -0
- package/claude-assets/skills/integration/file-operations.sh +414 -0
- package/claude-assets/skills/json-validation/SKILL.md +431 -0
- package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
- package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
- package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
- package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
- package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
- package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
- package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
- package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
- package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
- package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
- package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
- package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
- package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
- package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
- package/dist/ace/ace-curator.js +10 -2
- package/dist/ace/ace-curator.js.map +1 -1
- package/dist/ace/ace-generator.js +4 -0
- package/dist/ace/ace-generator.js.map +1 -1
- package/dist/ace/ace-reflector.js +1 -1
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/ace/context-injection.js +24 -2
- package/dist/ace/context-injection.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/agents/task-agent-integration.js +1 -1
- package/dist/agents/task-agent-integration.js.map +1 -1
- package/dist/api/health-endpoints.js +390 -0
- package/dist/api/health-endpoints.js.map +1 -0
- package/dist/cli/agent-executor.js +4 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +89 -1
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +130 -37
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/skill-cache-validator.js +412 -0
- package/dist/cli/skill-cache-validator.js.map +1 -0
- package/dist/cli/skill-cli.js +991 -0
- package/dist/cli/skill-cli.js.map +1 -0
- package/dist/cli/skill-execution-logger.js +284 -0
- package/dist/cli/skill-execution-logger.js.map +1 -0
- package/dist/cli/skill-loader.js +457 -0
- package/dist/cli/skill-loader.js.map +1 -0
- package/dist/coordination/event-bus.js +2 -2
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/fleet-manager.js +1 -1
- package/dist/coordination/fleet-manager.js.map +1 -1
- package/dist/coordination/index.js +23 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/types/fleet-manager.types.js.map +1 -1
- package/dist/db/migration-manager.js +483 -0
- package/dist/db/migration-manager.js.map +1 -0
- package/dist/db/skills-query.js +535 -0
- package/dist/db/skills-query.js.map +1 -0
- package/dist/integration/DatabaseHandoff.js +507 -0
- package/dist/integration/DatabaseHandoff.js.map +1 -0
- package/dist/integration/StandardAdapter.js +291 -0
- package/dist/integration/StandardAdapter.js.map +1 -0
- package/dist/jobs/edge-case-analyzer.js +367 -0
- package/dist/jobs/edge-case-analyzer.js.map +1 -0
- package/dist/jobs/promotion-sla-enforcer.js +288 -0
- package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
- package/dist/lib/agent-output-parser.js +518 -0
- package/dist/lib/agent-output-parser.js.map +1 -0
- package/dist/lib/agent-output-validator.js +950 -0
- package/dist/lib/agent-output-validator.js.map +1 -0
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.js.map +1 -0
- package/dist/lib/artifact-registry.js +443 -0
- package/dist/lib/artifact-registry.js.map +1 -0
- package/dist/lib/atomic-file-writer.js +377 -0
- package/dist/lib/atomic-file-writer.js.map +1 -0
- package/dist/lib/backup-manager.js +779 -0
- package/dist/lib/backup-manager.js.map +1 -0
- package/dist/lib/checkpoint-manager.js +837 -0
- package/dist/lib/checkpoint-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.js +340 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/completion-signal-handler.js +243 -0
- package/dist/lib/completion-signal-handler.js.map +1 -0
- package/dist/lib/config-manager.js +312 -0
- package/dist/lib/config-manager.js.map +1 -0
- package/dist/lib/config-migrator.js +386 -0
- package/dist/lib/config-migrator.js.map +1 -0
- package/dist/lib/config-validator.js +687 -0
- package/dist/lib/config-validator.js.map +1 -0
- package/dist/lib/correlation-cache.js +311 -0
- package/dist/lib/correlation-cache.js.map +1 -0
- package/dist/lib/correlation.js +263 -0
- package/dist/lib/correlation.js.map +1 -0
- package/dist/lib/database-service/connection-pool-manager.js +520 -0
- package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
- package/dist/lib/database-service/correlation.js +329 -0
- package/dist/lib/database-service/correlation.js.map +1 -0
- package/dist/lib/database-service/errors.js +120 -0
- package/dist/lib/database-service/errors.js.map +1 -0
- package/dist/lib/database-service/index.js +168 -0
- package/dist/lib/database-service/index.js.map +1 -0
- package/dist/lib/database-service/postgres-adapter.js +526 -0
- package/dist/lib/database-service/postgres-adapter.js.map +1 -0
- package/dist/lib/database-service/redis-adapter.js +360 -0
- package/dist/lib/database-service/redis-adapter.js.map +1 -0
- package/dist/lib/database-service/sqlite-adapter.js +544 -0
- package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
- package/dist/lib/database-service/transaction-manager.js +773 -0
- package/dist/lib/database-service/transaction-manager.js.map +1 -0
- package/dist/lib/database-service/types.js +23 -0
- package/dist/lib/database-service/types.js.map +1 -0
- package/dist/lib/deadlock-resolver.js +292 -0
- package/dist/lib/deadlock-resolver.js.map +1 -0
- package/dist/lib/distributed-lock.js +451 -0
- package/dist/lib/distributed-lock.js.map +1 -0
- package/dist/lib/edge-case-deduplicator.js +227 -0
- package/dist/lib/edge-case-deduplicator.js.map +1 -0
- package/dist/lib/encryption-manager.js +322 -0
- package/dist/lib/encryption-manager.js.map +1 -0
- package/dist/lib/error-aggregator.js +234 -0
- package/dist/lib/error-aggregator.js.map +1 -0
- package/dist/lib/errors.js +287 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock-manager.js +578 -0
- package/dist/lib/file-lock-manager.js.map +1 -0
- package/dist/lib/file-operations.js +367 -0
- package/dist/lib/file-operations.js.map +1 -0
- package/dist/lib/idempotent-write.js +237 -0
- package/dist/lib/idempotent-write.js.map +1 -0
- package/dist/lib/integration-schema-validator.js +522 -0
- package/dist/lib/integration-schema-validator.js.map +1 -0
- package/dist/lib/lock-health-monitor.js +298 -0
- package/dist/lib/lock-health-monitor.js.map +1 -0
- package/dist/lib/log-shipper.js +422 -0
- package/dist/lib/log-shipper.js.map +1 -0
- package/dist/lib/logging.js +146 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/message-deduplicator.js +439 -0
- package/dist/lib/message-deduplicator.js.map +1 -0
- package/dist/lib/multi-system-query.js +604 -0
- package/dist/lib/multi-system-query.js.map +1 -0
- package/dist/lib/orphan-detector.js +332 -0
- package/dist/lib/orphan-detector.js.map +1 -0
- package/dist/lib/password-generator.js +166 -0
- package/dist/lib/password-generator.js.map +1 -0
- package/dist/lib/path-validator.js +429 -0
- package/dist/lib/path-validator.js.map +1 -0
- package/dist/lib/query-translator.js +905 -0
- package/dist/lib/query-translator.js.map +1 -0
- package/dist/lib/queue-recovery.js +469 -0
- package/dist/lib/queue-recovery.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +512 -0
- package/dist/lib/redis-queue-manager.js.map +1 -0
- package/dist/lib/reflection-archiver.js +272 -0
- package/dist/lib/reflection-archiver.js.map +1 -0
- package/dist/lib/retry-manager.js +453 -0
- package/dist/lib/retry-manager.js.map +1 -0
- package/dist/lib/retry.js +262 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/schema-transform.js +695 -0
- package/dist/lib/schema-transform.js.map +1 -0
- package/dist/lib/schema-validator.js +491 -0
- package/dist/lib/schema-validator.js.map +1 -0
- package/dist/lib/skill-cache.js +297 -0
- package/dist/lib/skill-cache.js.map +1 -0
- package/dist/lib/skill-content-manager.js +337 -0
- package/dist/lib/skill-content-manager.js.map +1 -0
- package/dist/lib/skill-frontmatter-parser.js +237 -0
- package/dist/lib/skill-frontmatter-parser.js.map +1 -0
- package/dist/lib/skill-git-integration.js +275 -0
- package/dist/lib/skill-git-integration.js.map +1 -0
- package/dist/lib/skill-markdown-validator.js +396 -0
- package/dist/lib/skill-markdown-validator.js.map +1 -0
- package/dist/lib/skill-output-parser.js +312 -0
- package/dist/lib/skill-output-parser.js.map +1 -0
- package/dist/lib/unified-query-api.js +467 -0
- package/dist/lib/unified-query-api.js.map +1 -0
- package/dist/middleware/auth-middleware.js +350 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/schema-validation.js +347 -0
- package/dist/middleware/schema-validation.js.map +1 -0
- package/dist/providers/anthropic-provider.js +1 -1
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +2 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/services/edge-case-analyzer.js +321 -0
- package/dist/services/edge-case-analyzer.js.map +1 -0
- package/dist/services/edge-case-deduplicator.js +266 -0
- package/dist/services/edge-case-deduplicator.js.map +1 -0
- package/dist/services/edge-case-detector.js +337 -0
- package/dist/services/edge-case-detector.js.map +1 -0
- package/dist/services/edge-case-tracker.js +547 -0
- package/dist/services/edge-case-tracker.js.map +1 -0
- package/dist/services/health-check-system.js +586 -0
- package/dist/services/health-check-system.js.map +1 -0
- package/dist/services/metrics-logger.js +412 -0
- package/dist/services/metrics-logger.js.map +1 -0
- package/dist/services/patch-generator.js +378 -0
- package/dist/services/patch-generator.js.map +1 -0
- package/dist/services/patch-validator.js +337 -0
- package/dist/services/patch-validator.js.map +1 -0
- package/dist/services/performance-monitor.js +811 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/promotion-pipeline.js +918 -0
- package/dist/services/promotion-pipeline.js.map +1 -0
- package/dist/services/promotion-validator.js +394 -0
- package/dist/services/promotion-validator.js.map +1 -0
- package/dist/services/reflection-logger.js +388 -0
- package/dist/services/reflection-logger.js.map +1 -0
- package/dist/services/skill-deployment.js +472 -0
- package/dist/services/skill-deployment.js.map +1 -0
- package/dist/services/skill-loader.js +427 -0
- package/dist/services/skill-loader.js.map +1 -0
- package/dist/services/skill-promotion.js +372 -0
- package/dist/services/skill-promotion.js.map +1 -0
- package/dist/services/skill-validator.js +454 -0
- package/dist/services/skill-validator.js.map +1 -0
- package/dist/services/skill-versioning.js +244 -0
- package/dist/services/skill-versioning.js.map +1 -0
- package/dist/services/workspace-supervisor.js +597 -0
- package/dist/services/workspace-supervisor.js.map +1 -0
- package/dist/types/agent-output.js +44 -0
- package/dist/types/agent-output.js.map +1 -0
- package/dist/types/config.js +28 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -176
- package/readme/README.md +19 -4
- package/scripts/artifact-cleanup.sh +392 -0
- package/scripts/backup-cleanup.sh +627 -0
- package/scripts/cleanup-workspaces.sh +412 -0
- package/scripts/cleanup-yaml-configs.sh +141 -0
- package/scripts/deploy-approved-skills.sh +263 -0
- package/scripts/deploy-production.sh +355 -355
- package/scripts/docker-playwright-fix.sh +311 -311
- package/scripts/docker-rebuild-all-agents.sh +127 -127
- package/scripts/health-check.sh +447 -0
- package/scripts/log-aggregator.sh +554 -0
- package/scripts/log-monitor.sh +629 -0
- package/scripts/manage-agent-workspaces.sh +434 -0
- package/scripts/memory-leak-prevention.sh +305 -305
- package/scripts/migrate-artifacts.sh +563 -0
- package/scripts/migrate-schema.sh +533 -0
- package/scripts/migrate-yaml-to-json.sh +465 -0
- package/scripts/promote-staged-skills.sh +423 -0
- package/scripts/run-marketing-tests.sh +42 -42
- package/scripts/update_paths.sh +46 -46
- package/scripts/verify-no-secrets.sh +88 -35
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
- package/README.md.backup_before_replace +0 -781
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
set -e # Exit on error
|
|
8
8
|
|
|
9
|
+
# Source parameterized query library for SQL injection prevention
|
|
10
|
+
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
11
|
+
source "$PROJECT_ROOT/.claude/skills/bootstrap/sqlite-params.sh"
|
|
12
|
+
|
|
9
13
|
# Configuration
|
|
10
14
|
DB_PATH="${DB_PATH:-./swarm-memory.db}"
|
|
11
15
|
REDIS_HOST="${REDIS_HOST:-localhost}"
|
|
@@ -66,28 +70,20 @@ EOF
|
|
|
66
70
|
cleanup_acl_level() {
|
|
67
71
|
local acl_level=$1
|
|
68
72
|
local retention_days=$2
|
|
69
|
-
|
|
73
|
+
|
|
70
74
|
log "Cleaning up ACL Level $acl_level entries older than $retention_days days..."
|
|
71
|
-
|
|
72
|
-
# SQLite cleanup query
|
|
73
|
-
local cleanup_sql="
|
|
74
|
-
DELETE FROM memory_store
|
|
75
|
-
WHERE acl_level = $acl_level
|
|
76
|
-
AND expires_at <= datetime('now', '-$retention_days days')
|
|
77
|
-
AND acl_level != 5; -- Skip system audit logs (level 5)
|
|
78
|
-
"
|
|
79
|
-
|
|
75
|
+
|
|
80
76
|
if [ "$DRY_RUN" = "true" ]; then
|
|
81
|
-
# Count what would be deleted
|
|
82
|
-
local count=$(
|
|
77
|
+
# Count what would be deleted - using parameterized query
|
|
78
|
+
local count=$(sqlite_select "$DB_PATH" "SELECT COUNT(*) FROM memory_store WHERE acl_level = ?1 AND expires_at <= datetime('now', '-' || ?2 || ' days') AND acl_level != 5;" "$acl_level" "$retention_days")
|
|
83
79
|
log "[DRY RUN] Would delete $count entries from ACL Level $acl_level"
|
|
84
80
|
return 0
|
|
85
81
|
fi
|
|
86
|
-
|
|
87
|
-
# Execute cleanup
|
|
88
|
-
|
|
89
|
-
log "Deleted
|
|
90
|
-
|
|
82
|
+
|
|
83
|
+
# Execute cleanup - using parameterized query (Pattern B)
|
|
84
|
+
sqlite_delete "$DB_PATH" "DELETE FROM memory_store WHERE acl_level = ?1 AND expires_at <= datetime('now', '-' || ?2 || ' days') AND acl_level != 5;" "$acl_level" "$retention_days"
|
|
85
|
+
log "Deleted entries from ACL Level $acl_level"
|
|
86
|
+
|
|
91
87
|
# Sync with Redis if available
|
|
92
88
|
if check_redis; then
|
|
93
89
|
sync_redis_cleanup "$acl_level"
|
|
@@ -100,12 +96,8 @@ sync_redis_cleanup() {
|
|
|
100
96
|
|
|
101
97
|
log "Syncing Redis cleanup for ACL Level $acl_level..."
|
|
102
98
|
|
|
103
|
-
# Get keys that should be removed from Redis
|
|
104
|
-
local redis_keys=$(
|
|
105
|
-
SELECT key FROM memory_store
|
|
106
|
-
WHERE acl_level = $acl_level
|
|
107
|
-
AND expires_at <= datetime('now')
|
|
108
|
-
")
|
|
99
|
+
# Get keys that should be removed from Redis - using parameterized query
|
|
100
|
+
local redis_keys=$(sqlite_select "$DB_PATH" "SELECT key FROM memory_store WHERE acl_level = ?1 AND expires_at <= datetime('now')" "$acl_level")
|
|
109
101
|
|
|
110
102
|
# Remove from Redis
|
|
111
103
|
while IFS= read -r key; do
|
|
@@ -138,8 +130,8 @@ cleanup_redis_ttl() {
|
|
|
138
130
|
# Key doesn't exist in Redis but exists in SQLite (stale)
|
|
139
131
|
redis-cli -h "$REDIS_HOST" -p "$REDIS_PORT" DEL "$key" > /dev/null 2>&1 || true
|
|
140
132
|
elif [ "$ttl" -eq -1 ]; then
|
|
141
|
-
# Key has no TTL, check if it should have one based on ACL level
|
|
142
|
-
local acl_level=$(
|
|
133
|
+
# Key has no TTL, check if it should have one based on ACL level - using parameterized query
|
|
134
|
+
local acl_level=$(sqlite_select "$DB_PATH" "SELECT acl_level FROM memory_store WHERE key = ?1 LIMIT 1" "$key")
|
|
143
135
|
if [ -n "$acl_level" ] && [ "$acl_level" -le 4 ]; then
|
|
144
136
|
# Should have TTL, remove it
|
|
145
137
|
redis-cli -h "$REDIS_HOST" -p "$REDIS_PORT" DEL "$key" > /dev/null 2>&1 || true
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Transparency Middleware Configuration
|
|
4
|
-
# Version: 1.0.0
|
|
5
|
-
|
|
6
|
-
# Redis Configuration
|
|
7
|
-
export REDIS_HOST="${REDIS_HOST:-localhost}"
|
|
8
|
-
export REDIS_PORT="${REDIS_PORT:-6379}"
|
|
9
|
-
|
|
10
|
-
# Transparency Levels
|
|
11
|
-
TRANSPARENCY_LEVELS=(
|
|
12
|
-
"minimal" # Minimal logging, low overhead
|
|
13
|
-
"detailed" # Standard operational insights
|
|
14
|
-
"verbose" # Comprehensive logging
|
|
15
|
-
"debug" # Maximum verbosity and tracing
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
# Performance Thresholds
|
|
19
|
-
export MAX_OVERHEAD_PERCENTAGE=5
|
|
20
|
-
export MAX_MESSAGE_LATENCY_MS=50
|
|
21
|
-
export MAX_MEMORY_USAGE_MB=10
|
|
22
|
-
|
|
23
|
-
# Logging Configuration
|
|
24
|
-
export LOG_RETENTION_DAYS=7
|
|
25
|
-
export LOG_MAX_SIZE_MB=100
|
|
26
|
-
|
|
27
|
-
# Test-specific Configuration
|
|
28
|
-
export TEST_TIMEOUT_SECONDS=30
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Transparency Middleware Configuration
|
|
4
|
+
# Version: 1.0.0
|
|
5
|
+
|
|
6
|
+
# Redis Configuration
|
|
7
|
+
export REDIS_HOST="${REDIS_HOST:-localhost}"
|
|
8
|
+
export REDIS_PORT="${REDIS_PORT:-6379}"
|
|
9
|
+
|
|
10
|
+
# Transparency Levels
|
|
11
|
+
TRANSPARENCY_LEVELS=(
|
|
12
|
+
"minimal" # Minimal logging, low overhead
|
|
13
|
+
"detailed" # Standard operational insights
|
|
14
|
+
"verbose" # Comprehensive logging
|
|
15
|
+
"debug" # Maximum verbosity and tracing
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
# Performance Thresholds
|
|
19
|
+
export MAX_OVERHEAD_PERCENTAGE=5
|
|
20
|
+
export MAX_MESSAGE_LATENCY_MS=50
|
|
21
|
+
export MAX_MEMORY_USAGE_MB=10
|
|
22
|
+
|
|
23
|
+
# Logging Configuration
|
|
24
|
+
export LOG_RETENTION_DAYS=7
|
|
25
|
+
export LOG_MAX_SIZE_MB=100
|
|
26
|
+
|
|
27
|
+
# Test-specific Configuration
|
|
28
|
+
export TEST_TIMEOUT_SECONDS=30
|
|
29
29
|
export TEST_MESSAGE_COUNT=1000
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Performance Benchmarking for Transparency Middleware
|
|
4
|
-
# Version: 1.0.0
|
|
5
|
-
# Measures message throughput, overhead, and memory usage
|
|
6
|
-
|
|
7
|
-
set -euo pipefail
|
|
8
|
-
|
|
9
|
-
# Source configuration
|
|
10
|
-
source .claude/skills/cfn-transparency-middleware/middleware-config.sh
|
|
11
|
-
|
|
12
|
-
# Benchmarking results file
|
|
13
|
-
BENCHMARK_RESULTS="/tmp/transparency_benchmark_$(date +%Y%m%d_%H%M%S).json"
|
|
14
|
-
|
|
15
|
-
# Performance Test Parameters
|
|
16
|
-
TOTAL_MESSAGES=10000
|
|
17
|
-
CONCURRENCY_LEVELS=(1 10 100)
|
|
18
|
-
|
|
19
|
-
measure_performance() {
|
|
20
|
-
local concurrency="$1"
|
|
21
|
-
local start_time=$(date +%s.%N)
|
|
22
|
-
local peak_memory=0
|
|
23
|
-
local total_cpu_usage=0
|
|
24
|
-
|
|
25
|
-
# Simulate message processing
|
|
26
|
-
for ((i=0; i<TOTAL_MESSAGES; i++)); do
|
|
27
|
-
./invoke-transparency-middleware.sh process \
|
|
28
|
-
--concurrency "$concurrency" \
|
|
29
|
-
--message-id "$i" &
|
|
30
|
-
done
|
|
31
|
-
|
|
32
|
-
wait
|
|
33
|
-
|
|
34
|
-
local end_time=$(date +%s.%N)
|
|
35
|
-
local duration=$(echo "$end_time - $start_time" | bc)
|
|
36
|
-
local messages_per_second=$(echo "$TOTAL_MESSAGES / $duration" | bc)
|
|
37
|
-
|
|
38
|
-
# Record performance metrics
|
|
39
|
-
jq -n \
|
|
40
|
-
--arg concurrency "$concurrency" \
|
|
41
|
-
--arg messages_total "$TOTAL_MESSAGES" \
|
|
42
|
-
--arg duration "$duration" \
|
|
43
|
-
--arg messages_per_second "$messages_per_second" \
|
|
44
|
-
'{
|
|
45
|
-
"concurrency": $concurrency,
|
|
46
|
-
"total_messages": $messages_total,
|
|
47
|
-
"duration_seconds": $duration,
|
|
48
|
-
"messages_per_second": $messages_per_second
|
|
49
|
-
}' > "$BENCHMARK_RESULTS"
|
|
50
|
-
|
|
51
|
-
# Validate performance
|
|
52
|
-
validate_performance "$messages_per_second"
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
validate_performance() {
|
|
56
|
-
local messages_per_second="$1"
|
|
57
|
-
local max_threshold=5000 # Adjust based on your system capabilities
|
|
58
|
-
|
|
59
|
-
if (( $(echo "$messages_per_second < $max_threshold" | bc -l) )); then
|
|
60
|
-
echo "Performance Test PASSED"
|
|
61
|
-
redis-cli publish "swarm:sprint-1.2:performance" "benchmark_passed:1.0"
|
|
62
|
-
else
|
|
63
|
-
echo "Performance Test FAILED"
|
|
64
|
-
redis-cli publish "swarm:sprint-1.2:performance" "benchmark_failed:0.0"
|
|
65
|
-
exit 1
|
|
66
|
-
fi
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
main() {
|
|
70
|
-
echo "Starting Transparency Middleware Performance Benchmarks"
|
|
71
|
-
|
|
72
|
-
for concurrency in "${CONCURRENCY_LEVELS[@]}"; do
|
|
73
|
-
measure_performance "$concurrency"
|
|
74
|
-
done
|
|
75
|
-
|
|
76
|
-
cat "$BENCHMARK_RESULTS"
|
|
77
|
-
}
|
|
78
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Performance Benchmarking for Transparency Middleware
|
|
4
|
+
# Version: 1.0.0
|
|
5
|
+
# Measures message throughput, overhead, and memory usage
|
|
6
|
+
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
# Source configuration
|
|
10
|
+
source .claude/skills/cfn-transparency-middleware/middleware-config.sh
|
|
11
|
+
|
|
12
|
+
# Benchmarking results file
|
|
13
|
+
BENCHMARK_RESULTS="/tmp/transparency_benchmark_$(date +%Y%m%d_%H%M%S).json"
|
|
14
|
+
|
|
15
|
+
# Performance Test Parameters
|
|
16
|
+
TOTAL_MESSAGES=10000
|
|
17
|
+
CONCURRENCY_LEVELS=(1 10 100)
|
|
18
|
+
|
|
19
|
+
measure_performance() {
|
|
20
|
+
local concurrency="$1"
|
|
21
|
+
local start_time=$(date +%s.%N)
|
|
22
|
+
local peak_memory=0
|
|
23
|
+
local total_cpu_usage=0
|
|
24
|
+
|
|
25
|
+
# Simulate message processing
|
|
26
|
+
for ((i=0; i<TOTAL_MESSAGES; i++)); do
|
|
27
|
+
./invoke-transparency-middleware.sh process \
|
|
28
|
+
--concurrency "$concurrency" \
|
|
29
|
+
--message-id "$i" &
|
|
30
|
+
done
|
|
31
|
+
|
|
32
|
+
wait
|
|
33
|
+
|
|
34
|
+
local end_time=$(date +%s.%N)
|
|
35
|
+
local duration=$(echo "$end_time - $start_time" | bc)
|
|
36
|
+
local messages_per_second=$(echo "$TOTAL_MESSAGES / $duration" | bc)
|
|
37
|
+
|
|
38
|
+
# Record performance metrics
|
|
39
|
+
jq -n \
|
|
40
|
+
--arg concurrency "$concurrency" \
|
|
41
|
+
--arg messages_total "$TOTAL_MESSAGES" \
|
|
42
|
+
--arg duration "$duration" \
|
|
43
|
+
--arg messages_per_second "$messages_per_second" \
|
|
44
|
+
'{
|
|
45
|
+
"concurrency": $concurrency,
|
|
46
|
+
"total_messages": $messages_total,
|
|
47
|
+
"duration_seconds": $duration,
|
|
48
|
+
"messages_per_second": $messages_per_second
|
|
49
|
+
}' > "$BENCHMARK_RESULTS"
|
|
50
|
+
|
|
51
|
+
# Validate performance
|
|
52
|
+
validate_performance "$messages_per_second"
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
validate_performance() {
|
|
56
|
+
local messages_per_second="$1"
|
|
57
|
+
local max_threshold=5000 # Adjust based on your system capabilities
|
|
58
|
+
|
|
59
|
+
if (( $(echo "$messages_per_second < $max_threshold" | bc -l) )); then
|
|
60
|
+
echo "Performance Test PASSED"
|
|
61
|
+
redis-cli publish "swarm:sprint-1.2:performance" "benchmark_passed:1.0"
|
|
62
|
+
else
|
|
63
|
+
echo "Performance Test FAILED"
|
|
64
|
+
redis-cli publish "swarm:sprint-1.2:performance" "benchmark_failed:0.0"
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
main() {
|
|
70
|
+
echo "Starting Transparency Middleware Performance Benchmarks"
|
|
71
|
+
|
|
72
|
+
for concurrency in "${CONCURRENCY_LEVELS[@]}"; do
|
|
73
|
+
measure_performance "$concurrency"
|
|
74
|
+
done
|
|
75
|
+
|
|
76
|
+
cat "$BENCHMARK_RESULTS"
|
|
77
|
+
}
|
|
78
|
+
|
|
79
79
|
main
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
set -euo pipefail
|
|
6
6
|
|
|
7
|
+
# Input validation (SQL injection prevention)
|
|
8
|
+
validate_identifier() {
|
|
9
|
+
local input="$1"
|
|
10
|
+
local max_length="${2:-255}"
|
|
11
|
+
if ! [[ "$input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
12
|
+
echo "ERROR: Invalid identifier (alphanumeric + underscore/hyphen only): $input" >&2
|
|
13
|
+
return 1
|
|
14
|
+
fi
|
|
15
|
+
if [ ${#input} -gt $max_length ]; then
|
|
16
|
+
echo "ERROR: Identifier exceeds max length ($max_length chars)" >&2
|
|
17
|
+
return 1
|
|
18
|
+
fi
|
|
19
|
+
return 0
|
|
20
|
+
}
|
|
21
|
+
|
|
7
22
|
# Test configuration
|
|
8
23
|
TEST_TASK_ID="e2e-test-$(date +%s)"
|
|
9
24
|
TEST_AGENT_ID="backend-dev-e2e"
|
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
# Integration test: Transparency middleware with CFN Loop orchestrator
|
|
3
|
-
# Validates middleware initialization, agent wrapping, and memory capture
|
|
4
|
-
|
|
5
|
-
set -euo pipefail
|
|
6
|
-
|
|
7
|
-
# Enhanced logging function with security audit trail
|
|
8
|
-
log() {
|
|
9
|
-
local level="$1"
|
|
10
|
-
local message="$2"
|
|
11
|
-
local timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
12
|
-
local caller_info=$(caller)
|
|
13
|
-
|
|
14
|
-
# Log to syslog for security tracking
|
|
15
|
-
logger -p local0.notice -t "interaction-tester" \
|
|
16
|
-
"SECURITY_AUDIT: level=${level}, caller=${caller_info}, message=${message}"
|
|
17
|
-
|
|
18
|
-
echo "[${timestamp}] [${level}] [${caller_info}] ${message}"
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
# Strict input validation
|
|
22
|
-
validate_input() {
|
|
23
|
-
local input="$1"
|
|
24
|
-
local input_type="$2"
|
|
25
|
-
|
|
26
|
-
case "$input_type" in
|
|
27
|
-
"task_id")
|
|
28
|
-
if [[ ! "$input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
29
|
-
log "SECURITY_ERROR" "Invalid task_id format: ${input}"
|
|
30
|
-
exit 1
|
|
31
|
-
fi
|
|
32
|
-
;;
|
|
33
|
-
"agent_id")
|
|
34
|
-
if [[ ! "$input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
35
|
-
log "SECURITY_ERROR" "Invalid agent_id format: ${input}"
|
|
36
|
-
exit 1
|
|
37
|
-
fi
|
|
38
|
-
;;
|
|
39
|
-
*)
|
|
40
|
-
log "SECURITY_ERROR" "Unknown input type: ${input_type}"
|
|
41
|
-
exit 1
|
|
42
|
-
;;
|
|
43
|
-
esac
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
# Error handling wrapper with extensive logging
|
|
47
|
-
safe_execute() {
|
|
48
|
-
local command="$1"
|
|
49
|
-
local error_message="${2:-Execution failed}"
|
|
50
|
-
local log_file="/tmp/interaction_tester_$(date +%s).log"
|
|
51
|
-
|
|
52
|
-
# Redirect command output to log file for detailed tracing
|
|
53
|
-
set +e
|
|
54
|
-
eval "$command" > >(tee -a "$log_file") 2> >(tee -a "$log_file" >&2)
|
|
55
|
-
local exit_code=$?
|
|
56
|
-
set -e
|
|
57
|
-
|
|
58
|
-
if [ $exit_code -ne 0 ]; then
|
|
59
|
-
log "ERROR" "$error_message (Exit code: $exit_code)"
|
|
60
|
-
log "ERROR" "Detailed logs in: $log_file"
|
|
61
|
-
|
|
62
|
-
# Signal failure to Redis coordination with log reference
|
|
63
|
-
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:error" \
|
|
64
|
-
"integration_test_failure:${log_file}" >/dev/null
|
|
65
|
-
|
|
66
|
-
exit 1
|
|
67
|
-
fi
|
|
68
|
-
|
|
69
|
-
# Cleanup log file after successful execution
|
|
70
|
-
rm -f "$log_file"
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
# Dependency check
|
|
74
|
-
check_dependencies() {
|
|
75
|
-
local dependencies=("node" "sqlite3" "redis-cli" "jq")
|
|
76
|
-
for dep in "${dependencies[@]}"; do
|
|
77
|
-
if ! command -v "$dep" &> /dev/null; then
|
|
78
|
-
log "ERROR" "Dependency not found: $dep"
|
|
79
|
-
exit 1
|
|
80
|
-
fi
|
|
81
|
-
done
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
main() {
|
|
85
|
-
log "INFO" "=== Transparency Middleware Integration Test ==="
|
|
86
|
-
|
|
87
|
-
# Check dependencies
|
|
88
|
-
check_dependencies
|
|
89
|
-
|
|
90
|
-
# 1. Initialize middleware
|
|
91
|
-
log "INFO" "Initializing Transparency Middleware"
|
|
92
|
-
safe_execute "node -e \"
|
|
93
|
-
import TransparencyMiddleware from './src/middleware/transparency-middleware.js';
|
|
94
|
-
const config = TransparencyMiddleware.loadConfig('./.claude/skills/cfn-transparency-middleware/config.json');
|
|
95
|
-
const middleware = new TransparencyMiddleware(config);
|
|
96
|
-
await middleware.initialize();
|
|
97
|
-
console.log('Middleware initialized successfully');
|
|
98
|
-
\"" "Middleware initialization failed"
|
|
99
|
-
|
|
100
|
-
# 2. Spawn test agent with middleware wrapper
|
|
101
|
-
log "INFO" "Spawning test agent"
|
|
102
|
-
safe_execute "./.claude/skills/cfn-transparency-middleware/wrap-agent.sh \
|
|
103
|
-
\"backend-dev\" \
|
|
104
|
-
\"test-agent-1\" \
|
|
105
|
-
\"integration-test-task\" \
|
|
106
|
-
\"echo 'Test execution'\"" "Agent wrapping failed"
|
|
107
|
-
|
|
108
|
-
# 3. Verify memory was captured
|
|
109
|
-
log "INFO" "Verifying memory capture"
|
|
110
|
-
|
|
111
|
-
# Validate task_id using strict input validation
|
|
112
|
-
TASK_ID="integration-test-task"
|
|
113
|
-
validate_input "$TASK_ID" "task_id"
|
|
114
|
-
|
|
115
|
-
# Prepared statement with parameterized query
|
|
116
|
-
MEMORY_COUNT=$(safe_execute "sqlite3 -csv .claude/swarm-memory.db \
|
|
117
|
-
'SELECT COUNT(*) FROM agent_memory WHERE task_id = ?;' '$TASK_ID'" "SQLite query failed")
|
|
118
|
-
|
|
119
|
-
if [ "$MEMORY_COUNT" -eq 0 ]; then
|
|
120
|
-
log "ERROR" "No memory captured for task: $TASK_ID"
|
|
121
|
-
|
|
122
|
-
# Log additional diagnostic information
|
|
123
|
-
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:memory_check" \
|
|
124
|
-
"task_id_length:${#TASK_ID},task_id_check:$TASK_ID" >/dev/null
|
|
125
|
-
|
|
126
|
-
exit 1
|
|
127
|
-
fi
|
|
128
|
-
|
|
129
|
-
log "INFO" "Memory captured: $MEMORY_COUNT events"
|
|
130
|
-
|
|
131
|
-
# 4. Verify Redis events emitted
|
|
132
|
-
log "INFO" "Checking Redis events"
|
|
133
|
-
REDIS_EVENTS=$(safe_execute "redis-cli llen \"agent:transparency\"" "Redis event count failed")
|
|
134
|
-
log "INFO" "Redis events: $REDIS_EVENTS"
|
|
135
|
-
|
|
136
|
-
# 5. Test query script
|
|
137
|
-
log "INFO" "Testing memory query script"
|
|
138
|
-
safe_execute "./.claude/skills/cfn-transparency-middleware/query-memory.sh \
|
|
139
|
-
\"integration-test-task\" \
|
|
140
|
-
\"*\" \
|
|
141
|
-
10 | jq '.' >/dev/null" "Memory query failed"
|
|
142
|
-
|
|
143
|
-
# CFN Protocol: Signal task completion
|
|
144
|
-
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:done" "complete" >/dev/null
|
|
145
|
-
|
|
146
|
-
# Report confidence and enter waiting mode
|
|
147
|
-
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
148
|
-
--task-id "sprint-1.3-testing" \
|
|
149
|
-
--agent-id "interaction-tester" \
|
|
150
|
-
--confidence 0.95 \
|
|
151
|
-
--iteration 1
|
|
152
|
-
|
|
153
|
-
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh enter \
|
|
154
|
-
--task-id "sprint-1.3-testing" \
|
|
155
|
-
--agent-id "interaction-tester" \
|
|
156
|
-
--context "iteration-1-complete"
|
|
157
|
-
|
|
158
|
-
log "INFO" "✅ Integration test complete"
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
# Run the main function
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Integration test: Transparency middleware with CFN Loop orchestrator
|
|
3
|
+
# Validates middleware initialization, agent wrapping, and memory capture
|
|
4
|
+
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
|
|
7
|
+
# Enhanced logging function with security audit trail
|
|
8
|
+
log() {
|
|
9
|
+
local level="$1"
|
|
10
|
+
local message="$2"
|
|
11
|
+
local timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
12
|
+
local caller_info=$(caller)
|
|
13
|
+
|
|
14
|
+
# Log to syslog for security tracking
|
|
15
|
+
logger -p local0.notice -t "interaction-tester" \
|
|
16
|
+
"SECURITY_AUDIT: level=${level}, caller=${caller_info}, message=${message}"
|
|
17
|
+
|
|
18
|
+
echo "[${timestamp}] [${level}] [${caller_info}] ${message}"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# Strict input validation
|
|
22
|
+
validate_input() {
|
|
23
|
+
local input="$1"
|
|
24
|
+
local input_type="$2"
|
|
25
|
+
|
|
26
|
+
case "$input_type" in
|
|
27
|
+
"task_id")
|
|
28
|
+
if [[ ! "$input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
29
|
+
log "SECURITY_ERROR" "Invalid task_id format: ${input}"
|
|
30
|
+
exit 1
|
|
31
|
+
fi
|
|
32
|
+
;;
|
|
33
|
+
"agent_id")
|
|
34
|
+
if [[ ! "$input" =~ ^[a-zA-Z0-9_-]+$ ]]; then
|
|
35
|
+
log "SECURITY_ERROR" "Invalid agent_id format: ${input}"
|
|
36
|
+
exit 1
|
|
37
|
+
fi
|
|
38
|
+
;;
|
|
39
|
+
*)
|
|
40
|
+
log "SECURITY_ERROR" "Unknown input type: ${input_type}"
|
|
41
|
+
exit 1
|
|
42
|
+
;;
|
|
43
|
+
esac
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# Error handling wrapper with extensive logging
|
|
47
|
+
safe_execute() {
|
|
48
|
+
local command="$1"
|
|
49
|
+
local error_message="${2:-Execution failed}"
|
|
50
|
+
local log_file="/tmp/interaction_tester_$(date +%s).log"
|
|
51
|
+
|
|
52
|
+
# Redirect command output to log file for detailed tracing
|
|
53
|
+
set +e
|
|
54
|
+
eval "$command" > >(tee -a "$log_file") 2> >(tee -a "$log_file" >&2)
|
|
55
|
+
local exit_code=$?
|
|
56
|
+
set -e
|
|
57
|
+
|
|
58
|
+
if [ $exit_code -ne 0 ]; then
|
|
59
|
+
log "ERROR" "$error_message (Exit code: $exit_code)"
|
|
60
|
+
log "ERROR" "Detailed logs in: $log_file"
|
|
61
|
+
|
|
62
|
+
# Signal failure to Redis coordination with log reference
|
|
63
|
+
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:error" \
|
|
64
|
+
"integration_test_failure:${log_file}" >/dev/null
|
|
65
|
+
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# Cleanup log file after successful execution
|
|
70
|
+
rm -f "$log_file"
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
# Dependency check
|
|
74
|
+
check_dependencies() {
|
|
75
|
+
local dependencies=("node" "sqlite3" "redis-cli" "jq")
|
|
76
|
+
for dep in "${dependencies[@]}"; do
|
|
77
|
+
if ! command -v "$dep" &> /dev/null; then
|
|
78
|
+
log "ERROR" "Dependency not found: $dep"
|
|
79
|
+
exit 1
|
|
80
|
+
fi
|
|
81
|
+
done
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
main() {
|
|
85
|
+
log "INFO" "=== Transparency Middleware Integration Test ==="
|
|
86
|
+
|
|
87
|
+
# Check dependencies
|
|
88
|
+
check_dependencies
|
|
89
|
+
|
|
90
|
+
# 1. Initialize middleware
|
|
91
|
+
log "INFO" "Initializing Transparency Middleware"
|
|
92
|
+
safe_execute "node -e \"
|
|
93
|
+
import TransparencyMiddleware from './src/middleware/transparency-middleware.js';
|
|
94
|
+
const config = TransparencyMiddleware.loadConfig('./.claude/skills/cfn-transparency-middleware/config.json');
|
|
95
|
+
const middleware = new TransparencyMiddleware(config);
|
|
96
|
+
await middleware.initialize();
|
|
97
|
+
console.log('Middleware initialized successfully');
|
|
98
|
+
\"" "Middleware initialization failed"
|
|
99
|
+
|
|
100
|
+
# 2. Spawn test agent with middleware wrapper
|
|
101
|
+
log "INFO" "Spawning test agent"
|
|
102
|
+
safe_execute "./.claude/skills/cfn-transparency-middleware/wrap-agent.sh \
|
|
103
|
+
\"backend-dev\" \
|
|
104
|
+
\"test-agent-1\" \
|
|
105
|
+
\"integration-test-task\" \
|
|
106
|
+
\"echo 'Test execution'\"" "Agent wrapping failed"
|
|
107
|
+
|
|
108
|
+
# 3. Verify memory was captured
|
|
109
|
+
log "INFO" "Verifying memory capture"
|
|
110
|
+
|
|
111
|
+
# Validate task_id using strict input validation
|
|
112
|
+
TASK_ID="integration-test-task"
|
|
113
|
+
validate_input "$TASK_ID" "task_id"
|
|
114
|
+
|
|
115
|
+
# Prepared statement with parameterized query
|
|
116
|
+
MEMORY_COUNT=$(safe_execute "sqlite3 -csv .claude/swarm-memory.db \
|
|
117
|
+
'SELECT COUNT(*) FROM agent_memory WHERE task_id = ?;' '$TASK_ID'" "SQLite query failed")
|
|
118
|
+
|
|
119
|
+
if [ "$MEMORY_COUNT" -eq 0 ]; then
|
|
120
|
+
log "ERROR" "No memory captured for task: $TASK_ID"
|
|
121
|
+
|
|
122
|
+
# Log additional diagnostic information
|
|
123
|
+
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:memory_check" \
|
|
124
|
+
"task_id_length:${#TASK_ID},task_id_check:$TASK_ID" >/dev/null
|
|
125
|
+
|
|
126
|
+
exit 1
|
|
127
|
+
fi
|
|
128
|
+
|
|
129
|
+
log "INFO" "Memory captured: $MEMORY_COUNT events"
|
|
130
|
+
|
|
131
|
+
# 4. Verify Redis events emitted
|
|
132
|
+
log "INFO" "Checking Redis events"
|
|
133
|
+
REDIS_EVENTS=$(safe_execute "redis-cli llen \"agent:transparency\"" "Redis event count failed")
|
|
134
|
+
log "INFO" "Redis events: $REDIS_EVENTS"
|
|
135
|
+
|
|
136
|
+
# 5. Test query script
|
|
137
|
+
log "INFO" "Testing memory query script"
|
|
138
|
+
safe_execute "./.claude/skills/cfn-transparency-middleware/query-memory.sh \
|
|
139
|
+
\"integration-test-task\" \
|
|
140
|
+
\"*\" \
|
|
141
|
+
10 | jq '.' >/dev/null" "Memory query failed"
|
|
142
|
+
|
|
143
|
+
# CFN Protocol: Signal task completion
|
|
144
|
+
redis-cli lpush "swarm:sprint-1.3-testing:interaction-tester:done" "complete" >/dev/null
|
|
145
|
+
|
|
146
|
+
# Report confidence and enter waiting mode
|
|
147
|
+
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh report \
|
|
148
|
+
--task-id "sprint-1.3-testing" \
|
|
149
|
+
--agent-id "interaction-tester" \
|
|
150
|
+
--confidence 0.95 \
|
|
151
|
+
--iteration 1
|
|
152
|
+
|
|
153
|
+
./.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh enter \
|
|
154
|
+
--task-id "sprint-1.3-testing" \
|
|
155
|
+
--agent-id "interaction-tester" \
|
|
156
|
+
--context "iteration-1-complete"
|
|
157
|
+
|
|
158
|
+
log "INFO" "✅ Integration test complete"
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
# Run the main function
|
|
162
162
|
main
|