Mnemon v0.4 · primer
Treatise No. 001 — On the Furnishing of Memory

The memory
your AI
deserves. — a field manual for self-hosted recollection

Mnemon is a self-hosted second brain for your agents. It stores everything verbatim, retrieves with hybrid search, and compiles the archive into a living wiki that your models can actually reason against — without extraction loss, vendor lock-in, or a SaaS sitting between you and your own thoughts.

Laravel · native package Postgres · pgvector + tsvector MCP · first-class
i.

Store verbatim.

Every message, every transcript, every artefact, byte-perfect. Extraction is a derivative, never the original.

ii.

Retrieve hybrid.

BM25 over tsvector, joined to pgvector cosine. Ranked, deduped, attributed. No black-box re-rankers.

iii.

Compile upward.

Raw drawers condense into wiki entries; entries link into a living atlas; the palace remembers their geometry.

iv.

Own your house.

Laravel, Postgres, your hardware. No vendors, no rate limits, no quiet exfiltration of your archive.

Status of this archive live · 2026-07-05
Drawers · sealed
110verbatim
Wiki entries · compiled
30L₂
Wings · namespaces
30L₁
§ I — Architecture
Raw storage at the base.
Compiled knowledge on top.
Two layers, one substrate. Designed so neither layer lies to the other.

Most "memory" tools begin by destroying the source. They chunk, embed, summarise, and discard — leaving the agent to hallucinate its way back to whatever was lost in translation. Mnemon does the opposite.

The base layer is a faithful archive: original messages, original files, original timestamps, sealed by content hash. Nothing is rewritten, nothing is destroyed. The compiled layer reads from the base and produces something the model can actually use — a wiki of entries, each with a clear lineage back to the verbatim record that authored it.

An agent that wants the gist queries the wiki. An agent that wants the source follows the lineage one step deeper. Both speak MCP. Neither path requires trust in a third party.

  • 01Captureverbatim · sealed
  • 02Indextsvector + pgvector
  • 03Compilejobs · queued
  • 04RecallMCP · hybrid
  • 05Reasonin your model
§ II — The palace
Memory has a shape.
Mnemon gives it floors.
An old technique — the method of loci — brought forward as a spatial UI for your agent's recall.

The Romans called it memoria artificiosa: place each thing you must remember in a familiar room, then walk the building when you need it back. Mnemon borrows the geometry literally.

Each wing is a namespace. Each room is a coherent context — a project, a client, a research thread. Each drawer within a room pins a memory: a chat, a file, an entry. Agents traverse rooms like a careful librarian, not a confused intern.

The browser is a blueprint. Hover any locus to read its provenance. Open one to walk its lineage all the way down to the verbatim row.

ROOM · I ROOM · IV ROOM · V ROOM · II ROOM · III ROOM · VI ROOM · VII N
research/agents.md
stripe-incident.log
notes/loci.draft
tx · 2026-07-05
chat/agent-7
readme.mnemon
Fig. 3 — Floor plan, ground level 30 wings indexed
§ III — Spec sheet
What's actually under the floorboards.
Boring, knowable infrastructure. Audit it on a Sunday afternoon.
a.
Substrate
Postgres ≥ 15

Single dependency. pgvector for embeddings, tsvector for full-text. No Pinecone, no Weaviate, no surprises.

b.
Host language
Laravel 13.x

Composer-installable package. Drops cleanly into existing apps. Uses the framework's queue, cache, jobs, and broadcasting.

c.
Agent protocol
MCP stdio + sse

First-class. A dozen tools out of the box: recall, seal, compile, walk, cite

d.
Retrieval
Hybrid · BM25 + cosine

Reciprocal-rank fusion by default. Tunable per-room. Every result carries provenance to the verbatim row.

e.
Embeddings
Bring your own

Local nomic-embed, bge-m3, text-embedding-3 — anything that returns a vector. Swap them; we re-index in the background.

f.
Egress
Zero by default

No telemetry, no analytics, no phone-home. Outbound calls require an allow-list and live on the audit log.

§ IV — The install rite
Three commands. One migration. One key.
If you have run composer require before, you have already finished the difficult part.

Mnemon installs as a Laravel application or as a package alongside your own. Postgres gives it a home; pgvector gives it a memory; MCP gives every agent in your house a front door.

Issue an API key in the admin, point your client at the local socket or HTTP endpoint, and your agents begin recalling. The compile worker runs on Laravel's queue. Embeddings are computed lazily — only when an agent actually asks. The wiki rebuilds itself each night, on demand, or never. The choice is yours; the archive is always the truth.

  • git clone & composer installstep 1
  • php artisan migrate --seedstep 2
  • php artisan servestep 3
§ V — Correspondence
Questions, RFCs, or a quiet hello.
The shortest path. Replies arrive from a real person, not a queue.

We read every note. If you have an idea about the schema, an objection to the compile pipeline, or a request for a feature that would make Mnemon useful in your own house — write it down here.

For source, issues, and patches, find us on github / coopers98 / mnemon.

❦ · ❦ · ❦

Your agents remember everything —
and actually understand it.

Mnemon is free, MIT-licensed, and runs on the laptop already humming under your desk. The rest is up to you.

Install Mnemon Sign in