Skip to main content
Mneno uses a multi-signal scoring engine to rank memories. This ensures that the most relevant, recent, and important information is always prioritized.

Scoring Signals

The final score of a memory is a weighted average of several signals:
  • Relevance: How well the memory matches the search query. Exact content phrases outrank loose overlap, while tag/source matches provide a capped supporting signal instead of being treated as visible content. Optional semantic similarity remains provider-backed.
  • Importance: A manual or model-assigned priority score (0.0 to 1.0).
  • Recency: How recently the memory was updated. Scores decay over time based on a configurable half-life.
  • Frequency: How often the memory has been accessed by the agent.
  • Freshness: How long ago the memory was originally created.

Explainable Scores

Every search result includes a MemoryScore object that explains exactly why a memory was ranked the way it was.

Example Reasons

  • Matched query term: mneno
  • High importance memory
  • Recently updated
  • Frequently accessed memory
Content and metadata lexical relevance are recorded separately in retrieval traces so ranking decisions remain inspectable. Existing layer and session adjustments continue to apply after relevance scoring.

Customizing Weights

You can customize how Mneno weighs different signals by passing a MemoryPolicy to the MemoryClient.

Policy Parameters