The problem
Messages, notes, exports and documents are scattered across tools. I wanted durable, searchable memory that I own, with a clear source for each entry and human control over what gets saved.
What I built
A local-first, privacy-first memory system. Input passes through a provenance registry and deterministic sanitiser. A model can propose candidates, but it has no tools, actions or permission to write memory. I review, edit or reject each candidate before it can be saved.
One trusted, deterministic writer turns approved candidates into plain Markdown under Git. Each entry records provenance, including its source hash, date and review decision. Full-text search uses a disposable index that can be rebuilt from the Markdown vault.
The public v1 is shipped. Deeper research and the extended roadmap are paused for now.
Decisions and trade-offs
- The model proposes; a human approves. Review adds a deliberate step before input becomes durable memory.
- Markdown under Git is the source of truth. SQLite holds rebuildable caches, indexes and queues, rather than a second authoritative memory store.
- Private content is processed locally. Cloud model paths are restricted to sanitised, non-private or aggregated content and reject private items by default.
- The public repository contains the core trust pipeline. Always-on capture bots and sync layers are excluded.
- The insights code is a scaffold for read-only, evidence-grounded reports. It is not a working health or correlation engine.
What I would do differently
Links
Read the sanitised public repository for the core pipeline, trust model and documented limitations.