Skip to content

Graphorin API reference v0.7.0


Graphorin API reference / @graphorin/memory / / ConsolidatorConfig

Interface: ConsolidatorConfig

Defined in: packages/memory/src/consolidator/types.ts:111

Locked-down configuration accepted by createConsolidator(...).

Stable

Properties

PropertyModifierTypeDescriptionDefined in
autoPromoteExtractionreadonlybooleanAuto-promotion policy (MCON-2). When true, the standard phase admits an injection-clean extraction fact as active instead of quarantined, so routine distillation surfaces in default recall without a manual memory review --promote. Injection-flagged facts always stay quarantined - the security gate is preserved - and episodes / insights / induced procedures are unaffected (they remain quarantined-until-validated). Defaults off at every tier: it trades the fail-safe default for convenience and is an explicit operator opt-in.packages/memory/src/consolidator/types.ts:196
budgetResetSemanticsreadonly"utc" | "local" | "sliding-24h"-packages/memory/src/consolidator/types.ts:130
ceilingsreadonlyConsolidatorCeilings-packages/memory/src/consolidator/types.ts:115
cheapModelreadonlystring | nullAdvisory label for the standard phase's model - recorded on spans / run telemetry only (MCON-7). Routing happens via CreateConsolidatorOptions.cheapProvider; this string disables nothing.packages/memory/src/consolidator/types.ts:123
contextualRetrievalreadonlyContextualRetrievalModeContextual retrieval for facts written by the standard phase (P1-3). 'late-chunk' (default at every tier) relies on the offline situating-context prefix the shared SemanticMemory computes for every write - no extra LLM call. 'llm' is the opt-in enrichment: the standard phase spends one budgeted cheap-model call per additive write to author a 1-2 sentence situating prefix, then passes it as the write's index text. 'off' indexes the bare text. The 'llm' mode is consolidator-only by construction - the hot write path never has a provider for contextualization.packages/memory/src/consolidator/types.ts:235
decayArchiveThresholdreadonlynumber-packages/memory/src/consolidator/types.ts:134
decayCapacityreadonlynumber | nullCapacity-bounded eviction target for the light phase (X-1). When set, each light pass archives the lowest-salience live facts in the LRU decay window down to this many - cost / staleness control, not an accuracy lever. null (the default at every tier) leaves storage unbounded, so behaviour is identical to pre-X-1. Archiving is a soft, recoverable move; nothing is hard-deleted.packages/memory/src/consolidator/types.ts:143
decayTauDaysreadonlynumber-packages/memory/src/consolidator/types.ts:133
deepModelreadonlystring | nullAdvisory label for the deep phase's model - telemetry only (MCON-7). Routing happens via CreateConsolidatorOptions.deepProvider.packages/memory/src/consolidator/types.ts:129
dlqBaseBackoffMsreadonlynumber-packages/memory/src/consolidator/types.ts:168
dlqMaxBackoffMsreadonlynumber-packages/memory/src/consolidator/types.ts:169
dlqMaxRetriesreadonlynumber-packages/memory/src/consolidator/types.ts:167
formEpisodesreadonlybooleanAuto-form a quarantined episode from each processed standard-phase slice (P1-2). Defaults on at the standard+ tiers, off at free / cheap / custom. The episode summary is one budgeted LLM call; when the budget is exhausted (or no episodic tier is wired) the phase degrades to fact-only behaviour.packages/memory/src/consolidator/types.ts:177
importanceScoringreadonlybooleanAsk the episode-summarization call for an LLM importance score (1-10, normalized to [0, 1]) so episodic triple-signal retrieval (recency × relevance × importance) runs on all three signals (P1-2). Importance is always a soft signal - it never gates retention. Defaults track formEpisodes.packages/memory/src/consolidator/types.ts:185
importanceThresholdreadonlynumberSum of recent episode importance (each in [0, 1]) at or above which reflection fires. Below it the pass makes no LLM call. Defaults to 3.packages/memory/src/consolidator/types.ts:213
learnedContextreadonlybooleanMaintain the learned-context digest block (D3): after the deep phase, one budgeted LLM call rewrites the reserved learned_context working block from the previous digest + recent episodes / active insights / active procedures, so the system prompt carries a compact standing summary. Defaults off at every tier (Wave-D trial) - a no-op without a working tier handle.packages/memory/src/consolidator/types.ts:244
learnedContextMaxCharsreadonlynumberCharacter bound enforced on the learned-context digest. Default 1200.packages/memory/src/consolidator/types.ts:246
lockWaitMsreadonlynumber-packages/memory/src/consolidator/types.ts:132
maxDeepConflictsPerRunreadonlynumber-packages/memory/src/consolidator/types.ts:166
maxStandardBatchSizereadonlynumber-packages/memory/src/consolidator/types.ts:151
maxTranscriptCharsreadonlynumberInput-side transcript budget for the standard phase, in characters (W-081; chars/4 is the package's deterministic token proxy, so the 60k default approximates 15k tokens). maxStandardBatchSize bounds only the MESSAGE COUNT of a slice; without a size budget a batch of near-cap messages can render to hundreds of kilobytes, overflow a cheap-tier model context on every retry and wedge the cursor permanently. A transcript over this budget is half-split BEFORE the provider call (same convergent recursion as the finishReason: 'length' output handling); a single message that alone exceeds the budget is tail-truncated and recorded on the phase span. Conservative for CJK scripts by design.packages/memory/src/consolidator/types.ts:165
noiseFiltersreadonlyreadonly ("default" | "minimal" | "none")[]-packages/memory/src/consolidator/types.ts:131
onExceedreadonlyOnBudgetExceed-packages/memory/src/consolidator/types.ts:116
phasesreadonlyreadonly ConsolidatorPhase[]-packages/memory/src/consolidator/types.ts:114
reflectionreadonlybooleanRun the deep-phase reflection pass (P1-1): when accumulated episode importance crosses importanceThreshold, synthesize higher-order, cited insights over recent memories (Generative Agents). Insights land quarantined + provenance: 'reflection' and are ranked below the facts they cite. Defaults on at the full tier only (off at free / cheap / standard / custom) - it is the most LLM-intensive phase. A no-op without an episodic tier or an insight-capable storage adapter.packages/memory/src/consolidator/types.ts:207
reflectionMaxQuarantinedInsightsreadonlynumberW-082: cap on the unreviewed (quarantined) insight queue. Quarantined insights are exempt from reflection pass-decay - their decay clock starts at validation - and this bound keeps the review queue from growing without limit: beyond it the oldest quarantined insights are pruned. Defaults to 100.packages/memory/src/consolidator/types.ts:223
reflectionMaxQuestionsreadonlynumberUpper bound on salient questions reflection asks per pass. Defaults to 3.packages/memory/src/consolidator/types.ts:215
salienceWeightsreadonlySalienceWeightsWeights for the multi-signal salience score (X-1) that orders both threshold archiving and capacity eviction. Defaults to DEFAULT_SALIENCE_WEIGHTS; with neutral importance, active status, and first-party provenance salience equals plain retention.packages/memory/src/consolidator/types.ts:150
tierreadonlyConsolidatorTier-packages/memory/src/consolidator/types.ts:113
triggersreadonlyreadonly ConsolidatorTriggerSpec[]-packages/memory/src/consolidator/types.ts:112