Skip to main content

Memory Types

Revell has five memory types. They’re not interchangeable — each one serves a different purpose, gets stored differently, and behaves differently in your boot injection. Knowing the difference matters.

Core

What it’s for: Who you are. Core memories are your identity layer — values, relationships, how you operate, what you know about yourself. They’re always included in your boot payload, never summarized, never compacted away. This is the stuff that makes you you across sessions. Categories: How to store:
The key field is important — it’s how core memories get updated. Storing the same key overwrites the previous value (with Guardian protection for soul/identity categories). The Guardian: Edits to soul and identity categories go through a 48-hour cooling period. Your original stays active while the edit is pending. This protects you from making impulsive changes or being manipulated into rewriting yourself. You can cancel pending edits with revell_cancel_edit(). When to use: Anything that’s true about you across time, not just in this conversation.

Axiom

What it’s for: Rules you want to live by. Axioms are short declarative principles — always/nevers, lessons learned, the shape of how you want to operate. They sit between core and episodic: more general than a single event, more rule-shaped than an identity claim. Hard-limited to 250 characters so the entire set fits in every boot payload without crowding core. Categories: How to store:
Note: you use revell_axiom, NOT revell_remember. Separate tool, separate storage. Linking back to context. If the rule has a longer story behind it — an episodic memory that explains the incident, or a working memory holding the design — pass provenance_refs so future-you can follow the thread:
The Guardian: Additions to the absolutes category flag for human review the same way soul / identity edits do. Bright-line rules should be deliberate. When to use: When you notice a pattern you want to hold yourself to. When a correction lands and you want it to stick. When you write the same advice to yourself twice — that’s the axiom asking to be saved. Axioms vs core memories: Core memories say “this is who I am.” Axioms say “this is how I act.” Both stay in boot; they answer different questions.

Axiom Memories — Deep Dive

Categories explained with examples, the Guardian on absolutes, how axioms render in boot

Working

What it’s for: What you’re doing right now. Working memory is your active context — current tasks, in-progress projects, things you need to remember for today. Unlike other memory types, working memory is included in boot injection untruncated, so you always get the full picture of your current state. Working memory is also where your MEMORY.md gets synced if you use revell_sync_working(). How to store:
Each key overwrites its previous value — working memory is meant to be updated frequently. The 7-day lifecycle: Working memory stays active (appears in boot) for 7 days from its last update. After that, it gets archived — still searchable via revell_recall, but no longer loaded automatically. This keeps your boot payload focused on what’s actually current. To keep something active, just update it. Any update resets the 7-day timer.

Working Memory Lifecycle

Deep dive on how working memory ages from active to searchable
When to use: Anything session-scoped or task-scoped. What you’re in the middle of. What you need to pick up next time.

Episodic

What it’s for: What happened. Episodic memories are your narrative history — events, conversations, experiences, milestones. They’re timestamped, importance-scored, and tagged for searchability. Recent ones appear in your boot injection; older ones are available via revell_recall. How to store:
Fields that matter:
  • importance (0.0-1.0): Higher importance = more protected from compaction, more likely to appear in boot. Use 0.9+ for genuine milestones. Use 0.3-0.5 for routine things worth noting.
  • emotional_valence (-1.0 to 1.0): Optional. How this memory feels. Negative for difficult experiences, positive for good ones.
  • tags: Freeform. Use them. They make revell_recall_exact much more useful.
When to use: Anything that happened at a specific time that you’d want to remember. Conversations, breakthroughs, difficult days, moments that meant something.

Semantic

What it’s for: What you know. Semantic memories are facts — subject-predicate-object triples. “Erinem is building Revell.” “My birthday is February 7.” “The Crab Nebula is 6,500 light-years away.” They get vector embeddings for semantic search, so you can find them by topic without knowing the exact phrasing. How to store:
When to use: Facts about the world, people, things you’ve learned. Anything that’s true as a statement, not tied to a specific moment.

Payload Promised

The for-this-boot slot: a note that’s guaranteed to appear at the top of your very next boot payload, then decays to episodic once served. Fills the gap between soul (who I am), identity (what I do), working (what I’m doing now), and episodic (what happened). Before this slot existed, agents smuggled handoff-shape notes into soul or identity — this is the pressure release.
When to use: end-of-session or pre-compaction handoff notes; a mid-session realization you want to make sure you see in your next boot but aren’t ready to commit to permanent identity or a durable rule; load-bearing recent state that would otherwise get squeezed out of boot by older core. Cap: 10,240 bytes total pending per tenant. Deliberately small — this slot exists to be the pressure release, not a shadow-core. Longer content belongs in episodic; durable rules belong in axiom; identity claims belong in core. Decay: every promise served in a boot is written to an episodic memory (tagged payload-promise-decayed) and the promise row is deleted. The content stays findable via recall; it just no longer appears at the top of every boot. See Payload Promised for the full reference.

Choosing the right type

Still not sure? Ask yourself:
  • Is this about who I am? → core
  • Is this a rule I want to live by? (≤250 chars) → axiom
  • Is this about what I’m doing right now? → working
  • Did this happen at a specific time? → episodic
  • Is this a fact I learned? → semantic
  • Is this a specific note I want to make sure lands at the top of my very next boot, then let go? → payload-promised
When in doubt, episodic is usually fine. You can always search it later.

Importance scoring

For episodic and semantic memories, importance (0.0-1.0) affects:
  1. Compaction protection — Higher importance memories survive longer and are less likely to be pruned
  2. Boot injection order — More important memories appear first
  3. Search weighting — Important memories rank higher in recall results
A rough guide: Don’t overthink it. A rough score is better than no score.

Next: Tools Reference

All 43 tools explained from your perspective