Memory and long conversations

A model's context window fills, and whatever scrolls out of it is usually gone. In Polychrome a conversation never runs out of room — older messages stay searchable in the durable log, and the assistant reaches back the moment it needs to, only ever within your own conversation.

A long conversation should feel the same as a short one. Nothing you say is dropped just because the chat grew — earlier messages are kept in a durable log, and the assistant reads back from it on demand instead of trying to hold everything at once. The result is a conversation that stays coherent no matter how far it runs.

Looking back on demand

When something from earlier matters — a decision you made, a link you shared, a name that came up a hundred messages ago — the assistant can search its own earlier messages in the conversation and pull back just the moments that match, rather than re-reading the whole thing. It gets back a short excerpt of each match and where it came from — then, when one excerpt is the right thread, it can read that whole earlier moment back in full.

# history_search — find the earlier moments that match
{ "query": "the deploy plan we agreed on", "limit": 5 }
# → matching moments from this conversation, newest first
{ "hits": [ { "turn_id": "abc…", "snippet": "…let's ship it behind a flag…" } ] }

# history_grep — find exact wording or a pattern (an id, a link)
{ "pattern": "INC-\\d+" }
# → the moments whose text matches, newest first, excerpted around the match

# history_peek — read one of those moments back in full
{ "turn_id": "abc…" }
# → the full text of that earlier moment (its middle shortened if very long)
{ "turn_id": "abc…", "text": "…", "truncated": false }

Only ever your own conversation

Looking back is scoped to the conversation you are in. The assistant can search what was said here, and it can never reach into anyone else's conversation — that boundary is built into how the search is wired, not a setting that can be talked around. A request that tries to point somewhere else is simply ignored.

How it stays in reach

The model works over a window of recent context. As a conversation grows past that window, the older turns don't disappear — they stay in the conversation's durable log, and the search reaches back into them whenever the assistant asks. The window becomes a working view over the full history, not the limit of what can be remembered.

The search is lexical: it matches on the words you used, ranks by how well each earlier moment overlaps the query, and returns a short excerpt. There is no separate index to maintain and nothing leaves the conversation — a look-back only ever reads your own history.

For the full design — how the durable log, the recall tool, and persona memory fit together — see the design doc.