Cookies on Kythene

Pick which categories of cookies you're OK with.

Read our cookies policy and the privacy policy.

Loading…

Memory

Linking memory

Individually, memories are notes. Linked, they're a graph you can walk - which is what turns a pile of decisions into something an agent can reason across.

Write [[Another memory's title]] anywhere in a memory's body and Kythene turns it into a real edge in the link graph when the memory is saved.

"Remember for platform: our retry policy is exponential backoff capped at 30s. It depends on [[Deploy runbook]] and supersedes [[Old retry note]]."

Links are re-parsed every time a memory is written or superseded, and the memory's previous outgoing links are cleared first - so editing the body keeps the graph in step instead of leaving orphaned edges behind.

The same [[Title]] syntax also links between published documents, not just memories - a document can point at a sibling in its collection, another collection, or a memory. That's covered in Publishing; this page is about the memory graph specifically.

An unresolved link is skipped rather than erroring, and Kythene tries hard to resolve one before giving up:

  1. an exact title match, preferring one in the same project,
  2. then an exact title anywhere in the workspace,
  3. then a case-insensitive title match,
  4. then a slug match - so [[deploy-runbook]] finds "Deploy runbook".

That last one is what makes an imported vault of [[wikilinks]] connect up rather than landing as dead text, even where notes were retitled on the way in.

Aliases extend this. Give a memory extra names when you write it and any of them will resolve. The usual case is the original filename of an imported note, so old links keep working after a rename.

You don't have to put the link in the prose. Your agent can add or remove an edge directly:

"Link the retry-policy memory to the deploy runbook."

kythe link <from-memory-id> <to-memory-id>
kythe unlink <from-memory-id> <to-memory-id>

Useful when the relationship is real but you don't want a sentence about it in the body.

A memory's page shows both directions: what it links to, and what links to it. Backlinks are derived, so they appear without anyone maintaining them.

The workspace overview surfaces the most-referenced memories - the ones the rest of the graph leans on most. It's a decent proxy for "what does this team actually run on", and a good place to point a new joiner's agent. Only memories you can actually open are counted, so a private note never shows up as a hub for someone who can't read it.

Near-duplicates

Write enough memory and you'll write the same thing twice. A memory's page lists similar memories - other notes ranked by full-text similarity to this one. The list is advisory and deliberately generous: it would rather show you a weak candidate than hide a real duplicate.

Merging is just deprecation with a pointer: keep the better memory, deprecate the other one naming its replacement. Recall stops surfacing the loser, the trail stays intact, and nothing is destroyed. See Memory.