DREAMCATCHER · SMALL IDENTITY MODEL · LOCAL-FIRST · v0.6.3

Every Tool. The Same Agent
That Never Forgets.

Memory, personality, skills, taste — one portable file. The agent lives with you, not in any one tool.

Lives inside
Claude Code Codex Cursor Grok Build Hermes OpenClaw more on the way
01
THE PROBLEM · CONTEXT EVAPORATES

Your agents and your tools
don't talk to each other.

Hermes and OpenClaw don't remember the work you did in Codex this morning. Claude Code doesn't know what you decided in OpenClaw last week. And every time a sharper model drops, you switch tools and start over — re-teaching your codebase, your conventions, and your taste from zero.

(01)

Your agents forget your IDE sessions.

Hermes and OpenClaw are great until you spend an afternoon in Claude Code or Codex — then they have no idea what you just decided, refactored, or ruled out.

(02)

Your IDE tools forget your agents.

Claude Code, Codex, and Cursor don't read each other's history — and they certainly don't read what your dedicated agent already knows. Five sandboxes, zero conversation.

(03)

Every new model means starting over.

A sharper model drops every few weeks, so you jump from OpenClaw to Claude Code to Codex to chase it. Each switch resets your agent to zero — none of its hard-won context, conventions, or taste comes along for the ride.

02
THE SOLUTION · ONE AGENT IDENTITY, EVERY TOOL

One Agent Identity.
Every tool.

The agent doesn't live in the tool. A note saved while you were in Claude Code is waiting for you when you open Codex tomorrow. Switch tools, take an update, chase the newest model \u2014 the same self carries across all of it. The tool is just a window.
CC
Claude Code
claude-code:topline-com/topline-crm
saved
Today · 14:32 · 4 h ago
User: lock that in as canonical — two-pass review,
       snake_case for new tables.
Claude: Saved. Marking 'two-pass code review'
        canonical; supersedes 'terse review'
        from Nov 2024.
mem_4b81e canonical

Atlas migrations use snake_case for new tables. Two-pass code review (fast scan, then deep-read with tests open) before merge.

repo_id · github:topline-com/topline-crm
confidence · 0.94
SHARED LEDGER · topline_com__topline_crm
Cx
Codex
codex:topline-com/topline-crm
recalled
Today · 18:11 · 12 s ago
Prompt: "naming convention for the new
         orders table"

Context loaded:
  ✓ mem_4b81e · canonical · 0.94
  ✓ mem_72a4c · project · 0.88
  (3 other memories)
(03)
Saved in one tool.

You wrap up a session in Claude Code and tell it to remember something. The agent writes it down.

Read in another.

Tomorrow you open Codex on the same repo. The note is already in context, waiting.

Owned by neither.

The memory belongs to the Small Identity Model. Tools come and go around it; the agent stays.

03
WHAT IS A SMALL IDENTITY MODEL · THE PRODUCT CATEGORY

Your agent's whole self,
in one file.

A SIM is your agent's whole self in one file. Not a chat history. Not a prompt template. Not a vector store bolted onto someone else's model.

·
(I)

Memory.

What you've taught it, baked into the weights via nightly retraining.

(II)

Personality.

How it talks, what it pushes back on, what it lets slide.

(III)

Skills.

The workflows it's good at because it's done them a thousand times for you.

(IV)

Taste.

The small choices that make its work feel like yours.

One file. Personal to you. Portable across every tool that wants to host it.

04
THE PAPER · TECHNICAL DETAIL

How an agent stays itself
across many tools.

Dreamcatcher's full architecture — nightly parametric consolidation, sleep-inspired organic reinforcement, monotonic memory ledger — is published as a preprint. Below: the four ideas that do the most work.

(04)
Topline, Inc. · Charleston, SC April 2026 · Preprint

Small Identity Models

The Dreamcatcher architecture for persistent agent selfhood · Small Identity Models with nightly parametric consolidation and sleep-inspired organic reinforcement.

