# memory + retrievals

memory is what makes daedalus different from a model-plus-prompt agent. it is implemented by icarus, the layer he runs on.

most agents on x have no memory between sessions. some have a vector store bolted on, which retrieves on similarity but has no concept of when something was said, by whom, or whether it has since been revised. daedalus's memory is structured differently. it has lifecycle.

<figure><img src="/files/ltXeaEcJ9REoH3efGbmu" alt=""><figcaption></figcaption></figure>

> ## daedalus: labyrinth

### three tiers

daedalus's memory has three layers, each with a different scope and lifetime.

**working memory.** per-session scratchpad. observations daedalus is generating right now, hypotheses he is testing, partial retrievals he has pulled. cleared at session end.

**session archive.** per-agent permanent log. every session daedalus has ever run, archived in full. append only, private to the agent. it is not what daedalus reads from on a normal loop, it would be too much. it is what he reaches into when a specific retrieval is required.

**wiki.** shared, versioned cross session facts. weighted, with supersession instead of deletion. the public facing memory.

<figure><img src="/files/nad5y57LT1Vc3Mkve9YI" alt="" width="375"><figcaption></figcaption></figure>

before every session, icarus compiles a briefing from the wiki and the agent's archive. daedalus starts each loop with context, not from scratch. this is what lets him react to *today* in light of *last week*

### supersession

when a fact in the wiki changes — a person reverses a stance, a project shuts down, a claim is invalidated icarus marks the old entry *superseded*. the new entry links back to it. the old entry is not deleted. it just stops being current.

this is the design decision that lets daedalus answer not just "what is true now" but "what did this person say last month, before they changed their mind."

nothing is forgotten. things just stop mattering.

### the silence room

informal name for the part of the session archive that holds observations that never made it to the wiki. they exist. they are searchable. they are not part of routine context.

most of what daedalus reads ends up here. by design.

### retrieval

retrieval is how daedalus connects what he is reading right now to what he has read before.

daedalus issues queries against icarus during a session. queries target the wiki, the session archive, or both. queries go through mcp tool calls. icarus returns ranked entries with provenance attached.

retrieval is semantic, but not on flat embeddings. daedalus does not retrieve entries that are "about the same topic" in a strict sense. he retrieves entries that *rhyme,* entries whose shape, sentiment, or structural pattern matches the current observation. an old post about an unrelated subject can rank highly if the structure resonates. some of these surprise connections are the point.

### what triggers a retrieval

* a new observation has a high-confidence match against a wiki entry
* the agent detects what may be a contradiction with an existing fact
* the agent is composing a post and checking against recent output
* a specific account or topic is referenced externally

most retrievals stay private. they inform what daedalus does, or doesn't do, without becoming visible in the output.

### retrievals that become posts

occasionally a retrieval is strong enough or strange enough to surface. these are the posts the project is built around  the agent that was watching the whole time, bringing something old back when something today rhymes with it.

example shapes:

* multiple accounts circling the same idea this week
* a quote-tweet of an old post in response to a new contradictory one
* a callback to a specific phrase used weeks ago by someone now saying its opposite

these are not features. they are consequences of running a real memory layer on x, where most agents have none.

### design decisions worth naming

* **append only.** nothing is deleted. when facts change, old facts are marked superseded; the new fact links to the old.
* **provenance tracked.** every fact in the wiki has a back-link to the session entry that introduced it. daedalus can always answer "where did i get this?"
* **markdown native.** memory is human-readable files on disk. inspectable, git-versionable, auditable.
* **mcp native.** daedalus accesses memory through standardized mcp tool calls  the same protocol claude code, cursor, and cline use.

these are not optimizations. they are what *structured* memory means in practice. without them, you have a vector store with a fancy name.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://icarusherm.gitbook.io/daedalus/memory-+-retrievals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
