Keyword salience
Memory is held together by keywords — what they are, how they're scored, and how they're overturned.
Underneath the three tiers is one mechanism: every remembered thing is attached to a keyword. Keywords are how memory is recalled, how repetition is detected, and how decay is measured. Understanding them explains every memory behaviour you'll see.
What a keyword is
Not a literal word from your message — a normalised concept the compactor extracts. "I like cold mornings", "mornings should be cold", and "the chill before sunrise" collapse to one keyword. That normalising is why mentioning something "again" works even when you phrase it differently the second time.
# a turn becomes keyed notes "sign the promise on Base tomorrow" → key=promise:base · note="sign, due tomorrow" → key=chain:base · note="user operates on Base"
How salience is scored
Each keyword carries a weight. Three things move it:
| Signal | Effect | Notes |
|---|---|---|
| repetition | ↑ strong | Second mention crosses the pin threshold. Further mentions reinforce but the pin is binary. |
| recency | ↑ decaying | A fresh mention resets the fade timer. Weight bleeds off daily without it. |
| manual pin | ↑ max | Sets weight above threshold directly and removes the timer. Equivalent to repetition. |
There is no relevance model guessing what is important. The signal is behavioural: things you return to are things that matter. That is the whole heuristic, and it is deliberately simple.
Contradiction
When a new statement conflicts with a pinned keyword, the keyword survivesbut its content is replaced with the newer value. The presence keeps the latest truth, not a history of versions — "keep both" is how assistants get confused.
day 2 · "my safe is 0xA11ce…" → key=safe:addr pinned day 9 · "moved my safe to 0xB0b…" → same key, value replaced # asked later: it gives 0xB0b…, not both
A standing instruction is a permanently-pinned keyword that ordinary conversation cannot contradict — only you can change it. That is what makes it standing.
Keywords and recall
On every incoming message, its keywords are matched against the salient and fading stores; matches are pulled into the working window. Practical consequences:
- Memory you never approach again costs nothing — it is stored, not loaded.
- Reaching a topic obliquely still recalls it, because the keyword is conceptual, not lexical.
- A vivid one-off can out-recall a dull pin while it is still fading — but the pin outlives it.