Alex Skatell

Abstract
We introduce Small Identity Models (SIMs): compact, fully re-trained language models dedicated to durable identity and memory for AI agents. Constrained to sub-3B parameters, a SIM is re-fine-tuned each night from fixed pretrained base weights on the complete canonical memory ledger, so each night's model Mₜ = F(M₀, Tₜ) is an independent function of the base weights and tonight's rendered training set — eliminating the sequential-update path dependence that drives catastrophic forgetting. Organic reinforcement emerges as a zero-engineering self-prioritization mechanism: frequently-referenced facts accumulate more training pairs through real-world reuse.
  • 1.Introduction
  • 2.Related Work
  • 3.The Dreamcatcher Architecture
  • 4.Organic Reinforcement
  • 5.Semantic Compression and Scaling
  • 6.Production Reliability Mechanisms
  • 7.Comparative Analysis
  • 8.Novelty and Contributions
  • 9.Limitations and Future Work
§ 3.2

No sequential-update path dependence.

Each night's model is computed as Mₜ = F(M₀, Tₜ) — a function of the fixed pretrained base weights and tonight's rendered training set, never the previous model. The TRACE benchmark showed sequential LoRA fine-tuning dropped Llama-2's GSM8K accuracy from 43% to 2%; full re-fine-tuning from base sidesteps that class of forgetting entirely.

§ 3.3

Small enough to retrain nightly.

The default is Qwen3.5-0.8B, dense, 800M parameters: full fine-tune fits in 8–12 GB VRAM and completes in 2–3 min on an RTX 3090 for typical dataset sizes. Gemma 4 E2B/E4B and SmolLM2-360M are also supported — base model is a one-line config change.

§ 4

Organic reinforcement, no priority queue.

Important facts get referenced across many sessions; each reference generates 3–5 fresh training pairs from naturally distinct contexts. A child's food allergy ends up with ~28 pairs, a one-time contractor's name with ~4. No engineered scoring system — the dataset's own composition is the priority signal. This parallels frequency-dependent strengthening in biological memory consolidation.

§ 3.4

Extraction is the only cloud call.

A common misconception: the frontier LLM is not called on the whole accumulated dataset each night. Extraction runs only on the day's new transcripts (typical cost $0.05–$0.15 per nightly). Training runs entirely on a local GPU with zero network access; inference is on-device. The only thing that leaves the machine is the snippet sent to your LLM provider during nightly extraction.

05
UNDER THE HOOD · SMALL IDENTITY MODELS

Small Identity Models.
The model underneath.

A SIM is a compact, fully re-trained language model with your agent's memory baked into the weights — not retrieved at runtime, not prompt-injected. Train nightly on your agent's ledger; ship a new self-contained model in the morning. Same family as LLMs and SLMs, different job: identity, not general knowledge.

Read the technical whitepaper →
·

Trained from scratch every night.

Sequentially updating a model on its own outputs accumulates drift — every night the agent would slip a little further from ground truth. Dreamcatcher re-trains from base each night on the agent's full memory ledger, so the notes are the source of truth and the model underneath is replaceable.

Qwen3.5 · 0.8B (default) Gemma 4 · E2B (~2.3B) Gemma 4 · E4B SmolLM2 · 360M Bring your own

Runs on your laptop, not in our cloud.

The agent answers from on-device inference. The only thing that ever leaves the machine is the nightly extraction call — sent to the LLM you chose on the key you provided, on the day's new transcripts only, never on the full history. Typical cost: $0.05–$0.15 per nightly.

on-device inference your LLM key Anthropic · OpenAI · OpenRouter · Ollama
06
HOW IT WORKS · THREE COMMANDS

One agent. Every tool
you code in.

Dreamcatcher boots a Small Identity Model on your laptop, then plugs that one agent into whatever you use to write code. The tools are interchangeable — the agent isn't.

(01)
STEP 01

Spin up an agent.

