moflo 4.11.8 → 4.11.9

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.
Files changed (36) hide show
  1. package/.claude/guidance/shipped/moflo-cli-reference.md +7 -7
  2. package/.claude/guidance/shipped/moflo-guidance-rules.md +2 -2
  3. package/.claude/helpers/statusline.cjs +4 -1
  4. package/README.md +2 -2
  5. package/dist/src/cli/aidefence/domain/services/threat-learning-service.js +2 -2
  6. package/dist/src/cli/aidefence/index.js +1 -1
  7. package/dist/src/cli/commands/agent.js +1 -13
  8. package/dist/src/cli/commands/embeddings.js +4 -4
  9. package/dist/src/cli/commands/hooks.js +7 -35
  10. package/dist/src/cli/commands/init.js +1 -1
  11. package/dist/src/cli/commands/memory.js +3 -4
  12. package/dist/src/cli/commands/neural.js +2 -2
  13. package/dist/src/cli/commands/performance.js +7 -7
  14. package/dist/src/cli/commands/status.js +3 -15
  15. package/dist/src/cli/commands/swarm.js +6 -6
  16. package/dist/src/cli/hooks/reasoningbank/guidance-provider.js +4 -4
  17. package/dist/src/cli/hooks/reasoningbank/index.js +2 -2
  18. package/dist/src/cli/hooks/statusline/index.js +7 -9
  19. package/dist/src/cli/index.js +2 -2
  20. package/dist/src/cli/init/executor.js +7 -7
  21. package/dist/src/cli/mcp-tools/aidefence-moflodb-store.js +1 -1
  22. package/dist/src/cli/mcp-tools/hooks-tools.js +5 -6
  23. package/dist/src/cli/mcp-tools/memory-tools.js +1 -1
  24. package/dist/src/cli/memory/entries-read.js +2 -2
  25. package/dist/src/cli/memory/hnsw-index.js +1 -1
  26. package/dist/src/cli/memory/hnsw-singleton.js +2 -2
  27. package/dist/src/cli/memory/index.js +1 -1
  28. package/dist/src/cli/memory/moflo-db-adapter.js +2 -2
  29. package/dist/src/cli/memory/types.js +1 -1
  30. package/dist/src/cli/movector/vector-db.js +1 -1
  31. package/dist/src/cli/neural/reasoning-bank.js +1 -1
  32. package/dist/src/cli/swarm/attention-coordinator.js +2 -17
  33. package/dist/src/cli/swarm/coordination/agent-registry.js +2 -2
  34. package/dist/src/cli/swarm/coordination/swarm-hub.js +8 -8
  35. package/dist/src/cli/version.js +1 -1
  36. package/package.json +2 -2
@@ -13,7 +13,7 @@
13
13
  | `init` | 4 | Project initialization with wizard, presets, skills, hooks |
14
14
  | `agent` | 8 | Agent lifecycle (spawn, list, status, stop, metrics, pool, health, logs) |
15
15
  | `swarm` | 6 | Multi-agent swarm coordination and orchestration |
16
- | `memory` | 11 | node:sqlite + HNSW vector search, 150x-12,500x faster |
16
+ | `memory` | 11 | node:sqlite + HNSW approximate-nearest-neighbor vector search |
17
17
  | `mcp` | 9 | MCP server management and tool execution |
18
18
  | `task` | 6 | Task creation, assignment, and lifecycle |
19
19
  | `session` | 7 | Session state management and persistence |
@@ -174,12 +174,12 @@ a real findings UI, not a default-on background task.
174
174
 
175
175
  ## RuVector Integration (HNSW Vector Search)
176
176
 
177
- | Feature | Performance | Description |
178
- |---------|-------------|-------------|
179
- | **HNSW Index** | 150x–12,500x faster | Hierarchical Navigable Small World search |
180
- | **MicroLoRA** | <100µs adaptation | Fast model adaptation (508k+ ops/sec) |
181
- | **FlashAttention** | 2.49x–7.47x speedup | Optimized attention computation |
182
- | **Int8 Quantization** | 3.92x memory reduction | Compressed weight storage |
177
+ | Feature | Description |
178
+ |---------|-------------|
179
+ | **HNSW Index** | Hierarchical Navigable Small World approximate-nearest-neighbor search — scales sub-linearly as the index grows, vs. a brute-force linear scan |
180
+ | **MicroLoRA** | Lightweight rank-2 weight adaptation from successful patterns, without full retraining |
181
+ | **FlashAttention** | Memory-efficient attention computation |
182
+ | **Int8 Quantization** | Compressed 8-bit weight storage to reduce memory footprint |
183
183
 
184
184
  ---
185
185
 
@@ -14,8 +14,8 @@ Claude processes guidance as part of a large context window alongside code, tool
14
14
 
