funes memory plane · alpha · vol. 0.1

Memory that never erases

funes is the memory plane for AI agents: the half that remembers, paired with twinkl.ing, the harness that acts. It keeps markdown as the source of truth: full-text, vector and graph retrieval fused into one ranked answer, over files that stay yours.

To think is to forget differences, generalize, make abstractions. In the teeming world of Funes there were only details. Borges, Funes the Memorious
Install
npm i -g @funes-tech/cli@alpha

Alpha, on the alpha dist-tag. ~393 MB installed; the first reindex takes about 70 seconds while the embedding model downloads.

Three arms, one entry

Recall

Full text

FTS5, title-weighted and unicode-aware, so non-English notes ride the same arm.

Vector

1800-character chunks with 200 of overlap, so a detail buried deep in a long document is still reachable.

Graph

A bounded walk over the wikilinks and typed frontmatter edges you already write.

Fused by rank, not score (Reciprocal Rank Fusion), then adjusted by trust, by zone, and by an exact-name boost, with near-duplicates collapsed.

The index is disposable

Supersession

Supersession and tombstones live in the markdown frontmatter, not only in the database. Delete the index and rebuild it and you get the same state back. Nothing is destroyed to record a change: the old row is struck, and the new one entered beneath it.

An example entry, not real data:

2026-03-04 Northwind retainer, 4,000/month superseded
2026-07-19 Northwind retainer, 9,500/month current

Three commands

Quickstart
  1. Point it at a folder of markdown. No config file, no init step. funes reindex --vault ./notes
  2. Ask it something. funes query "what did I decide about the roof" --vault ./notes
  3. Give an agent access over MCP. Eleven tools. claude mcp add funes -- funes mcp --vault ./notes

    Agent writes land in out_memory/<id>.md as ordinary markdown, recorded untrusted. Trust is stamped by the server and never accepted from a tool argument; promoting a memory is a separate human act.

What it measured

Evidence
MRR
0.873held-out slice
hit@5
0.952not precision
Fixture
63judged queries, frozen

Read that carefully. hit@5 asks whether the right document appeared anywhere in the top five. It is not precision, and it is a much easier question. Judged precision on the same fixture is lower.

The fixture is one person's vault, so these numbers describe that corpus, not yours. They are published anyway, with the caveat attached, because a benchmark you cannot interrogate is worth nothing.

What is not in the box

Limits