claude-flow-novice 2.9.0 → 2.10.0
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/agents/cfn-dev-team/CLAUDE.md +1086 -0
- package/.claude/agents/cfn-dev-team/README.md +116 -0
- package/.claude/agents/cfn-dev-team/architecture/api-designer-persona.md +149 -0
- package/.claude/agents/cfn-dev-team/architecture/base-template-generator.md +196 -0
- package/.claude/agents/cfn-dev-team/architecture/goal-planner.md +183 -0
- package/.claude/agents/cfn-dev-team/architecture/planner.md +182 -0
- package/.claude/agents/cfn-dev-team/architecture/system-architect.md +162 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-frontend-coordinator.md +540 -0
- package/.claude/agents/cfn-dev-team/coordinators/cfn-v3-coordinator.md +20 -14
- package/.claude/agents/cfn-dev-team/coordinators/consensus-builder.md +167 -0
- package/.claude/agents/cfn-dev-team/dev-ops/devops-engineer.md +148 -0
- package/.claude/agents/cfn-dev-team/dev-ops/github-commit-agent.md +118 -0
- package/.claude/agents/cfn-dev-team/dev-ops/kubernetes-specialist.md +540 -0
- package/.claude/agents/cfn-dev-team/developers/backend-dev.md +20 -0
- package/.claude/agents/cfn-dev-team/developers/data/data-engineer.md +585 -0
- package/.claude/agents/cfn-dev-team/developers/database/database-architect.md +276 -0
- package/.claude/agents/cfn-dev-team/developers/dev-backend-api.md +147 -0
- package/.claude/agents/cfn-dev-team/developers/frontend/mobile-dev.md +218 -0
- package/.claude/agents/cfn-dev-team/developers/{react-frontend-engineer.md → frontend/react-frontend-engineer.md} +53 -5
- package/.claude/agents/cfn-dev-team/developers/frontend/spec-mobile-react-native.md +199 -0
- package/.claude/agents/cfn-dev-team/developers/graphql-specialist.md +615 -0
- package/.claude/agents/cfn-dev-team/developers/rust-developer.md +174 -0
- package/.claude/agents/cfn-dev-team/documentation/README-VALIDATION.md +243 -0
- package/.claude/agents/cfn-dev-team/documentation/agent-type-guidelines.md +465 -0
- package/.claude/agents/cfn-dev-team/documentation/api-docs.md +103 -0
- package/.claude/agents/cfn-dev-team/documentation/docs-api-openapi.md +98 -0
- package/.claude/agents/cfn-dev-team/documentation/pseudocode.md +159 -0
- package/.claude/agents/cfn-dev-team/documentation/specification.md +157 -0
- package/.claude/agents/cfn-dev-team/product-owners/accessibility-advocate-persona.md +109 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/cto-agent.md +8 -6
- package/.claude/agents/cfn-dev-team/product-owners/power-user-persona.md +190 -0
- package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner.md +85 -59
- package/.claude/agents/cfn-dev-team/reviewers/quality/analyze-code-quality.md +141 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/code-analyzer.md +200 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/cyclomatic-complexity-reducer.md +321 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/perf-analyzer.md +238 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/performance-benchmarker.md +101 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/quality-metrics.md +375 -0
- package/.claude/agents/cfn-dev-team/reviewers/quality/security-specialist.md +193 -0
- package/.claude/agents/cfn-dev-team/reviewers/reviewer.md +39 -0
- package/.claude/agents/cfn-dev-team/testers/interaction-tester.md +31 -0
- package/.claude/agents/cfn-dev-team/testers/load-testing-specialist.md +469 -0
- package/.claude/agents/cfn-dev-team/testers/playwright-tester.md +24 -0
- package/.claude/agents/cfn-dev-team/testers/tester.md +20 -0
- package/.claude/agents/cfn-dev-team/utility/agent-builder.md +151 -0
- package/.claude/agents/cfn-dev-team/utility/analyst.md +178 -0
- package/.claude/agents/cfn-dev-team/utility/claude-code-expert.md +1043 -0
- package/.claude/agents/cfn-dev-team/utility/code-booster.md +139 -0
- package/.claude/agents/cfn-dev-team/utility/context-curator.md +99 -0
- package/.claude/agents/cfn-dev-team/{developers → utility}/researcher.md +6 -4
- package/.claude/commands/cfn/CFN_LOOP_FRONTEND.md +741 -0
- package/.claude/commands/cfn/CFN_LOOP_TASK_MODE.md +353 -0
- package/.claude/commands/cfn/cfn-loop-frontend.md +555 -0
- package/.claude/commands/cfn/cfn-loop.md +168 -7
- package/{CFN-CLAUDE.md → .claude/root-claude-distribute/CFN-CLAUDE.md} +23 -3
- package/.claude/skills/cfn-ace-system/SKILL.md +364 -0
- package/.claude/skills/cfn-ace-system/add-bullet.sh +145 -0
- package/.claude/skills/cfn-ace-system/analyze-anti-pattern-effectiveness.sh +56 -0
- package/.claude/skills/cfn-ace-system/classify-task.sh +18 -0
- package/.claude/skills/cfn-ace-system/export-ace-metrics.sh +48 -0
- package/.claude/skills/cfn-ace-system/extract-tags.sh +385 -0
- package/.claude/skills/cfn-ace-system/format-negative-context.sh +180 -0
- package/.claude/skills/cfn-ace-system/init-indexes.sql +160 -0
- package/.claude/skills/cfn-ace-system/invoke-context-curate.sh +192 -0
- package/.claude/skills/cfn-ace-system/invoke-context-inject.sh +361 -0
- package/.claude/skills/cfn-ace-system/invoke-context-query.sh +139 -0
- package/.claude/skills/cfn-ace-system/invoke-context-reflect.sh +343 -0
- package/.claude/skills/cfn-ace-system/invoke-context-stats.sh +227 -0
- package/.claude/skills/cfn-ace-system/log-merge.sh +67 -0
- package/.claude/skills/cfn-ace-system/monitor-injection-performance.sh +138 -0
- package/.claude/skills/cfn-ace-system/optimize-injection-pipeline.sh +169 -0
- package/.claude/skills/cfn-ace-system/query-anti-patterns.sh +276 -0
- package/.claude/skills/cfn-ace-system/query-contexts.sh +150 -0
- package/.claude/skills/cfn-ace-system/query-reflections.sh +35 -0
- package/.claude/skills/cfn-ace-system/schema/001-create-context-reflections.sql +237 -0
- package/.claude/skills/cfn-ace-system/schema/README.md +723 -0
- package/.claude/skills/cfn-ace-system/schema/SCHEMA_DESIGN_SUMMARY.md +564 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data-simple.sh +62 -0
- package/.claude/skills/cfn-ace-system/schema/populate-test-data.sh +247 -0
- package/.claude/skills/cfn-ace-system/schema/run-migration.sh +231 -0
- package/.claude/skills/cfn-ace-system/schema/validate-schema.sql +280 -0
- package/.claude/skills/cfn-ace-system/score-relevance-adapter.sh +138 -0
- package/.claude/skills/cfn-ace-system/score-relevance.sh +253 -0
- package/.claude/skills/cfn-ace-system/sprint-7-lessons.json +46 -0
- package/.claude/skills/cfn-ace-system/store-reflection.sh +46 -0
- package/.claude/skills/cfn-ace-system/test-ace-skill.sh +312 -0
- package/.claude/skills/cfn-ace-system/track-ab-test.sh +42 -0
- package/.claude/skills/cfn-ace-system/update-reflection.sh +41 -0
- package/.claude/skills/cfn-agent-discovery/SKILL.md +40 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-clean.json +0 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry-fixed.json +19 -0
- package/.claude/skills/cfn-agent-discovery/agents-registry.json +718 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.py +184 -0
- package/.claude/skills/cfn-agent-discovery/discover-agents.sh +87 -0
- package/.claude/skills/cfn-agent-discovery/invoke-registry.sh +11 -0
- package/.claude/skills/cfn-agent-discovery/temp_script.py +0 -0
- package/.claude/skills/cfn-agent-execution/execute-agent.sh +126 -0
- package/.claude/skills/cfn-agent-output-processing/SKILL.md +359 -0
- package/.claude/skills/cfn-agent-selector/SKILL.md +90 -0
- package/.claude/skills/cfn-agent-selector/select-agents.sh +112 -0
- package/.claude/skills/cfn-agent-spawning/SKILL.md +135 -0
- package/.claude/skills/cfn-agent-spawning/agent-selection-guide.md +814 -0
- package/.claude/skills/cfn-agent-spawning/check-dependencies.sh +30 -0
- package/.claude/skills/cfn-agent-spawning/spawn-agent.sh +263 -0
- package/.claude/skills/cfn-agent-spawning/spawn-templates.sh +613 -0
- package/.claude/skills/cfn-analytics/description-refinement-guide.md +164 -0
- package/.claude/skills/cfn-analytics/log-skill-invocation.js +122 -0
- package/.claude/skills/cfn-analytics/run-production-criteria-tests.sh +126 -0
- package/.claude/skills/cfn-analytics/skill-analytics-dashboard.js +113 -0
- package/.claude/skills/cfn-analytics/skill-invocation-hook.sh +28 -0
- package/.claude/skills/cfn-analytics/skill-invocations.sql +58 -0
- package/.claude/skills/cfn-analytics/test-corpus.json +32 -0
- package/.claude/skills/cfn-analytics/test-data-generator.js +115 -0
- package/.claude/skills/cfn-analytics/test-manual-override-rate.js +285 -0
- package/.claude/skills/cfn-analytics/validate-skill-selection.js +188 -0
- package/.claude/skills/cfn-config-management/SKILL.md +34 -0
- package/.claude/skills/cfn-config-management/check-dependencies.sh +56 -0
- package/.claude/skills/cfn-config-management/config.json +32 -0
- package/.claude/skills/cfn-config-management/manage-config.sh +113 -0
- package/.claude/skills/cfn-event-bus/SKILL.md +412 -0
- package/.claude/skills/cfn-event-bus/config.json +111 -0
- package/.claude/skills/cfn-event-bus/eventbus-wrapper.cjs +69 -0
- package/.claude/skills/cfn-event-bus/invoke-event-publish.sh +147 -0
- package/.claude/skills/cfn-event-bus/invoke-event-subscribe.sh +171 -0
- package/.claude/skills/cfn-event-bus/invoke-lifecycle-track.sh +201 -0
- package/.claude/skills/cfn-event-bus/test-event-bus.sh +280 -0
- package/.claude/skills/cfn-fleet-manager/SKILL.md +412 -0
- package/.claude/skills/cfn-fleet-manager/config.json +60 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-allocate.sh +182 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-balance.sh +239 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-metrics.sh +193 -0
- package/.claude/skills/cfn-fleet-manager/invoke-fleet-register.sh +124 -0
- package/.claude/skills/cfn-fleet-manager/test-fleet-manager.sh +345 -0
- package/.claude/skills/cfn-hook-pipeline/SKILL.md +148 -0
- package/.claude/skills/cfn-hook-pipeline/auto-resolve.sh +66 -0
- package/.claude/skills/cfn-hook-pipeline/check-dependencies.sh +40 -0
- package/.claude/skills/cfn-hook-pipeline/feedback-resolver.sh +452 -0
- package/.claude/skills/cfn-hook-pipeline/post-edit-handler.sh +154 -0
- package/.claude/skills/cfn-hook-pipeline/security-scan.json +60 -0
- package/.claude/skills/cfn-hook-pipeline/security-scanner.sh +121 -0
- package/.claude/skills/cfn-hook-pipeline/test-root-warning-resolution.sh +148 -0
- package/.claude/skills/cfn-hybrid-routing/SKILL.md +46 -0
- package/.claude/skills/cfn-hybrid-routing/check-dependencies.sh +52 -0
- package/.claude/skills/cfn-hybrid-routing/config.json +26 -0
- package/.claude/skills/cfn-hybrid-routing/spawn-worker.sh +44 -0
- package/.claude/skills/cfn-loop-orchestration/SKILL.md +299 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/auto-tune-timeouts.sh +228 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/consensus.sh +84 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh +142 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh +359 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/deliverable-verifier.sh +71 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/gate-check.sh +90 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/iteration-manager.sh +87 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/spawn-agents.sh +271 -0
- package/.claude/skills/cfn-loop-orchestration/helpers/timeout-calculator.sh +51 -0
- package/.claude/skills/cfn-loop-orchestration/inject-loop-context.sh +41 -0
- package/.claude/skills/cfn-loop-orchestration/monitor-execution.sh +156 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh +884 -0
- package/.claude/skills/cfn-loop-orchestration/orchestrate.sh.backup +840 -0
- package/.claude/skills/cfn-loop-orchestration/security_utils.sh +99 -0
- package/.claude/skills/cfn-loop-orchestration/test-cfn-orchestration.sh +281 -0
- package/.claude/skills/cfn-loop-orchestration/test-edge-cases.sh +188 -0
- package/.claude/skills/cfn-loop-validation/SKILL.md +353 -0
- package/.claude/skills/cfn-loop-validation/check-dependencies.sh +31 -0
- package/.claude/skills/cfn-loop-validation/config.json +161 -0
- package/.claude/skills/cfn-loop-validation/consensus-calculator.js +477 -0
- package/.claude/skills/cfn-loop-validation/evidence-chain.sql +163 -0
- package/.claude/skills/cfn-loop-validation/examples/README.md +453 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-full-cfn-loop.sh +234 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop2-consensus.sh +132 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-loop3-gate.sh +115 -0
- package/.claude/skills/cfn-loop-validation/examples/coordinator-redis-integration.sh +186 -0
- package/.claude/skills/cfn-loop-validation/orchestrate-cfn-loop.sh +252 -0
- package/.claude/skills/cfn-loop-validation/validate-iteration.sh +134 -0
- package/.claude/skills/cfn-process-lifecycle/SKILL.md +39 -0
- package/.claude/skills/cfn-process-lifecycle/check-dependencies.sh +58 -0
- package/.claude/skills/cfn-process-lifecycle/config.json +39 -0
- package/.claude/skills/cfn-process-lifecycle/process-manager.sh +144 -0
- package/.claude/skills/cfn-product-owner-decision/SKILL.md +332 -0
- package/.claude/skills/cfn-product-owner-decision/execute-decision.sh +176 -0
- package/.claude/skills/cfn-product-owner-decision/parse-decision.sh +66 -0
- package/.claude/skills/cfn-product-owner-decision/validate-deliverables.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/AGENT_LOGGING.md +280 -0
- package/.claude/skills/cfn-redis-coordination/BZPOPMIN_FIX_SUMMARY.md +209 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT.md +57 -0
- package/.claude/skills/cfn-redis-coordination/HEARTBEAT_MONITORING.md +267 -0
- package/.claude/skills/cfn-redis-coordination/LOGGING.md +260 -0
- package/.claude/skills/cfn-redis-coordination/SECURITY_REVIEW.md +25 -0
- package/.claude/skills/cfn-redis-coordination/SHUTDOWN_HANDLING.md +164 -0
- package/.claude/skills/cfn-redis-coordination/SKILL.md +720 -0
- package/.claude/skills/cfn-redis-coordination/agent-log.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/agent-recovery.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/analyze-task-complexity.sh +277 -0
- package/.claude/skills/cfn-redis-coordination/cancel-swarm.sh +221 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-exec.sh +468 -0
- package/.claude/skills/cfn-redis-coordination/cfn-loop-relaunch.sh +29 -0
- package/.claude/skills/cfn-redis-coordination/check-dependencies.sh +32 -0
- package/.claude/skills/cfn-redis-coordination/collect-confidence-scores.sh +179 -0
- package/.claude/skills/cfn-redis-coordination/collect-results.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/complete-swarm.sh +75 -0
- package/.claude/skills/cfn-redis-coordination/config.json +61 -0
- package/.claude/skills/cfn-redis-coordination/data/cfn-loop.db +0 -0
- package/.claude/skills/cfn-redis-coordination/demos/phase4-wake-queue-test-report.md +82 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-bzpopmin-fix.sh +274 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-cancel-swarm.sh +276 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-dlq.sh +129 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-iteration-feedback.sh +320 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-orchestrator.sh +249 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4-unix.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake-phase4.sh +163 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-priority-wake.sh +138 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quick-fix.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-absolute.sh +45 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-fallback.sh +68 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-percentage.sh +56 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum-with-retry.sh +81 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-quorum.sh +57 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown-handling.sh +187 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-shutdown.sh +160 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils-unix.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-utils.sh +97 -0
- package/.claude/skills/cfn-redis-coordination/demos/test-waiting-mode.sh +59 -0
- package/.claude/skills/cfn-redis-coordination/examples/README.md +73 -0
- package/.claude/skills/cfn-redis-coordination/examples/grafana-dashboard.json +352 -0
- package/.claude/skills/cfn-redis-coordination/examples/hierarchical-pattern.sh +127 -0
- package/.claude/skills/cfn-redis-coordination/examples/mesh-pattern.sh +171 -0
- package/.claude/skills/cfn-redis-coordination/examples/timeout-handling.sh +227 -0
- package/.claude/skills/cfn-redis-coordination/examples/waiting-mode-pattern.sh +239 -0
- package/.claude/skills/cfn-redis-coordination/execute-product-owner-decision.sh +258 -0
- package/.claude/skills/cfn-redis-coordination/get-agent-timeout.sh +177 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-functions.sh +137 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat-protocol.md +106 -0
- package/.claude/skills/cfn-redis-coordination/heartbeat.sh +126 -0
- package/.claude/skills/cfn-redis-coordination/init-swarm.sh +148 -0
- package/.claude/skills/cfn-redis-coordination/invoke-redis-pattern.sh +220 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh +283 -0
- package/.claude/skills/cfn-redis-coordination/invoke-waiting-mode.sh.backup-p7 +423 -0
- package/.claude/skills/cfn-redis-coordination/list-active-swarms.sh +147 -0
- package/.claude/skills/cfn-redis-coordination/log-event.sh +109 -0
- package/.claude/skills/cfn-redis-coordination/metrics-export.sh +674 -0
- package/.claude/skills/cfn-redis-coordination/metrics-schema.json +66 -0
- package/.claude/skills/cfn-redis-coordination/metrics-storage.md +31 -0
- package/.claude/skills/cfn-redis-coordination/monitor-cfn-violations.sh +391 -0
- package/.claude/skills/cfn-redis-coordination/monitor-heartbeats.sh +101 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop-v3.sh +141 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh +31 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup +38 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-1761167675 +1672 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-p5 +1604 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase1 +1550 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase2 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.backup-phase3 +1621 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.bak +0 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.broken +1627 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.corrupted +80 -0
- package/.claude/skills/cfn-redis-coordination/orchestrate-cfn-loop.sh.deprecated +1864 -0
- package/.claude/skills/cfn-redis-coordination/priority-wake-mechanism.md +75 -0
- package/.claude/skills/cfn-redis-coordination/priority_wake.py +134 -0
- package/.claude/skills/cfn-redis-coordination/query-dlq.sh +162 -0
- package/.claude/skills/cfn-redis-coordination/query-logs.sh +103 -0
- package/.claude/skills/cfn-redis-coordination/redis-pattern.sh +619 -0
- package/.claude/skills/cfn-redis-coordination/retrieve-context.sh +58 -0
- package/.claude/skills/cfn-redis-coordination/select-specialist-agent.sh +371 -0
- package/.claude/skills/cfn-redis-coordination/semantic-match-tfidf.py +252 -0
- package/.claude/skills/cfn-redis-coordination/send-heartbeat.sh +165 -0
- package/.claude/skills/cfn-redis-coordination/signal.sh +38 -0
- package/.claude/skills/cfn-redis-coordination/store-context.sh +86 -0
- package/.claude/skills/cfn-redis-coordination/store-epic-context.sh +123 -0
- package/.claude/skills/cfn-redis-coordination/test-context-injection.sh +354 -0
- package/.claude/skills/cfn-redis-coordination/test-timeout-enforcement.sh +513 -0
- package/.claude/skills/cfn-redis-coordination/tests/convert-line-endings.sh +15 -0
- package/.claude/skills/cfn-redis-coordination/tests/dlq-functionality-test.sh +102 -0
- package/.claude/skills/cfn-redis-coordination/tests/edge-cases-test.sh +99 -0
- package/.claude/skills/cfn-redis-coordination/tests/integration-test.sh +170 -0
- package/.claude/skills/cfn-redis-coordination/tests/retry-mechanism-test.sh +82 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-test-suite.sh +92 -0
- package/.claude/skills/cfn-redis-coordination/tests/run-tests.sh +4 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-monitoring.sh +418 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-heartbeat-simple.sh +124 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-primitives.sh +166 -0
- package/.claude/skills/cfn-redis-coordination/tests/test-utils.sh +54 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_coordination_primitives.sh.deprecated +20 -0
- package/.claude/skills/cfn-redis-coordination/tests/test_utils.sh +49 -0
- package/.claude/skills/cfn-redis-coordination/v2_modularization/core_orchestration.sh +76 -0
- package/.claude/skills/cfn-redis-coordination/validate-parameters.sh +492 -0
- package/.claude/skills/cfn-sqlite-memory/IMPLEMENTATION_REPORT.md +393 -0
- package/.claude/skills/cfn-sqlite-memory/QUICK_REFERENCE.md +204 -0
- package/.claude/skills/cfn-sqlite-memory/SKILL.md +415 -0
- package/.claude/skills/cfn-sqlite-memory/acl-queries.sql +452 -0
- package/.claude/skills/cfn-sqlite-memory/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-sqlite-memory/config.json +45 -0
- package/.claude/skills/cfn-sqlite-memory/memory-cli.sh +88 -0
- package/.claude/skills/cfn-sqlite-memory/test-state-persistence.js +187 -0
- package/.claude/skills/cfn-sqlite-memory/ttl-cleanup.sh +274 -0
- package/.claude/skills/cfn-test-execution/SKILL.md +128 -0
- package/.claude/skills/cfn-test-execution/check-dependencies.sh +36 -0
- package/.claude/skills/cfn-test-execution/test-cache-reader.sh +134 -0
- package/.claude/skills/cfn-test-execution/test-concurrent-conflicts.sh +115 -0
- package/.claude/skills/cfn-test-execution/test-coordinator-pattern.sh +109 -0
- package/.claude/skills/cfn-transparency-middleware/Cargo.toml +18 -0
- package/.claude/skills/cfn-transparency-middleware/SECURITY.md +41 -0
- package/.claude/skills/cfn-transparency-middleware/SKILL.md +91 -0
- package/.claude/skills/cfn-transparency-middleware/TEST_RESULTS.md +174 -0
- package/.claude/skills/cfn-transparency-middleware/config.json +31 -0
- package/.claude/skills/cfn-transparency-middleware/examples/basic-usage.ts +39 -0
- package/.claude/skills/cfn-transparency-middleware/examples/batch-processing.ts +52 -0
- package/.claude/skills/cfn-transparency-middleware/examples/custom-filtering.ts +61 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-filter.sh +98 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-init.sh +224 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-level.sh +333 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-metrics.sh +345 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-observe.sh +140 -0
- package/.claude/skills/cfn-transparency-middleware/invoke-transparency-stop.sh +235 -0
- package/.claude/skills/cfn-transparency-middleware/memory_query.rs +85 -0
- package/.claude/skills/cfn-transparency-middleware/memory_repository.rs +140 -0
- package/.claude/skills/cfn-transparency-middleware/memory_schema.rs +64 -0
- package/.claude/skills/cfn-transparency-middleware/middleware-config.sh +29 -0
- package/.claude/skills/cfn-transparency-middleware/performance-benchmark.sh +79 -0
- package/.claude/skills/cfn-transparency-middleware/test-e2e.sh +406 -0
- package/.claude/skills/cfn-transparency-middleware/test-integration.sh +162 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh +368 -0
- package/.claude/skills/cfn-transparency-middleware/test-transparency-skill.sh.unix +126 -0
- package/.claude/skills/cfn-transparency-middleware/tests/input-validation.sh +93 -0
- package/.claude/skills/cfn-transparency-middleware/wrap-agent.sh +132 -0
- package/.claude/skills/cfn-webapp-testing/SCREENSHOT_NAMING_CONVENTION.md +547 -0
- package/.claude/skills/cfn-webapp-testing/SKILL.md +877 -0
- package/.claude/skills/cfn-webapp-testing/capture-screenshot.sh +238 -0
- package/.claude/skills/cfn-webapp-testing/cfn-loop-integration.sh +265 -0
- package/.claude/skills/cfn-webapp-testing/compare-screenshots.sh +199 -0
- package/.claude/skills/cfn-webapp-testing/init-storage.sh +150 -0
- package/.claude/skills/cfn-webapp-testing/set-baseline.sh +196 -0
- package/.claude/skills/cfn-webapp-testing/test-webapp-testing.sh +233 -0
- package/README.md +51 -2
- package/dist/ace/ace-reflector.js +109 -10
- package/dist/ace/ace-reflector.js.map +1 -1
- package/dist/agents/agent-loader.js +165 -146
- package/dist/agents/agent-loader.js.map +1 -1
- package/dist/cli/agent-executor.js +1 -1
- package/dist/cli/agent-executor.js.map +1 -1
- package/dist/cli/config-manager.js +109 -91
- package/dist/cli/config-manager.js.map +1 -1
- package/package.json +43 -7
- package/readme/README.md +15 -4
- package/scripts/init-project.js +84 -29
- package/scripts/run-marketing-tests.sh +43 -0
- package/scripts/update_paths.sh +47 -0
- package/tools/install-lizard.sh +37 -0
- package/tools/simple-complexity.sh +44 -0
- package/.claude/agents/cfn-dev-team/developers/coder.md +0 -270
- package/.claude/agents/cfn-dev-team/developers/state-architect.md +0 -127
- package/.claude/agents/cfn-dev-team/reviewers/code-quality-validator.md +0 -128
- /package/.claude/agents/cfn-dev-team/developers/{ui-designer.md → frontend/ui-designer.md} +0 -0
- /package/.claude/agents/cfn-dev-team/{coordinators → product-owners}/product-owner-agent.md +0 -0
|
@@ -0,0 +1,723 @@
|
|
|
1
|
+
# ACE System Database Schema Documentation
|
|
2
|
+
|
|
3
|
+
**Version:** 1.0.0
|
|
4
|
+
**Created:** 2025-10-29
|
|
5
|
+
**Epic:** EPIC-ACE-001 Phase 1.2 - Context Lookup Helper
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
This directory contains the database schema for the ACE (Adaptive Context Extension) system, which enables CFN Loops to learn from past executions and reuse context across sprints.
|
|
10
|
+
|
|
11
|
+
## Files
|
|
12
|
+
|
|
13
|
+
| File | Purpose | Usage |
|
|
14
|
+
|------|---------|-------|
|
|
15
|
+
| `001-create-context-reflections.sql` | Main schema DDL | Applied by `run-migration.sh` |
|
|
16
|
+
| `run-migration.sh` | Migration runner | `./run-migration.sh` |
|
|
17
|
+
| `populate-test-data.sh` | Sample data generator | `./populate-test-data.sh --count 10` |
|
|
18
|
+
| `validate-schema.sql` | Query validation tests | `sqlite3 db.db < validate-schema.sql` |
|
|
19
|
+
| `README.md` | This documentation | - |
|
|
20
|
+
|
|
21
|
+
## Schema Design
|
|
22
|
+
|
|
23
|
+
### Core Tables
|
|
24
|
+
|
|
25
|
+
#### context_reflections
|
|
26
|
+
|
|
27
|
+
Primary table storing cognitive reflections from CFN Loop executions.
|
|
28
|
+
|
|
29
|
+
**Purpose:** Enable context lookup, anti-pattern detection, and pattern analysis.
|
|
30
|
+
|
|
31
|
+
**Key Columns:**
|
|
32
|
+
|
|
33
|
+
| Column | Type | Purpose | Indexed |
|
|
34
|
+
|--------|------|---------|---------|
|
|
35
|
+
| `id` | TEXT | Primary key (refl-{timestamp}-{random}) | ✓ (PK) |
|
|
36
|
+
| `reflection_type` | TEXT | strategy, anti-pattern, edge-case, pattern, warning, failure | ✓ |
|
|
37
|
+
| `task_id` | TEXT | Reference to original CFN Loop task | ✓ |
|
|
38
|
+
| `swarm_id` | TEXT | Swarm that executed the task | ✓ |
|
|
39
|
+
| `execution_trace` | TEXT (JSON) | Iterations, loops, timeline | - |
|
|
40
|
+
| `feedback_signals` | TEXT (JSON) | Loop 2 feedback, Product Owner decision | - |
|
|
41
|
+
| `extracted_lessons` | TEXT (JSON) | Strategies, anti-patterns, edge cases | - |
|
|
42
|
+
| `metadata` | TEXT (JSON) | Tags, domain, keywords, severity | ✓ (JSON) |
|
|
43
|
+
| `curator_status` | TEXT | pending, curated, merged, rejected, archived | ✓ |
|
|
44
|
+
| `confidence` | REAL | Self-confidence score (0.0-1.0) | ✓ |
|
|
45
|
+
| `success_count` | INTEGER | Times this context led to success | ✓ |
|
|
46
|
+
| `total_count` | INTEGER | Times this context was used | ✓ |
|
|
47
|
+
| `created_at` | DATETIME | Reflection timestamp | ✓ |
|
|
48
|
+
|
|
49
|
+
**JSON Schema Examples:**
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
// execution_trace
|
|
53
|
+
{
|
|
54
|
+
"iterations": 2,
|
|
55
|
+
"loops": ["loop3", "loop2"],
|
|
56
|
+
"timeline": ["start", "loop3", "loop2", "product-owner", "complete"],
|
|
57
|
+
"duration_seconds": 180
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// feedback_signals
|
|
61
|
+
{
|
|
62
|
+
"loop2_feedback": [
|
|
63
|
+
"Add error handling for edge cases",
|
|
64
|
+
"Improve test coverage"
|
|
65
|
+
],
|
|
66
|
+
"product_owner_decision": "PROCEED",
|
|
67
|
+
"validator_consensus": 0.92
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// extracted_lessons
|
|
71
|
+
{
|
|
72
|
+
"strategies": [
|
|
73
|
+
{
|
|
74
|
+
"title": "JWT + Redis Session Pattern",
|
|
75
|
+
"description": "Use short-lived JWT with Redis for token revocation",
|
|
76
|
+
"confidence": 0.95,
|
|
77
|
+
"tags": ["authentication", "security", "session"]
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"antiPatterns": [
|
|
81
|
+
{
|
|
82
|
+
"title": "Long-lived Access Tokens",
|
|
83
|
+
"description": "Avoid tokens that last >15 minutes without refresh",
|
|
84
|
+
"severity": "critical",
|
|
85
|
+
"tags": ["security", "jwt"]
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"edgeCases": [
|
|
89
|
+
{
|
|
90
|
+
"title": "Race condition in concurrent token refresh",
|
|
91
|
+
"description": "Use Redis locking to prevent duplicate refresh",
|
|
92
|
+
"tags": ["concurrency", "redis", "jwt"]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// metadata
|
|
98
|
+
{
|
|
99
|
+
"domain": ["backend", "security"],
|
|
100
|
+
"keywords": ["jwt", "authentication", "redis", "session", "token"],
|
|
101
|
+
"tags": ["backend", "security", "authentication"],
|
|
102
|
+
"severity": "medium",
|
|
103
|
+
"failure_reason": null,
|
|
104
|
+
"agent_types": ["backend-dev", "security-specialist"]
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
#### ace_telemetry
|
|
109
|
+
|
|
110
|
+
Performance monitoring table for ACE operations.
|
|
111
|
+
|
|
112
|
+
**Purpose:** Track query performance, reflection timing, and operation success rates.
|
|
113
|
+
|
|
114
|
+
**Key Columns:**
|
|
115
|
+
|
|
116
|
+
| Column | Type | Purpose |
|
|
117
|
+
|--------|------|---------|
|
|
118
|
+
| `operation` | TEXT | reflect, query, inject, curate, pattern_detect |
|
|
119
|
+
| `duration_ms` | INTEGER | Operation duration in milliseconds |
|
|
120
|
+
| `success` | BOOLEAN | Operation success/failure |
|
|
121
|
+
| `context_size` | INTEGER | Size of context in bytes |
|
|
122
|
+
| `results_count` | INTEGER | Number of results returned (for queries) |
|
|
123
|
+
| `timestamp` | INTEGER | Unix timestamp |
|
|
124
|
+
|
|
125
|
+
### Views
|
|
126
|
+
|
|
127
|
+
#### v_active_lessons
|
|
128
|
+
|
|
129
|
+
**Purpose:** Ready-to-use curated lessons for context injection.
|
|
130
|
+
|
|
131
|
+
**Filters:** curator_status = 'curated' AND confidence >= 0.70
|
|
132
|
+
|
|
133
|
+
**Columns:** id, reflection_type, domain, tags, keywords, extracted_lessons, confidence, success_rate, created_at
|
|
134
|
+
|
|
135
|
+
**Usage:**
|
|
136
|
+
```sql
|
|
137
|
+
SELECT * FROM v_active_lessons
|
|
138
|
+
WHERE domain LIKE '%backend%'
|
|
139
|
+
ORDER BY confidence DESC
|
|
140
|
+
LIMIT 5;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
#### v_high_impact_patterns
|
|
144
|
+
|
|
145
|
+
**Purpose:** Most effective patterns (frequently used, high success rate).
|
|
146
|
+
|
|
147
|
+
**Filters:** curator_status = 'curated' AND total_count >= 3 AND success_rate >= 0.80
|
|
148
|
+
|
|
149
|
+
**Columns:** id, domain, strategy_title, success_count, success_rate, last_used_at
|
|
150
|
+
|
|
151
|
+
**Top 10 by:** success_count DESC, success_rate DESC
|
|
152
|
+
|
|
153
|
+
**Usage:**
|
|
154
|
+
```sql
|
|
155
|
+
SELECT * FROM v_high_impact_patterns;
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
#### v_recent_failures
|
|
159
|
+
|
|
160
|
+
**Purpose:** Anti-patterns and failures from last 30 days.
|
|
161
|
+
|
|
162
|
+
**Filters:** reflection_type IN (anti-pattern, failure, warning) AND created_at > (now - 30 days)
|
|
163
|
+
|
|
164
|
+
**Columns:** id, task_id, domain, failure_reason, severity, confidence, created_at
|
|
165
|
+
|
|
166
|
+
**Ordered by:** severity (critical first), then created_at DESC
|
|
167
|
+
|
|
168
|
+
**Usage:**
|
|
169
|
+
```sql
|
|
170
|
+
SELECT * FROM v_recent_failures
|
|
171
|
+
WHERE domain = 'security'
|
|
172
|
+
ORDER BY severity;
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## Indexes
|
|
176
|
+
|
|
177
|
+
### Primary Indexes (Single Column)
|
|
178
|
+
|
|
179
|
+
| Index | Column | Purpose | Query Pattern |
|
|
180
|
+
|-------|--------|---------|---------------|
|
|
181
|
+
| `idx_context_reflections_task` | task_id | Task lookup | Get reflections for specific task |
|
|
182
|
+
| `idx_context_reflections_swarm` | swarm_id | Swarm filtering | Get all reflections from swarm |
|
|
183
|
+
| `idx_context_reflections_status` | curator_status | Curator workflow | Find pending/curated items |
|
|
184
|
+
| `idx_context_reflections_created` | created_at DESC | Recency scoring | Most recent reflections |
|
|
185
|
+
| `idx_context_reflections_confidence` | confidence DESC | Quality filtering | High-confidence contexts |
|
|
186
|
+
| `idx_context_reflections_type` | reflection_type | Type filtering | Get strategies vs anti-patterns |
|
|
187
|
+
|
|
188
|
+
### Composite Indexes
|
|
189
|
+
|
|
190
|
+
| Index | Columns | Purpose | Query Pattern |
|
|
191
|
+
|-------|---------|---------|---------------|
|
|
192
|
+
| `idx_context_lookup` | curator_status, confidence DESC, created_at DESC | **Primary context lookup** | Find curated, high-confidence, recent contexts |
|
|
193
|
+
| `idx_context_reflections_success` | success_count, total_count | Success rate analysis | High-impact patterns |
|
|
194
|
+
|
|
195
|
+
### JSON Extraction Indexes
|
|
196
|
+
|
|
197
|
+
| Index | JSON Path | Purpose | Query Pattern |
|
|
198
|
+
|-------|-----------|---------|---------------|
|
|
199
|
+
| `idx_metadata_tags` | `$.tags` | Tag matching | Find contexts by tag |
|
|
200
|
+
| `idx_metadata_domain` | `$.domain` | Domain filtering | Backend vs frontend contexts |
|
|
201
|
+
| `idx_metadata_keywords` | `$.keywords` | Keyword search | Similarity matching |
|
|
202
|
+
|
|
203
|
+
## Query Patterns
|
|
204
|
+
|
|
205
|
+
### 1. Context Lookup (Primary Use Case)
|
|
206
|
+
|
|
207
|
+
**Scenario:** Loop 0 needs similar past contexts before Loop 3 execution.
|
|
208
|
+
|
|
209
|
+
```sql
|
|
210
|
+
-- Find curated backend strategies with high confidence
|
|
211
|
+
SELECT
|
|
212
|
+
id,
|
|
213
|
+
reflection_type,
|
|
214
|
+
json_extract(metadata, '$.domain') as domain,
|
|
215
|
+
json_extract(metadata, '$.keywords') as keywords,
|
|
216
|
+
extracted_lessons,
|
|
217
|
+
confidence,
|
|
218
|
+
success_count,
|
|
219
|
+
total_count,
|
|
220
|
+
CAST(success_count AS REAL) / NULLIF(total_count, 0) as success_rate,
|
|
221
|
+
created_at
|
|
222
|
+
FROM context_reflections
|
|
223
|
+
WHERE curator_status = 'curated'
|
|
224
|
+
AND confidence >= 0.70
|
|
225
|
+
AND json_extract(metadata, '$.domain') LIKE '%backend%'
|
|
226
|
+
ORDER BY confidence DESC, created_at DESC
|
|
227
|
+
LIMIT 5;
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Index Used:** `idx_context_lookup` (composite)
|
|
231
|
+
|
|
232
|
+
**Expected Performance:** <100ms with 1000+ reflections
|
|
233
|
+
|
|
234
|
+
### 2. Keyword Similarity
|
|
235
|
+
|
|
236
|
+
**Scenario:** Find contexts matching user keywords (authentication, jwt, redis).
|
|
237
|
+
|
|
238
|
+
```sql
|
|
239
|
+
-- Find contexts with authentication-related keywords
|
|
240
|
+
SELECT
|
|
241
|
+
id,
|
|
242
|
+
reflection_type,
|
|
243
|
+
json_extract(metadata, '$.keywords') as keywords,
|
|
244
|
+
confidence,
|
|
245
|
+
created_at
|
|
246
|
+
FROM context_reflections
|
|
247
|
+
WHERE (
|
|
248
|
+
json_extract(metadata, '$.keywords') LIKE '%authentication%'
|
|
249
|
+
OR json_extract(metadata, '$.keywords') LIKE '%jwt%'
|
|
250
|
+
OR json_extract(metadata, '$.keywords') LIKE '%redis%'
|
|
251
|
+
)
|
|
252
|
+
AND curator_status = 'curated'
|
|
253
|
+
ORDER BY confidence DESC, created_at DESC
|
|
254
|
+
LIMIT 5;
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Index Used:** `idx_metadata_keywords` (JSON extraction)
|
|
258
|
+
|
|
259
|
+
**Expected Performance:** <100ms
|
|
260
|
+
|
|
261
|
+
### 3. Anti-Pattern Detection
|
|
262
|
+
|
|
263
|
+
**Scenario:** Warn agents about past failures in similar domain.
|
|
264
|
+
|
|
265
|
+
```sql
|
|
266
|
+
-- Find critical anti-patterns in security domain
|
|
267
|
+
SELECT
|
|
268
|
+
id,
|
|
269
|
+
task_id,
|
|
270
|
+
json_extract(metadata, '$.domain') as domain,
|
|
271
|
+
json_extract(metadata, '$.failure_reason') as failure_reason,
|
|
272
|
+
json_extract(metadata, '$.severity') as severity,
|
|
273
|
+
extracted_lessons,
|
|
274
|
+
confidence,
|
|
275
|
+
created_at
|
|
276
|
+
FROM context_reflections
|
|
277
|
+
WHERE reflection_type = 'anti-pattern'
|
|
278
|
+
AND json_extract(metadata, '$.severity') = 'critical'
|
|
279
|
+
AND json_extract(metadata, '$.domain') LIKE '%security%'
|
|
280
|
+
ORDER BY created_at DESC
|
|
281
|
+
LIMIT 5;
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
**Index Used:** `idx_context_reflections_type` + `idx_metadata_domain`
|
|
285
|
+
|
|
286
|
+
**Expected Performance:** <100ms
|
|
287
|
+
|
|
288
|
+
### 4. Success Rate Analysis
|
|
289
|
+
|
|
290
|
+
**Scenario:** Dashboard showing most effective patterns.
|
|
291
|
+
|
|
292
|
+
```sql
|
|
293
|
+
-- Find high-impact patterns (used 3+ times, 80%+ success rate)
|
|
294
|
+
SELECT
|
|
295
|
+
id,
|
|
296
|
+
reflection_type,
|
|
297
|
+
json_extract(metadata, '$.domain') as domain,
|
|
298
|
+
json_extract(extracted_lessons, '$.strategies[0].title') as strategy_title,
|
|
299
|
+
confidence,
|
|
300
|
+
success_count,
|
|
301
|
+
total_count,
|
|
302
|
+
CAST(success_count AS REAL) / NULLIF(total_count, 0) as success_rate
|
|
303
|
+
FROM context_reflections
|
|
304
|
+
WHERE total_count >= 3
|
|
305
|
+
AND CAST(success_count AS REAL) / NULLIF(total_count, 0) >= 0.80
|
|
306
|
+
AND curator_status = 'curated'
|
|
307
|
+
ORDER BY success_count DESC, success_rate DESC
|
|
308
|
+
LIMIT 10;
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
**Index Used:** `idx_context_reflections_success` (composite)
|
|
312
|
+
|
|
313
|
+
**Expected Performance:** <50ms
|
|
314
|
+
|
|
315
|
+
### 5. Pattern Detection (Weekly Analysis)
|
|
316
|
+
|
|
317
|
+
**Scenario:** Find recurring failures for systemic improvements.
|
|
318
|
+
|
|
319
|
+
```sql
|
|
320
|
+
-- Group failures by reason in last 30 days
|
|
321
|
+
SELECT
|
|
322
|
+
json_extract(metadata, '$.failure_reason') as reason,
|
|
323
|
+
json_extract(metadata, '$.domain') as domain,
|
|
324
|
+
COUNT(*) as occurrences,
|
|
325
|
+
json_group_array(task_id) as affected_sprints,
|
|
326
|
+
AVG(json_extract(execution_trace, '$.iterations')) as avg_iterations
|
|
327
|
+
FROM context_reflections
|
|
328
|
+
WHERE reflection_type IN ('failure', 'warning', 'anti-pattern')
|
|
329
|
+
AND created_at > datetime('now', '-30 days')
|
|
330
|
+
GROUP BY reason, domain
|
|
331
|
+
HAVING occurrences >= 3
|
|
332
|
+
ORDER BY occurrences DESC, avg_iterations DESC;
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**Index Used:** `idx_context_reflections_type` + `idx_context_reflections_created`
|
|
336
|
+
|
|
337
|
+
**Expected Performance:** <200ms (complex aggregation)
|
|
338
|
+
|
|
339
|
+
## Performance Optimization
|
|
340
|
+
|
|
341
|
+
### SQLite Settings
|
|
342
|
+
|
|
343
|
+
The schema includes these performance optimizations:
|
|
344
|
+
|
|
345
|
+
```sql
|
|
346
|
+
PRAGMA journal_mode = WAL; -- Write-Ahead Logging (better concurrency)
|
|
347
|
+
PRAGMA temp_store = MEMORY; -- Use RAM for temp tables
|
|
348
|
+
PRAGMA cache_size = -65536; -- 64MB cache
|
|
349
|
+
PRAGMA synchronous = NORMAL; -- Balance performance/safety
|
|
350
|
+
PRAGMA page_size = 8192; -- Optimize for DDR5-6400 bandwidth
|
|
351
|
+
PRAGMA optimize; -- Enable query optimizer
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Expected Performance Targets
|
|
355
|
+
|
|
356
|
+
| Operation | Target | Notes |
|
|
357
|
+
|-----------|--------|-------|
|
|
358
|
+
| Context Lookup | <100ms | With 1000+ reflections |
|
|
359
|
+
| Keyword Search | <100ms | JSON extraction |
|
|
360
|
+
| Anti-Pattern Query | <100ms | Filtered by type + domain |
|
|
361
|
+
| Success Rate Analysis | <50ms | Pre-indexed |
|
|
362
|
+
| Pattern Detection | <200ms | Complex aggregation |
|
|
363
|
+
| Reflection Insert | <10ms | Single row |
|
|
364
|
+
|
|
365
|
+
### Scaling Considerations
|
|
366
|
+
|
|
367
|
+
**Current Capacity:** 1000-10,000 reflections (expected: 50-100 reflections/month)
|
|
368
|
+
|
|
369
|
+
**Storage Growth:** ~10-20 KB per reflection (10 MB/month at 100 reflections/month)
|
|
370
|
+
|
|
371
|
+
**Cleanup Strategy:** TTL of 90 days for low-confidence (<0.70) reflections
|
|
372
|
+
|
|
373
|
+
**Archive Policy:** Max 1000 reflections, archive oldest when limit reached
|
|
374
|
+
|
|
375
|
+
## Usage Instructions
|
|
376
|
+
|
|
377
|
+
### 1. Initialize Database
|
|
378
|
+
|
|
379
|
+
```bash
|
|
380
|
+
# Navigate to schema directory
|
|
381
|
+
cd .claude/skills/cfn-ace-system/schema
|
|
382
|
+
|
|
383
|
+
# Run migration (creates tables, indexes, views)
|
|
384
|
+
./run-migration.sh
|
|
385
|
+
|
|
386
|
+
# Output:
|
|
387
|
+
# === ACE System Database Migration ===
|
|
388
|
+
# Database: .artifacts/database/swarm-memory.db
|
|
389
|
+
# Current schema version: 0
|
|
390
|
+
# Looking for migrations in: /path/to/schema
|
|
391
|
+
# ✓ Applied migration: 001-create-context-reflections
|
|
392
|
+
# === Migration Verification ===
|
|
393
|
+
# ✓ context_reflections table exists (15 indexes)
|
|
394
|
+
# ✓ ace_telemetry table exists
|
|
395
|
+
# ✓ 3 views created
|
|
396
|
+
# Final schema version: 1
|
|
397
|
+
# === Migration Complete ===
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
### 2. Populate Test Data
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
# Generate 10 sample reflections
|
|
404
|
+
./populate-test-data.sh --count 10
|
|
405
|
+
|
|
406
|
+
# Generate 50 reflections and clean existing data
|
|
407
|
+
./populate-test-data.sh --count 50 --clean
|
|
408
|
+
|
|
409
|
+
# Output:
|
|
410
|
+
# === ACE System: Populating Test Data ===
|
|
411
|
+
# Database: .artifacts/database/swarm-memory.db
|
|
412
|
+
# Reflections to generate: 10
|
|
413
|
+
# ✓ Generated reflection 1: strategy (backend, confidence=0.92)
|
|
414
|
+
# ✓ Generated reflection 2: anti-pattern (security, confidence=0.58)
|
|
415
|
+
# ...
|
|
416
|
+
# === Test Data Summary ===
|
|
417
|
+
# reflection_type count avg_confidence total_successes total_uses
|
|
418
|
+
# --------------- ----- -------------- --------------- ----------
|
|
419
|
+
# strategy 7 0.89 52 78
|
|
420
|
+
# anti-pattern 2 0.52 0 15
|
|
421
|
+
# edge-case 1 0.81 3 5
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### 3. Validate Schema
|
|
425
|
+
|
|
426
|
+
```bash
|
|
427
|
+
# Run validation queries
|
|
428
|
+
sqlite3 .artifacts/database/swarm-memory.db < validate-schema.sql
|
|
429
|
+
|
|
430
|
+
# Output includes:
|
|
431
|
+
# - Table verification (column counts)
|
|
432
|
+
# - Index verification (15 indexes)
|
|
433
|
+
# - View verification (3 views)
|
|
434
|
+
# - Query plan analysis (EXPLAIN QUERY PLAN)
|
|
435
|
+
# - Schema statistics
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### 4. Query Examples
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
# Find high-confidence backend strategies
|
|
442
|
+
sqlite3 .artifacts/database/swarm-memory.db <<'EOF'
|
|
443
|
+
SELECT
|
|
444
|
+
id,
|
|
445
|
+
json_extract(extracted_lessons, '$.strategies[0].title') as strategy,
|
|
446
|
+
confidence,
|
|
447
|
+
success_count
|
|
448
|
+
FROM v_active_lessons
|
|
449
|
+
WHERE domain LIKE '%backend%'
|
|
450
|
+
ORDER BY confidence DESC
|
|
451
|
+
LIMIT 3;
|
|
452
|
+
EOF
|
|
453
|
+
|
|
454
|
+
# Check telemetry performance
|
|
455
|
+
sqlite3 .artifacts/database/swarm-memory.db <<'EOF'
|
|
456
|
+
SELECT
|
|
457
|
+
operation,
|
|
458
|
+
COUNT(*) as count,
|
|
459
|
+
ROUND(AVG(duration_ms), 2) as avg_duration_ms,
|
|
460
|
+
MIN(duration_ms) as min_ms,
|
|
461
|
+
MAX(duration_ms) as max_ms
|
|
462
|
+
FROM ace_telemetry
|
|
463
|
+
GROUP BY operation
|
|
464
|
+
ORDER BY avg_duration_ms DESC;
|
|
465
|
+
EOF
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
## Integration with CFN Loop
|
|
469
|
+
|
|
470
|
+
### Loop 0: Context Lookup
|
|
471
|
+
|
|
472
|
+
**Script:** `.claude/skills/cfn-loop-orchestration/helpers/context-lookup.sh`
|
|
473
|
+
|
|
474
|
+
**Workflow:**
|
|
475
|
+
1. Extract keywords from task description
|
|
476
|
+
2. Classify domain (frontend, backend, security, etc.)
|
|
477
|
+
3. Query `context_reflections` for similar contexts
|
|
478
|
+
4. Store results in Redis: `cfn_loop:{TASK_ID}:historical_context`
|
|
479
|
+
|
|
480
|
+
**Query Used:** Context Lookup pattern (see above)
|
|
481
|
+
|
|
482
|
+
### Loop 3: Context Injection
|
|
483
|
+
|
|
484
|
+
**Script:** `.claude/skills/cfn-loop-orchestration/helpers/context-injection.sh`
|
|
485
|
+
|
|
486
|
+
**Workflow:**
|
|
487
|
+
1. Retrieve historical context from Redis
|
|
488
|
+
2. Filter lessons by agent type
|
|
489
|
+
3. Format as markdown (strategies, anti-patterns, edge cases)
|
|
490
|
+
4. Merge with agent spawn context
|
|
491
|
+
|
|
492
|
+
**Data Source:** `v_active_lessons` view
|
|
493
|
+
|
|
494
|
+
### Loop 5: Reflection
|
|
495
|
+
|
|
496
|
+
**Script:** `.claude/skills/cfn-ace-system/invoke-context-reflect.sh`
|
|
497
|
+
|
|
498
|
+
**Workflow:**
|
|
499
|
+
1. Extract execution trace from orchestrator
|
|
500
|
+
2. Parse Loop 2 feedback signals
|
|
501
|
+
3. Generate extracted_lessons JSON
|
|
502
|
+
4. Calculate confidence and metadata
|
|
503
|
+
5. Insert into `context_reflections` table
|
|
504
|
+
|
|
505
|
+
**Status:** curator_status = 'pending' (curated by Loop 6)
|
|
506
|
+
|
|
507
|
+
## Migration Management
|
|
508
|
+
|
|
509
|
+
### Version Control
|
|
510
|
+
|
|
511
|
+
Schema versions tracked in `schema_version` table:
|
|
512
|
+
|
|
513
|
+
```sql
|
|
514
|
+
SELECT * FROM schema_version;
|
|
515
|
+
|
|
516
|
+
-- Output:
|
|
517
|
+
-- version applied_at description
|
|
518
|
+
-- ------- ------------------- -----------------------------------------
|
|
519
|
+
-- 1 2025-10-29 10:30:00 Initial ACE context_reflections schema
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
### Rollback Strategy
|
|
523
|
+
|
|
524
|
+
**Manual Rollback (if migration fails):**
|
|
525
|
+
|
|
526
|
+
```bash
|
|
527
|
+
# 1. Backup database
|
|
528
|
+
cp .artifacts/database/swarm-memory.db .artifacts/database/swarm-memory.db.backup
|
|
529
|
+
|
|
530
|
+
# 2. Drop tables
|
|
531
|
+
sqlite3 .artifacts/database/swarm-memory.db <<'EOF'
|
|
532
|
+
DROP TABLE IF EXISTS context_reflections;
|
|
533
|
+
DROP TABLE IF EXISTS ace_telemetry;
|
|
534
|
+
DROP VIEW IF EXISTS v_active_lessons;
|
|
535
|
+
DROP VIEW IF EXISTS v_high_impact_patterns;
|
|
536
|
+
DROP VIEW IF EXISTS v_recent_failures;
|
|
537
|
+
DELETE FROM schema_version WHERE version = 1;
|
|
538
|
+
EOF
|
|
539
|
+
|
|
540
|
+
# 3. Verify rollback
|
|
541
|
+
sqlite3 .artifacts/database/swarm-memory.db "SELECT name FROM sqlite_master WHERE type='table';"
|
|
542
|
+
|
|
543
|
+
# 4. Re-run migration if needed
|
|
544
|
+
./run-migration.sh
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
### Future Migrations
|
|
548
|
+
|
|
549
|
+
To add new migrations:
|
|
550
|
+
|
|
551
|
+
1. Create `002-add-new-feature.sql` with DDL
|
|
552
|
+
2. Add version tracking:
|
|
553
|
+
```sql
|
|
554
|
+
INSERT INTO schema_version (version, description)
|
|
555
|
+
VALUES (2, 'Add new feature description');
|
|
556
|
+
```
|
|
557
|
+
3. Run `./run-migration.sh` (automatically applies version 2)
|
|
558
|
+
|
|
559
|
+
## Troubleshooting
|
|
560
|
+
|
|
561
|
+
### Issue: Table already exists
|
|
562
|
+
|
|
563
|
+
**Symptom:** `Error: table context_reflections already exists`
|
|
564
|
+
|
|
565
|
+
**Solution:** Use `--force` flag to re-run migration:
|
|
566
|
+
```bash
|
|
567
|
+
./run-migration.sh --force
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
### Issue: Query performance slow
|
|
571
|
+
|
|
572
|
+
**Symptom:** Queries take >200ms
|
|
573
|
+
|
|
574
|
+
**Solution:**
|
|
575
|
+
1. Check index usage: `sqlite3 db.db < validate-schema.sql`
|
|
576
|
+
2. Run ANALYZE: `sqlite3 db.db "ANALYZE;"`
|
|
577
|
+
3. Verify cache settings: `sqlite3 db.db "PRAGMA cache_size;"`
|
|
578
|
+
|
|
579
|
+
### Issue: JSON extraction fails
|
|
580
|
+
|
|
581
|
+
**Symptom:** `json_extract()` returns NULL
|
|
582
|
+
|
|
583
|
+
**Solution:** Check JSON format:
|
|
584
|
+
```bash
|
|
585
|
+
sqlite3 db.db <<'EOF'
|
|
586
|
+
SELECT
|
|
587
|
+
id,
|
|
588
|
+
json_valid(metadata) as is_valid_json,
|
|
589
|
+
metadata
|
|
590
|
+
FROM context_reflections
|
|
591
|
+
WHERE json_valid(metadata) = 0;
|
|
592
|
+
EOF
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
### Issue: No results from queries
|
|
596
|
+
|
|
597
|
+
**Symptom:** Queries return 0 rows
|
|
598
|
+
|
|
599
|
+
**Solution:** Check curator_status:
|
|
600
|
+
```bash
|
|
601
|
+
sqlite3 db.db <<'EOF'
|
|
602
|
+
SELECT curator_status, COUNT(*) as count
|
|
603
|
+
FROM context_reflections
|
|
604
|
+
GROUP BY curator_status;
|
|
605
|
+
EOF
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
Most queries filter `WHERE curator_status = 'curated'`. If all reflections are 'pending', run curator:
|
|
609
|
+
```bash
|
|
610
|
+
./.claude/skills/cfn-ace-system/invoke-context-curate.sh
|
|
611
|
+
```
|
|
612
|
+
|
|
613
|
+
## Design Decisions
|
|
614
|
+
|
|
615
|
+
### 1. JSON vs Normalized Tables
|
|
616
|
+
|
|
617
|
+
**Decision:** Use JSON for flexible metadata (tags, keywords, domain).
|
|
618
|
+
|
|
619
|
+
**Rationale:**
|
|
620
|
+
- Tags/keywords vary per reflection (unpredictable schema)
|
|
621
|
+
- JSON extraction indexes enable fast queries
|
|
622
|
+
- Simpler schema evolution (add new metadata fields without ALTER TABLE)
|
|
623
|
+
- SQLite JSON functions performant (json_extract, json_valid)
|
|
624
|
+
|
|
625
|
+
**Trade-off:** Slightly slower queries vs normalized, but acceptable (<100ms)
|
|
626
|
+
|
|
627
|
+
### 2. Single Table vs Multi-Table
|
|
628
|
+
|
|
629
|
+
**Decision:** Single `context_reflections` table for all reflection types.
|
|
630
|
+
|
|
631
|
+
**Rationale:**
|
|
632
|
+
- Strategies, anti-patterns, edge cases share 80% of schema
|
|
633
|
+
- Simplifies context lookup queries (single table scan)
|
|
634
|
+
- Type filtering via `reflection_type` column (indexed)
|
|
635
|
+
- Easier to add new reflection types (no schema migration)
|
|
636
|
+
|
|
637
|
+
**Trade-off:** Larger table, but still manageable at scale (10K reflections = 200 MB)
|
|
638
|
+
|
|
639
|
+
### 3. Confidence Decay vs Static
|
|
640
|
+
|
|
641
|
+
**Decision:** Static confidence stored, decay calculated at query time.
|
|
642
|
+
|
|
643
|
+
**Rationale:**
|
|
644
|
+
- Preserve original confidence for audit trail
|
|
645
|
+
- Flexible decay formulas (change without data migration)
|
|
646
|
+
- Simplifies updates (no periodic confidence recalculation)
|
|
647
|
+
|
|
648
|
+
**Implementation:** Query-time decay:
|
|
649
|
+
```sql
|
|
650
|
+
confidence * (1 - 0.3 * (julianday('now') - julianday(created_at)) / 365)
|
|
651
|
+
```
|
|
652
|
+
|
|
653
|
+
### 4. Views vs Materialized Views
|
|
654
|
+
|
|
655
|
+
**Decision:** Use regular views (v_active_lessons, etc.).
|
|
656
|
+
|
|
657
|
+
**Rationale:**
|
|
658
|
+
- SQLite doesn't support materialized views natively
|
|
659
|
+
- Context queries infrequent (Loop 0 once per sprint)
|
|
660
|
+
- Views always return fresh data (no cache invalidation)
|
|
661
|
+
- Index optimization makes views fast enough (<100ms)
|
|
662
|
+
|
|
663
|
+
**Future:** If queries slow down, implement Redis caching layer.
|
|
664
|
+
|
|
665
|
+
### 5. TTL Strategy
|
|
666
|
+
|
|
667
|
+
**Decision:** Manual cleanup via cron (90-day TTL for low-confidence).
|
|
668
|
+
|
|
669
|
+
**Rationale:**
|
|
670
|
+
- SQLite doesn't support automatic TTL (unlike Redis)
|
|
671
|
+
- Weekly cleanup cron acceptable overhead
|
|
672
|
+
- Flexible cleanup policies (confidence-based, age-based)
|
|
673
|
+
|
|
674
|
+
**Implementation:** See Phase 5 cleanup cron in epic.
|
|
675
|
+
|
|
676
|
+
## Testing
|
|
677
|
+
|
|
678
|
+
### Unit Tests
|
|
679
|
+
|
|
680
|
+
See `tests/ace-integration/` for:
|
|
681
|
+
- `02-context-lookup.test.sh` - Query accuracy
|
|
682
|
+
- `08-query-performance.test.sh` - Performance benchmarks
|
|
683
|
+
- Schema validation via `validate-schema.sql`
|
|
684
|
+
|
|
685
|
+
### Performance Benchmarks
|
|
686
|
+
|
|
687
|
+
**Baseline (empty database):**
|
|
688
|
+
- Context lookup: 5-10ms
|
|
689
|
+
- Keyword search: 3-5ms
|
|
690
|
+
- Insert reflection: 2-3ms
|
|
691
|
+
|
|
692
|
+
**Target (1000 reflections):**
|
|
693
|
+
- Context lookup: <100ms ✓
|
|
694
|
+
- Keyword search: <100ms ✓
|
|
695
|
+
- Pattern detection: <200ms ✓
|
|
696
|
+
|
|
697
|
+
### Load Testing
|
|
698
|
+
|
|
699
|
+
```bash
|
|
700
|
+
# Generate 1000 reflections
|
|
701
|
+
for i in {1..100}; do
|
|
702
|
+
./populate-test-data.sh --count 10
|
|
703
|
+
done
|
|
704
|
+
|
|
705
|
+
# Run validation
|
|
706
|
+
sqlite3 .artifacts/database/swarm-memory.db < validate-schema.sql
|
|
707
|
+
|
|
708
|
+
# Check performance
|
|
709
|
+
time sqlite3 .artifacts/database/swarm-memory.db "SELECT * FROM v_active_lessons LIMIT 10;"
|
|
710
|
+
```
|
|
711
|
+
|
|
712
|
+
## References
|
|
713
|
+
|
|
714
|
+
- **Epic:** `planning/loop-improvements/EPIC_ACE_INTEGRATION.md`
|
|
715
|
+
- **Phase 1.2 Spec:** Section "Context Lookup Helper"
|
|
716
|
+
- **SQLite JSON Docs:** https://www.sqlite.org/json1.html
|
|
717
|
+
- **Query Optimization:** https://www.sqlite.org/queryplanner.html
|
|
718
|
+
|
|
719
|
+
## Version History
|
|
720
|
+
|
|
721
|
+
- **v1.0.0** (2025-10-29): Initial schema with context_reflections, ace_telemetry, 3 views, 15 indexes
|
|
722
|
+
- Schema supports Phase 1-2 requirements (lookup, injection, telemetry)
|
|
723
|
+
- Performance targets validated with test data
|