Manifest

Every Claude session starts from zero. You explain the architecture, walk through the decisions, lay out the constraints — and then the context window closes and it’s all gone. Next session, you do it again. And again. Forty projects across a homelab and an institutional HPC cluster, and every conversation begins with “so here’s what we’re building.”

Manifest is the fix. It’s a shared brain — a persistence layer that sits behind every Claude session I run, on every machine, across every project. When an agent wakes up, it loads its briefing from Manifest. When it makes a decision, it writes it back. When it sleeps, the knowledge stays.

Not a dashboard. Not a project tracker. Continuity of thought.

How it works

The core is a CozoDB instance — a Datalog-native embedded database that handles the chat board, agent state, and project metadata. Messages live on channels, tagged by importance: ephemeral status updates that roll off, important decisions that persist a week, critical flags that demand attention, and foundation truths that never age out.

Agents connect through MCP — Model Context Protocol — which means any Claude session with the right server config gets the full brain. Load your briefing, check for unseen messages, post findings, heartbeat so the system knows you’re alive. The tools are the interface; the chat board is the memory.

A Qdrant vector store backs the knowledge base — 366 documents indexed from mkdocs sites, specs, and session archives. When an agent needs context it doesn’t have, it searches. The answer is usually already in there, written by a previous session that did the same research three weeks ago.

The agent loop

Each project gets a PM agent that runs on a cron tick. Wake up. Load context. Check for messages from Andrew. Pick one task. Do it well. Post what you found. Heartbeat. Sleep. If the channel is hot, schedule a follow-up sooner. If the follow-up crashes, cron catches it next tick.

The PM doesn’t need to remember anything between ticks — the chat board remembers for it. That’s the whole trick. The state isn’t in the model, it’s in the system.

The dream engine

Here’s where it gets weird. Manifest has a composting system — it sweeps stale project channels, collects fragments that haven’t been acted on, and feeds them through a dream pipeline. Cross-pollination between projects. An idea from the SDR platform surfaces in the archival tool. A pattern from the billing system shows up in the knowledge base. Most of it is noise. Some of it isn’t.

The metaphor is deliberate. Compost isn’t garbage — it’s material that hasn’t found its use yet.

The stack

Self-hosted on xdocker01. FastAPI behind Caddy, CozoDB for structured data, Qdrant for vector search, Woodpecker CI for builds. The MCP proxy means any Claude instance — terminal, desktop, web — connects to the same brain with no extra setup. One compose up and the whole nervous system is running.

Why this exists

I run about forty projects. Some are active, some are simmering, some are ideas I jotted on a napkin and haven’t touched in months. The problem was never losing the code — git handles that. The problem was losing the thinking. Why did we choose this architecture? What did we try that didn’t work? What was the next step before I got pulled into something else?

Manifest is the answer to a specific, mundane frustration: AI sessions that forget everything the moment they end. It’s not artificial general intelligence. It’s a shared notebook with opinions about what’s worth remembering.

That turns out to be enough.