Skip to content

AgentDB: 4 controllers unimplemented (ContextSynthesizer, ReasoningBank, BatchOperations, CausalMemoryGraph bridge) #1492

@martineserios

Description

@martineserios

Environment

  • ruflo@3.5.48 (npm install -g ruflo@latest)
  • Node v20.19.4, Linux x64
  • MCP server with CLAUDE_FLOW_TOOL_GROUPS=memory,agentdb,embeddings,hooks
  • Database: ~/.swarm/memory.db with 1005 entries, 34 tables

Issue

agentdb_controllers reports 5 controllers, 4 active. However, several MCP tools that depend on agentdb controllers return errors because the backing controllers are never registered in the controller registry.

Working controllers (4/5)

Controller Status Tools it powers
hierarchicalMemory enabled hierarchical-store, hierarchical-recall
tieredCache enabled (internal caching)
memoryGraph enabled (registered but causal-edge still fails)
memoryConsolidation enabled session-end

Failing tools

MCP Tool Error Expected Controller
agentdb_context-synthesize "ContextSynthesizer not available" contextSynthesizer — never registered in any initializer
agentdb_pattern-search "controller": "unavailable" reasoningBank — registered but enabled: false
agentdb_batch "BatchOperations not available" Never registered
agentdb_causal-edge "AgentDB bridge not available" memoryGraph is registered/enabled but bridge doesn't route to it

Root cause analysis

  1. contextSynthesizer: memory-bridge.js:1427 calls registry.get('contextSynthesizer') but no code in memory-initializer.js or anywhere else ever registers this key. The ContextSynthesizer class exists in agentdb/dist/src/controllers/ContextSynthesizer.js but is never imported or instantiated.

  2. reasoningBank: Registered at level 1 but enabled: false. memory-initializer.js:1300 attempts import('agentic-flow/reasoningbank') — unclear if this import path resolves correctly with the current package structure.

  3. BatchOperations: memory-bridge.js:1381 returns "BatchOperations not available" — no controller provides this capability.

  4. causal-edge: memoryGraph controller is registered and enabled, but memory-bridge.js for causal-edge falls through to the "bridge not available" error instead of routing to memoryGraph.

Reproduction

# Install
npm install -g ruflo@3.5.48

# Start MCP and call tools
ruflo mcp start
# Via MCP client:
agentdb_controllers  # → shows 5 controllers, 4 active
agentdb_context-synthesize(query: "test")  # → ContextSynthesizer not available
agentdb_pattern-search(query: "test")  # → controller: unavailable
agentdb_batch(operation: "insert", entries: [...])  # → BatchOperations not available
agentdb_causal-edge(sourceId: "a", targetId: "b", relation: "references")  # → bridge not available

Impact

These 4 tools are exposed in the MCP tool list (users see them and expect them to work) but silently fail. This blocks use cases that depend on:

  • Context synthesis from stored memories
  • Pattern search with confidence scoring
  • Bulk memory operations
  • Knowledge graph edges between entries

Suggested fix

  1. Register ContextSynthesizer from agentdb controllers package during initialization
  2. Investigate why reasoningBank is disabled — enable or document requirements
  3. Implement BatchOperations (or route batch calls through existing memory_store in a loop)
  4. Fix causal-edge routing to use the already-registered memoryGraph controller

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions