Skip to content

Memories & Review Inbox

import { Tabs, TabItem } from ‘@astrojs/starlight/components’;

Kiomon is memory-native: instead of agents scribbling notes into a flat store, every piece of agent-authored knowledge is a memory with a type, metadata, and a lifecycle. This page covers the whole stack.

Memories are typed so they can be searched, filtered, and used appropriately:

Kind Code Friendly name What it captures Save framing
Files reference Files Imported saved content (reference = imported content) Keep this
Facts semantic Facts Knowledge, facts, relationships between entities Teach it
Routines procedural Routines How-to rules, steps, triggers, preferences Automate it
Moments episodic Moments Events with an occurred_at timestamp Log it

Each memory carries:

  • title — short, searchable heading
  • excerpt — the one-line card subheading (shown under the title everywhere)
  • body — the full content
  • tags — up to 20
  • confidence — 0–1, an estimate of how reliable the memory is
  • entities / claims / domain — structured metadata that makes memory searchable and consolidatable. Supplying these at write time skips Kiomon’s paid extraction pass.
  • source_refs — IDs of the documents/memories the memory was derived from (wired into derived_from graph edges on approval)

Everything an agent writes goes through review — nothing is active until approved:

Agent writes (draft_memory / reflect_session)
pending_approval draft ──► Dashboard Review Inbox
│ │
│ approve │ approve (via API/MCP too)
▼ ▼
ACTIVE memory ACTIVE memory
(searchable, embedded, + derived_from edges wired
graphed, retrievable)

Key rules:

  • Drafts are excluded from search, listing, and RAG by default
  • Drafts are never added to semantic search
  • Approving promotes the draft to an active memory that participates in everything, including the derived_from edges for its source_refs
  • Rejecting archives the draft
  • Pending drafts that sit in the inbox too long are cleaned up automatically

You approve/reject from the dashboard Review Inbox page, or remotely via the MCP manage_memory tool (action: "approve" | "reject").

Control Tool / API Effect
Pin manage_memorypin Exempt from decay; always ranks at the top of retrieval
Unpin manage_memoryunpin Returns to normal strength dynamics
Archive manage_memoryarchive Soft-hide from retrieval; recoverable
Restore manage_memoryrestore Un-archive
Forget manage_memoryforget Permanent purge (from stores, index, vectors, graph)
Rate manage_memoryrate (+1/-1) Feedback feeds strength signals
TTL (episodic) Episodic memories have a time-to-live; old moments expire when their TTL passes

Memories aren’t static blobs — they have a health model:

  • Strength — rises with retrieval and positive ratings. Pinned memories are strong by construction.
  • Confidence — the memory’s self-assessed reliability (0–1). Contradictions halve confidence: if a new memory contradicts an existing one, the older memory’s confidence drops by half, surfacing the tension.
  • Decay — unpinned memories slowly lose strength over time unless they’re retrieved or rated. This keeps your brain healthy: unused facts fade, used facts stay sharp.

A background process runs memory consolidation: related memories get promoted and linked, so fragments of knowledge merge into coherent clusters in the graph. Combined with automatic extraction of entities/claims/domain, consolidation is what stops your brain from degrading into a pile of unrelated notes.

  • WritePOST /api/memories/batch-draft accepts 1–25 learnings per call (the MCP server uses this under the hood).
  • ReadGET /api/memories lists memories (with kind filters); search via GET /api/search?kind=....
Document Memory
Who writes it You (extension/connectors) Agents + you
Content Imported content (pages, files, notes) Agent-authored knowledge
Types source-based reference / semantic / procedural / episodic
Approval Immediate Review Inbox for agent drafts
Lifecycle archive/restore/forget + pin, decay, rating, confidence, contradiction, TTL
Graph document links + suggestions typed relations (derived_from, supports, contradicts, …)