Skip to content

Feature: Graph Traversal API for Memory Relationships #1

@prmichaelsen

Description

@prmichaelsen

Feature Request: Graph Traversal API

Problem

Currently, relationship_ids exist in the memory data model but are not easily navigable. Users cannot explore the graph structure of connected memories, trace idea evolution, or visualize how memories relate to each other.

Proposed Solution

Add a graph traversal API that exposes memory relationships in a navigable, queryable format:

remember_get_memory_relationships(memory_id, {
  depth: 2,              // how many hops from source
  direction: "both",     // outbound/inbound/both
  relationship_type: "*", // filter by type (e.g., "inspired_by", "contradicts")
  limit: 50              // max results
})

Returns a tree structure:

  • Source memory at center
  • Connected memories at each depth level
  • Relationship types (references, inspired_by, contradicts, etc.)
  • Metadata (when created, strength, confidence)

Use Cases

  • "Show everything connected to this poem"
  • "Trace the evolution of this idea"
  • "Find path between two memories"
  • Explore a memory's "near field" of connected knowledge
  • Discover clusters of related content

Visualization Modes

  • Network graph: nodes/edges visualization
  • Tree view: hierarchical expansion
  • List view: flat with depth indentation

Advanced Features

  • Path-finding: shortest path between two memories
  • Cluster detection: identify densely connected memory groups
  • Orphan detection: find unconnected memories
  • Relationship strength: weight edges by confidence/strength scores

Implementation Notes

This builds on the existing relationship_ids array in the memory model. Instead of just storing IDs as metadata, make them first-class navigable structures.

Benefits

  • Makes the memory graph explorable and visual
  • Enables discovery of unexpected connections
  • Supports knowledge graph use cases
  • Leverages existing relationship data model

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