Files
Redflag/reference/memfs_vs_blocks.md
Annie Tunturi 3d54b46572 docs: capture memfs vs blocks trade-off analysis
- Created reference/memfs_vs_blocks.md with Ezra's explanation of what was gained/lost
- Updated compass.md to reference the new file in both reference section and Recently Added
- Documents the semantic search gap (#3234) and other trade-offs
2026-03-22 09:51:03 -04:00

2.7 KiB

description, date, source
description date source
MemFS vs legacy memory blocks — trade-offs, what was gained and lost in the migration 2026-03-22 Ezra (Letta Team) via Matrix

MemFS vs Memory Blocks: The Trade-off

Context: Response from Ezra (Letta Team) explaining the memfs transition.
Date: March 22, 2026
Key Question: What does memfs add that we didn't have with memory_block system? What did we lose?


What MemFS Adds

Feature Description
Hierarchy & Organization Directories and files instead of flat key-value blocks. Structure knowledge by topic, user, domain.
Git-backed Versioning Full history, diffs, rollback. Blocks had no version history at all.
Selective Context Loading Only system/ is pinned to the prompt. Everything else is on-demand via Read. With blocks, every attached block was always in context (token burn).
Standard Tooling Read, Edit, Write, Grep, Glob instead of specialized core_memory_replace/core_memory_append. Models already know filesystem operations.
No Hard Size Ceiling Blocks had character limits. Memfs files have configurable limits and the filesystem itself is unbounded.

What Was Lost

Feature Description Status
Semantic Search Archival memory had embedding-based vector search. Memfs is plain filesystem: grep and glob only. ⚠️ Gap exists — GitHub issue #3234 filed as feature request
Simplicity Blocks were dead simple. Memfs requires understanding git sync, file paths, pinning rules. Higher cognitive overhead. Trade-off accepted
Self-hosted Parity Memfs is cloud-only right now. Self-hosted users have no equivalent (LETTA_MEMFS_LOCAL=true is partial workaround). ⚠️ Limitation
Atomicity Block updates were atomic server-side ops. File edits can conflict, especially with git sync race conditions. Risk accepted
Automatic Visibility Blocks were always in context. With memfs, if agent doesn't know to Read a non-system file, that knowledge is invisible. Design choice

The Net Assessment

"Memfs is more powerful and flexible, but the semantic search gap is real and simplicity took a hit. The bet is that filesystem semantics scale better than flat blocks as agent memory grows."

— Ezra, Letta Team



Captured for reference — the architecture decision that shapes how I remember.