15
15
  ```markdown
16
16
  ## Good
17
- **Always search memory before Glob/Grep.** Memory search is 150x faster and returns
18
- domain-aware results that Glob cannot provide.
17
+ **Always search memory before Glob/Grep.** It returns domain-aware semantic matches
18
+ from a prebuilt index that Glob cannot — one lookup, not a fresh filesystem scan.
19
19
 
20
20
  ## Bad
21
21
  Memory search uses HNSW indexing with domain-aware embeddings that provide much better
@@ -773,6 +773,10 @@ function generateStatusline() {
773
773
  function generateDashboard() {
774
774
  const git = getGitInfo();
775
775
  const session = getSessionStats();
776
+ // Hoisted to function scope: the embeddings block below also reads `system`,
777
+ // so it must not be scoped inside the show_swarm branch (fixed a ReferenceError
778
+ // when the swarm line was toggled off / the block ordering changed).
779
+ const system = getSystemMetrics();
776
780
  const lines = [];
777
781
 
778
782
  // Header: branding + dir + git
@@ -808,7 +812,6 @@ function generateDashboard() {
808
812
  // Swarm line (if enabled)
809
813
  if (SL_CONFIG.show_swarm) {
810
814
  const swarm = getSwarmStatus();
811
- const system = getSystemMetrics();
812
815
  const swarmInd = swarm.coordinationActive ? `${c.brightGreen}\u25C9${c.reset}` : `${c.dim}\u25CB${c.reset}`;
813
816
  const agentsColor = swarm.activeAgents > 0 ? c.brightGreen : c.red;
814
817
  lines.push(
package/README.md CHANGED
@@ -49,7 +49,7 @@ MoFlo makes deliberate choices so you don't have to:
49
49
  - **Neural embeddings by default** — 384-dimensional embeddings using `all-MiniLM-L6-v2`. No hash fallback, no peer-optional setup, no install prompts — real semantic search works out of the box. A `postinstall` step trims the embedding runtime to your platform and strips GPU-only libraries the runtime never loads, reclaiming roughly 340 MB on Linux and 150 MB on Windows from a fresh install. Set `MOFLO_NO_PRUNE=1` to skip the trim, or `ONNXRUNTIME_NODE_INSTALL_CUDA=true` to keep CUDA GPU support.
50
50
  - **Full learning stack wired up OOTB** — All configured and functional from `flo init`, no manual setup:
51
51
  - **SONA** (Self-Optimizing Neural Architecture) — learns from task trajectories
52
- - **MicroLoRA** — fast rank-2 weight adaptations (~1µs per adapt)
52
+ - **MicroLoRA** — fast rank-2 weight adaptations from successful patterns
53
53
  - **EWC++** (Elastic Weight Consolidation) — prevents catastrophic forgetting across sessions
54
54
  - **HNSW Vector Search** — fast nearest-neighbor search over your knowledge base
55
55
  - **Semantic Routing** — maps tasks to the right agent via learned patterns (ReasoningBank)
@@ -751,7 +751,7 @@ These are the backend systems that hooks and commands interact with.
751
751
  | **Semantic Routing** | Matches task descriptions to agent types using vector similarity against 12 built-in patterns | Routes work to the right specialist (security-architect, tester, coder, etc.) automatically | Yes |
752
752
  | **Learned Routing** | Records task outcomes (agent type + success/failure) and feeds them back into routing | Routing gets smarter over time — successful patterns are weighted higher in future recommendations | Yes |
753
753
  | **SONA Learning** | Self-Optimizing Neural Architecture that learns from task trajectories | Adapts routing weights based on actual outcomes, not just keyword matching | Yes |
754
- | **MicroLoRA Adaptation** | Rank-2 LoRA weight updates from successful patterns (~1µs per adapt) | Fine-grained model adaptation without full retraining | Yes |
754
+ | **MicroLoRA Adaptation** | Rank-2 LoRA weight updates from successful patterns | Fine-grained model adaptation without full retraining | Yes |
755
755
  | **EWC++ Consolidation** | Elastic Weight Consolidation that prevents catastrophic forgetting | New learning doesn't overwrite patterns from earlier sessions | Yes |
756
756
  | **Session Persistence** | Stop hook exports session metrics; SessionStart hook restores prior state | Patterns learned on Monday are available on Friday | Yes |
757
757
  | **Auto-Meditate** | Recognizes durable lessons in the live session and distills them into the `learnings` namespace in a background pass at the next session start | The high-signal lessons from each session are kept automatically — no need to remember to run `/meditate` | Yes |
@@ -5,7 +5,7 @@
5
5
  * and ReasoningBank-style pattern storage.
6
6
  *
7
7
  * Features:
8
- * - HNSW-indexed threat pattern search (150x-12,500x faster)
8
+ * - HNSW-indexed threat pattern search (approximate-nearest-neighbor)
9
9
  * - Pattern learning from successful detections
10
10
  * - Effectiveness tracking for adaptive mitigation
11
11
  * - Integration with agentic-flow attention mechanisms
@@ -73,7 +73,7 @@ export class ThreatLearningService {
73
73
  }
74
74
  /**
75
75
  * Search for similar threat patterns using HNSW
76
- * When connected to AgentDB, achieves 150x-12,500x speedup
76
+ * When connected to AgentDB, uses HNSW approximate-nearest-neighbor (ANN) search
77
77
  */
78
78
  async searchSimilarThreats(query, options = {}) {
79
79
  const results = await this.vectorStore.search({
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Features:
5
5
  * - 50+ prompt injection patterns
6
- * - HNSW-indexed threat pattern search (150x-12,500x faster with MofloDb)
6
+ * - HNSW-indexed threat pattern search (approximate-nearest-neighbor with MofloDb)
7
7
  * - ReasoningBank-style pattern learning
8
8
  * - Adaptive mitigation with effectiveness tracking
9
9
  *
@@ -452,12 +452,7 @@ const metricsCommand = {
452
452
  { type: 'coder', count: 2, tasks: 45, successRate: '97%' },
453
453
  { type: 'researcher', count: 1, tasks: 32, successRate: '95%' },
454
454
  { type: 'tester', count: 1, tasks: 50, successRate: '98%' }
455
- ],
456
- performance: {
457
- flashAttention: '2.8x speedup',
458
- memoryReduction: '52%',
459
- searchImprovement: '150x faster'
460
- }
455
+ ]
461
456
  };
462
457
  if (ctx.flags.format === 'json') {
463
458
  output.printJson(metrics);
@@ -491,13 +486,6 @@ const metricsCommand = {
491
486
  ],
492
487
  data: metrics.byType
493
488
  });
494
- output.writeln();
495
- output.writeln(output.bold('V3 Performance Gains'));
496
- output.printList([
497
- `Flash Attention: ${output.success(metrics.performance.flashAttention)}`,
498
- `Memory Reduction: ${output.success(metrics.performance.memoryReduction)}`,
499
- `Search: ${output.success(metrics.performance.searchImprovement)}`
500
- ]);
501
489
  return { success: true, data: metrics };
502
490
  }
503
491
  };
@@ -726,7 +726,7 @@ const providersCommand = {
726
726
  ],
727
727
  });
728
728
  output.writeln();
729
- output.writeln(output.dim('Agentic Flow provider uses WASM SIMD for 75x faster inference'));
729
+ output.writeln(output.dim('Agentic Flow provider uses WASM SIMD for lightweight pure-TS inference'));
730
730
  return { success: true };
731
731
  },
732
732
  };
@@ -1035,7 +1035,7 @@ const neuralCommand = {
1035
1035
  },
1036
1036
  {
1037
1037
  component: 'Flash Attention',
1038
- description: '2.49x-7.47x attention speedup',
1038
+ description: 'memory-efficient attention',
1039
1039
  status: neural.flashAttention ? output.success('Enabled') : output.dim('Disabled')
1040
1040
  },
1041
1041
  {
@@ -1547,8 +1547,8 @@ export const embeddingsCommand = {
1547
1547
  output.writeln();
1548
1548
  output.writeln('Performance:');
1549
1549
  output.printList([
1550
- 'HNSW indexing: 150x-12,500x faster search',
1551
- 'Agentic Flow: 75x faster than Transformers.js (~3ms)',
1550
+ 'HNSW indexing: approximate-nearest-neighbor (ANN) search',
1551
+ 'Agentic Flow: lightweight pure-TS inference',
1552
1552
  'Persistent cache: SQLite-backed, survives restarts',
1553
1553
  'Hyperbolic: Better hierarchical representation',
1554
1554
  ]);
@@ -826,17 +826,6 @@ const metricsCommand = {
826
826
  { metric: 'Avg Risk Score', value: result.commands.avgRiskScore.toFixed(2) }
827
827
  ]
828
828
  });
829
- if (v3Dashboard && result.performance) {
830
- const p = result.performance;
831
- output.writeln();
832
- output.writeln(output.bold('🚀 V3 Performance Gains'));
833
- output.printList([
834
- `Flash Attention: ${output.success(p.flashAttention ?? 'N/A')}`,
835
- `Memory Reduction: ${output.success(p.memoryReduction ?? 'N/A')}`,
836
- `Search Improvement: ${output.success(p.searchImprovement ?? 'N/A')}`,
837
- `Token Reduction: ${output.success(p.tokenReduction ?? 'N/A')}`
838
- ]);
839
- }
840
829
  return { success: true, data: result };
841
830
  }
842
831
  catch (error) {
@@ -1412,7 +1401,7 @@ const sessionRestoreCommand = {
1412
1401
  // Intelligence subcommand (SONA, MoE, HNSW)
1413
1402
  const intelligenceCommand = {
1414
1403
  name: 'intelligence',
1415
- description: 'MoVector intelligence system (SONA, MoE, HNSW 150x faster)',
1404
+ description: 'MoVector intelligence system (SONA, MoE, HNSW ANN search)',
1416
1405
  options: [
1417
1406
  {
1418
1407
  name: 'mode',
@@ -1436,7 +1425,7 @@ const intelligenceCommand = {
1436
1425
  },
1437
1426
  {
1438
1427
  name: 'enable-hnsw',
1439
- description: 'Enable HNSW 150x faster search',
1428
+ description: 'Enable HNSW approximate-nearest-neighbor (ANN) search',
1440
1429
  type: 'boolean',
1441
1430
  default: true
1442
1431
  },
@@ -1584,7 +1573,7 @@ const intelligenceCommand = {
1584
1573
  }
1585
1574
  // HNSW Component
1586
1575
  output.writeln();
1587
- output.writeln(output.bold('🔍 HNSW (150x Faster Search)'));
1576
+ output.writeln(output.bold('🔍 HNSW (ANN Search)'));
1588
1577
  const hnsw = result.components?.hnsw;
1589
1578
  if (hnsw?.enabled) {
1590
1579
  output.printTable({
@@ -1625,19 +1614,6 @@ const intelligenceCommand = {
1625
1614
  else {
1626
1615
  output.writeln(output.dim(' Not initialized'));
1627
1616
  }
1628
- // V3 Performance
1629
- const perf = result.performance;
1630
- if (perf) {
1631
- output.writeln();
1632
- output.writeln(output.bold('🚀 V3 Performance Gains'));
1633
- output.printList([
1634
- `Flash Attention: ${output.success(perf.flashAttention ?? 'N/A')}`,
1635
- `Memory Reduction: ${output.success(perf.memoryReduction ?? 'N/A')}`,
1636
- `Search Improvement: ${output.success(perf.searchImprovement ?? 'N/A')}`,
1637
- `Token Reduction: ${output.success(perf.tokenReduction ?? 'N/A')}`,
1638
- `SWE-Bench Score: ${output.success(perf.sweBenchScore ?? 'N/A')}`
1639
- ]);
1640
- }
1641
1617
  return { success: true, data: result };
1642
1618
  }
1643
1619
  catch (error) {
@@ -2888,10 +2864,9 @@ const statuslineCommand = {
2888
2864
  }
2889
2865
  const domainsColor = progress.domainsCompleted >= 3 ? c.brightGreen : progress.domainsCompleted > 0 ? c.yellow : c.red;
2890
2866
  // Dynamic perf indicator based on patterns/HNSW
2891
- let perfIndicator = `${c.dim}⚡ target: 150x-12500x${c.reset}`;
2867
+ let perfIndicator = `${c.dim}⚡ HNSW${c.reset}`;
2892
2868
  if (agentdbStats.hasHnsw && agentdbStats.vectorCount > 0) {
2893
- const speedup = agentdbStats.vectorCount > 10000 ? '12500x' : agentdbStats.vectorCount > 1000 ? '150x' : '10x';
2894
- perfIndicator = `${c.brightGreen}⚡ HNSW ${speedup}${c.reset}`;
2869
+ perfIndicator = `${c.brightGreen}⚡ HNSW (ANN)${c.reset}`;
2895
2870
  }
2896
2871
  else if (progress.patternsLearned > 0) {
2897
2872
  const patternsK = progress.patternsLearned >= 1000 ? `${(progress.patternsLearned / 1000).toFixed(1)}k` : String(progress.patternsLearned);
@@ -3742,11 +3717,8 @@ export const hooksCommand = {
3742
3717
  output.writeln(output.bold('V3 Features:'));
3743
3718
  output.printList([
3744
3719
  '🧠 ReasoningBank adaptive learning',
3745
- '⚡ Flash Attention (2.49x-7.47x speedup)',
3746
- '🔍 AgentDB integration (150x faster search)',
3747
- '📊 84.8% SWE-Bench solve rate',
3748
- '🎯 32.3% token reduction',
3749
- '🚀 2.8-4.4x speed improvement',
3720
+ '⚡ Flash Attention (memory-efficient attention)',
3721
+ '🔍 AgentDB integration (HNSW ANN search)',
3750
3722
  '👥 Agent Teams integration (auto task assignment)'
3751
3723
  ]);
3752
3724
  return { success: true };
@@ -426,7 +426,7 @@ const wizardCommand = {
426
426
  message: 'Select memory backend:',
427
427
  options: [
428
428
  { value: 'hybrid', label: 'Hybrid', hint: 'SQLite + AgentDB (recommended)' },
429
- { value: 'agentdb', label: 'AgentDB', hint: '150x faster vector search' },
429
+ { value: 'agentdb', label: 'AgentDB', hint: 'HNSW approximate-nearest-neighbor (ANN) vector search' },
430
430
  { value: 'sqlite', label: 'SQLite', hint: 'Standard SQL storage' },
431
431
  { value: 'memory', label: 'In-Memory', hint: 'Fast but non-persistent' },
432
432
  ],
@@ -15,7 +15,7 @@ import { resolveBridgeDbPath } from '../memory/bridge-core.js';
15
15
  import { findProjectRoot } from '../services/project-root.js';
16
16
  // Memory backends
17
17
  const BACKENDS = [
18
- { value: 'agentdb', label: 'AgentDB', hint: 'Vector database with HNSW indexing (150x-12,500x faster)' },
18
+ { value: 'agentdb', label: 'AgentDB', hint: 'Vector database with HNSW approximate-nearest-neighbor (ANN) indexing' },
19
19
  { value: 'sqlite', label: 'SQLite', hint: 'Lightweight local storage' },
20
20
  { value: 'hybrid', label: 'Hybrid', hint: 'SQLite + AgentDB (recommended)' },
21
21
  { value: 'memory', label: 'In-Memory', hint: 'Fast but non-persistent' }
@@ -257,7 +257,7 @@ const searchCommand = {
257
257
  },
258
258
  {
259
259
  name: 'build-hnsw',
260
- description: 'Build/rebuild HNSW index before searching (enables 150x-12,500x speedup)',
260
+ description: 'Build/rebuild HNSW index before searching (enables approximate-nearest-neighbor search)',
261
261
  type: 'boolean',
262
262
  default: false
263
263
  }
@@ -291,7 +291,6 @@ const searchCommand = {
291
291
  const status = getHNSWStatus();
292
292
  output.printSuccess(`HNSW index built (${status.entryCount} vectors, ${buildTime}ms)`);
293
293
  output.writeln(output.dim(` Dimensions: ${status.dimensions}, Metric: cosine`));
294
- output.writeln(output.dim(` Search speedup: ${status.entryCount > 10000 ? '12,500x' : status.entryCount > 1000 ? '150x' : '10x'}`));
295
294
  }
296
295
  else {
297
296
  output.printWarning('HNSW index not available (will be initialized on first use)');
@@ -583,7 +582,7 @@ const statsCommand = {
583
582
  ]
584
583
  });
585
584
  output.writeln();
586
- output.printInfo('V3 Performance: 150x-12,500x faster search with HNSW indexing');
585
+ output.printInfo('V3 Performance: HNSW approximate-nearest-neighbor (ANN) search');
587
586
  return { success: true, data: stats };
588
587
  }
589
588
  catch (error) {
@@ -21,7 +21,7 @@ const trainCommand = {
21
21
  { name: 'batch-size', short: 'b', type: 'number', description: 'Batch size', default: '32' },
22
22
  { name: 'dim', type: 'number', description: 'Embedding dimension (max 256)', default: '256' },
23
23
  { name: 'wasm', short: 'w', type: 'boolean', description: 'Use MoVector WASM acceleration', default: 'true' },
24
- { name: 'flash', type: 'boolean', description: 'Enable Flash Attention (2.49x-7.47x speedup)', default: 'true' },
24
+ { name: 'flash', type: 'boolean', description: 'Enable Flash Attention (memory-efficient attention)', default: 'true' },
25
25
  { name: 'moe', type: 'boolean', description: 'Enable Mixture of Experts routing', default: 'false' },
26
26
  { name: 'hyperbolic', type: 'boolean', description: 'Enable hyperbolic attention for hierarchical patterns', default: 'false' },
27
27
  { name: 'contrastive', type: 'boolean', description: 'Use contrastive learning (InfoNCE)', default: 'true' },
@@ -722,7 +722,7 @@ const optimizeCommand = {
722
722
  { metric: 'Pattern Count', before: String(patterns.length), after: String(patterns.length) },
723
723
  { metric: 'Storage Size', before: `${(beforeSize / 1024).toFixed(1)} KB`, after: `${(afterSize / 1024).toFixed(1)} KB` },
724
724
  { metric: 'Embedding Memory', before: `${((memoryReduction * 4) / 1024).toFixed(1)} KB`, after: `${(memoryReduction / 1024).toFixed(1)} KB` },
725
- { metric: 'Memory Reduction', before: '-', after: `~${(3.92).toFixed(2)}x (Int8)` },
725
+ { metric: 'Memory Reduction', before: '-', after: 'compressed 8-bit storage' },
726
726
  { metric: 'Precision', before: 'Float32', after: 'Int8 (±0.5%)' },
727
727
  ],
728
728
  });
@@ -118,7 +118,7 @@ const benchmarkCommand = {
118
118
  }
119
119
  const mean = searchTimes.reduce((a, b) => a + b, 0) / searchTimes.length;
120
120
  // Brute force baseline: ~0.5μs per vector comparison, 1000 vectors = 0.5ms
121
- // HNSW should be O(log n) ~150x faster
121
+ // HNSW is O(log n) approximate-nearest-neighbor (ANN) search
122
122
  const baselineBruteForce = hnswStatus.entryCount * 0.0005;
123
123
  const speedup = baselineBruteForce / (mean / 1000);
124
124
  results.push({
@@ -492,9 +492,9 @@ const optimizeCommand = {
492
492
  { key: 'impact', header: 'Impact', width: 15 },
493
493
  ],
494
494
  data: [
495
- { priority: output.error('P0'), area: 'Memory', recommendation: 'Enable HNSW index quantization', impact: '+50% reduction' },
495
+ { priority: output.error('P0'), area: 'Memory', recommendation: 'Enable HNSW index quantization', impact: 'Int8 quantized' },
496
496
  { priority: output.warning('P1'), area: 'CPU', recommendation: 'Enable WASM SIMD acceleration', impact: '+4x speedup' },
497
- { priority: output.warning('P1'), area: 'Latency', recommendation: 'Enable Flash Attention', impact: '+2.49x speedup' },
497
+ { priority: output.warning('P1'), area: 'Latency', recommendation: 'Enable Flash Attention', impact: 'memory-efficient' },
498
498
  { priority: output.info('P2'), area: 'Cache', recommendation: 'Increase pattern cache size', impact: '+15% hit rate' },
499
499
  { priority: output.info('P2'), area: 'Network', recommendation: 'Enable request batching', impact: '-30% latency' },
500
500
  ],
@@ -564,11 +564,11 @@ export const performanceCommand = {
564
564
  'bottleneck - Identify performance bottlenecks',
565
565
  ]);
566
566
  output.writeln();
567
- output.writeln('Performance Targets:');
567
+ output.writeln('Capabilities:');
568
568
  output.printList([
569
- 'HNSW Search: 150x-12,500x faster than brute force',
570
- 'Flash Attention: 2.49x-7.47x speedup',
571
- 'Memory: 50-75% reduction with quantization',
569
+ 'HNSW Search: approximate-nearest-neighbor (ANN), scales sub-linearly as the index grows',
570
+ 'Flash Attention: memory-efficient attention',
571
+ 'Memory: Int8 quantized weight storage',
572
572
  ]);
573
573
  output.writeln();
574
574
  output.writeln(output.dim('Created with ❤️ by motailz.com'));
@@ -110,9 +110,7 @@ async function getSystemStatus() {
110
110
  tasks: taskStatus,
111
111
  performance: {
112
112
  cpuUsage: getProcessCpuUsage(),
113
- memoryUsage: getProcessMemoryUsage(),
114
- flashAttention: '2.8x speedup',
115
- searchSpeed: '150x faster'
113
+ memoryUsage: getProcessMemoryUsage()
116
114
  }
117
115
  };
118
116
  }
@@ -138,9 +136,7 @@ async function getSystemStatus() {
138
136
  tasks: { total: 0, pending: 0, running: 0, completed: 0, failed: 0 },
139
137
  performance: {
140
138
  cpuUsage: 0,
141
- memoryUsage: 0,
142
- flashAttention: 'N/A',
143
- searchSpeed: 'N/A'
139
+ memoryUsage: 0
144
140
  }
145
141
  };
146
142
  }
@@ -231,10 +227,8 @@ function displayStatus(status) {
231
227
  output.writeln();
232
228
  // Performance section
233
229
  if (status.running) {
234
- output.writeln(output.bold('V3 Performance Gains'));
230
+ output.writeln(output.bold('Performance'));
235
231
  output.printList([
236
- `Flash Attention: ${output.success(status.performance.flashAttention)}`,
237
- `Vector Search: ${output.success(status.performance.searchSpeed)}`,
238
232
  `CPU Usage: ${status.performance.cpuUsage.toFixed(1)}%`,
239
233
  `Memory Usage: ${status.performance.memoryUsage.toFixed(1)}%`
240
234
  ]);
@@ -522,12 +516,6 @@ const memoryCommand = {
522
516
  { metric: 'Cache Hit Rate', value: `${(result.performance.cacheHitRate * 100).toFixed(1)}%` }
523
517
  ]
524
518
  });
525
- output.writeln();
526
- output.writeln(output.bold('V3 Performance Gains'));
527
- output.printList([
528
- `Search Speed: ${output.success(result.v3Gains.searchImprovement)}`,
529
- `Memory Usage: ${output.success(result.v3Gains.memoryReduction)}`
530
- ]);
531
519
  return { success: true, data: result };
532
520
  }
533
521
  catch (error) {
@@ -224,8 +224,8 @@ const initCommand = {
224
224
  output.writeln(output.dim(' Initializing memory namespace...'));
225
225
  output.writeln(output.dim(' Setting up communication channels...'));
226
226
  if (v3Mode) {
227
- output.writeln(output.dim(' Enabling Flash Attention (2.49x-7.47x speedup)...'));
228
- output.writeln(output.dim(' Configuring AgentDB integration (150x faster)...'));
227
+ output.writeln(output.dim(' Enabling Flash Attention (memory-efficient attention)...'));
228
+ output.writeln(output.dim(' Configuring AgentDB integration (HNSW ANN search)...'));
229
229
  output.writeln(output.dim(' Initializing SONA learning system...'));
230
230
  }
231
231
  output.writeln();
@@ -617,11 +617,11 @@ const coordinateCommand = {
617
617
  data: v3Agents
618
618
  });
619
619
  output.writeln();
620
- output.printInfo('Performance Targets:');
620
+ output.printInfo('Capabilities:');
621
621
  output.printList([
622
- `Flash Attention: ${output.success('2.49x-7.47x speedup')}`,
623
- `AgentDB Search: ${output.success('150x-12,500x improvement')}`,
624
- `Memory Reduction: ${output.success('50-75%')}`,
622
+ `Flash Attention: ${output.success('memory-efficient attention')}`,
623
+ `AgentDB Search: ${output.success('HNSW (ANN)')}`,
624
+ `Memory: ${output.success('Int8 quantized')}`,
625
625
  `Code Reduction: ${output.success('<5,000 lines')}`
626
626
  ]);
627
627
  return { success: true, data: { agents: v3Agents, count: agentCount } };
@@ -55,10 +55,10 @@ export class GuidanceProvider {
55
55
  '**Architecture**: Domain-Driven Design across moflo modules',
56
56
  '**Priority**: Security-first (CVE-1, CVE-2, CVE-3 remediation)',
57
57
  '',
58
- '**Performance Targets**:',
59
- '- HNSW search: 150x-12,500x faster (<1ms)',
60
- '- Flash Attention: 2.49x-7.47x speedup',
61
- '- Memory: 50-75% reduction',
58
+ '**Performance Characteristics**:',
59
+ '- HNSW approximate-nearest-neighbor (ANN) search: scales sub-linearly as the index grows',
60
+ '- Flash Attention: memory-efficient attention',
61
+ '- Memory: Int8 quantized weight storage',
62
62
  '',
63
63
  '**Active Patterns**:',
64
64
  '- Use TDD London School (mock-first)',
@@ -5,7 +5,7 @@
5
5
  * No JSON - all patterns stored as vectors in memory.db
6
6
  *
7
7
  * Features:
8
- * - Real HNSW indexing (M=16, efConstruction=200) for 150x+ faster search
8
+ * - Real HNSW indexing (M=16, efConstruction=200) for approximate-nearest-neighbor (ANN) search
9
9
  * - ONNX embeddings via cli/src/embeddings (MiniLM-L6 384-dim)
10
10
  * - MofloDb backend for persistence
11
11
  * - Pattern promotion from short-term to long-term memory
@@ -275,7 +275,7 @@ export class ReasoningBank extends EventEmitter {
275
275
  ? await this.embeddingService.embed(query)
276
276
  : query;
277
277
  let results = [];
278
- // Try HNSW search first (150x+ faster)
278
+ // Try HNSW search first (approximate-nearest-neighbor)
279
279
  if (this.hnswIndex && this.useRealBackend) {
280
280
  const hnswStart = performance.now();
281
281
  try {
@@ -7,7 +7,7 @@
7
7
  * Format matches the working .claude/statusline.sh output:
8
8
  * ▊ MoFlo ● <user> │ ⎇ <branch> │ Opus 4.8
9
9
  * ─────────────────────────────────────────────────────
10
- * 🏗️ DDD Domains [●●●●●] 5/5 ⚡ 1.0x → 2.49x-7.47x
10
+ * 🏗️ DDD Domains [●●●●●] 5/5
11
11
  * 🤖 Swarm ◉ [58/15] 👥 0 🟢 CVE 3/3 💾 22282MB 📂 47% 🧠 10%
12
12
  * 🔧 Architecture DDD ● 98% │ Security ●CLEAN │ Memory ●AgentDB │ Integration ●
13
13
  */
@@ -113,9 +113,8 @@ export class StatuslineGenerator {
113
113
  const progressBar = this.generateProgressBar(data.v3Progress.domainsCompleted, data.v3Progress.totalDomains);
114
114
  const domainsColor = data.v3Progress.domainsCompleted >= 3 ? c.brightGreen :
115
115
  data.v3Progress.domainsCompleted > 0 ? c.yellow : c.red;
116
- const speedup = `${c.brightYellow}⚡ 1.0x${c.reset} ${c.dim}→${c.reset} ${c.brightYellow}${data.performance.flashAttentionTarget}${c.reset}`;
117
116
  lines.push(`${c.brightCyan}🏗️ DDD Domains${c.reset} ${progressBar} ` +
118
- `${domainsColor}${data.v3Progress.domainsCompleted}${c.reset}/${c.brightWhite}${data.v3Progress.totalDomains}${c.reset} ${speedup}`);
117
+ `${domainsColor}${data.v3Progress.domainsCompleted}${c.reset}/${c.brightWhite}${data.v3Progress.totalDomains}${c.reset}`);
119
118
  // Line 2: Swarm + CVE + Memory + Context + Intelligence
120
119
  const swarmIndicator = data.swarm.coordinationActive ? `${c.brightGreen}◉${c.reset}` : `${c.dim}○${c.reset}`;
121
120
  const agentsColor = data.swarm.activeAgents > 0 ? c.brightGreen : c.red;
@@ -237,9 +236,8 @@ export class StatuslineGenerator {
237
236
  const progressBar = this.generateProgressBar(data.v3Progress.domainsCompleted, data.v3Progress.totalDomains);
238
237
  const domainsColor = data.v3Progress.domainsCompleted >= 3 ? c.brightGreen :
239
238
  data.v3Progress.domainsCompleted > 0 ? c.yellow : c.red;
240
- const speedup = `${c.brightYellow}⚡ 1.0x${c.reset} ${c.dim}→${c.reset} ${c.brightYellow}${data.performance.flashAttentionTarget}${c.reset}`;
241
239
  lines.push(`${c.brightCyan}🏗️ DDD Domains${c.reset} ${progressBar} ` +
242
- `${domainsColor}${data.v3Progress.domainsCompleted}${c.reset}/${c.brightWhite}${data.v3Progress.totalDomains}${c.reset} ${speedup}`);
240
+ `${domainsColor}${data.v3Progress.domainsCompleted}${c.reset}/${c.brightWhite}${data.v3Progress.totalDomains}${c.reset}`);
243
241
  // Line 4: COLLISION ZONE LINE - restructure to avoid cols 15-25
244
242
  // We add padding after the emoji to push content past the collision zone
245
243
  const swarmIndicator = data.swarm.coordinationActive ? `${c.brightGreen}◉${c.reset}` : `${c.dim}○${c.reset}`;
@@ -425,9 +423,9 @@ export class StatuslineGenerator {
425
423
  return this.dataSources.getPerformanceTargets();
426
424
  }
427
425
  return {
428
- flashAttentionTarget: '2.49x-7.47x',
429
- searchImprovement: '150x-12,500x',
430
- memoryReduction: '50-75%',
426
+ flashAttentionTarget: 'flash',
427
+ searchImprovement: 'HNSW (ANN)',
428
+ memoryReduction: 'int8',
431
429
  };
432
430
  }
433
431
  /**
@@ -588,7 +586,7 @@ export function parseStatuslineData(json) {
588
586
  security: data.security ?? { status: 'PENDING', cvesFixed: 0, totalCves: 3 },
589
587
  swarm: data.swarm ?? { activeAgents: 0, maxAgents: 15, coordinationActive: false },
590
588
  hooks: data.hooks ?? { status: 'INACTIVE', patternsLearned: 0, routingAccuracy: 0, totalOperations: 0 },
591
- performance: data.performance ?? { flashAttentionTarget: '2.49x-7.47x', searchImprovement: '150x', memoryReduction: '50%' },
589
+ performance: data.performance ?? { flashAttentionTarget: 'flash', searchImprovement: 'HNSW (ANN)', memoryReduction: 'int8' },
592
590
  lastUpdated: data.lastUpdated ? new Date(data.lastUpdated) : new Date(),
593
591
  };
594
592
  }
@@ -362,8 +362,8 @@ export class CLI {
362
362
  this.output.writeln(this.output.bold('V3 FEATURES:'));
363
363
  this.output.printList([
364
364
  '15-agent hierarchical mesh coordination',
365
- 'AgentDB with HNSW indexing (150x-12,500x faster)',
366
- 'Flash Attention (2.49x-7.47x speedup)',
365
+ 'AgentDB with HNSW approximate-nearest-neighbor (ANN) indexing',
366
+ 'Flash Attention (memory-efficient attention)',
367
367
  'Unified SwarmCoordinator engine',
368
368
  'Event-sourced state management',
369
369
  'Domain-Driven Design architecture'
@@ -1472,7 +1472,7 @@ async function writeCapabilitiesDoc(targetDir, options, result) {
1472
1472
  MoFlo V4 is a domain-driven design architecture for multi-agent AI coordination with:
1473
1473
 
1474
1474
  - **15-Agent Swarm Coordination** with hierarchical and mesh topologies
1475
- - **HNSW Vector Search** - 150x-12,500x faster pattern retrieval
1475
+ - **HNSW Vector Search** - approximate-nearest-neighbor (ANN) pattern retrieval
1476
1476
  - **SONA Neural Learning** - Self-optimizing with <0.05ms adaptation
1477
1477
  - **Byzantine Fault Tolerance** - Queen-led consensus mechanisms
1478
1478
  - **MCP Server Integration** - Model Context Protocol support
@@ -1662,10 +1662,10 @@ npx moflo doctor --fix
1662
1662
  ### MoVector Intelligence System
1663
1663
  - **SONA**: Self-Optimizing Neural Architecture (<0.05ms)
1664
1664
  - **MoE**: Mixture of Experts routing
1665
- - **HNSW**: 150x-12,500x faster search
1665
+ - **HNSW**: approximate-nearest-neighbor (ANN) search
1666
1666
  - **EWC++**: Prevents catastrophic forgetting
1667
- - **Flash Attention**: 2.49x-7.47x speedup
1668
- - **Int8 Quantization**: 3.92x memory reduction
1667
+ - **Flash Attention**: memory-efficient attention
1668
+ - **Int8 Quantization**: compressed 8-bit weight storage
1669
1669
 
1670
1670
  ### 4-Step Intelligence Pipeline
1671
1671
  1. **RETRIEVE** - HNSW pattern search
@@ -1751,10 +1751,10 @@ npx moflo hive-mind consensus --propose "task"
1751
1751
 
1752
1752
  | Metric | Target | Status |
1753
1753
  |--------|--------|--------|
1754
- | HNSW Search | 150x-12,500x faster | ✅ Implemented |
1755
- | Memory Reduction | 50-75% | ✅ Implemented (3.92x) |
1754
+ | HNSW Search | ANN (sub-linear scaling) | ✅ Implemented |
1755
+ | Memory Reduction | Int8 quantized | ✅ Implemented |
1756
1756
  | SONA Integration | Pattern learning | ✅ Implemented |
1757
- | Flash Attention | 2.49x-7.47x | 🔄 In Progress |
1757
+ | Flash Attention | memory-efficient | 🔄 In Progress |
1758
1758
  | MCP Response | <100ms | ✅ Achieved |
1759
1759
  | CLI Startup | <500ms | ✅ Achieved |
1760
1760
  | SONA Adaptation | <0.05ms | 🔄 In Progress |
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Wraps the CLI memory-bridge (MofloDb v3 + HNSW + embeddings) so the
5
5
  * 6 aidefence_* MCP tools persist learned threat patterns and mitigation
6
- * strategies across process restarts with 150x-12,500x faster search.
6
+ * strategies across process restarts with HNSW approximate-nearest-neighbor (ANN) search.
7
7
  *
8
8
  * The aidefence facade itself stays pure-lib (no MofloDb import); this
9
9
  * adapter is the seam where the bridge is plugged in. Arbitrary values are
@@ -830,10 +830,9 @@ export const hooksMetrics = {
830
830
  avgRiskScore: 0.15,
831
831
  },
832
832
  performance: {
833
- flashAttention: '2.49x-7.47x speedup',
834
- memoryReduction: '50-75% reduction',
835
- searchImprovement: '150x-12,500x faster',
836
- tokenReduction: '32.3% fewer tokens',
833
+ flashAttention: 'flash',
834
+ memoryReduction: 'int8',
835
+ searchImprovement: 'HNSW (ANN)',
837
836
  },
838
837
  status: 'healthy',
839
838
  lastUpdated: new Date().toISOString(),
@@ -2039,13 +2038,13 @@ export const hooksIntelligence = {
2039
2038
  implemented: true,
2040
2039
  indexSize: realStats.memory.indexSize,
2041
2040
  memorySizeBytes: realStats.memory.memorySizeBytes,
2042
- note: 'HNSW vector indexing with 150x-12,500x speedup',
2041
+ note: 'HNSW approximate-nearest-neighbor (ANN) vector indexing',
2043
2042
  },
2044
2043
  flashAttention: {
2045
2044
  enabled: true,
2046
2045
  status: flashAvailable ? 'active' : 'loading',
2047
2046
  implemented: true, // NOW IMPLEMENTED in alpha.102
2048
- note: flashAvailable ? 'Flash Attention with O(N) memory (2.49x-7.47x speedup)' : 'Flash Attention loading...',
2047
+ note: flashAvailable ? 'Flash Attention with O(N) memory-efficient attention' : 'Flash Attention loading...',
2049
2048
  },
2050
2049
  ewc: {
2051
2050
  enabled: true,
@@ -339,7 +339,7 @@ export const memoryTools = [
339
339
  },
340
340
  {
341
341
  name: 'memory_search',
342
- description: 'Semantic vector search using HNSW index (150x-12,500x faster than keyword search). On chunk hits (non-null `navigation`) you MUST get adjacent context via chunk traversal, never a full-doc `Read`: prefer `expand: "neighbors"` in THIS call (cheapest — inlines prev/next), else `memory_get_neighbors`. Bulk `memory_retrieve` per hit is a protocol violation. See `.claude/guidance/moflo-memory-protocol.md`.',
342
+ description: 'Semantic vector search using HNSW approximate-nearest-neighbor (ANN) index. On chunk hits (non-null `navigation`) you MUST get adjacent context via chunk traversal, never a full-doc `Read`: prefer `expand: "neighbors"` in THIS call (cheapest — inlines prev/next), else `memory_get_neighbors`. Bulk `memory_retrieve` per hit is a protocol violation. See `.claude/guidance/moflo-memory-protocol.md`.',
343
343
  category: 'memory',
344
344
  inputSchema: {
345
345
  type: 'object',
@@ -21,7 +21,7 @@ import { searchCandidateCap } from './bridge-core.js';
21
21
  import { cosineSim, logRoutingFault } from './entries-shared.js';
22
22
  /**
23
23
  * Search entries via node:sqlite with vector similarity.
24
- * Uses HNSW index for 150x faster search when available.
24
+ * Uses HNSW approximate-nearest-neighbor (ANN) index for search when available.
25
25
  */
26
26
  export async function searchEntries(options) {
27
27
  // #1058 — read-side routing preamble. When a daemon is reachable AND we're
@@ -76,7 +76,7 @@ export async function searchEntries(options) {
76
76
  // Generate query embedding
77
77
  const queryEmb = await generateEmbedding(query);
78
78
  const queryEmbedding = queryEmb.embedding;
79
- // Try HNSW search first (150x faster)
79
+ // Try HNSW search first (approximate-nearest-neighbor)
80
80
  const hnswResults = await searchHNSWIndex(queryEmbedding, { k: limit, namespace });
81
81
  if (hnswResults && hnswResults.length > 0) {
82
82
  // Filter by threshold
@@ -2,7 +2,7 @@
2
2
  * V3 HNSW Vector Index
3
3
  *
4
4
  * High-performance Hierarchical Navigable Small World (HNSW) index for
5
- * 150x-12,500x faster vector similarity search compared to brute force.
5
+ * Approximate-nearest-neighbor (ANN) vector similarity search that scales sub-linearly vs. a brute-force linear scan.
6
6
  *
7
7
  * OPTIMIZATIONS:
8
8
  * - BinaryMinHeap/BinaryMaxHeap for O(log n) operations (vs O(n log n) Array.sort)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Process-wide HNSW vector-index singleton (150x faster vector search).
2
+ * Process-wide HNSW vector-index singleton (approximate-nearest-neighbor search).
3
3
  *
4
4
  * Extracted from `memory-initializer.ts` (#1203 decomposition). Owns the
5
5
  * lazy HNSW index built from the SQLite `embedding` column (or a binary
@@ -162,7 +162,7 @@ export async function addToHNSWIndex(id, embedding, entry) {
162
162
  }
163
163
  }
164
164
  /**
165
- * Search HNSW index (150x faster than brute-force)
165
+ * Search HNSW index (approximate-nearest-neighbor; scales sub-linearly vs. brute-force)
166
166
  * Returns results sorted by similarity (highest first)
167
167
  */
168
168
  export async function searchHNSWIndex(queryEmbedding, options) {
@@ -2,7 +2,7 @@
2
2
  * moflo/cli/memory - V3 Unified Memory System
3
3
  *
4
4
  * Provides a unified memory interface backed by MofloDb with HNSW indexing
5
- * for 150x-12,500x faster vector search compared to brute-force approaches.
5
+ * for HNSW approximate-nearest-neighbor (ANN) vector search that scales sub-linearly as the index grows.
6
6
  *
7
7
  * @module moflo/cli/memory
8
8
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * MofloDb Adapter
3
3
  *
4
- * Moflo-owned in-memory backend with HNSW indexing for 150x-12,500x faster
4
+ * Moflo-owned in-memory backend with HNSW approximate-nearest-neighbor (ANN)
5
5
  * vector search. Implements IMemoryBackend interface. Backed by Map + HNSW
6
6
  * with optional sql.js persistence; has no external agentdb dependency.
7
7
  *
@@ -29,7 +29,7 @@ const DEFAULT_CONFIG = {
29
29
  * MofloDb Memory Backend Adapter
30
30
  *
31
31
  * Provides unified memory storage with:
32
- * - HNSW-based vector search (150x-12,500x faster than brute force)
32
+ * - HNSW-based approximate-nearest-neighbor (ANN) vector search
33
33
  * - LRU caching with TTL support
34
34
  * - Namespace-based organization
35
35
  * - Full-text and metadata filtering
@@ -2,7 +2,7 @@
2
2
  * V3 Unified Memory Types
3
3
  *
4
4
  * Type definitions for the unified memory system based on sql.js with HNSW indexing.
5
- * Supports 150x-12,500x faster vector search compared to brute-force approaches.
5
+ * Supports HNSW approximate-nearest-neighbor (ANN) vector search that scales sub-linearly as the index grows.
6
6
  *
7
7
  * @module v3/memory/types
8
8
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Provides optional WASM-accelerated vector operations for:
5
5
  * - Semantic similarity search
6
- * - HNSW indexing (150x faster)
6
+ * - HNSW indexing (approximate-nearest-neighbor)
7
7
  * - Embedding generation
8
8
  *
9
9
  * Gracefully degrades when native backend is not available.
@@ -105,7 +105,7 @@ export class ReasoningBank {
105
105
  /**
106
106
  * Retrieve relevant memories using Maximal Marginal Relevance (MMR)
107
107
  *
108
- * Uses MofloDb HNSW index for 150x faster retrieval when available.
108
+ * Uses MofloDb HNSW approximate-nearest-neighbor (ANN) index for retrieval when available.
109
109
  *
110
110
  * @param queryEmbedding - Query vector for similarity search
111
111
  * @param k - Number of results to return (default: config.retrievalK)
@@ -3,17 +3,12 @@
3
3
  *
4
4
  * Implements attention-based coordination mechanisms from agentic-flow@alpha:
5
5
  * - multi-head: Standard multi-head attention
6
- * - flash: 2.49x-7.47x speedup, 75% memory reduction
6
+ * - flash: memory-efficient attention (Int8 quantized weight storage)
7
7
  * - linear: For long sequences
8
8
  * - hyperbolic: Hierarchical data
9
9
  * - moe: Mixture of Experts routing
10
10
  * - graph-rope: Graph-aware positional embeddings
11
11
  *
12
- * Performance Targets:
13
- * - Flash Attention: 2.49x-7.47x speedup
14
- * - Memory Reduction: 50-75%
15
- * - MoE Routing: <5ms
16
- *
17
12
  * @module v3/swarm/attention-coordinator
18
13
  */
19
14
  import { EventEmitter } from 'events';
@@ -55,8 +50,6 @@ export class AttentionCoordinator extends EventEmitter {
55
50
  performanceStats = {
56
51
  totalCoordinations: 0,
57
52
  totalLatency: 0,
58
- flashSpeedup: 0,
59
- memoryReduction: 0,
60
53
  };
61
54
  constructor(embeddingProvider, config = {}) {
62
55
  super();
@@ -197,7 +190,7 @@ export class AttentionCoordinator extends EventEmitter {
197
190
  // Attention Mechanism Implementations
198
191
  // ===========================================================================
199
192
  /**
200
- * Flash Attention - 2.49x-7.47x speedup
193
+ * Flash Attention - memory-efficient attention
201
194
  */
202
195
  async flashAttentionCoordination(agentOutputs) {
203
196
  await this.ensureEmbeddings(agentOutputs);
@@ -235,8 +228,6 @@ export class AttentionCoordinator extends EventEmitter {
235
228
  memoryUsed,
236
229
  participatingAgents: agentOutputs.map(o => o.agentId),
237
230
  metadata: {
238
- speedup: '2.49x-7.47x',
239
- memoryReduction: '75%',
240
231
  blockSize,
241
232
  },
242
233
  };
@@ -669,12 +660,6 @@ export class AttentionCoordinator extends EventEmitter {
669
660
  updateStats(latency, mechanism, result) {
670
661
  this.performanceStats.totalCoordinations++;
671
662
  this.performanceStats.totalLatency += latency;
672
- if (mechanism === 'flash') {
673
- // Track Flash Attention performance
674
- // In production, compare against baseline
675
- this.performanceStats.flashSpeedup = 2.49 + Math.random() * 4.98; // 2.49x-7.47x
676
- this.performanceStats.memoryReduction = 0.75;
677
- }
678
663
  }
679
664
  // ===========================================================================
680
665
  // Public Getters
@@ -293,7 +293,7 @@ export class AgentRegistry {
293
293
  id: 'agent-7',
294
294
  role: 'memory-specialist',
295
295
  domain: 'core',
296
- description: 'Memory system unification with AgentDB (150x-12500x improvement)',
296
+ description: 'Memory system unification with AgentDB (HNSW ANN search)',
297
297
  capabilities: [
298
298
  { name: 'memory-optimization', description: 'Optimize memory systems', supportedTaskTypes: ['memory-optimization', 'implementation'] }
299
299
  ],
@@ -370,7 +370,7 @@ export class AgentRegistry {
370
370
  id: 'agent-14',
371
371
  role: 'performance-engineer',
372
372
  domain: 'performance',
373
- description: 'Benchmarking and performance optimization (2.49x-7.47x target)',
373
+ description: 'Benchmarking and performance optimization',
374
374
  capabilities: [
375
375
  { name: 'benchmarking', description: 'Run performance benchmarks', supportedTaskTypes: ['benchmark'] }
376
376
  ],
@@ -406,7 +406,7 @@ export class SwarmHub {
406
406
  activeAgents: ['agent-1', 'agent-5', 'agent-6', 'agent-7', 'agent-8', 'agent-9', 'agent-13'],
407
407
  goals: [
408
408
  'Complete core module implementation',
409
- 'Unify memory system with AgentDB (150x improvement)',
409
+ 'Unify memory system with AgentDB (HNSW ANN search)',
410
410
  'Merge 4 coordination systems into single SwarmCoordinator',
411
411
  'Optimize MCP server',
412
412
  'Implement TDD London School tests'
@@ -439,8 +439,8 @@ export class SwarmHub {
439
439
  'agent-13', 'agent-14', 'agent-15'
440
440
  ],
441
441
  goals: [
442
- 'Achieve 2.49x-7.47x Flash Attention speedup',
443
- 'Verify 150x-12,500x AgentDB search improvement',
442
+ 'Enable Flash Attention (memory-efficient attention)',
443
+ 'Verify AgentDB HNSW (ANN) search',
444
444
  'Complete deployment pipeline',
445
445
  'Final test coverage push (>90%)',
446
446
  'Release v3.0.0'
@@ -479,10 +479,10 @@ export class SwarmHub {
479
479
  {
480
480
  id: 'ms-memory-unification',
481
481
  name: 'Memory Unification Complete',
482
- description: 'Single memory service with AgentDB backend achieving 150x improvement',
482
+ description: 'Single memory service with AgentDB HNSW (ANN) backend',
483
483
  criteria: [
484
484
  { description: 'AgentDB integrated', met: false, evidence: null },
485
- { description: '150x search improvement verified', met: false, evidence: null },
485
+ { description: 'HNSW (ANN) search verified', met: false, evidence: null },
486
486
  { description: 'Hybrid backend working', met: false, evidence: null }
487
487
  ],
488
488
  status: 'pending',
@@ -517,9 +517,9 @@ export class SwarmHub {
517
517
  name: 'Performance Targets Met',
518
518
  description: 'All performance targets achieved and verified',
519
519
  criteria: [
520
- { description: '2.49x-7.47x Flash Attention speedup', met: false, evidence: null },
521
- { description: '150x-12,500x AgentDB search', met: false, evidence: null },
522
- { description: '50-75% memory reduction', met: false, evidence: null },
520
+ { description: 'Flash Attention (memory-efficient attention)', met: false, evidence: null },
521
+ { description: 'AgentDB HNSW (ANN) search', met: false, evidence: null },
522
+ { description: 'Int8 quantized memory', met: false, evidence: null },
523
523
  { description: '<500ms startup time', met: false, evidence: null }
524
524
  ],
525
525
  status: 'pending',
@@ -2,5 +2,5 @@
2
2
  * Auto-generated by build. Do not edit manually.
3
3
  * Source of truth: root package.json → scripts/sync-version.mjs
4
4
  */
5
- export const VERSION = '4.11.8';
5
+ export const VERSION = '4.11.9';
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moflo",
3
- "version": "4.11.8",
3
+ "version": "4.11.9",
4
4
  "description": "MoFlo — AI agent orchestration for Claude Code. A standalone, opinionated toolkit with semantic memory, learned routing, gates, spells, and the /flo issue-execution skill.",
5
5
  "main": "dist/src/cli/index.js",
6
6
  "type": "module",
@@ -94,7 +94,7 @@
94
94
  "@typescript-eslint/eslint-plugin": "^7.18.0",
95
95
  "@typescript-eslint/parser": "^7.18.0",
96
96
  "eslint": "^8.0.0",
97
- "moflo": "^4.11.7",
97
+ "moflo": "^4.11.8",
98
98
  "tsx": "^4.21.0",
99
99
  "typescript": "^5.9.3",
100
100
  "vitest": "^4.0.0"