Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.openmemind.com/llms.txt

Use this file to discover all available pages before exploring further.

Memory Threads are Memind’s topic-level memory projections. They group related Memory Items into evolving threads so agents can follow long-running subjects across sessions: projects, workflows, incidents, investigations, decisions, recurring preferences, and repeated agent behaviors. A Memory Thread is not a chat thread. It is a derived memory object that tracks how a topic changes over time.
Memory Thread Flow

Overview

Memory Threads sit after Memory Items and the Item Graph in the memory construction flow.
Raw Data
  -> Memory Items
  -> Item Graph
  -> Memory Threads
  -> Insight Tree
  -> Retrieval
Memory Items capture what should be remembered. The Item Graph connects related memories. Memory Threads use those items and graph signals to create a topic-level projection. A thread can represent:
  • a project
  • a workflow
  • an incident
  • an investigation
  • a decision path
  • a recurring preference
  • a repeated agent behavior
  • a general long-running topic
The goal is to turn related memory fragments into an evolving topic state that can be inspected, retrieved, and updated over time.

Why Memory Threads exist

Individual Memory Items are useful, but long-running topics are rarely captured by a single item. A project may span many conversations. A decision may depend on several prior constraints. A recurring preference may appear across different tasks. A resolved problem may involve a diagnosis, a blocker, a fix, and a final outcome. The Item Graph connects related memory, but the graph itself does not always provide a clear topic state. Memory Threads add that layer. They help Memind answer:
What ongoing topic does this memory belong to, and what is the current state of that topic?
This is useful because agents often need topic continuity, not only isolated facts. Without Memory Threads, an agent may retrieve several related items but still fail to understand the broader project, workflow, or decision path they belong to.

Thread projection flow

Memory Threads are derived from Memory Items and Item Graph signals. At a high level, the flow is:
Memory Items + Item Graph
  -> Candidate Matching
  -> New or Existing Thread
  -> Membership Update
  -> Event Extraction
  -> Projection Update
  -> Lifecycle Update
  -> Optional Enrichment
  -> Memory Thread
Each step has a specific role.
StepPurpose
Candidate MatchingFind existing threads that may match new items.
New or Existing ThreadDecide whether to create a new thread or update an existing one.
Membership UpdateAttach relevant Memory Items to the thread.
Event ExtractionNormalize meaningful changes into thread events.
Projection UpdateUpdate the thread headline, snapshot, state, counters, and timestamps.
Lifecycle UpdateMove threads between active, dormant, and closed states.
Optional EnrichmentImprove the thread with additional reasoning when enabled.
This process turns related items into a materialized topic projection.

Thread model

A Memory Thread is made of several related concepts: type, memberships, events, projection state, and optional enrichment.

Thread types

Memind can classify threads into broad types.
TypeMeaning
WORKA project, workflow, implementation effort, or work-like process.
CASEAn incident, investigation, problem, or resolution path.
RELATIONSHIPA recurring relationship between entities, behaviors, or preferences.
TOPICA general topic-level thread.
These types help Memind organize long-running subjects without forcing every thread into the same shape.

Memberships

A thread is connected to the Memory Items that belong to it. A membership records that an item participates in a thread. It can also store whether the item is a primary member and how strongly it belongs to the thread. Conceptually, a membership includes:
FieldMeaning
threadKeyThe thread identity.
itemIdThe related Memory Item.
roleThe role of the item inside the thread.
primaryWhether this is a primary membership.
relevanceWeightHow strongly the item belongs to the thread.
Memberships let a thread stay connected to the source items that shaped it.

Events

Events form the thread timeline. They capture meaningful updates, decisions, blockers, milestones, setbacks, and resolutions. Common event types include:
Event typeMeaning
OBSERVATIONNew information was observed.
UPDATEThe topic was updated.
STATE_CHANGEThe thread state changed.
BLOCKER_ADDEDA new blocker appeared.
BLOCKER_CLEAREDA blocker was removed.
DECISION_MADEA decision was recorded.
QUESTION_OPENEDAn unresolved question appeared.
QUESTION_CLOSEDA question was answered or closed.
MILESTONE_REACHEDA meaningful milestone was reached.
SETBACKA negative change or regression happened.
RESOLUTION_DECLAREDThe thread or case was resolved.
Events are what make a thread more than a static group of items. They show how the topic evolves.

Enrichment

Thread enrichment is optional. When enabled, Memind can use additional reasoning to improve the thread projection after enough meaningful events have accumulated. Enrichment can help update:
  • the thread headline
  • the topic snapshot
  • current state
  • important context
  • unresolved questions
  • blockers or milestones
Enrichment is controlled by runtime configuration, so applications can choose whether thread updates should stay lightweight or use additional reasoning.

Lifecycle and state

Memory Threads track both lifecycle status and topic state. These are related but not the same.

Lifecycle status

Lifecycle status describes whether a thread is still active.
StatusMeaning
ACTIVEThe topic is current or recently updated.
DORMANTThe topic has not received meaningful updates for a while.
CLOSEDThe topic is considered finished or no longer active.
This helps Memind avoid treating every historical topic as current.

Object state

Object state describes the current state of the topic itself.
StateMeaning
ONGOINGThe topic is still moving.
BLOCKEDProgress is blocked by an issue or dependency.
STABLEThe topic is stable and not changing much.
RESOLVEDThe topic or case has been resolved.
UNCERTAINThe current state is unclear.
For example, a thread may be ACTIVE and BLOCKED, or DORMANT and STABLE. Lifecycle tells Memind whether the thread is active. Object state tells Memind what is happening inside the topic.

How threads are used

Memory Threads are used by several parts of Memind.
Used byHow
RetrievalThread assist can retrieve related items through topic projections.
Insight TreeThreads provide topic-level grouping signals for higher-level understanding.
Memind UIDevelopers can inspect thread state, members, events, timestamps, and snapshots.
Agent contextThreads help agents understand long-running topics without reading every item.
This lets agents retrieve not only facts, but also the topic continuity behind those facts. A thread can help answer questions such as:
  • What project is this item part of?
  • What decisions have already been made?
  • Is this topic still active?
  • What is currently blocked?
  • What was resolved?
  • What changed since the last session?

Configuration

Memory Threads are controlled by MemoryThreadOptions. At a high level, the configuration includes:
Option groupPurpose
enabledControls whether Memory Threads are enabled.
derivationControls whether thread derivation is enabled and whether it runs asynchronously.
ruleControls matching thresholds, candidate limits, member limits, and retrieval member limits.
lifecycleControls when threads become dormant or closed.
enrichmentControls optional thread enrichment behavior.
Memory Threads can be enabled when applications need topic continuity across sessions. If an application only needs simple item-level memory, this layer can be disabled.