Skip to main content

Memory and user model

Mecatl separates project knowledge from operator preferences so you can retain each at the right scope.

SystemScopePurposeAgent-writable?
Project memoryOne workspaceRetain project facts across sessionsYes
User modelAll workspaces for one operatorRetain operator facts and preferencesYes

The read-only agent persona is configured separately. See Skills, commands, and soul.

Project memory​

Project memory is enabled by default. Each workspace gets a separate store that persists across sessions.

Mecatl keeps memory at three levels:

LevelContentAccess
IndexUp to 200 keys and descriptionsIncluded at session start
EntryThe complete value for one keyRecall
ArchiveEntries outside the indexSearchMemory

Entries contain a key, value, and optional one-line description. If you omit the description, Mecatl uses the value's first line in the index. Entries that leave the index remain searchable.

Memory tools​

ToolScopePurpose
RememberProjectStore an entry.
RecallProjectRead an entry or list keys by prefix.
SearchMemoryProjectSearch entries with BM25 keyword matching.
RememberUserUserStore an operator fact.
RecallUserUserRead an operator fact.
SearchUserModelUserSearch operator facts with BM25.
InspectMemory / InspectUserMemoryBothRead the current version, provenance, timestamps, and history.
ForgetMemory / ForgetUserMemoryBothWrite a reversible tombstone after approval by default.
UndoMemory / UndoUserMemoryBothRestore the previous state with a new revision.

Versioned lifecycle tools appear only when the store supports complete history. For Remember, omit expected_version to overwrite the current value or supply the current token for a compare-and-swap update. A stale token returns a conflict. Forget and Undo require the exact expected_version from a same-scope Recall, Inspect, or mutation result. Inspect first when the version might be stale. Treat the token as opaque.

Mecatl provides BM25 keyword search. It does not require or support an embedding or vector database.

Consolidation​

Automatic consolidation schedules are off by default. They can remove exact duplicates when the store confirms that the source versions have not changed. Configure project and user schedules independently with --memory-consolidate-interval and --user-model-consolidate-interval.

In mecatui, /dream lets you review a proposed consolidation when the server advertises a compatible local store and planner. You approve or dismiss the whole plan. Applying a plan can partially succeed because each operation is independent. Plans expire and do not survive a restart.

For availability, review safeguards, and recovery behavior, see Dreaming and memory consolidation.

User model​

The user model stores durable facts about the operator across workspaces. By default, it lives at ~/.config/mecatl/usermodel, and keys use the user/ namespace.

Current facts are added to the volatile system-prompt suffix for main and delegated model requests. They do not enter conversation history or the cache-stable prompt prefix. Current user instructions take precedence over stored facts, and stored facts cannot change permissions, safety controls, or the tool catalog.

Mecatl rejects high-confidence credentials and model-authored role overrides before adding them to the operator profile. In mecatui, /memory provides a read-only view of saved facts, including their current values, provenance, and available history. Updates still use the memory tools and their permission rules.

Set --no-user-model to disable the user model.

Learning from completed runs is separate from explicit memory tools and dream consolidation. See Learning for its review and activation policy.

Defaults​

CapabilityDefault
Project memory and BM25 searchOn
User model and live operator profileOn
Automatic consolidationOff
Manual /dream reviewAvailable when the server advertises support
Completed-trajectory learningOff
Embedding or vector searchUnavailable

No external memory service, embedding provider, or vector database is required.

Next steps​