claude-flow-novice 2.15.3 → 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-lint-sql-injection.sh +61 -0
- package/.claude/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
- 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-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-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 +2 -2
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/.claude/skills/cfn-redis-coordination/get-context.sh +33 -0
- 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/test-e2e.sh +15 -0
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
- 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-lint-sql-injection.sh +61 -0
- package/claude-assets/hooks/cfn-post-edit-cfn-retrospective.sh +33 -2
- package/claude-assets/hooks/cfn-pre-edit-security-warning.sh +40 -0
- 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 +84 -113
- package/claude-assets/skills/agent-lifecycle/simple-audit.sh +33 -6
- 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/test-memory-persistence.sh +17 -16
- 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-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-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-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-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 +2 -2
- package/claude-assets/skills/cfn-redis-coordination/collect-confidence-scores.sh +30 -0
- package/claude-assets/skills/cfn-redis-coordination/get-context.sh +33 -0
- 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-skill-loader/SKILL.md +466 -0
- package/claude-assets/skills/cfn-skill-loader/execute.sh +344 -0
- package/claude-assets/skills/cfn-sqlite-memory/ttl-cleanup.sh +17 -25
- 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-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/test-e2e.sh +15 -0
- package/claude-assets/skills/cfn-transparency-middleware/tests/input-validation.sh +15 -0
- 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/integration/agent-handoff.sh +62 -64
- 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/DEPLOY_QUICK_REFERENCE.md +106 -0
- package/claude-assets/skills/workflow-codification/PROPAGATE_UPDATE_QUICK_REFERENCE.md +366 -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/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/test-integration.sh +15 -0
- package/claude-assets/skills/workflow-codification/test-metadata-update.sh +350 -0
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh +55 -14
- package/claude-assets/skills/workflow-codification/track-cost-savings.sh.backup-1763392821 +445 -0
- package/claude-assets/skills/workflow-codification/track-edge-case.sh +27 -60
- 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/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 +1 -1
- package/dist/integration/DatabaseHandoff.js.map +1 -1
- 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.map +1 -1
- package/dist/lib/agent-output-validator.js.map +1 -1
- package/dist/lib/agent-workspace.js +281 -0
- package/dist/lib/agent-workspace.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.map +1 -1
- 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/edge-case.js +45 -0
- package/dist/types/edge-case.js.map +1 -0
- package/package.json +201 -177
- package/readme/README.md +19 -4
- 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/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/migrate-schema.sh +533 -0
- package/scripts/promote-staged-skills.sh +423 -0
- 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/agent-lifecycle/SKILL.md +0 -60
- package/.claude/skills/agent-lifecycle/execute-lifecycle-hook.sh +0 -573
- package/.claude/skills/agent-lifecycle/simple-audit.sh +0 -31
- 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}\"}"
|