Skip to content

About

FAF Memory plugin for Claude Code — Permanent Memory Layer (PML). Wraps faf-memory-mcp via uvx. .fafm — IANA-registered cross-vendor persistent AI memory. 412× faster type-filter vs grep (falsifiable receipt: Wolfe-Jam/faf-memory-proof).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FAF Memory — Permanent Memory Layer for Claude Code

Your Claude doesn't remember yesterday. .fafm is the file that fixes that — IANA-registered, cross-vendor, offline-first. Open the same memory in grok-faf-voice — same facts, both directions tested.

IANA Zenodo DOI Receipt MIT

Install

Not in Anthropic's directory yet (review pending). Until then, install from the FAF marketplace:

claude plugin marketplace add Wolfe-Jam/faf-plugins
claude plugin install faf-memory@faf-plugins

The plugin wires the faf-memory-mcp server into Claude Code via uvx, exposing five tools.

What it runs

One local MCP server, faf-memory-mcp==0.1.1, started with uvx (downloaded from PyPI on first run). It reads and writes a .fafm file on your machine and makes no network calls of its own. The plugin collects no data. Support: team@faf.one.

Prerequisite: uv — the plugin launches its MCP server with uvx. First run builds dependencies (~90s); warm starts are instant.

What you get

Tool What it does
etch(text, id?, type?, priority?, tags?) Write a durable fact. O(1) dedup by id.
recall(query?, type?, tags?, min_priority?, limit?) Filter (substring + type + tags + priority floor), rank by priority then recency.
list_facts() Enumerate all facts (no filter, no rank).
save_soul(path?) Persist to a .fafm file.
load_soul(path?) Load a .fafm from disk.

Memory lives in .fafm — plain YAML, IANA-registered. Diffable like code. Portable to any tool that reads the format.

How to know it's working

  • Your agent doesn't ask "what is this project?" twice in the same week.
  • recall("X") surfaces what you etched last session, not just the current one.
  • The .fafm file grows readably — open it, diff it, share it.
  • Open the same file in grok-faf-voice — same facts. Cross-vendor proven.

Complementary, not competing

.fafm is a structured source. It works alongside Claude Code's own memory, not against it:

  • claude-md-management maintains the rendered CLAUDE.md; .fafm is its memory sibling
  • Community remember keeps conversational daily logs; .fafm is its structured peer

PML is the standard underneath — IANA-registered, cross-vendor, offline-first.

The receipt

400+× faster type-filter queries vs grep on a real 492-file AI memory corpus. Falsifiable methodology + scripts + sanitized pilot at Wolfe-Jam/faf-memory-proof — reproduce in 30 seconds with one paste.

Tradeoff note

Biases toward deterministic recall (substring + type + tags + priority + recency) over semantic recall. For semantic / LLM smart-merge, see hosted namepoints in claude-fafm-sdk. Offline-first ≠ offline-only.

The FAF cluster

License

MIT.

About

FAF Memory plugin for Claude Code — Permanent Memory Layer (PML). Wraps faf-memory-mcp via uvx. .fafm — IANA-registered cross-vendor persistent AI memory. 412× faster type-filter vs grep (falsifiable receipt: Wolfe-Jam/faf-memory-proof).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors