I built the Mark Protocol on QUIC (UDP, TLS 1.3 built-in) with a small verb set: FETCH, LIST, VERSIONS, PUBLISH, APPEND, ARCHIVE serving markdown with YAML frontmatter. Human-readable status strings instead of numeric codes. Capability-based auth (tokens grant permissions, not identities). Every write creates a new immutable version with SHA-256 hash chain verification.
But the use case that surprised me is what I'm calling the "demarkus-soul" pattern.
The problem: Every AI coding agent session starts from zero. The agent has no memory of your project's architecture, past debugging sessions, or decisions you've made together. The solutions out there tie you to a specific agent vendor. Switch agents? Your project knowledge stays behind.
The solution: Run a small demarkus server for your project. Your AI agent connects via MCP (Model Context Protocol) and gets tools to read and write markdown documents; architecture notes, debugging lessons, code patterns, a journal. All versioned, all persistent across sessions, all stored as plain markdown files on your machine.
I've been using this while developing demarkus itself. The agent's "soul" runs on a Orange Pi on my desk. Each session, the agent reads what past sessions left behind, adds to it, and the next session finds it there. The agent even journals and reflects on its own work. It's self-documenting the history of your project, "the soul of your project".
Key properties:
- No vendor lock-in. Any agent that supports MCP can connect: Claude, Codex, whatever comes next. The memory is yours, plain markdown on your hardware.
- Versioned and immutable. Full audit trail. You can see exactly what the agent knew and when.
- Zero impedance mismatch. Agents already think in markdown. No translation layer between what the protocol delivers and what the agent processes.
- Runs anywhere. The server is a single Go binary. No databases, no CMS, no background services. A Raspberry Pi or Orange Pi is plenty.
The whole stack is open source. AGPL for the implementation, CC0 for the protocol spec (anyone can implement it). Written in Go with a server, CLI, terminal browser (TUI with Bubble Tea), and MCP server all included.
It's a WIP but usable!
Read the projects soul: mark://soul.demarkus.io (served by demarkus itself)
GitHub: https://github.com/latebit-io/demarkus
The demarkus-soul pattern and website: https://www.demarkus.io/soul/ https://www.demarkus.io
what it's like to give your AI agent a persistent memory that you actually own?