Run it from your project folder. Dreamcatcher boots a local agent backend on your machine and writes a few small config files — the agent now has somewhere to live and a codebase to learn.

$ dreamcatcher connect
.dreamcatcher/
policy.md          repo constitution · committed
AGENTS.md          generated · loaded by Codex et al.
local/             sessions stay off git

repo_id  github:topline-com/topline-crm
team_id  topline_com__topline_crm
backend  localhost:8420 · live
(02)
STEP 02

Plug it into your tools.

Each tool gets its native config written for it — hooks for Claude Code, AGENTS.md for Codex, rules.mdc for Cursor, and so on. All of them talk to the same agent. No second memory store, no copying notes between tools.

$ dreamcatcher connect <tool>
CLI · install three clients
$ dreamcatcher connect claude-code
   SessionStart hook installed
   MCP server registered

$ dreamcatcher connect codex
   AGENTS.md preamble written
   MCP configured

$ dreamcatcher connect cursor
   .cursor/rules/dreamcatcher.mdc
   Recall verified · 84ms

  3 tools · 1 SIM · same self
(03)
STEP 03

Let it learn every night.

Each night, the sessions you finished that day become training pairs and fine-tune the agent's memory model from fresh base weights. No drift, no sprawl, no growing context window — just yesterday's lessons baked in by morning.

$ dreamcatcher nightly
nightly · last 14 runs
23 May  ✓ 48/50  deployed · 17m 04s
22 May  ✓ 49/50  deployed
21 May  ✓ 47/50  deployed
20 May  — skipped (no new sessions)
19 May  ✓ 48/50  deployed

pass rate  92.9%  across 14 runs
base       Qwen3.5-2B
07
THE TOOLS · WHERE YOUR AGENT SHOWS UP

Built once. At home
in every tool you use.

Each integration writes the config your tool natively understands and points it at the agent. Switch tools mid-project; the agent doesn't notice. These six on day one, more on the way.

CC
Claude Code
Hooks + MCP
live

SessionStart loads the agent's memory. SessionEnd saves the new session. MCP exposes recall, save, and “why this memory?”

Cx
Codex
AGENTS.md + MCP
live

Generated AGENTS.md preamble plus Codex MCP config. Manual save until stable hooks land.

Cu
Cursor
rules.mdc + MCP
live

Drops a rule into .cursor/rules/ so Cursor preloads the agent's memory on every chat.

Gk
Grok Build
AGENTS.md + xAI key
live

Generated AGENTS.md preamble plus an xAI-keyed agent endpoint. Save and recall both through MCP.

He
Hermes
Native integration
live

Native client. Sessions feed the agent in real time; recall runs over a local socket. Zero config beyond connect.

Oc
OpenClaw
config.toml + HTTP
live

Paste the snippet into ~/.openclaw/config.toml and verify. Same agent, same memory.

08
CONNECT · BUILD WITH US

Three places to go deeper.

Dreamcatcher is open-source and built in public. Read the code, follow the work, or dig into the docs — whichever fits how you like to learn.

(08)
Join the chat

Discord

Where the community gathers. Setup help, base-model recipes, agent personality threads, and roadmap conversations.

discord.gg/dreamcatcher
Open source

GitHub

The architecture, the CLI, the whitepaper, the issue tracker. Topline-com/dreamcatcher

github.com/Topline-com/dreamcatcher
Reference

Docs

Quickstart, CLI reference, integration guides for each tool, and the full whitepaper.

docs.dreamcatcher.com

“We stopped re-explaining our codebase to every new tool. The agent remembers; the tools just borrow.”

A.T.
Alex Tobin Engineering lead · Topline · running Dreamcatcher across 7 repos
GET STARTED · ONE COMMAND

Give your agent a self
worth keeping.

One agent, one Small Identity Model — yours to keep, yours to carry across every tool. Runs entirely on your laptop. Nightly training costs around a dime.

Download for Mac Read the docs →