claude-flow-novice 2.15.2 → 2.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/.claude/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/.claude/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/.claude/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/.claude/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/.claude/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/.claude/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/.claude/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/.claude/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/.claude/commands/cfn-loop-cli.md +16 -2
- package/.claude/commands/switch-api.md +31 -10
- package/.claude/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/.claude/hooks/cfn-invoke-security-validation.sh +69 -69
- package/.claude/hooks/cfn-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/.claude/hooks/cfn-post-edit.config.json +44 -44
- package/.claude/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/.claude/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/.claude/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/.claude/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/.claude/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/.claude/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/.claude/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/.claude/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/.claude/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/.claude/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/.claude/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/.claude/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/.claude/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/README.md +116 -475
- package/claude-assets/agents/cfn-dev-team/README.md +103 -0
- package/claude-assets/agents/cfn-dev-team/architecture/goal-planner.md +1 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +355 -6
- package/claude-assets/agents/cfn-dev-team/coordinators/consensus-builder.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/handoff-coordinator.md +82 -1
- package/claude-assets/agents/cfn-dev-team/coordinators/multi-sprint-coordinator.md +77 -15
- package/claude-assets/agents/cfn-dev-team/dev-ops/docker-specialist.md +99 -12
- package/claude-assets/agents/cfn-dev-team/dev-ops/github-commit-agent.md +1 -1
- package/claude-assets/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/dev-ops/monitoring-specialist.md +20 -1
- package/claude-assets/agents/cfn-dev-team/developers/api-gateway-specialist.md +97 -0
- package/claude-assets/agents/cfn-dev-team/developers/backend-developer.md +110 -13
- package/claude-assets/agents/cfn-dev-team/developers/data/data-engineer.md +106 -15
- package/claude-assets/agents/cfn-dev-team/developers/database/database-architect.md +115 -11
- package/claude-assets/agents/cfn-dev-team/developers/frontend/mobile-dev.md +94 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/react-frontend-engineer.md +87 -9
- package/claude-assets/agents/cfn-dev-team/developers/frontend/typescript-specialist.md +85 -7
- package/claude-assets/agents/cfn-dev-team/developers/frontend/ui-designer.md +160 -28
- package/claude-assets/agents/cfn-dev-team/developers/graphql-specialist.md +101 -19
- package/claude-assets/agents/cfn-dev-team/developers/rust-developer.md +108 -14
- package/claude-assets/agents/cfn-dev-team/reviewers/{reviewer.md → code-reviewer.md} +95 -8
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/code-quality-validator.md +107 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +98 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +95 -7
- package/claude-assets/agents/cfn-dev-team/reviewers/quality/security-specialist.md +136 -9
- package/claude-assets/agents/cfn-dev-team/testers/api-testing-specialist.md +108 -1
- package/claude-assets/agents/cfn-dev-team/testers/chaos-engineering-specialist.md +107 -13
- package/claude-assets/agents/cfn-dev-team/testers/contract-tester.md +737 -0
- package/claude-assets/agents/cfn-dev-team/testers/e2e/playwright-tester.md +1 -1
- package/claude-assets/agents/cfn-dev-team/testers/integration-tester.md +828 -0
- package/claude-assets/agents/cfn-dev-team/testers/interaction-tester.md +106 -7
- package/claude-assets/agents/cfn-dev-team/testers/load-testing-specialist.md +77 -0
- package/claude-assets/agents/cfn-dev-team/testers/mutation-testing-specialist.md +684 -0
- package/claude-assets/agents/cfn-dev-team/testers/playwright-tester.md +110 -1
- package/claude-assets/agents/cfn-dev-team/testers/tester.md +94 -7
- package/claude-assets/agents/cfn-dev-team/utility/code-booster.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/epic-creator.md +87 -13
- package/claude-assets/agents/cfn-dev-team/utility/memory-leak-specialist.md +103 -7
- package/claude-assets/agents/cfn-dev-team/utility/researcher.md +1 -3
- package/claude-assets/agents/cfn-dev-team/utility/z-ai-specialist.md +94 -7
- package/claude-assets/agents/docker-coordinators/cfn-docker-v3-coordinator.md +46 -0
- package/claude-assets/agents/project-only-agents/npm-package-specialist.md +1 -1
- package/claude-assets/cfn-extras/skills/advanced-features/cfn-agent-swap/recommend-swap.sh +59 -59
- package/claude-assets/cfn-extras/skills/analytics/cfn-improvement-recommender/recommend-improvements.sh +91 -91
- package/claude-assets/cfn-extras/skills/analytics/cfn-pattern-extraction/extract-patterns.sh +79 -79
- package/claude-assets/cfn-extras/skills/analytics/cfn-retrospective-report/generate-report.sh +100 -100
- package/claude-assets/cfn-extras/skills/analytics/cfn-telemetry/start-telemetry.sh +110 -110
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/add-bullet.sh +145 -145
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/log-merge.sh +67 -67
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/monitor-injection-performance.sh +137 -137
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/optimize-injection-pipeline.sh +168 -168
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/query-reflections.sh +35 -35
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/store-reflection.sh +45 -45
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/track-ab-test.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-ace-system/update-reflection.sh +41 -41
- package/claude-assets/cfn-extras/skills/deprecated/cfn-cli-setup/validate-cli-environment.sh +191 -191
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/create-campaign.sh +231 -231
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/get-campaign-performance.sh +190 -190
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/pause-campaign.sh +142 -142
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/set-budget.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-ad-campaigns/operations/update-bid-strategy.sh +133 -133
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/get-conversation-history.sh +121 -121
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/qualify-lead.sh +156 -156
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/schedule-demo.sh +181 -181
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/send-message.sh +137 -137
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-chatbot-conversations/operations/transfer-to-human.sh +179 -179
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/create-campaign.sh +183 -183
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/get-delivery-status.sh +139 -139
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/opt-out.sh +150 -150
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/schedule-campaign.sh +187 -187
- package/claude-assets/cfn-extras/skills/marketing/cfn-marketing-sms-campaigns/operations/send-sms.sh +181 -181
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/test-web-portal-skill.sh +50 -50
- package/claude-assets/cfn-extras/skills/ui-portal/cfn-web-portal/validate-deployment.sh +84 -84
- package/claude-assets/cfn-extras/skills/utility/cfn-environment-sanitization/sanitize-environment.sh +243 -243
- package/claude-assets/commands/cfn-loop-cli.md +16 -2
- package/claude-assets/commands/switch-api.md +31 -10
- package/claude-assets/hooks/cfn-BACKUP_USAGE.md +243 -243
- package/claude-assets/hooks/cfn-invoke-security-validation.sh +69 -69
- package/claude-assets/hooks/cfn-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +109 -78
- package/claude-assets/hooks/cfn-post-edit.config.json +44 -44
- package/claude-assets/hooks/cfn-post-execution/memory-cleanup.sh +19 -19
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- package/claude-assets/hooks/cfn-pre-execution/memory-check.sh +19 -19
- package/claude-assets/hooks/detect-hardcoded-credentials.sh +212 -0
- package/claude-assets/skills/SKILL_TEMPLATE.md +774 -0
- package/claude-assets/skills/agent-lifecycle/execute-lifecycle-hook.sh +543 -572
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +57 -30
- package/claude-assets/skills/agent-template-generator/SKILL.md +440 -0
- package/claude-assets/skills/agent-template-generator/generate-agent.sh +405 -0
- package/claude-assets/skills/agent-validation-linter/SKILL.md +589 -0
- package/claude-assets/skills/agent-validation-linter/lint-agents.sh +271 -0
- package/claude-assets/skills/bootstrap/bash-fundamentals.md +786 -0
- package/claude-assets/skills/bootstrap/database-connection.md +464 -0
- package/claude-assets/skills/bootstrap/error-handling.md +580 -0
- package/claude-assets/skills/bootstrap/file-operations.md +699 -0
- package/claude-assets/skills/bootstrap/skill-loader.md +616 -0
- package/claude-assets/skills/bootstrap/sqlite-params.sh +287 -0
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh +22 -24
- package/claude-assets/skills/cfn-automatic-memory-persistence/persist-agent-output.sh +48 -48
- package/claude-assets/skills/cfn-automatic-memory-persistence/query-agent-history.sh +34 -34
- package/claude-assets/skills/cfn-automatic-memory-persistence/test-memory-persistence.sh +17 -16
- package/claude-assets/skills/cfn-deliverable-validation/confidence-calculator.sh +261 -261
- package/claude-assets/skills/cfn-deployment/SKILL.md +293 -0
- package/claude-assets/skills/cfn-deployment/execute.sh +21 -0
- package/claude-assets/skills/cfn-docker-agent-spawning/SKILL.md +28 -4
- package/claude-assets/skills/cfn-docker-agent-spawning/spawn-agent.sh +3 -1
- package/claude-assets/skills/cfn-docker-loop-orchestration/orchestrate.sh +224 -20
- package/claude-assets/skills/cfn-environment-sanitization/sanitize-environment.sh +38 -0
- package/claude-assets/skills/cfn-error-batching-strategy/lib/core-functions.sh +47 -47
- package/claude-assets/skills/cfn-expert-update/update-expert.sh +345 -345
- package/claude-assets/skills/cfn-file-operations/SKILL.md +290 -0
- package/claude-assets/skills/cfn-file-operations/execute.sh +129 -0
- package/claude-assets/skills/cfn-file-operations/lib/atomic-write.sh +294 -0
- package/claude-assets/skills/cfn-file-operations/lib/lock.sh +361 -0
- package/claude-assets/skills/cfn-file-operations/test.sh +369 -0
- package/claude-assets/skills/cfn-hybrid-routing/check-dependencies.sh +51 -51
- package/claude-assets/skills/cfn-intervention-detector/detect-intervention.sh +110 -110
- package/claude-assets/skills/cfn-intervention-orchestrator/execute-intervention.sh +58 -58
- package/claude-assets/skills/cfn-log-operations/SKILL.md +308 -0
- package/claude-assets/skills/cfn-log-operations/execute.sh +420 -0
- package/claude-assets/skills/cfn-log-operations/lib/rotate.sh +406 -0
- package/claude-assets/skills/cfn-log-operations/lib/search.sh +448 -0
- package/claude-assets/skills/cfn-log-operations/test.sh +394 -0
- package/claude-assets/skills/cfn-loop-orchestration/helpers/gate-check.sh +550 -46
- package/claude-assets/skills/cfn-loop-orchestration/helpers/parse-test-results.sh +277 -0
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh +184 -23
- package/claude-assets/skills/cfn-loop-orchestration/security_utils.sh +24 -0
- package/claude-assets/skills/cfn-loop-orchestration/test-iteration-context-injection.sh +366 -0
- package/claude-assets/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -252
- package/claude-assets/skills/cfn-loop2-output-processing/process-validator-output.sh +275 -275
- package/claude-assets/skills/cfn-memory-management/check-memory.sh +159 -159
- package/claude-assets/skills/cfn-memory-management/cleanup-memory.sh +196 -196
- package/claude-assets/skills/cfn-node-heap-sizer/task-mode-heap-limiter.sh +325 -325
- package/claude-assets/skills/cfn-parameterized-queries/SKILL.md +339 -0
- package/claude-assets/skills/cfn-playbook/query-playbook.sh +19 -15
- package/claude-assets/skills/cfn-playbook/update-playbook.sh +25 -14
- package/claude-assets/skills/cfn-playbook-auto-update/auto-update-playbook.sh +85 -85
- package/claude-assets/skills/cfn-process-instrumentation/instrument-process.sh +44 -0
- package/claude-assets/skills/cfn-promotion/SKILL.md +305 -0
- package/claude-assets/skills/cfn-redis-coordination/CENTRALIZED_REDIS_WRAPPER.md +319 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-log.sh.bak +124 -0
- package/claude-assets/skills/cfn-redis-coordination/agent-recovery.sh +74 -74
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +145 -112
- package/claude-assets/skills/cfn-redis-coordination/get-success-criteria.sh +54 -0
- package/claude-assets/skills/cfn-redis-coordination/invoke-waiting-mode.sh +3 -0
- package/claude-assets/skills/cfn-redis-coordination/redis-cli-wrapper.sh +24 -3
- package/claude-assets/skills/cfn-redis-coordination/redis-functions.sh +33 -0
- package/claude-assets/skills/cfn-redis-coordination/report-completion.sh +24 -31
- package/claude-assets/skills/cfn-redis-coordination/store-context.sh +4 -0
- package/claude-assets/skills/cfn-redis-coordination/store-success-criteria.sh +85 -0
- package/claude-assets/skills/cfn-redis-coordination/update-all-scripts.sh +67 -0
- package/claude-assets/skills/cfn-scope-simplifier/simplify-scope.sh +67 -67
- package/claude-assets/skills/cfn-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-specialist-injection/recommend-specialist.sh +56 -56
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- package/claude-assets/skills/cfn-standardized-error-handling/capture-agent-error.sh +86 -86
- package/claude-assets/skills/cfn-standardized-error-handling/test-error-handling.sh +165 -165
- package/claude-assets/skills/cfn-task-audit/get-audit-data.sh +42 -21
- package/claude-assets/skills/cfn-task-audit/store-task-audit.sh +17 -10
- package/claude-assets/skills/cfn-task-config-init/initialize-config.sh +264 -264
- package/claude-assets/skills/cfn-task-decomposition/task-decomposer.sh +278 -278
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh +17 -14
- package/claude-assets/skills/cfn-test-runner/detect-regressions.sh.backup-1763392821 +55 -0
- package/claude-assets/skills/cfn-test-runner/store-benchmarks.sh +17 -19
- package/claude-assets/skills/cfn-transparency-middleware/middleware-config.sh +28 -28
- package/claude-assets/skills/cfn-transparency-middleware/performance-benchmark.sh +78 -78
- package/claude-assets/skills/cfn-transparency-middleware/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/test-integration.sh +161 -161
- package/claude-assets/skills/cfn-transparency-middleware/test-transparency-skill.sh +367 -367
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +107 -92
- package/claude-assets/skills/cfn-transparency-middleware/wrap-agent.sh +131 -131
- package/claude-assets/skills/cfn-utilities/SKILL.md +237 -0
- package/claude-assets/skills/cfn-utilities/execute.sh +32 -0
- package/claude-assets/skills/cfn-utilities/lib/errors.sh +56 -0
- package/claude-assets/skills/cfn-utilities/lib/file-ops.sh +164 -0
- package/claude-assets/skills/cfn-utilities/lib/logging.sh +77 -0
- package/claude-assets/skills/cfn-utilities/lib/retry.sh +127 -0
- package/claude-assets/skills/cfn-utilities/test.sh +317 -0
- package/claude-assets/skills/docker-build/SKILL.md +96 -203
- package/claude-assets/skills/docker-build/build.sh +73 -73
- package/claude-assets/skills/integration/agent-handoff.sh +492 -0
- package/claude-assets/skills/integration/file-operations.sh +414 -0
- package/claude-assets/skills/json-validation/SKILL.md +431 -0
- package/claude-assets/skills/json-validation/test-validate-success-criteria.sh +421 -0
- package/claude-assets/skills/json-validation/validate-success-criteria.sh +197 -0
- package/claude-assets/skills/redis-coordination/validate-parameters.sh +34 -0
- package/claude-assets/skills/workflow-codification/APPROVAL_WORKFLOW.md +806 -0
- package/claude-assets/skills/workflow-codification/COST_TRACKING.md +637 -0
- package/claude-assets/skills/workflow-codification/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/EDGE_CASE_TRACKING.md +404 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -0
- package/claude-assets/skills/workflow-codification/README_PHASE4.md +457 -0
- package/claude-assets/skills/workflow-codification/SKILL.md +110 -0
- package/claude-assets/skills/workflow-codification/analyze-patterns.sh +899 -0
- package/claude-assets/skills/workflow-codification/approval-workflow.sh +514 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh +481 -0
- package/claude-assets/skills/workflow-codification/deploy-approved-skill.sh.backup-1763392820 +512 -0
- package/claude-assets/skills/workflow-codification/generate-skill-update.sh +525 -0
- package/claude-assets/skills/workflow-codification/lib/security-utils.sh +204 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh +648 -0
- package/claude-assets/skills/workflow-codification/propagate-skill-update.sh.backup-1763392820 +664 -0
- package/claude-assets/skills/workflow-codification/review-skill.sh +643 -0
- package/claude-assets/skills/workflow-codification/templates/email-notification.txt +114 -0
- package/claude-assets/skills/workflow-codification/templates/slack-notification.md +85 -0
- package/claude-assets/skills/workflow-codification/test-integration.sh +296 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +486 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +290 -0
- package/claude-assets/skills/workflow-codification/workflow-codification.db +0 -0
- package/dist/ace/ace-curator.js +10 -2
- package/dist/ace/ace-curator.js.map +1 -1
- package/dist/ace/ace-generator.js +4 -0
- package/dist/ace/ace-generator.js.map +1 -1
- package/dist/ace/ace-reflector.js +1 -1
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/ace/context-injection.js +24 -2
- package/dist/ace/context-injection.js.map +1 -1
- package/dist/agents/agent-loader.js +146 -165
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/agents/task-agent-integration.js +1 -1
- package/dist/agents/task-agent-integration.js.map +1 -1
- package/dist/api/health-endpoints.js +390 -0
- package/dist/api/health-endpoints.js.map +1 -0
- package/dist/cli/agent-executor.js +4 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/agent-prompt-builder.js +89 -1
- package/dist/cli/agent-prompt-builder.js.map +1 -1
- package/dist/cli/agent-spawn.js +130 -37
- package/dist/cli/agent-spawn.js.map +1 -1
- package/dist/cli/config-manager.js +91 -109
- package/dist/cli/config-manager.js.map +1 -1
- package/dist/cli/skill-cache-validator.js +412 -0
- package/dist/cli/skill-cache-validator.js.map +1 -0
- package/dist/cli/skill-cli.js +991 -0
- package/dist/cli/skill-cli.js.map +1 -0
- package/dist/cli/skill-execution-logger.js +284 -0
- package/dist/cli/skill-execution-logger.js.map +1 -0
- package/dist/cli/skill-loader.js +457 -0
- package/dist/cli/skill-loader.js.map +1 -0
- package/dist/coordination/event-bus.js +2 -2
- package/dist/coordination/event-bus.js.map +1 -1
- package/dist/coordination/fleet-manager.js +1 -1
- package/dist/coordination/fleet-manager.js.map +1 -1
- package/dist/coordination/index.js +23 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/types/fleet-manager.types.js.map +1 -1
- package/dist/db/migration-manager.js +483 -0
- package/dist/db/migration-manager.js.map +1 -0
- package/dist/db/skills-query.js +535 -0
- package/dist/db/skills-query.js.map +1 -0
- package/dist/integration/DatabaseHandoff.js +507 -0
- package/dist/integration/DatabaseHandoff.js.map +1 -0
- package/dist/integration/StandardAdapter.js +291 -0
- package/dist/integration/StandardAdapter.js.map +1 -0
- package/dist/jobs/edge-case-analyzer.js +367 -0
- package/dist/jobs/edge-case-analyzer.js.map +1 -0
- package/dist/jobs/promotion-sla-enforcer.js +288 -0
- package/dist/jobs/promotion-sla-enforcer.js.map +1 -0
- package/dist/lib/agent-output-parser.js +518 -0
- package/dist/lib/agent-output-parser.js.map +1 -0
- package/dist/lib/agent-output-validator.js +950 -0
- package/dist/lib/agent-output-validator.js.map +1 -0
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.js.map +1 -0
- package/dist/lib/artifact-registry.js +443 -0
- package/dist/lib/artifact-registry.js.map +1 -0
- package/dist/lib/atomic-file-writer.js +377 -0
- package/dist/lib/atomic-file-writer.js.map +1 -0
- package/dist/lib/backup-manager.js +779 -0
- package/dist/lib/backup-manager.js.map +1 -0
- package/dist/lib/checkpoint-manager.js +837 -0
- package/dist/lib/checkpoint-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.js +340 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/completion-signal-handler.js +243 -0
- package/dist/lib/completion-signal-handler.js.map +1 -0
- package/dist/lib/config-manager.js +312 -0
- package/dist/lib/config-manager.js.map +1 -0
- package/dist/lib/config-migrator.js +386 -0
- package/dist/lib/config-migrator.js.map +1 -0
- package/dist/lib/config-validator.js +687 -0
- package/dist/lib/config-validator.js.map +1 -0
- package/dist/lib/correlation-cache.js +311 -0
- package/dist/lib/correlation-cache.js.map +1 -0
- package/dist/lib/correlation.js +263 -0
- package/dist/lib/correlation.js.map +1 -0
- package/dist/lib/database-service/connection-pool-manager.js +520 -0
- package/dist/lib/database-service/connection-pool-manager.js.map +1 -0
- package/dist/lib/database-service/correlation.js +329 -0
- package/dist/lib/database-service/correlation.js.map +1 -0
- package/dist/lib/database-service/errors.js +120 -0
- package/dist/lib/database-service/errors.js.map +1 -0
- package/dist/lib/database-service/index.js +168 -0
- package/dist/lib/database-service/index.js.map +1 -0
- package/dist/lib/database-service/postgres-adapter.js +526 -0
- package/dist/lib/database-service/postgres-adapter.js.map +1 -0
- package/dist/lib/database-service/redis-adapter.js +360 -0
- package/dist/lib/database-service/redis-adapter.js.map +1 -0
- package/dist/lib/database-service/sqlite-adapter.js +544 -0
- package/dist/lib/database-service/sqlite-adapter.js.map +1 -0
- package/dist/lib/database-service/transaction-manager.js +773 -0
- package/dist/lib/database-service/transaction-manager.js.map +1 -0
- package/dist/lib/database-service/types.js +23 -0
- package/dist/lib/database-service/types.js.map +1 -0
- package/dist/lib/deadlock-resolver.js +292 -0
- package/dist/lib/deadlock-resolver.js.map +1 -0
- package/dist/lib/distributed-lock.js +451 -0
- package/dist/lib/distributed-lock.js.map +1 -0
- package/dist/lib/edge-case-deduplicator.js +227 -0
- package/dist/lib/edge-case-deduplicator.js.map +1 -0
- package/dist/lib/encryption-manager.js +322 -0
- package/dist/lib/encryption-manager.js.map +1 -0
- package/dist/lib/error-aggregator.js +234 -0
- package/dist/lib/error-aggregator.js.map +1 -0
- package/dist/lib/errors.js +287 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/file-lock-manager.js +578 -0
- package/dist/lib/file-lock-manager.js.map +1 -0
- package/dist/lib/file-operations.js +367 -0
- package/dist/lib/file-operations.js.map +1 -0
- package/dist/lib/idempotent-write.js +237 -0
- package/dist/lib/idempotent-write.js.map +1 -0
- package/dist/lib/integration-schema-validator.js +522 -0
- package/dist/lib/integration-schema-validator.js.map +1 -0
- package/dist/lib/lock-health-monitor.js +298 -0
- package/dist/lib/lock-health-monitor.js.map +1 -0
- package/dist/lib/log-shipper.js +422 -0
- package/dist/lib/log-shipper.js.map +1 -0
- package/dist/lib/logging.js +146 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/message-deduplicator.js +439 -0
- package/dist/lib/message-deduplicator.js.map +1 -0
- package/dist/lib/multi-system-query.js +604 -0
- package/dist/lib/multi-system-query.js.map +1 -0
- package/dist/lib/orphan-detector.js +332 -0
- package/dist/lib/orphan-detector.js.map +1 -0
- package/dist/lib/password-generator.js +166 -0
- package/dist/lib/password-generator.js.map +1 -0
- package/dist/lib/path-validator.js +429 -0
- package/dist/lib/path-validator.js.map +1 -0
- package/dist/lib/query-translator.js +905 -0
- package/dist/lib/query-translator.js.map +1 -0
- package/dist/lib/queue-recovery.js +469 -0
- package/dist/lib/queue-recovery.js.map +1 -0
- package/dist/lib/redis-queue-manager.js +512 -0
- package/dist/lib/redis-queue-manager.js.map +1 -0
- package/dist/lib/reflection-archiver.js +272 -0
- package/dist/lib/reflection-archiver.js.map +1 -0
- package/dist/lib/retry-manager.js +453 -0
- package/dist/lib/retry-manager.js.map +1 -0
- package/dist/lib/retry.js +262 -0
- package/dist/lib/retry.js.map +1 -0
- package/dist/lib/schema-transform.js +695 -0
- package/dist/lib/schema-transform.js.map +1 -0
- package/dist/lib/schema-validator.js +491 -0
- package/dist/lib/schema-validator.js.map +1 -0
- package/dist/lib/skill-cache.js +297 -0
- package/dist/lib/skill-cache.js.map +1 -0
- package/dist/lib/skill-content-manager.js +337 -0
- package/dist/lib/skill-content-manager.js.map +1 -0
- package/dist/lib/skill-frontmatter-parser.js +237 -0
- package/dist/lib/skill-frontmatter-parser.js.map +1 -0
- package/dist/lib/skill-git-integration.js +275 -0
- package/dist/lib/skill-git-integration.js.map +1 -0
- package/dist/lib/skill-markdown-validator.js +396 -0
- package/dist/lib/skill-markdown-validator.js.map +1 -0
- package/dist/lib/skill-output-parser.js +312 -0
- package/dist/lib/skill-output-parser.js.map +1 -0
- package/dist/lib/unified-query-api.js +467 -0
- package/dist/lib/unified-query-api.js.map +1 -0
- package/dist/middleware/auth-middleware.js +350 -0
- package/dist/middleware/auth-middleware.js.map +1 -0
- package/dist/middleware/schema-validation.js +347 -0
- package/dist/middleware/schema-validation.js.map +1 -0
- package/dist/providers/anthropic-provider.js +1 -1
- package/dist/providers/anthropic-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +2 -2
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/services/edge-case-analyzer.js +321 -0
- package/dist/services/edge-case-analyzer.js.map +1 -0
- package/dist/services/edge-case-deduplicator.js +266 -0
- package/dist/services/edge-case-deduplicator.js.map +1 -0
- package/dist/services/edge-case-detector.js +337 -0
- package/dist/services/edge-case-detector.js.map +1 -0
- package/dist/services/edge-case-tracker.js +547 -0
- package/dist/services/edge-case-tracker.js.map +1 -0
- package/dist/services/health-check-system.js +586 -0
- package/dist/services/health-check-system.js.map +1 -0
- package/dist/services/metrics-logger.js +412 -0
- package/dist/services/metrics-logger.js.map +1 -0
- package/dist/services/patch-generator.js +378 -0
- package/dist/services/patch-generator.js.map +1 -0
- package/dist/services/patch-validator.js +337 -0
- package/dist/services/patch-validator.js.map +1 -0
- package/dist/services/performance-monitor.js +811 -0
- package/dist/services/performance-monitor.js.map +1 -0
- package/dist/services/promotion-pipeline.js +918 -0
- package/dist/services/promotion-pipeline.js.map +1 -0
- package/dist/services/promotion-validator.js +394 -0
- package/dist/services/promotion-validator.js.map +1 -0
- package/dist/services/reflection-logger.js +388 -0
- package/dist/services/reflection-logger.js.map +1 -0
- package/dist/services/skill-deployment.js +472 -0
- package/dist/services/skill-deployment.js.map +1 -0
- package/dist/services/skill-loader.js +427 -0
- package/dist/services/skill-loader.js.map +1 -0
- package/dist/services/skill-promotion.js +372 -0
- package/dist/services/skill-promotion.js.map +1 -0
- package/dist/services/skill-validator.js +454 -0
- package/dist/services/skill-validator.js.map +1 -0
- package/dist/services/skill-versioning.js +244 -0
- package/dist/services/skill-versioning.js.map +1 -0
- package/dist/services/workspace-supervisor.js +597 -0
- package/dist/services/workspace-supervisor.js.map +1 -0
- package/dist/types/agent-output.js +44 -0
- package/dist/types/agent-output.js.map +1 -0
- package/dist/types/config.js +28 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -176
- package/readme/README.md +19 -4
- package/scripts/artifact-cleanup.sh +392 -0
- package/scripts/backup-cleanup.sh +627 -0
- package/scripts/cleanup-workspaces.sh +412 -0
- package/scripts/cleanup-yaml-configs.sh +141 -0
- package/scripts/deploy-approved-skills.sh +263 -0
- package/scripts/deploy-production.sh +355 -355
- package/scripts/docker-playwright-fix.sh +311 -311
- package/scripts/docker-rebuild-all-agents.sh +127 -127
- package/scripts/health-check.sh +447 -0
- package/scripts/log-aggregator.sh +554 -0
- package/scripts/log-monitor.sh +629 -0
- package/scripts/manage-agent-workspaces.sh +434 -0
- package/scripts/memory-leak-prevention.sh +305 -305
- package/scripts/migrate-artifacts.sh +563 -0
- package/scripts/migrate-schema.sh +533 -0
- package/scripts/migrate-yaml-to-json.sh +465 -0
- package/scripts/promote-staged-skills.sh +423 -0
- package/scripts/run-marketing-tests.sh +42 -42
- package/scripts/update_paths.sh +46 -46
- package/scripts/verify-no-secrets.sh +88 -35
- package/.claude/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/.claude/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/.claude/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
- package/README.md.backup_before_replace +0 -781
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/adaptive-coordinator.md.backup +0 -161
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/blocking-coordinator-example.md.backup +0 -728
- package/claude-assets/cfn-extras/agents/deprecated-coordinators/mesh-coordinator.md.backup +0 -131
- package/claude-assets/skills/cfn-agent-spawning/spawn-agent.sh.backup +0 -273
- package/claude-assets/skills/cfn-loop-orchestration/orchestrate.sh.backup +0 -949
|
@@ -1,111 +1,111 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Start Telemetry Collection for CFN Stabilization System
|
|
4
|
-
# This script initializes and starts telemetry monitoring for agent execution
|
|
5
|
-
|
|
6
|
-
set -euo pipefail
|
|
7
|
-
|
|
8
|
-
# Required parameters
|
|
9
|
-
TASK_ID="${1:-}"
|
|
10
|
-
AGENT_ID="${2:-}"
|
|
11
|
-
|
|
12
|
-
# Validate required parameters
|
|
13
|
-
if [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ]; then
|
|
14
|
-
echo "Usage: $0 <task-id> <agent-id>"
|
|
15
|
-
exit 1
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
# Get telemetry directory from environment or use default
|
|
19
|
-
TELEMETRY_DIR="${CFN_TELEMETRY_DIR:-/tmp/cfn-telemetry}"
|
|
20
|
-
mkdir -p "$TELEMETRY_DIR"
|
|
21
|
-
|
|
22
|
-
# Get current timestamp
|
|
23
|
-
TIMESTAMP=$(date -Iseconds)
|
|
24
|
-
|
|
25
|
-
# Initialize telemetry session
|
|
26
|
-
TELEMETRY_FILE="$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_telemetry.json"
|
|
27
|
-
|
|
28
|
-
# Create initial telemetry record
|
|
29
|
-
cat > "$TELEMETRY_FILE" << TELEMETRY_EOF
|
|
30
|
-
{
|
|
31
|
-
"task_id": "$TASK_ID",
|
|
32
|
-
"agent_id": "$AGENT_ID",
|
|
33
|
-
"session_start": "$TIMESTAMP",
|
|
34
|
-
"status": "active",
|
|
35
|
-
"memory_usage": 0,
|
|
36
|
-
"cpu_usage": 0,
|
|
37
|
-
"disk_usage": 0,
|
|
38
|
-
"file_count": 0,
|
|
39
|
-
"metrics": [],
|
|
40
|
-
"events": []
|
|
41
|
-
}
|
|
42
|
-
TELEMETRY_EOF
|
|
43
|
-
|
|
44
|
-
# Start background telemetry collection
|
|
45
|
-
BACKGROUND_PID=$$
|
|
46
|
-
echo "$BACKGROUND_PID" > "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_pid.txt"
|
|
47
|
-
|
|
48
|
-
# Initialize metrics collection
|
|
49
|
-
echo "Starting telemetry collection for task $TASK_ID, agent $AGENT_ID"
|
|
50
|
-
|
|
51
|
-
# Set up monitoring intervals (every 5 seconds)
|
|
52
|
-
INTERVAL=5
|
|
53
|
-
|
|
54
|
-
# Background telemetry monitoring function
|
|
55
|
-
collect_telemetry() {
|
|
56
|
-
local start_time=$(date +%s)
|
|
57
|
-
|
|
58
|
-
while true; do
|
|
59
|
-
current_time=$(date +%s)
|
|
60
|
-
elapsed_time=$((current_time - start_time))
|
|
61
|
-
|
|
62
|
-
# Collect system metrics
|
|
63
|
-
memory_usage=$(free -m | grep Mem | awk '{print $3}')
|
|
64
|
-
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
|
|
65
|
-
disk_usage=$(df /tmp | tail -1 | awk '{print $5}' | tr -d '%')
|
|
66
|
-
file_count=$(find "$TELEMETRY_DIR" -name "*.json" -type f 2>/dev/null | wc -l)
|
|
67
|
-
|
|
68
|
-
# Create metric record
|
|
69
|
-
metric_record='{
|
|
70
|
-
"timestamp": "'$(date -Iseconds)'",
|
|
71
|
-
"elapsed_seconds": '"$elapsed_time"',
|
|
72
|
-
"memory_usage": '"$memory_usage"',
|
|
73
|
-
"cpu_usage": '"$cpu_usage"',
|
|
74
|
-
"disk_usage": '"$disk_usage"',
|
|
75
|
-
"file_count": '"$file_count"'
|
|
76
|
-
}'
|
|
77
|
-
|
|
78
|
-
# Append to telemetry file
|
|
79
|
-
jq --argjson metric "$metric_record" '.metrics += [$metric]' "$TELEMETRY_FILE" > "$TELEMETRY_FILE.tmp" 2>/dev/null || true
|
|
80
|
-
mv "$TELEMETRY_FILE.tmp" "$TELEMETRY_FILE" 2>/dev/null || true
|
|
81
|
-
|
|
82
|
-
# Sleep for interval
|
|
83
|
-
sleep $INTERVAL
|
|
84
|
-
done
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
# Start telemetry collection in background
|
|
88
|
-
collect_tlemetry &
|
|
89
|
-
TELEMETRY_COLLECTOR_PID=$!
|
|
90
|
-
|
|
91
|
-
# Save collector PID
|
|
92
|
-
echo "$TELEMETRY_COLLECTOR_PID" > "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_collector_pid.txt"
|
|
93
|
-
|
|
94
|
-
# Log telemetry start event
|
|
95
|
-
echo "Telemetry collection started for $TASK_ID:$AGENT_ID (PID: $TELEMETRY_COLLECTOR_PID)"
|
|
96
|
-
|
|
97
|
-
# Keep script running while telemetry is active
|
|
98
|
-
while kill -0 "$TELEMETRY_COLLECTOR_PID" 2>/dev/null; do
|
|
99
|
-
sleep 1
|
|
100
|
-
done
|
|
101
|
-
|
|
102
|
-
# Cleanup when telemetry stops
|
|
103
|
-
TELEMETRY_STOP_TIME=$(date -Iseconds)
|
|
104
|
-
jq --arg stop_time "$TELEMETRY_STOP_TIME" '.session_stop = $stop_time | .status = "stopped"' "$TELEMETRY_FILE" > "$TELEMETRY_FILE.tmp" 2>/dev/null || true
|
|
105
|
-
mv "$TELEMETRY_FILE.tmp" "$TELEMETRY_FILE" 2>/dev/null || true
|
|
106
|
-
|
|
107
|
-
# Remove PID files
|
|
108
|
-
rm -f "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_pid.txt"
|
|
109
|
-
rm -f "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_collector_pid.txt"
|
|
110
|
-
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Start Telemetry Collection for CFN Stabilization System
|
|
4
|
+
# This script initializes and starts telemetry monitoring for agent execution
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
|
|
8
|
+
# Required parameters
|
|
9
|
+
TASK_ID="${1:-}"
|
|
10
|
+
AGENT_ID="${2:-}"
|
|
11
|
+
|
|
12
|
+
# Validate required parameters
|
|
13
|
+
if [ -z "$TASK_ID" ] || [ -z "$AGENT_ID" ]; then
|
|
14
|
+
echo "Usage: $0 <task-id> <agent-id>"
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
# Get telemetry directory from environment or use default
|
|
19
|
+
TELEMETRY_DIR="${CFN_TELEMETRY_DIR:-/tmp/cfn-telemetry}"
|
|
20
|
+
mkdir -p "$TELEMETRY_DIR"
|
|
21
|
+
|
|
22
|
+
# Get current timestamp
|
|
23
|
+
TIMESTAMP=$(date -Iseconds)
|
|
24
|
+
|
|
25
|
+
# Initialize telemetry session
|
|
26
|
+
TELEMETRY_FILE="$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_telemetry.json"
|
|
27
|
+
|
|
28
|
+
# Create initial telemetry record
|
|
29
|
+
cat > "$TELEMETRY_FILE" << TELEMETRY_EOF
|
|
30
|
+
{
|
|
31
|
+
"task_id": "$TASK_ID",
|
|
32
|
+
"agent_id": "$AGENT_ID",
|
|
33
|
+
"session_start": "$TIMESTAMP",
|
|
34
|
+
"status": "active",
|
|
35
|
+
"memory_usage": 0,
|
|
36
|
+
"cpu_usage": 0,
|
|
37
|
+
"disk_usage": 0,
|
|
38
|
+
"file_count": 0,
|
|
39
|
+
"metrics": [],
|
|
40
|
+
"events": []
|
|
41
|
+
}
|
|
42
|
+
TELEMETRY_EOF
|
|
43
|
+
|
|
44
|
+
# Start background telemetry collection
|
|
45
|
+
BACKGROUND_PID=$$
|
|
46
|
+
echo "$BACKGROUND_PID" > "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_pid.txt"
|
|
47
|
+
|
|
48
|
+
# Initialize metrics collection
|
|
49
|
+
echo "Starting telemetry collection for task $TASK_ID, agent $AGENT_ID"
|
|
50
|
+
|
|
51
|
+
# Set up monitoring intervals (every 5 seconds)
|
|
52
|
+
INTERVAL=5
|
|
53
|
+
|
|
54
|
+
# Background telemetry monitoring function
|
|
55
|
+
collect_telemetry() {
|
|
56
|
+
local start_time=$(date +%s)
|
|
57
|
+
|
|
58
|
+
while true; do
|
|
59
|
+
current_time=$(date +%s)
|
|
60
|
+
elapsed_time=$((current_time - start_time))
|
|
61
|
+
|
|
62
|
+
# Collect system metrics
|
|
63
|
+
memory_usage=$(free -m | grep Mem | awk '{print $3}')
|
|
64
|
+
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
|
|
65
|
+
disk_usage=$(df /tmp | tail -1 | awk '{print $5}' | tr -d '%')
|
|
66
|
+
file_count=$(find "$TELEMETRY_DIR" -name "*.json" -type f 2>/dev/null | wc -l)
|
|
67
|
+
|
|
68
|
+
# Create metric record
|
|
69
|
+
metric_record='{
|
|
70
|
+
"timestamp": "'$(date -Iseconds)'",
|
|
71
|
+
"elapsed_seconds": '"$elapsed_time"',
|
|
72
|
+
"memory_usage": '"$memory_usage"',
|
|
73
|
+
"cpu_usage": '"$cpu_usage"',
|
|
74
|
+
"disk_usage": '"$disk_usage"',
|
|
75
|
+
"file_count": '"$file_count"'
|
|
76
|
+
}'
|
|
77
|
+
|
|
78
|
+
# Append to telemetry file
|
|
79
|
+
jq --argjson metric "$metric_record" '.metrics += [$metric]' "$TELEMETRY_FILE" > "$TELEMETRY_FILE.tmp" 2>/dev/null || true
|
|
80
|
+
mv "$TELEMETRY_FILE.tmp" "$TELEMETRY_FILE" 2>/dev/null || true
|
|
81
|
+
|
|
82
|
+
# Sleep for interval
|
|
83
|
+
sleep $INTERVAL
|
|
84
|
+
done
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
# Start telemetry collection in background
|
|
88
|
+
collect_tlemetry &
|
|
89
|
+
TELEMETRY_COLLECTOR_PID=$!
|
|
90
|
+
|
|
91
|
+
# Save collector PID
|
|
92
|
+
echo "$TELEMETRY_COLLECTOR_PID" > "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_collector_pid.txt"
|
|
93
|
+
|
|
94
|
+
# Log telemetry start event
|
|
95
|
+
echo "Telemetry collection started for $TASK_ID:$AGENT_ID (PID: $TELEMETRY_COLLECTOR_PID)"
|
|
96
|
+
|
|
97
|
+
# Keep script running while telemetry is active
|
|
98
|
+
while kill -0 "$TELEMETRY_COLLECTOR_PID" 2>/dev/null; do
|
|
99
|
+
sleep 1
|
|
100
|
+
done
|
|
101
|
+
|
|
102
|
+
# Cleanup when telemetry stops
|
|
103
|
+
TELEMETRY_STOP_TIME=$(date -Iseconds)
|
|
104
|
+
jq --arg stop_time "$TELEMETRY_STOP_TIME" '.session_stop = $stop_time | .status = "stopped"' "$TELEMETRY_FILE" > "$TELEMETRY_FILE.tmp" 2>/dev/null || true
|
|
105
|
+
mv "$TELEMETRY_FILE.tmp" "$TELEMETRY_FILE" 2>/dev/null || true
|
|
106
|
+
|
|
107
|
+
# Remove PID files
|
|
108
|
+
rm -f "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_pid.txt"
|
|
109
|
+
rm -f "$TELEMETRY_DIR/${TASK_ID}_${AGENT_ID}_collector_pid.txt"
|
|
110
|
+
|
|
111
111
|
echo "Telemetry collection stopped for $TASK_ID:$AGENT_ID"
|
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Add new bullet to adaptive_context table
|
|
3
|
-
# Usage: ./add-bullet.sh --bullet-id STRAT-007 --category strategy --content "..." --confidence 0.85
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
# Default values
|
|
8
|
-
DB_PATH="${ACE_DB_PATH:-./.artifacts/database/swarm-memory.db}"
|
|
9
|
-
BULLET_ID=""
|
|
10
|
-
CATEGORY=""
|
|
11
|
-
CONTENT=""
|
|
12
|
-
CONFIDENCE=0.5
|
|
13
|
-
PRIORITY=5
|
|
14
|
-
TAGS="[]"
|
|
15
|
-
SOURCE_CONTEXT=""
|
|
16
|
-
SOURCE_TASK_ID=""
|
|
17
|
-
ACL_LEVEL=4
|
|
18
|
-
|
|
19
|
-
# Parse arguments
|
|
20
|
-
while [[ $# -gt 0 ]]; do
|
|
21
|
-
case $1 in
|
|
22
|
-
--bullet-id)
|
|
23
|
-
BULLET_ID="$2"
|
|
24
|
-
shift 2
|
|
25
|
-
;;
|
|
26
|
-
--category)
|
|
27
|
-
CATEGORY="$2"
|
|
28
|
-
shift 2
|
|
29
|
-
;;
|
|
30
|
-
--content)
|
|
31
|
-
CONTENT="$2"
|
|
32
|
-
shift 2
|
|
33
|
-
;;
|
|
34
|
-
--confidence)
|
|
35
|
-
CONFIDENCE="$2"
|
|
36
|
-
shift 2
|
|
37
|
-
;;
|
|
38
|
-
--priority)
|
|
39
|
-
PRIORITY="$2"
|
|
40
|
-
shift 2
|
|
41
|
-
;;
|
|
42
|
-
--tags)
|
|
43
|
-
TAGS="$2"
|
|
44
|
-
shift 2
|
|
45
|
-
;;
|
|
46
|
-
--source-context)
|
|
47
|
-
SOURCE_CONTEXT="$2"
|
|
48
|
-
shift 2
|
|
49
|
-
;;
|
|
50
|
-
--source-task-id)
|
|
51
|
-
SOURCE_TASK_ID="$2"
|
|
52
|
-
shift 2
|
|
53
|
-
;;
|
|
54
|
-
--acl-level)
|
|
55
|
-
ACL_LEVEL="$2"
|
|
56
|
-
shift 2
|
|
57
|
-
;;
|
|
58
|
-
*)
|
|
59
|
-
echo "Unknown option: $1"
|
|
60
|
-
exit 1
|
|
61
|
-
;;
|
|
62
|
-
esac
|
|
63
|
-
done
|
|
64
|
-
|
|
65
|
-
# Validate required parameters
|
|
66
|
-
if [ -z "$BULLET_ID" ] || [ -z "$CATEGORY" ] || [ -z "$CONTENT" ]; then
|
|
67
|
-
echo "Error: Missing required parameters"
|
|
68
|
-
echo "Usage: $0 --bullet-id <id> --category <cat> --content <text>"
|
|
69
|
-
exit 1
|
|
70
|
-
fi
|
|
71
|
-
|
|
72
|
-
# Validate category
|
|
73
|
-
case $CATEGORY in
|
|
74
|
-
strategy|pattern|edge_case|domain_insight|anti_pattern|optimization)
|
|
75
|
-
;;
|
|
76
|
-
*)
|
|
77
|
-
echo "Error: Invalid category. Must be: strategy, pattern, edge_case, domain_insight, anti_pattern, or optimization"
|
|
78
|
-
exit 1
|
|
79
|
-
;;
|
|
80
|
-
esac
|
|
81
|
-
|
|
82
|
-
# Generate unique ID
|
|
83
|
-
UNIQUE_ID="$(echo -n "$BULLET_ID" | md5sum | cut -d' ' -f1)"
|
|
84
|
-
|
|
85
|
-
# Insert bullet into database
|
|
86
|
-
sqlite3 "$DB_PATH" <<EOF
|
|
87
|
-
-- Ensure table exists
|
|
88
|
-
CREATE TABLE IF NOT EXISTS adaptive_context (
|
|
89
|
-
id TEXT PRIMARY KEY,
|
|
90
|
-
bullet_id TEXT NOT NULL UNIQUE,
|
|
91
|
-
category TEXT NOT NULL CHECK (category IN ('strategy', 'pattern', 'edge_case', 'domain_insight', 'anti_pattern', 'optimization')),
|
|
92
|
-
content TEXT NOT NULL,
|
|
93
|
-
helpful_count INTEGER DEFAULT 0,
|
|
94
|
-
harmful_count INTEGER DEFAULT 0,
|
|
95
|
-
confidence_score REAL DEFAULT 0.5 CHECK (confidence_score BETWEEN 0.0 AND 1.0),
|
|
96
|
-
source_context TEXT NOT NULL,
|
|
97
|
-
source_task_id TEXT,
|
|
98
|
-
source_agent_id TEXT,
|
|
99
|
-
tags TEXT,
|
|
100
|
-
embedding_vector TEXT,
|
|
101
|
-
parent_bullet_id TEXT,
|
|
102
|
-
version INTEGER DEFAULT 1,
|
|
103
|
-
acl_level INTEGER NOT NULL DEFAULT 4 CHECK (acl_level BETWEEN 1 AND 6),
|
|
104
|
-
swarm_id TEXT,
|
|
105
|
-
project_id TEXT,
|
|
106
|
-
is_active BOOLEAN DEFAULT 1,
|
|
107
|
-
is_validated BOOLEAN DEFAULT 0,
|
|
108
|
-
validation_metadata TEXT,
|
|
109
|
-
priority INTEGER DEFAULT 5 CHECK (priority BETWEEN 1 AND 10),
|
|
110
|
-
last_used_at DATETIME,
|
|
111
|
-
usage_count INTEGER DEFAULT 0,
|
|
112
|
-
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
113
|
-
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
114
|
-
archived_at DATETIME
|
|
115
|
-
);
|
|
116
|
-
|
|
117
|
-
-- Insert bullet
|
|
118
|
-
INSERT INTO adaptive_context (
|
|
119
|
-
id, bullet_id, category, content, confidence_score, priority, tags,
|
|
120
|
-
source_context, source_task_id, acl_level, is_active
|
|
121
|
-
) VALUES (
|
|
122
|
-
'${UNIQUE_ID}',
|
|
123
|
-
'${BULLET_ID}',
|
|
124
|
-
'${CATEGORY}',
|
|
125
|
-
'${CONTENT}',
|
|
126
|
-
${CONFIDENCE},
|
|
127
|
-
${PRIORITY},
|
|
128
|
-
'${TAGS}',
|
|
129
|
-
'${SOURCE_CONTEXT:-Unknown source}',
|
|
130
|
-
$([ -n "$SOURCE_TASK_ID" ] && echo "'$SOURCE_TASK_ID'" || echo "NULL"),
|
|
131
|
-
${ACL_LEVEL},
|
|
132
|
-
1
|
|
133
|
-
);
|
|
134
|
-
EOF
|
|
135
|
-
|
|
136
|
-
# Verify insertion
|
|
137
|
-
COUNT=$(sqlite3 "$DB_PATH" "SELECT COUNT(*) FROM adaptive_context WHERE bullet_id = '${BULLET_ID}';")
|
|
138
|
-
|
|
139
|
-
if [ "$COUNT" -eq 1 ]; then
|
|
140
|
-
echo "{\"status\":\"success\",\"bullet_id\":\"${BULLET_ID}\",\"category\":\"${CATEGORY}\",\"confidence\":${CONFIDENCE}}"
|
|
141
|
-
exit 0
|
|
142
|
-
else
|
|
143
|
-
echo "{\"status\":\"error\",\"message\":\"Bullet insertion failed\"}"
|
|
144
|
-
exit 1
|
|
145
|
-
fi
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Add new bullet to adaptive_context table
|
|
3
|
+
# Usage: ./add-bullet.sh --bullet-id STRAT-007 --category strategy --content "..." --confidence 0.85
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
# Default values
|
|
8
|
+
DB_PATH="${ACE_DB_PATH:-./.artifacts/database/swarm-memory.db}"
|
|
9
|
+
BULLET_ID=""
|
|
10
|
+
CATEGORY=""
|
|
11
|
+
CONTENT=""
|
|
12
|
+
CONFIDENCE=0.5
|
|
13
|
+
PRIORITY=5
|
|
14
|
+
TAGS="[]"
|
|
15
|
+
SOURCE_CONTEXT=""
|
|
16
|
+
SOURCE_TASK_ID=""
|
|
17
|
+
ACL_LEVEL=4
|
|
18
|
+
|
|
19
|
+
# Parse arguments
|
|
20
|
+
while [[ $# -gt 0 ]]; do
|
|
21
|
+
case $1 in
|
|
22
|
+
--bullet-id)
|
|
23
|
+
BULLET_ID="$2"
|
|
24
|
+
shift 2
|
|
25
|
+
;;
|
|
26
|
+
--category)
|
|
27
|
+
CATEGORY="$2"
|
|
28
|
+
shift 2
|
|
29
|
+
;;
|
|
30
|
+
--content)
|
|
31
|
+
CONTENT="$2"
|
|
32
|
+
shift 2
|
|
33
|
+
;;
|
|
34
|
+
--confidence)
|
|
35
|
+
CONFIDENCE="$2"
|
|
36
|
+
shift 2
|
|
37
|
+
;;
|
|
38
|
+
--priority)
|
|
39
|
+
PRIORITY="$2"
|
|
40
|
+
shift 2
|
|
41
|
+
;;
|
|
42
|
+
--tags)
|
|
43
|
+
TAGS="$2"
|
|
44
|
+
shift 2
|
|
45
|
+
;;
|
|
46
|
+
--source-context)
|
|
47
|
+
SOURCE_CONTEXT="$2"
|
|
48
|
+
shift 2
|
|
49
|
+
;;
|
|
50
|
+
--source-task-id)
|
|
51
|
+
SOURCE_TASK_ID="$2"
|
|
52
|
+
shift 2
|
|
53
|
+
;;
|
|
54
|
+
--acl-level)
|
|
55
|
+
ACL_LEVEL="$2"
|
|
56
|
+
shift 2
|
|
57
|
+
;;
|
|
58
|
+
*)
|
|
59
|
+
echo "Unknown option: $1"
|
|
60
|
+
exit 1
|
|
61
|
+
;;
|
|
62
|
+
esac
|
|
63
|
+
done
|
|
64
|
+
|
|
65
|
+
# Validate required parameters
|
|
66
|
+
if [ -z "$BULLET_ID" ] || [ -z "$CATEGORY" ] || [ -z "$CONTENT" ]; then
|
|
67
|
+
echo "Error: Missing required parameters"
|
|
68
|
+
echo "Usage: $0 --bullet-id <id> --category <cat> --content <text>"
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
# Validate category
|
|
73
|
+
case $CATEGORY in
|
|
74
|
+
strategy|pattern|edge_case|domain_insight|anti_pattern|optimization)
|
|
75
|
+
;;
|
|
76
|
+
*)
|
|
77
|
+
echo "Error: Invalid category. Must be: strategy, pattern, edge_case, domain_insight, anti_pattern, or optimization"
|
|
78
|
+
exit 1
|
|
79
|
+
;;
|
|
80
|
+
esac
|
|
81
|
+
|
|
82
|
+
# Generate unique ID
|
|
83
|
+
UNIQUE_ID="$(echo -n "$BULLET_ID" | md5sum | cut -d' ' -f1)"
|
|
84
|
+
|
|
85
|
+
# Insert bullet into database
|
|
86
|
+
sqlite3 "$DB_PATH" <<EOF
|
|
87
|
+
-- Ensure table exists
|
|
88
|
+
CREATE TABLE IF NOT EXISTS adaptive_context (
|
|
89
|
+
id TEXT PRIMARY KEY,
|
|
90
|
+
bullet_id TEXT NOT NULL UNIQUE,
|
|
91
|
+
category TEXT NOT NULL CHECK (category IN ('strategy', 'pattern', 'edge_case', 'domain_insight', 'anti_pattern', 'optimization')),
|
|
92
|
+
content TEXT NOT NULL,
|
|
93
|
+
helpful_count INTEGER DEFAULT 0,
|
|
94
|
+
harmful_count INTEGER DEFAULT 0,
|
|
95
|
+
confidence_score REAL DEFAULT 0.5 CHECK (confidence_score BETWEEN 0.0 AND 1.0),
|
|
96
|
+
source_context TEXT NOT NULL,
|
|
97
|
+
source_task_id TEXT,
|
|
98
|
+
source_agent_id TEXT,
|
|
99
|
+
tags TEXT,
|
|
100
|
+
embedding_vector TEXT,
|
|
101
|
+
parent_bullet_id TEXT,
|
|
102
|
+
version INTEGER DEFAULT 1,
|
|
103
|
+
acl_level INTEGER NOT NULL DEFAULT 4 CHECK (acl_level BETWEEN 1 AND 6),
|
|
104
|
+
swarm_id TEXT,
|
|
105
|
+
project_id TEXT,
|
|
106
|
+
is_active BOOLEAN DEFAULT 1,
|
|
107
|
+
is_validated BOOLEAN DEFAULT 0,
|
|
108
|
+
validation_metadata TEXT,
|
|
109
|
+
priority INTEGER DEFAULT 5 CHECK (priority BETWEEN 1 AND 10),
|
|
110
|
+
last_used_at DATETIME,
|
|
111
|
+
usage_count INTEGER DEFAULT 0,
|
|
112
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
113
|
+
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
114
|
+
archived_at DATETIME
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
-- Insert bullet
|
|
118
|
+
INSERT INTO adaptive_context (
|
|
119
|
+
id, bullet_id, category, content, confidence_score, priority, tags,
|
|
120
|
+
source_context, source_task_id, acl_level, is_active
|
|
121
|
+
) VALUES (
|
|
122
|
+
'${UNIQUE_ID}',
|
|
123
|
+
'${BULLET_ID}',
|
|
124
|
+
'${CATEGORY}',
|
|
125
|
+
'${CONTENT}',
|
|
126
|
+
${CONFIDENCE},
|
|
127
|
+
${PRIORITY},
|
|
128
|
+
'${TAGS}',
|
|
129
|
+
'${SOURCE_CONTEXT:-Unknown source}',
|
|
130
|
+
$([ -n "$SOURCE_TASK_ID" ] && echo "'$SOURCE_TASK_ID'" || echo "NULL"),
|
|
131
|
+
${ACL_LEVEL},
|
|
132
|
+
1
|
|
133
|
+
);
|
|
134
|
+
EOF
|
|
135
|
+
|
|
136
|
+
# Verify insertion
|
|
137
|
+
COUNT=$(sqlite3 "$DB_PATH" "SELECT COUNT(*) FROM adaptive_context WHERE bullet_id = '${BULLET_ID}';")
|
|
138
|
+
|
|
139
|
+
if [ "$COUNT" -eq 1 ]; then
|
|
140
|
+
echo "{\"status\":\"success\",\"bullet_id\":\"${BULLET_ID}\",\"category\":\"${CATEGORY}\",\"confidence\":${CONFIDENCE}}"
|
|
141
|
+
exit 0
|
|
142
|
+
else
|
|
143
|
+
echo "{\"status\":\"error\",\"message\":\"Bullet insertion failed\"}"
|
|
144
|
+
exit 1
|
|
145
|
+
fi
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Log merge action to context_merge_log
|
|
3
|
-
# Usage: ./log-merge.sh --merge-type new_bullet --bullet-id STRAT-007 --reflection-id refl-123
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
DB_PATH="${ACE_DB_PATH:-./.artifacts/database/swarm-memory.db}"
|
|
8
|
-
MERGE_TYPE=""
|
|
9
|
-
BULLET_ID=""
|
|
10
|
-
REFLECTION_ID=""
|
|
11
|
-
SIMILARITY_SCORE=""
|
|
12
|
-
CURATOR_REASONING=""
|
|
13
|
-
MERGED_FROM_IDS="[]"
|
|
14
|
-
|
|
15
|
-
while [[ $# -gt 0 ]]; do
|
|
16
|
-
case $1 in
|
|
17
|
-
--merge-type) MERGE_TYPE="$2"; shift 2 ;;
|
|
18
|
-
--bullet-id) BULLET_ID="$2"; shift 2 ;;
|
|
19
|
-
--reflection-id) REFLECTION_ID="$2"; shift 2 ;;
|
|
20
|
-
--similarity-score) SIMILARITY_SCORE="$2"; shift 2 ;;
|
|
21
|
-
--curator-reasoning) CURATOR_REASONING="$2"; shift 2 ;;
|
|
22
|
-
--merged-from-ids) MERGED_FROM_IDS="$2"; shift 2 ;;
|
|
23
|
-
*) echo "Unknown option: $1"; exit 1 ;;
|
|
24
|
-
esac
|
|
25
|
-
done
|
|
26
|
-
|
|
27
|
-
if [ -z "$MERGE_TYPE" ] || [ -z "$BULLET_ID" ]; then
|
|
28
|
-
echo "Error: --merge-type and --bullet-id required"
|
|
29
|
-
exit 1
|
|
30
|
-
fi
|
|
31
|
-
|
|
32
|
-
LOG_ID="merge-$(date +%s)-$(openssl rand -hex 3)"
|
|
33
|
-
|
|
34
|
-
sqlite3 "$DB_PATH" <<EOF
|
|
35
|
-
CREATE TABLE IF NOT EXISTS context_merge_log (
|
|
36
|
-
id TEXT PRIMARY KEY,
|
|
37
|
-
merge_type TEXT NOT NULL CHECK (merge_type IN ('new_bullet', 'increment_helpful', 'increment_harmful', 'merge_similar', 'archive', 'edit', 'version_bump')),
|
|
38
|
-
bullet_id TEXT NOT NULL,
|
|
39
|
-
reflection_id TEXT,
|
|
40
|
-
old_content TEXT,
|
|
41
|
-
new_content TEXT,
|
|
42
|
-
similarity_score REAL,
|
|
43
|
-
merged_from_bullet_ids TEXT,
|
|
44
|
-
curator_agent_id TEXT,
|
|
45
|
-
curator_reasoning TEXT,
|
|
46
|
-
acl_level INTEGER NOT NULL DEFAULT 5 CHECK (acl_level BETWEEN 1 AND 6),
|
|
47
|
-
swarm_id TEXT,
|
|
48
|
-
project_id TEXT,
|
|
49
|
-
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
INSERT INTO context_merge_log (
|
|
53
|
-
id, merge_type, bullet_id, reflection_id, similarity_score,
|
|
54
|
-
merged_from_bullet_ids, curator_reasoning, acl_level
|
|
55
|
-
) VALUES (
|
|
56
|
-
'${LOG_ID}',
|
|
57
|
-
'${MERGE_TYPE}',
|
|
58
|
-
'${BULLET_ID}',
|
|
59
|
-
$([ -n "$REFLECTION_ID" ] && echo "'$REFLECTION_ID'" || echo "NULL"),
|
|
60
|
-
$([ -n "$SIMILARITY_SCORE" ] && echo "${SIMILARITY_SCORE}" || echo "NULL"),
|
|
61
|
-
'${MERGED_FROM_IDS}',
|
|
62
|
-
'${CURATOR_REASONING}',
|
|
63
|
-
5
|
|
64
|
-
);
|
|
65
|
-
EOF
|
|
66
|
-
|
|
67
|
-
echo "{\"status\":\"success\",\"log_id\":\"${LOG_ID}\",\"merge_type\":\"${MERGE_TYPE}\"}"
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Log merge action to context_merge_log
|
|
3
|
+
# Usage: ./log-merge.sh --merge-type new_bullet --bullet-id STRAT-007 --reflection-id refl-123
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
DB_PATH="${ACE_DB_PATH:-./.artifacts/database/swarm-memory.db}"
|
|
8
|
+
MERGE_TYPE=""
|
|
9
|
+
BULLET_ID=""
|
|
10
|
+
REFLECTION_ID=""
|
|
11
|
+
SIMILARITY_SCORE=""
|
|
12
|
+
CURATOR_REASONING=""
|
|
13
|
+
MERGED_FROM_IDS="[]"
|
|
14
|
+
|
|
15
|
+
while [[ $# -gt 0 ]]; do
|
|
16
|
+
case $1 in
|
|
17
|
+
--merge-type) MERGE_TYPE="$2"; shift 2 ;;
|
|
18
|
+
--bullet-id) BULLET_ID="$2"; shift 2 ;;
|
|
19
|
+
--reflection-id) REFLECTION_ID="$2"; shift 2 ;;
|
|
20
|
+
--similarity-score) SIMILARITY_SCORE="$2"; shift 2 ;;
|
|
21
|
+
--curator-reasoning) CURATOR_REASONING="$2"; shift 2 ;;
|
|
22
|
+
--merged-from-ids) MERGED_FROM_IDS="$2"; shift 2 ;;
|
|
23
|
+
*) echo "Unknown option: $1"; exit 1 ;;
|
|
24
|
+
esac
|
|
25
|
+
done
|
|
26
|
+
|
|
27
|
+
if [ -z "$MERGE_TYPE" ] || [ -z "$BULLET_ID" ]; then
|
|
28
|
+
echo "Error: --merge-type and --bullet-id required"
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
LOG_ID="merge-$(date +%s)-$(openssl rand -hex 3)"
|
|
33
|
+
|
|
34
|
+
sqlite3 "$DB_PATH" <<EOF
|
|
35
|
+
CREATE TABLE IF NOT EXISTS context_merge_log (
|
|
36
|
+
id TEXT PRIMARY KEY,
|
|
37
|
+
merge_type TEXT NOT NULL CHECK (merge_type IN ('new_bullet', 'increment_helpful', 'increment_harmful', 'merge_similar', 'archive', 'edit', 'version_bump')),
|
|
38
|
+
bullet_id TEXT NOT NULL,
|
|
39
|
+
reflection_id TEXT,
|
|
40
|
+
old_content TEXT,
|
|
41
|
+
new_content TEXT,
|
|
42
|
+
similarity_score REAL,
|
|
43
|
+
merged_from_bullet_ids TEXT,
|
|
44
|
+
curator_agent_id TEXT,
|
|
45
|
+
curator_reasoning TEXT,
|
|
46
|
+
acl_level INTEGER NOT NULL DEFAULT 5 CHECK (acl_level BETWEEN 1 AND 6),
|
|
47
|
+
swarm_id TEXT,
|
|
48
|
+
project_id TEXT,
|
|
49
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
INSERT INTO context_merge_log (
|
|
53
|
+
id, merge_type, bullet_id, reflection_id, similarity_score,
|
|
54
|
+
merged_from_bullet_ids, curator_reasoning, acl_level
|
|
55
|
+
) VALUES (
|
|
56
|
+
'${LOG_ID}',
|
|
57
|
+
'${MERGE_TYPE}',
|
|
58
|
+
'${BULLET_ID}',
|
|
59
|
+
$([ -n "$REFLECTION_ID" ] && echo "'$REFLECTION_ID'" || echo "NULL"),
|
|
60
|
+
$([ -n "$SIMILARITY_SCORE" ] && echo "${SIMILARITY_SCORE}" || echo "NULL"),
|
|
61
|
+
'${MERGED_FROM_IDS}',
|
|
62
|
+
'${CURATOR_REASONING}',
|
|
63
|
+
5
|
|
64
|
+
);
|
|
65
|
+
EOF
|
|
66
|
+
|
|
67
|
+
echo "{\"status\":\"success\",\"log_id\":\"${LOG_ID}\",\"merge_type\":\"${MERGE_TYPE}\"}"
|