Skip to content

[Priority 2] Create unified VFS abstraction for all RLM resources #61

@marknutter

Description

@marknutter

Problem

Fragmented access patterns across RLM:

  • Memory: rlm recall, rlm remember, MCP tools
  • Analysis: rlm scan, rlm chunk, rlm extract
  • Hooks: direct Python imports
  • TUI: direct database access
  • Strategies: file I/O
  • Archives: exports

Each resource has custom access code. Hard to compose operations across resources.

Proposal (from AIGNE paper analysis)

Unified virtual file system (VFS) abstraction:

from rlm.vfs import mount, list_dir, read, write, search, exec

# Unified namespace
mount('/rlm/memory/', backend=SQLiteMemory)
mount('/rlm/sessions/', backend=LocalFileSystem)
mount('/rlm/strategies/', backend=LocalFileSystem)
mount('/rlm/archive/', backend=ImmutableHistory)
mount('/rlm/scratchpad/', backend=EphemeralWorkspace)

# Uniform access
results = search('/rlm/memory/', query='security')
content = read('/rlm/sessions/abc123/manifest.json')
exec('/rlm/strategies/expand_query.py', args=['Iraq war'])

Implementation

  1. Design VFS API (mount, list_dir, read, write, search, exec)
  2. Create backend adapters (SQLite, filesystem, exports)
  3. Incrementally migrate existing code
  4. Update MCP server to expose VFS operations

Impact

  • Composability (pipe operations across resources)
  • Extensibility (mount new backends without core changes)
  • Cleaner architecture (uniform interface)
  • Future-proof (easy to add vector DBs, APIs, knowledge graphs)

Effort

5-7 days (design, implementation, migration, testing)

Related

  • File system abstraction from 'Everything is Context' paper (arxiv 2512.05470)
  • AIGNE's AFS module

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions