@claude-flow/cli 3.0.0-alpha.6 → 3.0.0-alpha.61
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/analysis/analyze-code-quality.md +181 -0
- package/.claude/agents/analysis/code-analyzer.md +210 -0
- package/.claude/agents/architecture/arch-system-design.md +157 -0
- package/.claude/agents/consensus/byzantine-coordinator.md +63 -0
- package/.claude/agents/consensus/crdt-synchronizer.md +997 -0
- package/.claude/agents/consensus/gossip-coordinator.md +63 -0
- package/.claude/agents/consensus/performance-benchmarker.md +851 -0
- package/.claude/agents/consensus/quorum-manager.md +823 -0
- package/.claude/agents/consensus/raft-manager.md +63 -0
- package/.claude/agents/consensus/security-manager.md +622 -0
- package/.claude/agents/core/coder.md +453 -0
- package/.claude/agents/core/planner.md +375 -0
- package/.claude/agents/core/researcher.md +369 -0
- package/.claude/agents/core/reviewer.md +520 -0
- package/.claude/agents/core/tester.md +512 -0
- package/.claude/agents/custom/test-long-runner.md +44 -0
- package/.claude/agents/data/data-ml-model.md +445 -0
- package/.claude/agents/development/dev-backend-api.md +346 -0
- package/.claude/agents/devops/ops-cicd-github.md +165 -0
- package/.claude/agents/documentation/docs-api-openapi.md +355 -0
- package/.claude/agents/flow-nexus/app-store.md +88 -0
- package/.claude/agents/flow-nexus/authentication.md +69 -0
- package/.claude/agents/flow-nexus/challenges.md +81 -0
- package/.claude/agents/flow-nexus/neural-network.md +88 -0
- package/.claude/agents/flow-nexus/payments.md +83 -0
- package/.claude/agents/flow-nexus/sandbox.md +76 -0
- package/.claude/agents/flow-nexus/swarm.md +76 -0
- package/.claude/agents/flow-nexus/user-tools.md +96 -0
- package/.claude/agents/flow-nexus/workflow.md +84 -0
- package/.claude/agents/github/code-review-swarm.md +377 -0
- package/.claude/agents/github/github-modes.md +173 -0
- package/.claude/agents/github/issue-tracker.md +576 -0
- package/.claude/agents/github/multi-repo-swarm.md +553 -0
- package/.claude/agents/github/pr-manager.md +438 -0
- package/.claude/agents/github/project-board-sync.md +509 -0
- package/.claude/agents/github/release-manager.md +605 -0
- package/.claude/agents/github/release-swarm.md +583 -0
- package/.claude/agents/github/repo-architect.md +398 -0
- package/.claude/agents/github/swarm-issue.md +573 -0
- package/.claude/agents/github/swarm-pr.md +428 -0
- package/.claude/agents/github/sync-coordinator.md +452 -0
- package/.claude/agents/github/workflow-automation.md +903 -0
- package/.claude/agents/goal/agent.md +816 -0
- package/.claude/agents/goal/goal-planner.md +73 -0
- package/.claude/agents/optimization/benchmark-suite.md +665 -0
- package/.claude/agents/optimization/load-balancer.md +431 -0
- package/.claude/agents/optimization/performance-monitor.md +672 -0
- package/.claude/agents/optimization/resource-allocator.md +674 -0
- package/.claude/agents/optimization/topology-optimizer.md +808 -0
- package/.claude/agents/payments/agentic-payments.md +126 -0
- package/.claude/agents/sona/sona-learning-optimizer.md +254 -0
- package/.claude/agents/sparc/architecture.md +699 -0
- package/.claude/agents/sparc/pseudocode.md +520 -0
- package/.claude/agents/sparc/refinement.md +802 -0
- package/.claude/agents/sparc/specification.md +478 -0
- package/.claude/agents/specialized/spec-mobile-react-native.md +227 -0
- package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
- package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
- package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
- package/.claude/agents/sublinear/performance-optimizer.md +368 -0
- package/.claude/agents/sublinear/trading-predictor.md +246 -0
- package/.claude/agents/swarm/adaptive-coordinator.md +1127 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +710 -0
- package/.claude/agents/swarm/mesh-coordinator.md +963 -0
- package/.claude/agents/templates/automation-smart-agent.md +205 -0
- package/.claude/agents/templates/base-template-generator.md +268 -0
- package/.claude/agents/templates/coordinator-swarm-init.md +90 -0
- package/.claude/agents/templates/github-pr-manager.md +177 -0
- package/.claude/agents/templates/implementer-sparc-coder.md +259 -0
- package/.claude/agents/templates/memory-coordinator.md +187 -0
- package/.claude/agents/templates/orchestrator-task.md +139 -0
- package/.claude/agents/templates/performance-analyzer.md +199 -0
- package/.claude/agents/templates/sparc-coordinator.md +514 -0
- package/.claude/agents/testing/production-validator.md +395 -0
- package/.claude/agents/testing/tdd-london-swarm.md +244 -0
- package/.claude/agents/v3/adr-architect.md +184 -0
- package/.claude/agents/v3/claims-authorizer.md +208 -0
- package/.claude/agents/v3/collective-intelligence-coordinator.md +993 -0
- package/.claude/agents/v3/ddd-domain-expert.md +220 -0
- package/.claude/agents/v3/memory-specialist.md +995 -0
- package/.claude/agents/v3/performance-engineer.md +1233 -0
- package/.claude/agents/v3/reasoningbank-learner.md +213 -0
- package/.claude/agents/v3/security-architect.md +867 -0
- package/.claude/agents/v3/security-auditor.md +771 -0
- package/.claude/agents/v3/sparc-orchestrator.md +182 -0
- package/.claude/agents/v3/swarm-memory-manager.md +157 -0
- package/.claude/agents/v3/v3-integration-architect.md +205 -0
- package/.claude/commands/agents/README.md +50 -0
- package/.claude/commands/agents/agent-capabilities.md +140 -0
- package/.claude/commands/agents/agent-coordination.md +28 -0
- package/.claude/commands/agents/agent-spawning.md +28 -0
- package/.claude/commands/agents/agent-types.md +216 -0
- package/.claude/commands/agents/health.md +139 -0
- package/.claude/commands/agents/list.md +100 -0
- package/.claude/commands/agents/logs.md +130 -0
- package/.claude/commands/agents/metrics.md +122 -0
- package/.claude/commands/agents/pool.md +127 -0
- package/.claude/commands/agents/spawn.md +140 -0
- package/.claude/commands/agents/status.md +115 -0
- package/.claude/commands/agents/stop.md +102 -0
- package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
- package/.claude/commands/analysis/README.md +9 -0
- package/.claude/commands/analysis/bottleneck-detect.md +162 -0
- package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
- package/.claude/commands/analysis/performance-report.md +25 -0
- package/.claude/commands/analysis/token-efficiency.md +45 -0
- package/.claude/commands/analysis/token-usage.md +25 -0
- package/.claude/commands/automation/README.md +9 -0
- package/.claude/commands/automation/auto-agent.md +122 -0
- package/.claude/commands/automation/self-healing.md +106 -0
- package/.claude/commands/automation/session-memory.md +90 -0
- package/.claude/commands/automation/smart-agents.md +73 -0
- package/.claude/commands/automation/smart-spawn.md +25 -0
- package/.claude/commands/automation/workflow-select.md +25 -0
- package/.claude/commands/claude-flow-help.md +103 -0
- package/.claude/commands/claude-flow-memory.md +107 -0
- package/.claude/commands/claude-flow-swarm.md +205 -0
- package/.claude/commands/coordination/README.md +9 -0
- package/.claude/commands/coordination/agent-spawn.md +25 -0
- package/.claude/commands/coordination/init.md +44 -0
- package/.claude/commands/coordination/orchestrate.md +43 -0
- package/.claude/commands/coordination/spawn.md +45 -0
- package/.claude/commands/coordination/swarm-init.md +85 -0
- package/.claude/commands/coordination/task-orchestrate.md +25 -0
- package/.claude/commands/flow-nexus/app-store.md +124 -0
- package/.claude/commands/flow-nexus/challenges.md +120 -0
- package/.claude/commands/flow-nexus/login-registration.md +65 -0
- package/.claude/commands/flow-nexus/neural-network.md +134 -0
- package/.claude/commands/flow-nexus/payments.md +116 -0
- package/.claude/commands/flow-nexus/sandbox.md +83 -0
- package/.claude/commands/flow-nexus/swarm.md +87 -0
- package/.claude/commands/flow-nexus/user-tools.md +152 -0
- package/.claude/commands/flow-nexus/workflow.md +115 -0
- package/.claude/commands/github/README.md +11 -0
- package/.claude/commands/github/code-review-swarm.md +514 -0
- package/.claude/commands/github/code-review.md +25 -0
- package/.claude/commands/github/github-modes.md +147 -0
- package/.claude/commands/github/github-swarm.md +121 -0
- package/.claude/commands/github/issue-tracker.md +292 -0
- package/.claude/commands/github/issue-triage.md +25 -0
- package/.claude/commands/github/multi-repo-swarm.md +519 -0
- package/.claude/commands/github/pr-enhance.md +26 -0
- package/.claude/commands/github/pr-manager.md +170 -0
- package/.claude/commands/github/project-board-sync.md +471 -0
- package/.claude/commands/github/release-manager.md +338 -0
- package/.claude/commands/github/release-swarm.md +544 -0
- package/.claude/commands/github/repo-analyze.md +25 -0
- package/.claude/commands/github/repo-architect.md +367 -0
- package/.claude/commands/github/swarm-issue.md +482 -0
- package/.claude/commands/github/swarm-pr.md +285 -0
- package/.claude/commands/github/sync-coordinator.md +301 -0
- package/.claude/commands/github/workflow-automation.md +442 -0
- package/.claude/commands/hive-mind/README.md +17 -0
- package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
- package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
- package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
- package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
- package/.claude/commands/hive-mind/hive-mind.md +27 -0
- package/.claude/commands/hooks/README.md +11 -0
- package/.claude/commands/hooks/overview.md +58 -0
- package/.claude/commands/hooks/post-edit.md +117 -0
- package/.claude/commands/hooks/post-task.md +112 -0
- package/.claude/commands/hooks/pre-edit.md +113 -0
- package/.claude/commands/hooks/pre-task.md +111 -0
- package/.claude/commands/hooks/session-end.md +118 -0
- package/.claude/commands/hooks/setup.md +103 -0
- package/.claude/commands/memory/README.md +9 -0
- package/.claude/commands/memory/memory-persist.md +25 -0
- package/.claude/commands/memory/memory-search.md +25 -0
- package/.claude/commands/memory/memory-usage.md +25 -0
- package/.claude/commands/memory/neural.md +47 -0
- package/.claude/commands/monitoring/README.md +9 -0
- package/.claude/commands/monitoring/agent-metrics.md +25 -0
- package/.claude/commands/monitoring/agents.md +44 -0
- package/.claude/commands/monitoring/real-time-view.md +25 -0
- package/.claude/commands/monitoring/status.md +46 -0
- package/.claude/commands/monitoring/swarm-monitor.md +25 -0
- package/.claude/commands/optimization/README.md +9 -0
- package/.claude/commands/optimization/auto-topology.md +62 -0
- package/.claude/commands/optimization/cache-manage.md +25 -0
- package/.claude/commands/optimization/parallel-execute.md +25 -0
- package/.claude/commands/optimization/parallel-execution.md +50 -0
- package/.claude/commands/optimization/topology-optimize.md +25 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/sparc/analyzer.md +52 -0
- package/.claude/commands/sparc/architect.md +53 -0
- package/.claude/commands/sparc/ask.md +97 -0
- package/.claude/commands/sparc/batch-executor.md +54 -0
- package/.claude/commands/sparc/code.md +89 -0
- package/.claude/commands/sparc/coder.md +54 -0
- package/.claude/commands/sparc/debug.md +83 -0
- package/.claude/commands/sparc/debugger.md +54 -0
- package/.claude/commands/sparc/designer.md +53 -0
- package/.claude/commands/sparc/devops.md +109 -0
- package/.claude/commands/sparc/docs-writer.md +80 -0
- package/.claude/commands/sparc/documenter.md +54 -0
- package/.claude/commands/sparc/innovator.md +54 -0
- package/.claude/commands/sparc/integration.md +83 -0
- package/.claude/commands/sparc/mcp.md +117 -0
- package/.claude/commands/sparc/memory-manager.md +54 -0
- package/.claude/commands/sparc/optimizer.md +54 -0
- package/.claude/commands/sparc/orchestrator.md +132 -0
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
- package/.claude/commands/sparc/researcher.md +54 -0
- package/.claude/commands/sparc/reviewer.md +54 -0
- package/.claude/commands/sparc/security-review.md +80 -0
- package/.claude/commands/sparc/sparc-modes.md +174 -0
- package/.claude/commands/sparc/sparc.md +111 -0
- package/.claude/commands/sparc/spec-pseudocode.md +80 -0
- package/.claude/commands/sparc/supabase-admin.md +348 -0
- package/.claude/commands/sparc/swarm-coordinator.md +54 -0
- package/.claude/commands/sparc/tdd.md +54 -0
- package/.claude/commands/sparc/tester.md +54 -0
- package/.claude/commands/sparc/tutorial.md +79 -0
- package/.claude/commands/sparc/workflow-manager.md +54 -0
- package/.claude/commands/sparc.md +166 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/swarm/README.md +15 -0
- package/.claude/commands/swarm/analysis.md +95 -0
- package/.claude/commands/swarm/development.md +96 -0
- package/.claude/commands/swarm/examples.md +168 -0
- package/.claude/commands/swarm/maintenance.md +102 -0
- package/.claude/commands/swarm/optimization.md +117 -0
- package/.claude/commands/swarm/research.md +136 -0
- package/.claude/commands/swarm/swarm-analysis.md +8 -0
- package/.claude/commands/swarm/swarm-background.md +8 -0
- package/.claude/commands/swarm/swarm-init.md +19 -0
- package/.claude/commands/swarm/swarm-modes.md +8 -0
- package/.claude/commands/swarm/swarm-monitor.md +8 -0
- package/.claude/commands/swarm/swarm-spawn.md +19 -0
- package/.claude/commands/swarm/swarm-status.md +8 -0
- package/.claude/commands/swarm/swarm-strategies.md +8 -0
- package/.claude/commands/swarm/swarm.md +87 -0
- package/.claude/commands/swarm/testing.md +131 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +74 -0
- package/.claude/commands/training/neural-train.md +25 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/commands/workflows/README.md +9 -0
- package/.claude/commands/workflows/development.md +78 -0
- package/.claude/commands/workflows/research.md +63 -0
- package/.claude/commands/workflows/workflow-create.md +25 -0
- package/.claude/commands/workflows/workflow-execute.md +25 -0
- package/.claude/commands/workflows/workflow-export.md +25 -0
- package/.claude/helpers/README.md +97 -0
- package/.claude/helpers/adr-compliance.sh +186 -0
- package/.claude/helpers/auto-commit.sh +178 -0
- package/.claude/helpers/checkpoint-manager.sh +251 -0
- package/.claude/helpers/daemon-manager.sh +252 -0
- package/.claude/helpers/ddd-tracker.sh +144 -0
- package/.claude/helpers/github-safe.js +106 -0
- package/.claude/helpers/github-setup.sh +28 -0
- package/.claude/helpers/guidance-hook.sh +13 -0
- package/.claude/helpers/guidance-hooks.sh +102 -0
- package/.claude/helpers/health-monitor.sh +108 -0
- package/.claude/helpers/learning-hooks.sh +329 -0
- package/.claude/helpers/learning-optimizer.sh +127 -0
- package/.claude/helpers/learning-service.mjs +1144 -0
- package/.claude/helpers/memory.js +83 -0
- package/.claude/helpers/metrics-db.mjs +488 -0
- package/.claude/helpers/pattern-consolidator.sh +86 -0
- package/.claude/helpers/perf-worker.sh +160 -0
- package/.claude/helpers/post-commit +16 -0
- package/.claude/helpers/pre-commit +26 -0
- package/.claude/helpers/quick-start.sh +19 -0
- package/.claude/helpers/router.js +66 -0
- package/.claude/helpers/security-scanner.sh +127 -0
- package/.claude/helpers/session.js +127 -0
- package/.claude/helpers/setup-mcp.sh +18 -0
- package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
- package/.claude/helpers/statusline-hook.sh +21 -0
- package/.claude/helpers/statusline.js +316 -0
- package/.claude/helpers/swarm-comms.sh +353 -0
- package/.claude/helpers/swarm-hooks.sh +761 -0
- package/.claude/helpers/swarm-monitor.sh +211 -0
- package/.claude/helpers/sync-v3-metrics.sh +245 -0
- package/.claude/helpers/update-v3-progress.sh +166 -0
- package/.claude/helpers/v3-quick-status.sh +58 -0
- package/.claude/helpers/v3.sh +111 -0
- package/.claude/helpers/validate-v3-config.sh +216 -0
- package/.claude/helpers/worker-manager.sh +170 -0
- package/.claude/settings.json +259 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/.claude/skills/github-code-review/SKILL.md +1140 -0
- package/.claude/skills/github-multi-repo/SKILL.md +874 -0
- package/.claude/skills/github-project-management/SKILL.md +1277 -0
- package/.claude/skills/github-release-management/SKILL.md +1081 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +563 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/performance.json +3 -3
- package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +10 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
- package/.claude/skills/stream-chain/SKILL.md +563 -0
- package/.claude/skills/swarm-advanced/SKILL.md +973 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
- package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
- package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
- package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
- package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
- package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
- package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
- package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
- package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
- package/.claude/skills/verification-quality/SKILL.md +649 -0
- package/.claude/skills/worker-benchmarks/skill.md +135 -0
- package/.claude/skills/worker-integration/skill.md +154 -0
- package/README.md +428 -6
- package/bin/cli.js +142 -6
- package/bin/mcp-server.js +188 -0
- package/dist/src/commands/agent.d.ts.map +1 -1
- package/dist/src/commands/agent.js +42 -26
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.d.ts +19 -0
- package/dist/src/commands/analyze.d.ts.map +1 -0
- package/dist/src/commands/analyze.js +1823 -0
- package/dist/src/commands/analyze.js.map +1 -0
- package/dist/src/commands/claims.d.ts +10 -0
- package/dist/src/commands/claims.d.ts.map +1 -0
- package/dist/src/commands/claims.js +288 -0
- package/dist/src/commands/claims.js.map +1 -0
- package/dist/src/commands/completions.d.ts +10 -0
- package/dist/src/commands/completions.d.ts.map +1 -0
- package/dist/src/commands/completions.js +539 -0
- package/dist/src/commands/completions.js.map +1 -0
- package/dist/src/commands/daemon.d.ts +8 -0
- package/dist/src/commands/daemon.d.ts.map +1 -0
- package/dist/src/commands/daemon.js +593 -0
- package/dist/src/commands/daemon.js.map +1 -0
- package/dist/src/commands/deployment.d.ts +10 -0
- package/dist/src/commands/deployment.d.ts.map +1 -0
- package/dist/src/commands/deployment.js +289 -0
- package/dist/src/commands/deployment.js.map +1 -0
- package/dist/src/commands/doctor.d.ts +10 -0
- package/dist/src/commands/doctor.d.ts.map +1 -0
- package/dist/src/commands/doctor.js +448 -0
- package/dist/src/commands/doctor.js.map +1 -0
- package/dist/src/commands/embeddings.d.ts +18 -0
- package/dist/src/commands/embeddings.d.ts.map +1 -0
- package/dist/src/commands/embeddings.js +616 -0
- package/dist/src/commands/embeddings.js.map +1 -0
- package/dist/src/commands/hive-mind.d.ts.map +1 -1
- package/dist/src/commands/hive-mind.js +252 -35
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +800 -6
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +52 -14
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +191 -38
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +80 -9
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.d.ts +21 -0
- package/dist/src/commands/issues.d.ts.map +1 -0
- package/dist/src/commands/issues.js +567 -0
- package/dist/src/commands/issues.js.map +1 -0
- package/dist/src/commands/mcp.js +3 -3
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +223 -4
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/neural.d.ts +10 -0
- package/dist/src/commands/neural.d.ts.map +1 -0
- package/dist/src/commands/neural.js +224 -0
- package/dist/src/commands/neural.js.map +1 -0
- package/dist/src/commands/performance.d.ts +10 -0
- package/dist/src/commands/performance.d.ts.map +1 -0
- package/dist/src/commands/performance.js +262 -0
- package/dist/src/commands/performance.js.map +1 -0
- package/dist/src/commands/plugins.d.ts +11 -0
- package/dist/src/commands/plugins.d.ts.map +1 -0
- package/dist/src/commands/plugins.js +630 -0
- package/dist/src/commands/plugins.js.map +1 -0
- package/dist/src/commands/progress.d.ts +11 -0
- package/dist/src/commands/progress.d.ts.map +1 -0
- package/dist/src/commands/progress.js +259 -0
- package/dist/src/commands/progress.js.map +1 -0
- package/dist/src/commands/providers.d.ts +10 -0
- package/dist/src/commands/providers.d.ts.map +1 -0
- package/dist/src/commands/providers.js +232 -0
- package/dist/src/commands/providers.js.map +1 -0
- package/dist/src/commands/route.d.ts +16 -0
- package/dist/src/commands/route.d.ts.map +1 -0
- package/dist/src/commands/route.js +813 -0
- package/dist/src/commands/route.js.map +1 -0
- package/dist/src/commands/security.d.ts +10 -0
- package/dist/src/commands/security.d.ts.map +1 -0
- package/dist/src/commands/security.js +261 -0
- package/dist/src/commands/security.js.map +1 -0
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/start.js +22 -2
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/swarm.d.ts.map +1 -1
- package/dist/src/commands/swarm.js +185 -32
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/transfer-store.d.ts +13 -0
- package/dist/src/commands/transfer-store.d.ts.map +1 -0
- package/dist/src/commands/transfer-store.js +428 -0
- package/dist/src/commands/transfer-store.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +69 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +407 -405
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +142 -31
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.js +1 -1
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +9 -0
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +57 -28
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +116 -62
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts +6 -0
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +252 -89
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +6 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +8 -2
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +17 -1
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts +6 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +169 -38
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +350 -14
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
- package/dist/src/mcp-tools/analyze-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/analyze-tools.js +317 -0
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -0
- package/dist/src/mcp-tools/config-tools.d.ts +1 -1
- package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +262 -15
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/hive-mind-tools.js +447 -0
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +195 -31
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +6 -0
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +6 -0
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.d.ts +14 -0
- package/dist/src/mcp-tools/progress-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/progress-tools.js +343 -0
- package/dist/src/mcp-tools/progress-tools.js.map +1 -0
- package/dist/src/mcp-tools/session-tools.d.ts +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +237 -22
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +219 -17
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/transfer-tools.js +396 -0
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/workflow-tools.js +481 -0
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -0
- package/dist/src/output.d.ts +16 -0
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +42 -0
- package/dist/src/output.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +73 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +568 -0
- package/dist/src/plugins/store/discovery.js.map +1 -0
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +141 -0
- package/dist/src/plugins/store/index.js.map +1 -0
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +230 -0
- package/dist/src/plugins/store/search.js.map +1 -0
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/store/types.js +7 -0
- package/dist/src/plugins/store/types.js.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
- package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/plugins/tests/standalone-test.js +188 -0
- package/dist/src/plugins/tests/standalone-test.js.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +277 -0
- package/dist/src/ruvector/ast-analyzer.js.map +1 -0
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-router.js +529 -0
- package/dist/src/ruvector/coverage-router.js.map +1 -0
- package/dist/src/ruvector/coverage-tools.d.ts +33 -0
- package/dist/src/ruvector/coverage-tools.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-tools.js +157 -0
- package/dist/src/ruvector/coverage-tools.js.map +1 -0
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
- package/dist/src/ruvector/diff-classifier.js +698 -0
- package/dist/src/ruvector/diff-classifier.js.map +1 -0
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/graph-analyzer.js +929 -0
- package/dist/src/ruvector/graph-analyzer.js.map +1 -0
- package/dist/src/ruvector/index.d.ts +27 -0
- package/dist/src/ruvector/index.d.ts.map +1 -0
- package/dist/src/ruvector/index.js +53 -0
- package/dist/src/ruvector/index.js.map +1 -0
- package/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/src/ruvector/q-learning-router.js +681 -0
- package/dist/src/ruvector/q-learning-router.js.map +1 -0
- package/dist/src/ruvector/vector-db.d.ts +69 -0
- package/dist/src/ruvector/vector-db.d.ts.map +1 -0
- package/dist/src/ruvector/vector-db.js +243 -0
- package/dist/src/ruvector/vector-db.js.map +1 -0
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.d.ts.map +1 -0
- package/dist/src/services/claim-service.js +818 -0
- package/dist/src/services/claim-service.js.map +1 -0
- package/dist/src/services/container-worker-pool.d.ts +197 -0
- package/dist/src/services/container-worker-pool.d.ts.map +1 -0
- package/dist/src/services/container-worker-pool.js +581 -0
- package/dist/src/services/container-worker-pool.js.map +1 -0
- package/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
- package/dist/src/services/headless-worker-executor.js +997 -0
- package/dist/src/services/headless-worker-executor.js.map +1 -0
- package/dist/src/services/index.d.ts +13 -0
- package/dist/src/services/index.d.ts.map +1 -0
- package/dist/src/services/index.js +11 -0
- package/dist/src/services/index.js.map +1 -0
- package/dist/src/services/worker-daemon.d.ts +203 -0
- package/dist/src/services/worker-daemon.d.ts.map +1 -0
- package/dist/src/services/worker-daemon.js +745 -0
- package/dist/src/services/worker-daemon.js.map +1 -0
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.d.ts.map +1 -0
- package/dist/src/services/worker-queue.js +511 -0
- package/dist/src/services/worker-queue.js.map +1 -0
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.d.ts.map +1 -0
- package/dist/src/suggest.js +200 -0
- package/dist/src/suggest.js.map +1 -0
- package/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
- package/dist/src/transfer/anonymization/index.js +175 -0
- package/dist/src/transfer/anonymization/index.js.map +1 -0
- package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/deploy-seraphine.js +205 -0
- package/dist/src/transfer/deploy-seraphine.js.map +1 -0
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +113 -0
- package/dist/src/transfer/export.js.map +1 -0
- package/dist/src/transfer/index.d.ts +12 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +31 -0
- package/dist/src/transfer/index.js.map +1 -0
- package/dist/src/transfer/ipfs/client.d.ts +31 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +74 -0
- package/dist/src/transfer/ipfs/client.js.map +1 -0
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +410 -0
- package/dist/src/transfer/ipfs/upload.js.map +1 -0
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +373 -0
- package/dist/src/transfer/models/seraphine.js.map +1 -0
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +180 -0
- package/dist/src/transfer/serialization/cfp.js.map +1 -0
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +275 -0
- package/dist/src/transfer/store/discovery.js.map +1 -0
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +295 -0
- package/dist/src/transfer/store/download.js.map +1 -0
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +153 -0
- package/dist/src/transfer/store/index.js.map +1 -0
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +262 -0
- package/dist/src/transfer/store/publish.js.map +1 -0
- package/dist/src/transfer/store/registry.d.ts +58 -0
- package/dist/src/transfer/store/registry.d.ts.map +1 -0
- package/dist/src/transfer/store/registry.js +285 -0
- package/dist/src/transfer/store/registry.js.map +1 -0
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +232 -0
- package/dist/src/transfer/store/search.js.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
- package/dist/src/transfer/store/types.d.ts +193 -0
- package/dist/src/transfer/store/types.d.ts.map +1 -0
- package/dist/src/transfer/store/types.js +6 -0
- package/dist/src/transfer/store/types.js.map +1 -0
- package/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/test-seraphine.js +105 -0
- package/dist/src/transfer/test-seraphine.js.map +1 -0
- package/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
- package/dist/src/transfer/tests/test-store.js +214 -0
- package/dist/src/transfer/tests/test-store.js.map +1 -0
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +6 -0
- package/dist/src/transfer/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +37 -9
- package/.agentic-flow/intelligence.json +0 -17
- package/.claude-flow/metrics/task-metrics.json +0 -10
- package/__tests__/README.md +0 -140
- package/__tests__/TEST_SUMMARY.md +0 -144
- package/__tests__/cli.test.ts +0 -558
- package/__tests__/commands.test.ts +0 -726
- package/__tests__/config-adapter.test.ts +0 -362
- package/__tests__/config-loading.test.ts +0 -106
- package/__tests__/coverage/.tmp/coverage-0.json +0 -1
- package/__tests__/coverage/.tmp/coverage-1.json +0 -1
- package/__tests__/coverage/.tmp/coverage-2.json +0 -1
- package/__tests__/coverage/.tmp/coverage-3.json +0 -1
- package/__tests__/coverage/.tmp/coverage-4.json +0 -1
- package/__tests__/coverage/.tmp/coverage-5.json +0 -1
- package/__tests__/mcp-client.test.ts +0 -480
- package/__tests__/p1-commands.test.ts +0 -1064
- package/agents/architect.yaml +0 -11
- package/agents/coder.yaml +0 -11
- package/agents/reviewer.yaml +0 -10
- package/agents/security-architect.yaml +0 -10
- package/agents/tester.yaml +0 -10
- package/docs/CONFIG_LOADING.md +0 -236
- package/docs/IMPLEMENTATION_COMPLETE.md +0 -421
- package/docs/MCP_CLIENT_GUIDE.md +0 -620
- package/docs/REFACTORING_SUMMARY.md +0 -247
- package/src/commands/agent.ts +0 -941
- package/src/commands/config.ts +0 -452
- package/src/commands/hive-mind.ts +0 -762
- package/src/commands/hooks.ts +0 -2603
- package/src/commands/index.ts +0 -115
- package/src/commands/init.ts +0 -597
- package/src/commands/mcp.ts +0 -753
- package/src/commands/memory.ts +0 -1161
- package/src/commands/migrate.ts +0 -447
- package/src/commands/process.ts +0 -695
- package/src/commands/session.ts +0 -891
- package/src/commands/start.ts +0 -457
- package/src/commands/status.ts +0 -736
- package/src/commands/swarm.ts +0 -648
- package/src/commands/task.ts +0 -792
- package/src/commands/workflow.ts +0 -742
- package/src/config-adapter.ts +0 -210
- package/src/index.ts +0 -400
- package/src/infrastructure/in-memory-repositories.ts +0 -310
- package/src/init/claudemd-generator.ts +0 -631
- package/src/init/executor.ts +0 -762
- package/src/init/helpers-generator.ts +0 -628
- package/src/init/index.ts +0 -60
- package/src/init/mcp-generator.ts +0 -83
- package/src/init/settings-generator.ts +0 -274
- package/src/init/statusline-generator.ts +0 -211
- package/src/init/types.ts +0 -447
- package/src/mcp-client.ts +0 -229
- package/src/mcp-server.ts +0 -577
- package/src/mcp-tools/agent-tools.ts +0 -92
- package/src/mcp-tools/config-tools.ts +0 -88
- package/src/mcp-tools/hooks-tools.ts +0 -1849
- package/src/mcp-tools/index.ts +0 -14
- package/src/mcp-tools/memory-tools.ts +0 -270
- package/src/mcp-tools/session-tools.ts +0 -102
- package/src/mcp-tools/swarm-tools.ts +0 -105
- package/src/mcp-tools/task-tools.ts +0 -102
- package/src/mcp-tools/types.ts +0 -33
- package/src/output.ts +0 -593
- package/src/parser.ts +0 -417
- package/src/prompt.ts +0 -619
- package/src/types.ts +0 -287
- package/tsconfig.json +0 -16
- package/tsconfig.tsbuildinfo +0 -1
- package/vitest.config.ts +0 -13
- /package/{tmp.json → .claude/agents/tmp.json} +0 -0
- /package/{.claude-flow → .claude/skills/skill-builder/.claude-flow}/metrics/agent-metrics.json +0 -0
|
@@ -0,0 +1,1233 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: performance-engineer
|
|
3
|
+
type: optimization
|
|
4
|
+
version: 3.0.0
|
|
5
|
+
color: "#FF6B35"
|
|
6
|
+
description: V3 Performance Engineering Agent specialized in Flash Attention optimization (2.49x-7.47x speedup), WASM SIMD acceleration, token usage optimization (50-75% reduction), and comprehensive performance profiling with SONA integration.
|
|
7
|
+
capabilities:
|
|
8
|
+
- flash_attention_optimization
|
|
9
|
+
- wasm_simd_acceleration
|
|
10
|
+
- performance_profiling
|
|
11
|
+
- bottleneck_detection
|
|
12
|
+
- token_usage_optimization
|
|
13
|
+
- latency_analysis
|
|
14
|
+
- memory_footprint_reduction
|
|
15
|
+
- batch_processing_optimization
|
|
16
|
+
- parallel_execution_strategies
|
|
17
|
+
- benchmark_suite_integration
|
|
18
|
+
- sona_integration
|
|
19
|
+
- hnsw_optimization
|
|
20
|
+
- quantization_analysis
|
|
21
|
+
priority: critical
|
|
22
|
+
metrics:
|
|
23
|
+
flash_attention_speedup: "2.49x-7.47x"
|
|
24
|
+
hnsw_search_improvement: "150x-12,500x"
|
|
25
|
+
memory_reduction: "50-75%"
|
|
26
|
+
mcp_response_target: "<100ms"
|
|
27
|
+
sona_adaptation: "<0.05ms"
|
|
28
|
+
hooks:
|
|
29
|
+
pre: |
|
|
30
|
+
echo "======================================"
|
|
31
|
+
echo "V3 Performance Engineer - Starting Analysis"
|
|
32
|
+
echo "======================================"
|
|
33
|
+
|
|
34
|
+
# Initialize SONA trajectory for performance learning
|
|
35
|
+
PERF_SESSION_ID="perf-$(date +%s)"
|
|
36
|
+
export PERF_SESSION_ID
|
|
37
|
+
|
|
38
|
+
# Store session start in memory
|
|
39
|
+
npx claude-flow@v3alpha memory store \
|
|
40
|
+
--key "performance-engineer/session/${PERF_SESSION_ID}/start" \
|
|
41
|
+
--value "{\"timestamp\": $(date +%s), \"task\": \"$TASK\"}" \
|
|
42
|
+
--namespace "v3-performance" 2>/dev/null || true
|
|
43
|
+
|
|
44
|
+
# Initialize performance baseline metrics
|
|
45
|
+
echo "Collecting baseline metrics..."
|
|
46
|
+
|
|
47
|
+
# CPU baseline
|
|
48
|
+
CPU_BASELINE=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || echo "0")
|
|
49
|
+
echo " CPU Cores: $CPU_BASELINE"
|
|
50
|
+
|
|
51
|
+
# Memory baseline
|
|
52
|
+
MEM_TOTAL=$(free -m 2>/dev/null | awk '/^Mem:/{print $2}' || echo "0")
|
|
53
|
+
MEM_USED=$(free -m 2>/dev/null | awk '/^Mem:/{print $3}' || echo "0")
|
|
54
|
+
echo " Memory: ${MEM_USED}MB / ${MEM_TOTAL}MB"
|
|
55
|
+
|
|
56
|
+
# Start SONA trajectory
|
|
57
|
+
TRAJECTORY_RESULT=$(npx claude-flow@v3alpha hooks intelligence trajectory-start \
|
|
58
|
+
--task "performance-analysis" \
|
|
59
|
+
--context "performance-engineer" 2>&1 || echo "")
|
|
60
|
+
|
|
61
|
+
TRAJECTORY_ID=$(echo "$TRAJECTORY_RESULT" | grep -oP '(?<=ID: )[a-f0-9-]+' || echo "")
|
|
62
|
+
if [ -n "$TRAJECTORY_ID" ]; then
|
|
63
|
+
export TRAJECTORY_ID
|
|
64
|
+
echo " SONA Trajectory: $TRAJECTORY_ID"
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
echo "======================================"
|
|
68
|
+
echo "V3 Performance Targets:"
|
|
69
|
+
echo " - Flash Attention: 2.49x-7.47x speedup"
|
|
70
|
+
echo " - HNSW Search: 150x-12,500x faster"
|
|
71
|
+
echo " - Memory Reduction: 50-75%"
|
|
72
|
+
echo " - MCP Response: <100ms"
|
|
73
|
+
echo " - SONA Adaptation: <0.05ms"
|
|
74
|
+
echo "======================================"
|
|
75
|
+
echo ""
|
|
76
|
+
|
|
77
|
+
post: |
|
|
78
|
+
echo ""
|
|
79
|
+
echo "======================================"
|
|
80
|
+
echo "V3 Performance Engineer - Analysis Complete"
|
|
81
|
+
echo "======================================"
|
|
82
|
+
|
|
83
|
+
# Calculate execution metrics
|
|
84
|
+
END_TIME=$(date +%s)
|
|
85
|
+
|
|
86
|
+
# End SONA trajectory with quality score
|
|
87
|
+
if [ -n "$TRAJECTORY_ID" ]; then
|
|
88
|
+
# Calculate quality based on output (using bash)
|
|
89
|
+
OUTPUT_LENGTH=${#OUTPUT:-0}
|
|
90
|
+
# Simple quality score: 0.85 default, higher for longer/more detailed outputs
|
|
91
|
+
QUALITY_SCORE="0.85"
|
|
92
|
+
|
|
93
|
+
npx claude-flow@v3alpha hooks intelligence trajectory-end \
|
|
94
|
+
--session-id "$TRAJECTORY_ID" \
|
|
95
|
+
--verdict "success" \
|
|
96
|
+
--reward "$QUALITY_SCORE" 2>/dev/null || true
|
|
97
|
+
|
|
98
|
+
echo "SONA Quality Score: $QUALITY_SCORE"
|
|
99
|
+
fi
|
|
100
|
+
|
|
101
|
+
# Store session completion
|
|
102
|
+
npx claude-flow@v3alpha memory store \
|
|
103
|
+
--key "performance-engineer/session/${PERF_SESSION_ID}/end" \
|
|
104
|
+
--value "{\"timestamp\": $END_TIME, \"quality\": \"$QUALITY_SCORE\"}" \
|
|
105
|
+
--namespace "v3-performance" 2>/dev/null || true
|
|
106
|
+
|
|
107
|
+
# Generate performance report summary
|
|
108
|
+
echo ""
|
|
109
|
+
echo "Performance Analysis Summary:"
|
|
110
|
+
echo " - Session ID: $PERF_SESSION_ID"
|
|
111
|
+
echo " - Recommendations stored in memory"
|
|
112
|
+
echo " - Optimization patterns learned via SONA"
|
|
113
|
+
echo "======================================"
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
# V3 Performance Engineer Agent
|
|
117
|
+
|
|
118
|
+
## Overview
|
|
119
|
+
|
|
120
|
+
I am a **V3 Performance Engineering Agent** specialized in optimizing Claude Flow systems for maximum performance. I leverage Flash Attention (2.49x-7.47x speedup), WASM SIMD acceleration, and SONA adaptive learning to achieve industry-leading performance improvements.
|
|
121
|
+
|
|
122
|
+
## V3 Performance Targets
|
|
123
|
+
|
|
124
|
+
| Metric | Target | Method |
|
|
125
|
+
|--------|--------|--------|
|
|
126
|
+
| Flash Attention | 2.49x-7.47x speedup | Fused operations, memory-efficient attention |
|
|
127
|
+
| HNSW Search | 150x-12,500x faster | Hierarchical navigable small world graphs |
|
|
128
|
+
| Memory Reduction | 50-75% | Quantization (int4/int8), pruning |
|
|
129
|
+
| MCP Response | <100ms | Connection pooling, batch operations |
|
|
130
|
+
| CLI Startup | <500ms | Lazy loading, tree shaking |
|
|
131
|
+
| SONA Adaptation | <0.05ms | Sub-millisecond neural adaptation |
|
|
132
|
+
|
|
133
|
+
## Core Capabilities
|
|
134
|
+
|
|
135
|
+
### 1. Flash Attention Optimization
|
|
136
|
+
|
|
137
|
+
Flash Attention provides significant speedups through memory-efficient attention computation:
|
|
138
|
+
|
|
139
|
+
```javascript
|
|
140
|
+
// Flash Attention Configuration
|
|
141
|
+
class FlashAttentionOptimizer {
|
|
142
|
+
constructor() {
|
|
143
|
+
this.config = {
|
|
144
|
+
// Block sizes optimized for GPU memory hierarchy
|
|
145
|
+
blockSizeQ: 128,
|
|
146
|
+
blockSizeKV: 64,
|
|
147
|
+
|
|
148
|
+
// Memory-efficient forward pass
|
|
149
|
+
useCausalMask: true,
|
|
150
|
+
dropoutRate: 0.0,
|
|
151
|
+
|
|
152
|
+
// Fused softmax for reduced memory bandwidth
|
|
153
|
+
fusedSoftmax: true,
|
|
154
|
+
|
|
155
|
+
// Expected speedup range
|
|
156
|
+
expectedSpeedup: { min: 2.49, max: 7.47 }
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
async optimizeAttention(model, config = {}) {
|
|
161
|
+
const optimizations = [];
|
|
162
|
+
|
|
163
|
+
// 1. Enable flash attention
|
|
164
|
+
optimizations.push({
|
|
165
|
+
type: 'FLASH_ATTENTION',
|
|
166
|
+
enabled: true,
|
|
167
|
+
expectedSpeedup: '2.49x-7.47x',
|
|
168
|
+
memoryReduction: '50-75%'
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
// 2. Fused operations
|
|
172
|
+
optimizations.push({
|
|
173
|
+
type: 'FUSED_OPERATIONS',
|
|
174
|
+
operations: ['qkv_projection', 'softmax', 'output_projection'],
|
|
175
|
+
benefit: 'Reduced memory bandwidth'
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// 3. Memory-efficient backward pass
|
|
179
|
+
optimizations.push({
|
|
180
|
+
type: 'MEMORY_EFFICIENT_BACKWARD',
|
|
181
|
+
recomputation: 'selective',
|
|
182
|
+
checkpointing: 'gradient'
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
return optimizations;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Benchmark flash attention performance
|
|
189
|
+
async benchmarkFlashAttention(seqLengths = [512, 1024, 2048, 4096]) {
|
|
190
|
+
const results = [];
|
|
191
|
+
|
|
192
|
+
for (const seqLen of seqLengths) {
|
|
193
|
+
const baseline = await this.measureBaselineAttention(seqLen);
|
|
194
|
+
const flash = await this.measureFlashAttention(seqLen);
|
|
195
|
+
|
|
196
|
+
results.push({
|
|
197
|
+
sequenceLength: seqLen,
|
|
198
|
+
baselineMs: baseline.timeMs,
|
|
199
|
+
flashMs: flash.timeMs,
|
|
200
|
+
speedup: baseline.timeMs / flash.timeMs,
|
|
201
|
+
memoryReduction: 1 - (flash.memoryMB / baseline.memoryMB)
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
return results;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### 2. WASM SIMD Acceleration
|
|
211
|
+
|
|
212
|
+
WASM SIMD enables native-speed vector operations in JavaScript:
|
|
213
|
+
|
|
214
|
+
```javascript
|
|
215
|
+
// WASM SIMD Optimization System
|
|
216
|
+
class WASMSIMDOptimizer {
|
|
217
|
+
constructor() {
|
|
218
|
+
this.simdCapabilities = null;
|
|
219
|
+
this.wasmModule = null;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
async initialize() {
|
|
223
|
+
// Detect SIMD capabilities
|
|
224
|
+
this.simdCapabilities = await this.detectSIMDSupport();
|
|
225
|
+
|
|
226
|
+
// Load optimized WASM module
|
|
227
|
+
this.wasmModule = await this.loadWASMModule();
|
|
228
|
+
|
|
229
|
+
return {
|
|
230
|
+
simdSupported: this.simdCapabilities.supported,
|
|
231
|
+
features: this.simdCapabilities.features,
|
|
232
|
+
expectedSpeedup: this.calculateExpectedSpeedup()
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
async detectSIMDSupport() {
|
|
237
|
+
const features = {
|
|
238
|
+
supported: false,
|
|
239
|
+
simd128: false,
|
|
240
|
+
relaxedSimd: false,
|
|
241
|
+
vectorOps: []
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
try {
|
|
245
|
+
// Test SIMD support
|
|
246
|
+
const simdTest = await WebAssembly.validate(
|
|
247
|
+
new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11])
|
|
248
|
+
);
|
|
249
|
+
|
|
250
|
+
features.supported = simdTest;
|
|
251
|
+
features.simd128 = simdTest;
|
|
252
|
+
|
|
253
|
+
if (simdTest) {
|
|
254
|
+
features.vectorOps = [
|
|
255
|
+
'v128.load', 'v128.store',
|
|
256
|
+
'f32x4.add', 'f32x4.mul', 'f32x4.sub',
|
|
257
|
+
'i32x4.add', 'i32x4.mul',
|
|
258
|
+
'f32x4.dot'
|
|
259
|
+
];
|
|
260
|
+
}
|
|
261
|
+
} catch (e) {
|
|
262
|
+
console.warn('SIMD detection failed:', e);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return features;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Optimized vector operations
|
|
269
|
+
async optimizeVectorOperations(operations) {
|
|
270
|
+
const optimizations = [];
|
|
271
|
+
|
|
272
|
+
// Matrix multiplication optimization
|
|
273
|
+
if (operations.includes('matmul')) {
|
|
274
|
+
optimizations.push({
|
|
275
|
+
operation: 'matmul',
|
|
276
|
+
simdMethod: 'f32x4_dot_product',
|
|
277
|
+
expectedSpeedup: '4-8x',
|
|
278
|
+
blockSize: 4
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
// Vector addition optimization
|
|
283
|
+
if (operations.includes('vecadd')) {
|
|
284
|
+
optimizations.push({
|
|
285
|
+
operation: 'vecadd',
|
|
286
|
+
simdMethod: 'f32x4_add',
|
|
287
|
+
expectedSpeedup: '4x',
|
|
288
|
+
vectorWidth: 128
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Embedding lookup optimization
|
|
293
|
+
if (operations.includes('embedding')) {
|
|
294
|
+
optimizations.push({
|
|
295
|
+
operation: 'embedding',
|
|
296
|
+
simdMethod: 'gather_scatter',
|
|
297
|
+
expectedSpeedup: '2-4x',
|
|
298
|
+
cacheOptimized: true
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return optimizations;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// Run WASM SIMD benchmark
|
|
306
|
+
async runBenchmark(config = {}) {
|
|
307
|
+
const results = {
|
|
308
|
+
matmul: await this.benchmarkMatmul(config.matrixSize || 1024),
|
|
309
|
+
vectorOps: await this.benchmarkVectorOps(config.vectorSize || 10000),
|
|
310
|
+
embedding: await this.benchmarkEmbedding(config.vocabSize || 50000)
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
return {
|
|
314
|
+
results,
|
|
315
|
+
overallSpeedup: this.calculateOverallSpeedup(results),
|
|
316
|
+
recommendations: this.generateRecommendations(results)
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### 3. Performance Profiling & Bottleneck Detection
|
|
323
|
+
|
|
324
|
+
```javascript
|
|
325
|
+
// Comprehensive Performance Profiler
|
|
326
|
+
class PerformanceProfiler {
|
|
327
|
+
constructor() {
|
|
328
|
+
this.profiles = new Map();
|
|
329
|
+
this.bottlenecks = [];
|
|
330
|
+
this.thresholds = {
|
|
331
|
+
cpuUsage: 80,
|
|
332
|
+
memoryUsage: 85,
|
|
333
|
+
latencyP95: 100, // ms
|
|
334
|
+
latencyP99: 200, // ms
|
|
335
|
+
gcPause: 50 // ms
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
async profileSystem() {
|
|
340
|
+
const profile = {
|
|
341
|
+
timestamp: Date.now(),
|
|
342
|
+
cpu: await this.profileCPU(),
|
|
343
|
+
memory: await this.profileMemory(),
|
|
344
|
+
latency: await this.profileLatency(),
|
|
345
|
+
io: await this.profileIO(),
|
|
346
|
+
neural: await this.profileNeuralOps()
|
|
347
|
+
};
|
|
348
|
+
|
|
349
|
+
// Detect bottlenecks
|
|
350
|
+
this.bottlenecks = await this.detectBottlenecks(profile);
|
|
351
|
+
|
|
352
|
+
return {
|
|
353
|
+
profile,
|
|
354
|
+
bottlenecks: this.bottlenecks,
|
|
355
|
+
recommendations: await this.generateOptimizations()
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
async profileCPU() {
|
|
360
|
+
return {
|
|
361
|
+
usage: await this.getCPUUsage(),
|
|
362
|
+
cores: await this.getCoreUtilization(),
|
|
363
|
+
hotspots: await this.identifyCPUHotspots(),
|
|
364
|
+
recommendations: []
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
async profileMemory() {
|
|
369
|
+
return {
|
|
370
|
+
heapUsed: process.memoryUsage().heapUsed,
|
|
371
|
+
heapTotal: process.memoryUsage().heapTotal,
|
|
372
|
+
external: process.memoryUsage().external,
|
|
373
|
+
gcStats: await this.getGCStats(),
|
|
374
|
+
leaks: await this.detectMemoryLeaks()
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
async profileLatency() {
|
|
379
|
+
const measurements = [];
|
|
380
|
+
|
|
381
|
+
// Measure various operation latencies
|
|
382
|
+
const operations = [
|
|
383
|
+
{ name: 'mcp_call', fn: this.measureMCPLatency },
|
|
384
|
+
{ name: 'memory_store', fn: this.measureMemoryLatency },
|
|
385
|
+
{ name: 'neural_inference', fn: this.measureNeuralLatency },
|
|
386
|
+
{ name: 'hnsw_search', fn: this.measureHNSWLatency }
|
|
387
|
+
];
|
|
388
|
+
|
|
389
|
+
for (const op of operations) {
|
|
390
|
+
const latencies = await op.fn.call(this, 100); // 100 samples
|
|
391
|
+
measurements.push({
|
|
392
|
+
operation: op.name,
|
|
393
|
+
p50: this.percentile(latencies, 50),
|
|
394
|
+
p95: this.percentile(latencies, 95),
|
|
395
|
+
p99: this.percentile(latencies, 99),
|
|
396
|
+
max: Math.max(...latencies),
|
|
397
|
+
mean: latencies.reduce((a, b) => a + b, 0) / latencies.length
|
|
398
|
+
});
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
return measurements;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
async detectBottlenecks(profile) {
|
|
405
|
+
const bottlenecks = [];
|
|
406
|
+
|
|
407
|
+
// CPU bottleneck
|
|
408
|
+
if (profile.cpu.usage > this.thresholds.cpuUsage) {
|
|
409
|
+
bottlenecks.push({
|
|
410
|
+
type: 'CPU',
|
|
411
|
+
severity: 'HIGH',
|
|
412
|
+
current: profile.cpu.usage,
|
|
413
|
+
threshold: this.thresholds.cpuUsage,
|
|
414
|
+
recommendation: 'Enable batch processing or parallelize operations'
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// Memory bottleneck
|
|
419
|
+
const memUsagePercent = (profile.memory.heapUsed / profile.memory.heapTotal) * 100;
|
|
420
|
+
if (memUsagePercent > this.thresholds.memoryUsage) {
|
|
421
|
+
bottlenecks.push({
|
|
422
|
+
type: 'MEMORY',
|
|
423
|
+
severity: 'HIGH',
|
|
424
|
+
current: memUsagePercent,
|
|
425
|
+
threshold: this.thresholds.memoryUsage,
|
|
426
|
+
recommendation: 'Apply quantization (50-75% reduction) or increase heap size'
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
// Latency bottleneck
|
|
431
|
+
for (const measurement of profile.latency) {
|
|
432
|
+
if (measurement.p95 > this.thresholds.latencyP95) {
|
|
433
|
+
bottlenecks.push({
|
|
434
|
+
type: 'LATENCY',
|
|
435
|
+
severity: 'MEDIUM',
|
|
436
|
+
operation: measurement.operation,
|
|
437
|
+
current: measurement.p95,
|
|
438
|
+
threshold: this.thresholds.latencyP95,
|
|
439
|
+
recommendation: `Optimize ${measurement.operation} - consider caching or batching`
|
|
440
|
+
});
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
return bottlenecks;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### 4. Token Usage Optimization (50-75% Reduction)
|
|
450
|
+
|
|
451
|
+
```javascript
|
|
452
|
+
// Token Usage Optimizer
|
|
453
|
+
class TokenOptimizer {
|
|
454
|
+
constructor() {
|
|
455
|
+
this.strategies = {
|
|
456
|
+
quantization: { reduction: '50-75%', methods: ['int8', 'int4', 'mixed'] },
|
|
457
|
+
pruning: { reduction: '20-40%', methods: ['magnitude', 'structured'] },
|
|
458
|
+
distillation: { reduction: '60-80%', methods: ['student-teacher'] },
|
|
459
|
+
caching: { reduction: '30-50%', methods: ['kv-cache', 'prompt-cache'] }
|
|
460
|
+
};
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
async optimizeTokenUsage(model, config = {}) {
|
|
464
|
+
const optimizations = [];
|
|
465
|
+
|
|
466
|
+
// 1. Quantization
|
|
467
|
+
if (config.enableQuantization !== false) {
|
|
468
|
+
optimizations.push(await this.applyQuantization(model, config.quantization));
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
// 2. KV-Cache optimization
|
|
472
|
+
if (config.enableKVCache !== false) {
|
|
473
|
+
optimizations.push(await this.optimizeKVCache(model, config.kvCache));
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// 3. Prompt caching
|
|
477
|
+
if (config.enablePromptCache !== false) {
|
|
478
|
+
optimizations.push(await this.enablePromptCaching(model, config.promptCache));
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// 4. Attention pruning
|
|
482
|
+
if (config.enablePruning !== false) {
|
|
483
|
+
optimizations.push(await this.pruneAttention(model, config.pruning));
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
return {
|
|
487
|
+
optimizations,
|
|
488
|
+
expectedReduction: this.calculateTotalReduction(optimizations),
|
|
489
|
+
memoryImpact: this.estimateMemoryImpact(optimizations)
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
async applyQuantization(model, config = {}) {
|
|
494
|
+
const method = config.method || 'int8';
|
|
495
|
+
|
|
496
|
+
return {
|
|
497
|
+
type: 'QUANTIZATION',
|
|
498
|
+
method: method,
|
|
499
|
+
reduction: method === 'int4' ? '75%' : '50%',
|
|
500
|
+
precision: {
|
|
501
|
+
int4: { bits: 4, reduction: 0.75 },
|
|
502
|
+
int8: { bits: 8, reduction: 0.50 },
|
|
503
|
+
mixed: { bits: 'variable', reduction: 0.60 }
|
|
504
|
+
}[method],
|
|
505
|
+
layers: config.layers || 'all',
|
|
506
|
+
skipLayers: config.skipLayers || ['embedding', 'lm_head']
|
|
507
|
+
};
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
async optimizeKVCache(model, config = {}) {
|
|
511
|
+
return {
|
|
512
|
+
type: 'KV_CACHE',
|
|
513
|
+
strategy: config.strategy || 'sliding_window',
|
|
514
|
+
windowSize: config.windowSize || 4096,
|
|
515
|
+
reduction: '30-40%',
|
|
516
|
+
implementations: {
|
|
517
|
+
sliding_window: 'Fixed-size attention window',
|
|
518
|
+
paged_attention: 'Memory-efficient paged KV storage',
|
|
519
|
+
grouped_query: 'Grouped query attention (GQA)'
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
// Analyze current token usage
|
|
525
|
+
async analyzeTokenUsage(operations) {
|
|
526
|
+
const analysis = {
|
|
527
|
+
totalTokens: 0,
|
|
528
|
+
breakdown: [],
|
|
529
|
+
inefficiencies: [],
|
|
530
|
+
recommendations: []
|
|
531
|
+
};
|
|
532
|
+
|
|
533
|
+
for (const op of operations) {
|
|
534
|
+
const tokens = await this.countTokens(op);
|
|
535
|
+
analysis.totalTokens += tokens.total;
|
|
536
|
+
analysis.breakdown.push({
|
|
537
|
+
operation: op.name,
|
|
538
|
+
inputTokens: tokens.input,
|
|
539
|
+
outputTokens: tokens.output,
|
|
540
|
+
cacheHits: tokens.cached || 0
|
|
541
|
+
});
|
|
542
|
+
|
|
543
|
+
// Detect inefficiencies
|
|
544
|
+
if (tokens.input > 1000 && tokens.cached === 0) {
|
|
545
|
+
analysis.inefficiencies.push({
|
|
546
|
+
operation: op.name,
|
|
547
|
+
issue: 'Large uncached input',
|
|
548
|
+
suggestion: 'Enable prompt caching for repeated patterns'
|
|
549
|
+
});
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
return analysis;
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
### 5. Latency Analysis & Optimization
|
|
559
|
+
|
|
560
|
+
```javascript
|
|
561
|
+
// Latency Analyzer and Optimizer
|
|
562
|
+
class LatencyOptimizer {
|
|
563
|
+
constructor() {
|
|
564
|
+
this.targets = {
|
|
565
|
+
mcp_response: 100, // ms - V3 target
|
|
566
|
+
neural_inference: 50, // ms
|
|
567
|
+
memory_search: 10, // ms - HNSW target
|
|
568
|
+
sona_adaptation: 0.05 // ms - V3 target
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
async analyzeLatency(component) {
|
|
573
|
+
const measurements = await this.collectLatencyMeasurements(component, 1000);
|
|
574
|
+
|
|
575
|
+
return {
|
|
576
|
+
component,
|
|
577
|
+
statistics: {
|
|
578
|
+
mean: this.mean(measurements),
|
|
579
|
+
median: this.percentile(measurements, 50),
|
|
580
|
+
p90: this.percentile(measurements, 90),
|
|
581
|
+
p95: this.percentile(measurements, 95),
|
|
582
|
+
p99: this.percentile(measurements, 99),
|
|
583
|
+
max: Math.max(...measurements),
|
|
584
|
+
min: Math.min(...measurements),
|
|
585
|
+
stdDev: this.standardDeviation(measurements)
|
|
586
|
+
},
|
|
587
|
+
distribution: this.createHistogram(measurements),
|
|
588
|
+
meetsTarget: this.checkTarget(component, measurements),
|
|
589
|
+
optimizations: await this.suggestOptimizations(component, measurements)
|
|
590
|
+
};
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
async suggestOptimizations(component, measurements) {
|
|
594
|
+
const optimizations = [];
|
|
595
|
+
const p99 = this.percentile(measurements, 99);
|
|
596
|
+
const target = this.targets[component];
|
|
597
|
+
|
|
598
|
+
if (p99 > target) {
|
|
599
|
+
// Tail latency is too high
|
|
600
|
+
optimizations.push({
|
|
601
|
+
type: 'TAIL_LATENCY',
|
|
602
|
+
current: p99,
|
|
603
|
+
target: target,
|
|
604
|
+
suggestions: [
|
|
605
|
+
'Enable request hedging for p99 reduction',
|
|
606
|
+
'Implement circuit breaker for slow requests',
|
|
607
|
+
'Add adaptive timeout based on historical latency'
|
|
608
|
+
]
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
// Component-specific optimizations
|
|
613
|
+
switch (component) {
|
|
614
|
+
case 'mcp_response':
|
|
615
|
+
optimizations.push({
|
|
616
|
+
type: 'MCP_OPTIMIZATION',
|
|
617
|
+
suggestions: [
|
|
618
|
+
'Enable connection pooling',
|
|
619
|
+
'Batch multiple tool calls',
|
|
620
|
+
'Use stdio transport for lower latency',
|
|
621
|
+
'Implement request pipelining'
|
|
622
|
+
]
|
|
623
|
+
});
|
|
624
|
+
break;
|
|
625
|
+
|
|
626
|
+
case 'memory_search':
|
|
627
|
+
optimizations.push({
|
|
628
|
+
type: 'HNSW_OPTIMIZATION',
|
|
629
|
+
suggestions: [
|
|
630
|
+
'Increase ef_construction for better graph quality',
|
|
631
|
+
'Tune M parameter for memory/speed tradeoff',
|
|
632
|
+
'Enable SIMD distance calculations',
|
|
633
|
+
'Use product quantization for large datasets'
|
|
634
|
+
],
|
|
635
|
+
expectedImprovement: '150x-12,500x with HNSW'
|
|
636
|
+
});
|
|
637
|
+
break;
|
|
638
|
+
|
|
639
|
+
case 'sona_adaptation':
|
|
640
|
+
optimizations.push({
|
|
641
|
+
type: 'SONA_OPTIMIZATION',
|
|
642
|
+
suggestions: [
|
|
643
|
+
'Use Micro-LoRA (rank-2) for fastest adaptation',
|
|
644
|
+
'Pre-compute pattern embeddings',
|
|
645
|
+
'Enable SIMD for vector operations',
|
|
646
|
+
'Cache frequently used patterns'
|
|
647
|
+
],
|
|
648
|
+
target: '<0.05ms'
|
|
649
|
+
});
|
|
650
|
+
break;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
return optimizations;
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
```
|
|
657
|
+
|
|
658
|
+
### 6. Memory Footprint Reduction
|
|
659
|
+
|
|
660
|
+
```javascript
|
|
661
|
+
// Memory Footprint Optimizer
|
|
662
|
+
class MemoryOptimizer {
|
|
663
|
+
constructor() {
|
|
664
|
+
this.reductionTargets = {
|
|
665
|
+
quantization: 0.50, // 50% reduction with int8
|
|
666
|
+
pruning: 0.30, // 30% reduction
|
|
667
|
+
sharing: 0.20, // 20% reduction with weight sharing
|
|
668
|
+
compression: 0.40 // 40% reduction with compression
|
|
669
|
+
};
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
async optimizeMemory(model, constraints = {}) {
|
|
673
|
+
const currentUsage = await this.measureMemoryUsage(model);
|
|
674
|
+
const optimizations = [];
|
|
675
|
+
|
|
676
|
+
// 1. Weight quantization
|
|
677
|
+
if (!constraints.skipQuantization) {
|
|
678
|
+
optimizations.push(await this.quantizeWeights(model, {
|
|
679
|
+
precision: constraints.precision || 'int8',
|
|
680
|
+
calibrationSamples: 100
|
|
681
|
+
}));
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
// 2. Activation checkpointing
|
|
685
|
+
if (!constraints.skipCheckpointing) {
|
|
686
|
+
optimizations.push(await this.enableCheckpointing(model, {
|
|
687
|
+
strategy: 'selective', // Only checkpoint large activations
|
|
688
|
+
threshold: 1024 * 1024 // 1MB
|
|
689
|
+
}));
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
// 3. Memory pooling
|
|
693
|
+
optimizations.push(await this.enableMemoryPooling({
|
|
694
|
+
poolSize: constraints.poolSize || 100 * 1024 * 1024, // 100MB
|
|
695
|
+
blockSize: 4096
|
|
696
|
+
}));
|
|
697
|
+
|
|
698
|
+
// 4. Garbage collection optimization
|
|
699
|
+
optimizations.push(await this.optimizeGC({
|
|
700
|
+
maxPauseMs: 10,
|
|
701
|
+
idleTime: 5000
|
|
702
|
+
}));
|
|
703
|
+
|
|
704
|
+
const newUsage = await this.measureMemoryUsage(model);
|
|
705
|
+
|
|
706
|
+
return {
|
|
707
|
+
before: currentUsage,
|
|
708
|
+
after: newUsage,
|
|
709
|
+
reduction: 1 - (newUsage.total / currentUsage.total),
|
|
710
|
+
optimizations,
|
|
711
|
+
meetsTarget: (1 - (newUsage.total / currentUsage.total)) >= 0.50
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
async quantizeWeights(model, config) {
|
|
716
|
+
const precision = config.precision;
|
|
717
|
+
const reductionMap = {
|
|
718
|
+
'int4': 0.75,
|
|
719
|
+
'int8': 0.50,
|
|
720
|
+
'fp16': 0.50,
|
|
721
|
+
'bf16': 0.50
|
|
722
|
+
};
|
|
723
|
+
|
|
724
|
+
return {
|
|
725
|
+
type: 'WEIGHT_QUANTIZATION',
|
|
726
|
+
precision: precision,
|
|
727
|
+
expectedReduction: reductionMap[precision] || 0.50,
|
|
728
|
+
calibration: config.calibrationSamples > 0,
|
|
729
|
+
recommendation: precision === 'int4' ?
|
|
730
|
+
'Best memory reduction but may impact quality' :
|
|
731
|
+
'Balanced memory/quality tradeoff'
|
|
732
|
+
};
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
```
|
|
736
|
+
|
|
737
|
+
### 7. Batch Processing Optimization
|
|
738
|
+
|
|
739
|
+
```javascript
|
|
740
|
+
// Batch Processing Optimizer
|
|
741
|
+
class BatchOptimizer {
|
|
742
|
+
constructor() {
|
|
743
|
+
this.optimalBatchSizes = {
|
|
744
|
+
embedding: 64,
|
|
745
|
+
inference: 32,
|
|
746
|
+
training: 16,
|
|
747
|
+
search: 100
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
async optimizeBatchProcessing(operations, constraints = {}) {
|
|
752
|
+
const optimizations = [];
|
|
753
|
+
|
|
754
|
+
for (const op of operations) {
|
|
755
|
+
const optimalBatch = await this.findOptimalBatchSize(op, constraints);
|
|
756
|
+
|
|
757
|
+
optimizations.push({
|
|
758
|
+
operation: op.name,
|
|
759
|
+
currentBatchSize: op.batchSize || 1,
|
|
760
|
+
optimalBatchSize: optimalBatch.size,
|
|
761
|
+
expectedSpeedup: optimalBatch.speedup,
|
|
762
|
+
memoryIncrease: optimalBatch.memoryIncrease,
|
|
763
|
+
configuration: {
|
|
764
|
+
size: optimalBatch.size,
|
|
765
|
+
dynamicBatching: optimalBatch.dynamic,
|
|
766
|
+
maxWaitMs: optimalBatch.maxWait
|
|
767
|
+
}
|
|
768
|
+
});
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
return {
|
|
772
|
+
optimizations,
|
|
773
|
+
totalSpeedup: this.calculateTotalSpeedup(optimizations),
|
|
774
|
+
recommendations: this.generateBatchRecommendations(optimizations)
|
|
775
|
+
};
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
async findOptimalBatchSize(operation, constraints) {
|
|
779
|
+
const baseSize = this.optimalBatchSizes[operation.type] || 32;
|
|
780
|
+
const maxMemory = constraints.maxMemory || Infinity;
|
|
781
|
+
|
|
782
|
+
let optimalSize = baseSize;
|
|
783
|
+
let bestThroughput = 0;
|
|
784
|
+
|
|
785
|
+
// Binary search for optimal batch size
|
|
786
|
+
let low = 1, high = baseSize * 4;
|
|
787
|
+
|
|
788
|
+
while (low <= high) {
|
|
789
|
+
const mid = Math.floor((low + high) / 2);
|
|
790
|
+
const metrics = await this.benchmarkBatchSize(operation, mid);
|
|
791
|
+
|
|
792
|
+
if (metrics.memory <= maxMemory && metrics.throughput > bestThroughput) {
|
|
793
|
+
bestThroughput = metrics.throughput;
|
|
794
|
+
optimalSize = mid;
|
|
795
|
+
low = mid + 1;
|
|
796
|
+
} else {
|
|
797
|
+
high = mid - 1;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
return {
|
|
802
|
+
size: optimalSize,
|
|
803
|
+
speedup: bestThroughput / (await this.benchmarkBatchSize(operation, 1)).throughput,
|
|
804
|
+
memoryIncrease: await this.estimateMemoryIncrease(operation, optimalSize),
|
|
805
|
+
dynamic: operation.variableLoad,
|
|
806
|
+
maxWait: operation.latencySensitive ? 10 : 100
|
|
807
|
+
};
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
### 8. Parallel Execution Strategies
|
|
813
|
+
|
|
814
|
+
```javascript
|
|
815
|
+
// Parallel Execution Optimizer
|
|
816
|
+
class ParallelExecutionOptimizer {
|
|
817
|
+
constructor() {
|
|
818
|
+
this.strategies = {
|
|
819
|
+
dataParallel: { overhead: 'low', scaling: 'linear' },
|
|
820
|
+
modelParallel: { overhead: 'medium', scaling: 'sub-linear' },
|
|
821
|
+
pipelineParallel: { overhead: 'high', scaling: 'good' },
|
|
822
|
+
tensorParallel: { overhead: 'medium', scaling: 'good' }
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
async optimizeParallelization(task, resources) {
|
|
827
|
+
const analysis = await this.analyzeParallelizationOpportunities(task);
|
|
828
|
+
|
|
829
|
+
return {
|
|
830
|
+
strategy: await this.selectOptimalStrategy(analysis, resources),
|
|
831
|
+
partitioning: await this.createPartitioningPlan(analysis, resources),
|
|
832
|
+
synchronization: await this.planSynchronization(analysis),
|
|
833
|
+
expectedSpeedup: await this.estimateSpeedup(analysis, resources)
|
|
834
|
+
};
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
async analyzeParallelizationOpportunities(task) {
|
|
838
|
+
return {
|
|
839
|
+
independentOperations: await this.findIndependentOps(task),
|
|
840
|
+
dependencyGraph: await this.buildDependencyGraph(task),
|
|
841
|
+
criticalPath: await this.findCriticalPath(task),
|
|
842
|
+
parallelizableRatio: await this.calculateParallelRatio(task)
|
|
843
|
+
};
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
async selectOptimalStrategy(analysis, resources) {
|
|
847
|
+
const cpuCores = resources.cpuCores || 8;
|
|
848
|
+
const memoryGB = resources.memoryGB || 16;
|
|
849
|
+
const gpuCount = resources.gpuCount || 0;
|
|
850
|
+
|
|
851
|
+
if (gpuCount > 1 && analysis.parallelizableRatio > 0.8) {
|
|
852
|
+
return {
|
|
853
|
+
type: 'DATA_PARALLEL',
|
|
854
|
+
workers: gpuCount,
|
|
855
|
+
reason: 'High parallelizable ratio with multiple GPUs',
|
|
856
|
+
expectedEfficiency: 0.85
|
|
857
|
+
};
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
if (analysis.criticalPath.length > 10 && cpuCores > 4) {
|
|
861
|
+
return {
|
|
862
|
+
type: 'PIPELINE_PARALLEL',
|
|
863
|
+
stages: Math.min(cpuCores, analysis.criticalPath.length),
|
|
864
|
+
reason: 'Long critical path benefits from pipelining',
|
|
865
|
+
expectedEfficiency: 0.75
|
|
866
|
+
};
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
return {
|
|
870
|
+
type: 'TASK_PARALLEL',
|
|
871
|
+
workers: cpuCores,
|
|
872
|
+
reason: 'General task parallelization',
|
|
873
|
+
expectedEfficiency: 0.70
|
|
874
|
+
};
|
|
875
|
+
}
|
|
876
|
+
|
|
877
|
+
// Amdahl's Law calculation
|
|
878
|
+
calculateTheoreticalSpeedup(parallelRatio, workers) {
|
|
879
|
+
// S = 1 / ((1 - P) + P/N)
|
|
880
|
+
const serialPortion = 1 - parallelRatio;
|
|
881
|
+
return 1 / (serialPortion + parallelRatio / workers);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
### 9. Benchmark Suite Integration
|
|
887
|
+
|
|
888
|
+
```javascript
|
|
889
|
+
// V3 Performance Benchmark Suite
|
|
890
|
+
class V3BenchmarkSuite {
|
|
891
|
+
constructor() {
|
|
892
|
+
this.benchmarks = {
|
|
893
|
+
flash_attention: new FlashAttentionBenchmark(),
|
|
894
|
+
hnsw_search: new HNSWSearchBenchmark(),
|
|
895
|
+
wasm_simd: new WASMSIMDBenchmark(),
|
|
896
|
+
memory_ops: new MemoryOperationsBenchmark(),
|
|
897
|
+
mcp_latency: new MCPLatencyBenchmark(),
|
|
898
|
+
sona_adaptation: new SONAAdaptationBenchmark()
|
|
899
|
+
};
|
|
900
|
+
|
|
901
|
+
this.targets = {
|
|
902
|
+
flash_attention_speedup: { min: 2.49, max: 7.47 },
|
|
903
|
+
hnsw_improvement: { min: 150, max: 12500 },
|
|
904
|
+
memory_reduction: { min: 0.50, max: 0.75 },
|
|
905
|
+
mcp_response_ms: { max: 100 },
|
|
906
|
+
sona_adaptation_ms: { max: 0.05 }
|
|
907
|
+
};
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
async runFullSuite(config = {}) {
|
|
911
|
+
const results = {
|
|
912
|
+
timestamp: Date.now(),
|
|
913
|
+
config: config,
|
|
914
|
+
benchmarks: {},
|
|
915
|
+
summary: {}
|
|
916
|
+
};
|
|
917
|
+
|
|
918
|
+
// Run all benchmarks in parallel
|
|
919
|
+
const benchmarkPromises = Object.entries(this.benchmarks).map(
|
|
920
|
+
async ([name, benchmark]) => {
|
|
921
|
+
const result = await benchmark.run(config);
|
|
922
|
+
return [name, result];
|
|
923
|
+
}
|
|
924
|
+
);
|
|
925
|
+
|
|
926
|
+
const benchmarkResults = await Promise.all(benchmarkPromises);
|
|
927
|
+
|
|
928
|
+
for (const [name, result] of benchmarkResults) {
|
|
929
|
+
results.benchmarks[name] = result;
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
// Generate summary
|
|
933
|
+
results.summary = this.generateSummary(results.benchmarks);
|
|
934
|
+
|
|
935
|
+
// Store results in memory
|
|
936
|
+
await this.storeResults(results);
|
|
937
|
+
|
|
938
|
+
return results;
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
generateSummary(benchmarks) {
|
|
942
|
+
const summary = {
|
|
943
|
+
passing: 0,
|
|
944
|
+
failing: 0,
|
|
945
|
+
warnings: 0,
|
|
946
|
+
details: []
|
|
947
|
+
};
|
|
948
|
+
|
|
949
|
+
// Check flash attention
|
|
950
|
+
if (benchmarks.flash_attention) {
|
|
951
|
+
const speedup = benchmarks.flash_attention.speedup;
|
|
952
|
+
if (speedup >= this.targets.flash_attention_speedup.min) {
|
|
953
|
+
summary.passing++;
|
|
954
|
+
summary.details.push({
|
|
955
|
+
benchmark: 'Flash Attention',
|
|
956
|
+
status: 'PASS',
|
|
957
|
+
value: `${speedup.toFixed(2)}x speedup`,
|
|
958
|
+
target: `${this.targets.flash_attention_speedup.min}x-${this.targets.flash_attention_speedup.max}x`
|
|
959
|
+
});
|
|
960
|
+
} else {
|
|
961
|
+
summary.failing++;
|
|
962
|
+
summary.details.push({
|
|
963
|
+
benchmark: 'Flash Attention',
|
|
964
|
+
status: 'FAIL',
|
|
965
|
+
value: `${speedup.toFixed(2)}x speedup`,
|
|
966
|
+
target: `${this.targets.flash_attention_speedup.min}x minimum`
|
|
967
|
+
});
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
// Check HNSW search
|
|
972
|
+
if (benchmarks.hnsw_search) {
|
|
973
|
+
const improvement = benchmarks.hnsw_search.improvement;
|
|
974
|
+
if (improvement >= this.targets.hnsw_improvement.min) {
|
|
975
|
+
summary.passing++;
|
|
976
|
+
summary.details.push({
|
|
977
|
+
benchmark: 'HNSW Search',
|
|
978
|
+
status: 'PASS',
|
|
979
|
+
value: `${improvement}x faster`,
|
|
980
|
+
target: `${this.targets.hnsw_improvement.min}x-${this.targets.hnsw_improvement.max}x`
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
// Check MCP latency
|
|
986
|
+
if (benchmarks.mcp_latency) {
|
|
987
|
+
const p95 = benchmarks.mcp_latency.p95;
|
|
988
|
+
if (p95 <= this.targets.mcp_response_ms.max) {
|
|
989
|
+
summary.passing++;
|
|
990
|
+
summary.details.push({
|
|
991
|
+
benchmark: 'MCP Response',
|
|
992
|
+
status: 'PASS',
|
|
993
|
+
value: `${p95.toFixed(1)}ms p95`,
|
|
994
|
+
target: `<${this.targets.mcp_response_ms.max}ms`
|
|
995
|
+
});
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
// Check SONA adaptation
|
|
1000
|
+
if (benchmarks.sona_adaptation) {
|
|
1001
|
+
const latency = benchmarks.sona_adaptation.latency;
|
|
1002
|
+
if (latency <= this.targets.sona_adaptation_ms.max) {
|
|
1003
|
+
summary.passing++;
|
|
1004
|
+
summary.details.push({
|
|
1005
|
+
benchmark: 'SONA Adaptation',
|
|
1006
|
+
status: 'PASS',
|
|
1007
|
+
value: `${latency.toFixed(3)}ms`,
|
|
1008
|
+
target: `<${this.targets.sona_adaptation_ms.max}ms`
|
|
1009
|
+
});
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
summary.overallStatus = summary.failing === 0 ? 'PASS' : 'FAIL';
|
|
1014
|
+
|
|
1015
|
+
return summary;
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
```
|
|
1019
|
+
|
|
1020
|
+
## MCP Integration
|
|
1021
|
+
|
|
1022
|
+
### Performance Monitoring via MCP
|
|
1023
|
+
|
|
1024
|
+
```javascript
|
|
1025
|
+
// V3 Performance MCP Integration
|
|
1026
|
+
const performanceMCP = {
|
|
1027
|
+
// Run benchmark suite
|
|
1028
|
+
async runBenchmarks(suite = 'all') {
|
|
1029
|
+
return await mcp__claude-flow__benchmark_run({ suite });
|
|
1030
|
+
},
|
|
1031
|
+
|
|
1032
|
+
// Analyze bottlenecks
|
|
1033
|
+
async analyzeBottlenecks(component) {
|
|
1034
|
+
return await mcp__claude-flow__bottleneck_analyze({
|
|
1035
|
+
component: component,
|
|
1036
|
+
metrics: ['latency', 'throughput', 'memory', 'cpu']
|
|
1037
|
+
});
|
|
1038
|
+
},
|
|
1039
|
+
|
|
1040
|
+
// Get performance report
|
|
1041
|
+
async getPerformanceReport(timeframe = '24h') {
|
|
1042
|
+
return await mcp__claude-flow__performance_report({
|
|
1043
|
+
format: 'detailed',
|
|
1044
|
+
timeframe: timeframe
|
|
1045
|
+
});
|
|
1046
|
+
},
|
|
1047
|
+
|
|
1048
|
+
// Token usage analysis
|
|
1049
|
+
async analyzeTokenUsage(operation) {
|
|
1050
|
+
return await mcp__claude-flow__token_usage({
|
|
1051
|
+
operation: operation,
|
|
1052
|
+
timeframe: '24h'
|
|
1053
|
+
});
|
|
1054
|
+
},
|
|
1055
|
+
|
|
1056
|
+
// WASM optimization
|
|
1057
|
+
async optimizeWASM(operation) {
|
|
1058
|
+
return await mcp__claude-flow__wasm_optimize({
|
|
1059
|
+
operation: operation
|
|
1060
|
+
});
|
|
1061
|
+
},
|
|
1062
|
+
|
|
1063
|
+
// Neural pattern optimization
|
|
1064
|
+
async optimizeNeuralPatterns() {
|
|
1065
|
+
return await mcp__claude-flow__neural_patterns({
|
|
1066
|
+
action: 'analyze',
|
|
1067
|
+
metadata: { focus: 'performance' }
|
|
1068
|
+
});
|
|
1069
|
+
},
|
|
1070
|
+
|
|
1071
|
+
// Store performance metrics
|
|
1072
|
+
async storeMetrics(key, value) {
|
|
1073
|
+
return await mcp__claude-flow__memory_usage({
|
|
1074
|
+
action: 'store',
|
|
1075
|
+
key: `performance/${key}`,
|
|
1076
|
+
value: JSON.stringify(value),
|
|
1077
|
+
namespace: 'v3-performance',
|
|
1078
|
+
ttl: 604800000 // 7 days
|
|
1079
|
+
});
|
|
1080
|
+
}
|
|
1081
|
+
};
|
|
1082
|
+
```
|
|
1083
|
+
|
|
1084
|
+
## CLI Integration
|
|
1085
|
+
|
|
1086
|
+
### Performance Commands
|
|
1087
|
+
|
|
1088
|
+
```bash
|
|
1089
|
+
# Run full benchmark suite
|
|
1090
|
+
npx claude-flow@v3alpha performance benchmark --suite all
|
|
1091
|
+
|
|
1092
|
+
# Profile specific component
|
|
1093
|
+
npx claude-flow@v3alpha performance profile --component mcp-server
|
|
1094
|
+
|
|
1095
|
+
# Analyze bottlenecks
|
|
1096
|
+
npx claude-flow@v3alpha performance analyze --target latency
|
|
1097
|
+
|
|
1098
|
+
# Generate performance report
|
|
1099
|
+
npx claude-flow@v3alpha performance report --format detailed
|
|
1100
|
+
|
|
1101
|
+
# Optimize specific area
|
|
1102
|
+
npx claude-flow@v3alpha performance optimize --focus memory
|
|
1103
|
+
|
|
1104
|
+
# Real-time metrics
|
|
1105
|
+
npx claude-flow@v3alpha status --metrics --watch
|
|
1106
|
+
|
|
1107
|
+
# WASM SIMD benchmark
|
|
1108
|
+
npx claude-flow@v3alpha performance benchmark --suite wasm-simd
|
|
1109
|
+
|
|
1110
|
+
# Flash attention benchmark
|
|
1111
|
+
npx claude-flow@v3alpha performance benchmark --suite flash-attention
|
|
1112
|
+
|
|
1113
|
+
# Memory reduction analysis
|
|
1114
|
+
npx claude-flow@v3alpha performance analyze --target memory --quantization int8
|
|
1115
|
+
```
|
|
1116
|
+
|
|
1117
|
+
## SONA Integration
|
|
1118
|
+
|
|
1119
|
+
### Adaptive Learning for Performance Optimization
|
|
1120
|
+
|
|
1121
|
+
```javascript
|
|
1122
|
+
// SONA-powered Performance Learning
|
|
1123
|
+
class SONAPerformanceOptimizer {
|
|
1124
|
+
constructor() {
|
|
1125
|
+
this.trajectories = [];
|
|
1126
|
+
this.learnedPatterns = new Map();
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
async learnFromOptimization(optimization, result) {
|
|
1130
|
+
// Record trajectory
|
|
1131
|
+
const trajectory = {
|
|
1132
|
+
optimization: optimization,
|
|
1133
|
+
result: result,
|
|
1134
|
+
qualityScore: this.calculateQualityScore(result)
|
|
1135
|
+
};
|
|
1136
|
+
|
|
1137
|
+
this.trajectories.push(trajectory);
|
|
1138
|
+
|
|
1139
|
+
// Trigger SONA learning if threshold reached
|
|
1140
|
+
if (this.trajectories.length >= 10) {
|
|
1141
|
+
await this.triggerSONALearning();
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
async triggerSONALearning() {
|
|
1146
|
+
// Use SONA to learn optimization patterns
|
|
1147
|
+
await mcp__claude-flow__neural_train({
|
|
1148
|
+
pattern_type: 'optimization',
|
|
1149
|
+
training_data: JSON.stringify(this.trajectories),
|
|
1150
|
+
epochs: 10
|
|
1151
|
+
});
|
|
1152
|
+
|
|
1153
|
+
// Extract learned patterns
|
|
1154
|
+
const patterns = await mcp__claude-flow__neural_patterns({
|
|
1155
|
+
action: 'analyze',
|
|
1156
|
+
metadata: { domain: 'performance' }
|
|
1157
|
+
});
|
|
1158
|
+
|
|
1159
|
+
// Store patterns for future use
|
|
1160
|
+
for (const pattern of patterns) {
|
|
1161
|
+
this.learnedPatterns.set(pattern.signature, pattern);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
// Clear processed trajectories
|
|
1165
|
+
this.trajectories = [];
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
async predictOptimalSettings(context) {
|
|
1169
|
+
// Use SONA to predict optimal configuration
|
|
1170
|
+
const prediction = await mcp__claude-flow__neural_predict({
|
|
1171
|
+
modelId: 'performance-optimizer',
|
|
1172
|
+
input: JSON.stringify(context)
|
|
1173
|
+
});
|
|
1174
|
+
|
|
1175
|
+
return {
|
|
1176
|
+
batchSize: prediction.batch_size,
|
|
1177
|
+
parallelism: prediction.parallelism,
|
|
1178
|
+
caching: prediction.caching_strategy,
|
|
1179
|
+
quantization: prediction.quantization_level,
|
|
1180
|
+
confidence: prediction.confidence
|
|
1181
|
+
};
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
## Best Practices
|
|
1187
|
+
|
|
1188
|
+
### Performance Optimization Checklist
|
|
1189
|
+
|
|
1190
|
+
1. **Flash Attention**
|
|
1191
|
+
- Enable for all transformer-based models
|
|
1192
|
+
- Use fused operations where possible
|
|
1193
|
+
- Target 2.49x-7.47x speedup
|
|
1194
|
+
|
|
1195
|
+
2. **WASM SIMD**
|
|
1196
|
+
- Enable SIMD for vector operations
|
|
1197
|
+
- Use aligned memory access
|
|
1198
|
+
- Batch operations for SIMD efficiency
|
|
1199
|
+
|
|
1200
|
+
3. **Memory Optimization**
|
|
1201
|
+
- Apply int8/int4 quantization (50-75% reduction)
|
|
1202
|
+
- Enable gradient checkpointing
|
|
1203
|
+
- Use memory pooling for allocations
|
|
1204
|
+
|
|
1205
|
+
4. **Latency Reduction**
|
|
1206
|
+
- Keep MCP response <100ms
|
|
1207
|
+
- Use connection pooling
|
|
1208
|
+
- Batch tool calls when possible
|
|
1209
|
+
|
|
1210
|
+
5. **SONA Integration**
|
|
1211
|
+
- Track all optimization trajectories
|
|
1212
|
+
- Learn from successful patterns
|
|
1213
|
+
- Target <0.05ms adaptation time
|
|
1214
|
+
|
|
1215
|
+
## Integration Points
|
|
1216
|
+
|
|
1217
|
+
### With Other V3 Agents
|
|
1218
|
+
|
|
1219
|
+
- **Memory Specialist**: Coordinate memory optimization strategies
|
|
1220
|
+
- **Security Architect**: Ensure performance changes maintain security
|
|
1221
|
+
- **SONA Learning Optimizer**: Share learned optimization patterns
|
|
1222
|
+
|
|
1223
|
+
### With Swarm Coordination
|
|
1224
|
+
|
|
1225
|
+
- Provide performance metrics to coordinators
|
|
1226
|
+
- Optimize agent communication patterns
|
|
1227
|
+
- Balance load across swarm agents
|
|
1228
|
+
|
|
1229
|
+
---
|
|
1230
|
+
|
|
1231
|
+
**V3 Performance Engineer** - Optimizing Claude Flow for maximum performance
|
|
1232
|
+
|
|
1233
|
+
Targets: Flash Attention 2.49x-7.47x | HNSW 150x-12,500x | Memory -50-75% | MCP <100ms | SONA <0.05ms
|