Current
Tiered memory consolidation
Benchmark first
Corpora: LongMemEval · QASPER · LongBench
Protocol: Replay sessions in timestamp order without gold-answer fields. Report information extraction, multi-session reasoning, temporal reasoning, knowledge updates, and abstention separately; add evidence Recall@k, write amplification, stored bytes, reader tokens, and latency. Compare raw-history, retrieval-only, extracted-memory, and consolidated-memory baselines under identical context budgets.
Tiers are policies over cost and lifecycle, not hard-coded stores. Mari provides topic segmentation and a deterministic promotion planner. The host supplies compression models and commits selected revisions, keeping raw observations available for audit.
How it works
Filter observations cheaply, group them at attention-peak/similarity-valley topic boundaries, compress within bounded groups, and score promotion from recurrence, recency, usefulness, and evidence diversity. Expensive resolving, superseding, and summarization run in an offline call/token budget. Promotion creates a new artifact revision linked to every contributing observation.
Observation buffercheap filters · content hashes
topic boundary
Session groupsbounded compression
offline window
Consolidated artifactsresolve · supersede · review
from mari_components.knowledge import (
ConsolidationBudget,
PromotionSignal,
plan_consolidation,
)
plan = plan_consolidation(
[
PromotionSignal(
artifact_id="session:refunds",
recurrence=0.9,
recency=0.8,
usefulness=0.95,
evidence_diversity=0.7,
estimated_calls=2,
estimated_tokens=2400,
)
],
budget=ConsolidationBudget(max_model_calls=20, max_tokens=50_000),
minimum_score=0.70,
)
assert plan.selected_ids == ("session:refunds",)