Skip to main content

Class: ConsolidationLoop

Defined in: packages/agentos/src/cognition/memory/pipeline/consolidation/ConsolidationLoop.ts:102

Self-improving background consolidation loop with 6 ordered steps: prune, merge, strengthen, derive, compact, re-index.

All database operations use the async StorageAdapter API through the shared Brain connection. The run() method is async to accommodate both the database calls and the LLM-backed derive step.

Constructors

Constructor

new ConsolidationLoop(brain, memoryGraph, options?): ConsolidationLoop

Defined in: packages/agentos/src/cognition/memory/pipeline/consolidation/ConsolidationLoop.ts:115

Parameters

brain

Brain

The agent's SQLite brain database connection.

memoryGraph

IMemoryGraph

The memory association graph for co-activation and clustering.

options?

Optional LLM invoker, embedding function, and personality mutation store for derive, merge, and decay steps respectively.

embedFn?

(texts) => Promise<number[][]>

Embedding function for computing trace similarity.

llmInvoker?

(prompt) => Promise<string>

LLM function for deriving insights from memory clusters.

personalityDecayRate?

number

Decay rate subtracted from each personality mutation's strength per cycle. Mutations at or below 0.1 after decay are pruned.

Default

0.05
personalityMutationStore?

PersonalityMutationStore

Optional personality mutation store for Ebbinghaus-style decay.

When provided, each consolidation cycle decays all active personality mutations and prunes those whose strength falls below the threshold.

Returns

ConsolidationLoop

Accessors

isRunning

Get Signature

get isRunning(): boolean

Defined in: packages/agentos/src/cognition/memory/pipeline/consolidation/ConsolidationLoop.ts:213

Whether consolidation is currently running. Useful for callers to check before scheduling a new run.

Returns

boolean

Methods

run()

run(config?): Promise<MemoryConsolidationResult>

Defined in: packages/agentos/src/cognition/memory/pipeline/consolidation/ConsolidationLoop.ts:152

Run one full consolidation cycle.

The mutex prevents concurrent runs — if _running is already true, returns immediately with a zero-count result.

Parameters

config?

Partial<ExtendedConsolidationConfig>

Optional overrides for consolidation thresholds.

Returns

Promise<MemoryConsolidationResult>

Consolidation statistics (pruned, merged, derived, compacted, durationMs).