# mnemosyne v0.1.6 - Table of Contents

> A Pluggable, extensible, and performant agentic memory library for Elixir applications.

## Pages

- [Overview](readme.md)

- Guides
  - [Getting Started](getting-started.md)
  - [Core Concepts](core-concepts.md)
  - [Sessions and Episodes](sessions-and-episodes.md)
  - [Extraction Profiles](extraction-profiles.md)
  - [Retrieval and Recall](retrieval-and-recall.md)
  - [Graph Maintenance](graph-maintenance.md)
  - [Custom Backends](custom-backends.md)
  - [Custom Adapters](custom-adapters.md)
  - [Multi-Repository Isolation](multi-repo.md)
  - [Notifier -- Real-Time Events](notifier.md)

- About
  - [License](license.md)

## Modules

- [Mnemosyne.Embedding.Response](Mnemosyne.Embedding.Response.md): Struct returned by embedding generation calls.
- [Mnemosyne.Graph.Edge](Mnemosyne.Graph.Edge.md): Defines the typed edge categories used in the knowledge graph.

- [Mnemosyne.LLM.Response](Mnemosyne.LLM.Response.md): Struct returned by LLM chat completions.
- [Mnemosyne.Notifier.Trace.Episode](Mnemosyne.Notifier.Trace.Episode.md): Trace struct capturing episode pipeline execution details.

- [Mnemosyne.Notifier.Trace.Recall](Mnemosyne.Notifier.Trace.Recall.md): Trace struct capturing recall pipeline execution details.

- [Mnemosyne.Notifier.Trace.Structuring](Mnemosyne.Notifier.Trace.Structuring.md): Trace struct capturing structuring pipeline execution details.

- [Mnemosyne.Pipeline.EpisodicValidation](Mnemosyne.Pipeline.EpisodicValidation.md): Maintenance module that validates episodic grounding of abstract nodes.
- [Mnemosyne.Pipeline.GraphRepair](Mnemosyne.Pipeline.GraphRepair.md): One-shot maintenance op that scrubs dangling link references from the graph
and deletes orphaned tags/intents.
- [Mnemosyne.Pipeline.HopRefinement](Mnemosyne.Pipeline.HopRefinement.md): Per-hop query refinement for the retrieval pipeline.
- [Mnemosyne.Pipeline.HopRefinement.State](Mnemosyne.Pipeline.HopRefinement.State.md): Tracks refinement state across hops during retrieval.

- [Mnemosyne.Pipeline.Reasoning.ReasonedMemory](Mnemosyne.Pipeline.Reasoning.ReasonedMemory.md): Result of reasoning over retrieved memory candidates.
Each field is nil when no candidates of that type were found.

- [Mnemosyne.Pipeline.RecallResult](Mnemosyne.Pipeline.RecallResult.md): Result of a recall operation containing reasoned summaries,
touched nodes, and execution trace.

- [Mnemosyne.Pipeline.Retrieval.Result](Mnemosyne.Pipeline.Retrieval.Result.md): Result of a retrieval operation containing the classified mode,
generated tags, and scored candidate nodes partitioned by type.

- [Mnemosyne.Pipeline.Retrieval.TaggedCandidate](Mnemosyne.Pipeline.Retrieval.TaggedCandidate.md): Internal struct representing a scored candidate with its origin phase.
Replaces raw `{node, score}` tuples in the retrieval pipeline.

- [Mnemosyne.Pipeline.Retrieval.TouchedNode](Mnemosyne.Pipeline.Retrieval.TouchedNode.md): Caller-facing projection of a retrieved candidate node.

- [Mnemosyne.Pipeline.TagDeduplicator](Mnemosyne.Pipeline.TagDeduplicator.md): Deduplicates Tag nodes in a changeset against both the existing
graph and other tags within the same batch.
- [Mnemosyne.Telemetry.DefaultHandler](Mnemosyne.Telemetry.DefaultHandler.md): Optional telemetry handler that logs Mnemosyne events via Logger.
- [Mnemosyne.ValueFunction.Default](Mnemosyne.ValueFunction.Default.md): Default value function combining relevance with recency,
frequency, and reward signals from node metadata.
- [Mnemosyne.Pipeline.Prompts.GetMode](Mnemosyne.Pipeline.Prompts.GetMode.md): Prompt for classifying a query into a memory retrieval mode:
`:episodic`, `:semantic`, `:procedural`, or `:mixed`.

- [Mnemosyne.Pipeline.Prompts.GetPlan](Mnemosyne.Pipeline.Prompts.GetPlan.md): Prompt for generating retrieval tags from a query and its classified mode.
Produces a list of search tags used to query the knowledge graph.

- [Mnemosyne.Pipeline.Prompts.GetProcedural](Mnemosyne.Pipeline.Prompts.GetProcedural.md): Prompt for extracting prescriptive knowledge (instructions for future)
from a trajectory segment.
- [Mnemosyne.Pipeline.Prompts.GetRefinedQuery](Mnemosyne.Pipeline.Prompts.GetRefinedQuery.md): Prompt for refining retrieval tags during multi-hop retrieval.
Generates bridge-concept search tags targeting information not yet reached.

- [Mnemosyne.Pipeline.Prompts.GetReturn](Mnemosyne.Pipeline.Prompts.GetReturn.md): Prompt for scoring each prescription (procedural instruction) individually
against its specific intent and the trajectory evidence.
- [Mnemosyne.Pipeline.Prompts.GetReward](Mnemosyne.Pipeline.Prompts.GetReward.md): Prompt for evaluating how well a step serves the current sub-goal.
Returns a reward score between 0.0 and 1.0.

- [Mnemosyne.Pipeline.Prompts.GetSemantic](Mnemosyne.Pipeline.Prompts.GetSemantic.md): Prompt for extracting propositional knowledge (facts learned)
from a trajectory segment, along with associated concept terms
that serve as semantic routing indices.
- [Mnemosyne.Pipeline.Prompts.GetState](Mnemosyne.Pipeline.Prompts.GetState.md): Prompt for deriving progressive environment state from a single step.
- [Mnemosyne.Pipeline.Prompts.GetSubgoal](Mnemosyne.Pipeline.Prompts.GetSubgoal.md): Prompt for inferring what sub-goal the agent is pursuing given the
current state, observation, action, and overall goal.
- [Mnemosyne.Pipeline.Prompts.MergeIntent](Mnemosyne.Pipeline.Prompts.MergeIntent.md): Prompt for merging two similar intent descriptions into a single
unified intent that captures the essence of both.
- [Mnemosyne.Pipeline.Prompts.ReasonEpisodic](Mnemosyne.Pipeline.Prompts.ReasonEpisodic.md): Prompt for synthesizing retrieved episodic memory nodes
into a coherent narrative summary relevant to the query.
- [Mnemosyne.Pipeline.Prompts.ReasonProcedural](Mnemosyne.Pipeline.Prompts.ReasonProcedural.md): Prompt for synthesizing retrieved procedural memory nodes
into actionable instructions relevant to the query.
- [Mnemosyne.Pipeline.Prompts.ReasonSemantic](Mnemosyne.Pipeline.Prompts.ReasonSemantic.md): Prompt for synthesizing retrieved semantic memory nodes
into a factual summary relevant to the query.

- Public API
  - [Mnemosyne](Mnemosyne.md): Agentic memory library that models memory as a knowledge graph using
reinforcement-learning primitives (episodes, trajectories, rewards, value functions).
  - [Mnemosyne.Config](Mnemosyne.Config.md): Unified configuration for Mnemosyne LLM and embedding settings.
  - [Mnemosyne.ExtractionProfile](Mnemosyne.ExtractionProfile.md): Domain-specific extraction profiles that customize how knowledge is
extracted, scored, and prioritized from episodes.

- Sessions
  - [Mnemosyne.Session](Mnemosyne.Session.md): GenStateMachine managing the lifecycle of a memory session.

- Graph &amp; Nodes
  - [Mnemosyne.Graph](Mnemosyne.Graph.md): Core knowledge graph data structure.
  - [Mnemosyne.Graph.Changeset](Mnemosyne.Graph.Changeset.md): Batched mutations for the knowledge graph.
  - [Mnemosyne.Graph.Node](Mnemosyne.Graph.Node.md): Protocol for polymorphic graph node operations.
  - [Mnemosyne.Graph.Similarity](Mnemosyne.Graph.Similarity.md): Cosine similarity computations using Scholar and Nx.
  - [Mnemosyne.Graph.Node.Episodic](Mnemosyne.Graph.Node.Episodic.md): Episodic memory node capturing an observation-action-reward tuple
within a trajectory.

  - [Mnemosyne.Graph.Node.Helpers](Mnemosyne.Graph.Node.Helpers.md): Utility functions for working with node links across edge types.

  - [Mnemosyne.Graph.Node.Intent](Mnemosyne.Graph.Node.Intent.md): Intent node representing a high-level goal that links to
procedural prescription nodes for hierarchical retrieval.

  - [Mnemosyne.Graph.Node.Procedural](Mnemosyne.Graph.Node.Procedural.md): Procedural memory node encoding an instruction with its
triggering condition and expected outcome.

  - [Mnemosyne.Graph.Node.Semantic](Mnemosyne.Graph.Node.Semantic.md): Semantic memory node representing a proposition with a confidence score.

  - [Mnemosyne.Graph.Node.Source](Mnemosyne.Graph.Node.Source.md): Source node linking back to a specific step within an episode.

  - [Mnemosyne.Graph.Node.Subgoal](Mnemosyne.Graph.Node.Subgoal.md): Subgoal node representing a decomposed objective, optionally
linked to a parent goal.

  - [Mnemosyne.Graph.Node.Tag](Mnemosyne.Graph.Node.Tag.md): Tag node used to label and categorize other nodes in the graph.

- Graph Backends
  - [Mnemosyne.GraphBackend](Mnemosyne.GraphBackend.md): Behaviour for unified graph persistence and querying backends.
  - [Mnemosyne.GraphBackends.InMemory](Mnemosyne.GraphBackends.InMemory.md): In-memory graph backend wrapping `Mnemosyne.Graph`.
  - [Mnemosyne.GraphBackends.Persistence.DETS](Mnemosyne.GraphBackends.Persistence.DETS.md): DETS-backed persistence for the InMemory graph backend.

- Pipeline
  - [Mnemosyne.Pipeline.Decay](Mnemosyne.Pipeline.Decay.md): Maintenance module that prunes low-utility nodes from the knowledge graph.
  - [Mnemosyne.Pipeline.Episode](Mnemosyne.Pipeline.Episode.md): Functional core for managing in-progress episodes.
  - [Mnemosyne.Pipeline.IntentMerger](Mnemosyne.Pipeline.IntentMerger.md): Deduplicates intent nodes in a changeset against both the existing
graph and other intents within the same batch.
  - [Mnemosyne.Pipeline.Reasoning](Mnemosyne.Pipeline.Reasoning.md): Parallel reasoning module that synthesizes retrieved memory candidates
into typed summaries.
  - [Mnemosyne.Pipeline.Retrieval](Mnemosyne.Pipeline.Retrieval.md): Multi-hop graph retrieval pipeline.
  - [Mnemosyne.Pipeline.SemanticConsolidator](Mnemosyne.Pipeline.SemanticConsolidator.md): Discovers near-duplicate semantic nodes via embedding similarity
and merges the lower-scored one into the higher-scored survivor.
  - [Mnemosyne.Pipeline.Structuring](Mnemosyne.Pipeline.Structuring.md): Orchestrates knowledge extraction from a closed episode.

- Behaviours
  - [Mnemosyne.Embedding](Mnemosyne.Embedding.md): Behaviour for text embedding generation.
  - [Mnemosyne.LLM](Mnemosyne.LLM.md): Behaviour for LLM chat completions.
  - [Mnemosyne.Notifier](Mnemosyne.Notifier.md): Behaviour for pluggable event notification.
  - [Mnemosyne.Notifier.Noop](Mnemosyne.Notifier.Noop.md): No-op notifier that discards all events.

  - [Mnemosyne.Prompt](Mnemosyne.Prompt.md): Behaviour for building LLM prompts and parsing responses.
  - [Mnemosyne.ValueFunction](Mnemosyne.ValueFunction.md): Behaviour for scoring memory nodes during retrieval.

- Adapters
  - [Mnemosyne.Adapters.BumblebeeEmbedding](Mnemosyne.Adapters.BumblebeeEmbedding.md): Embedding adapter backed by Bumblebee's `Nx.Serving`.
  - [Mnemosyne.Adapters.SycophantEmbedding](Mnemosyne.Adapters.SycophantEmbedding.md): Embedding adapter backed by Sycophant.
  - [Mnemosyne.Adapters.SycophantLLM](Mnemosyne.Adapters.SycophantLLM.md): LLM adapter backed by Sycophant.

- Infrastructure
  - [Mnemosyne.MemoryStore](Mnemosyne.MemoryStore.md): GenServer owning the graph backend state.
  - [Mnemosyne.NodeMetadata](Mnemosyne.NodeMetadata.md): Metadata tracked per node for value function scoring.
  - [Mnemosyne.Supervisor](Mnemosyne.Supervisor.md): Top-level supervisor for the Mnemosyne runtime.
  - [Mnemosyne.Telemetry](Mnemosyne.Telemetry.md): Telemetry event catalog and instrumentation helpers for Mnemosyne.

- Errors
  - [Mnemosyne.Errors](Mnemosyne.Errors.md): Top-level Splode error aggregator for Mnemosyne.
  - [Mnemosyne.Errors.Framework](Mnemosyne.Errors.Framework.md): Error class for internal framework-level errors.

  - [Mnemosyne.Errors.Framework.AdapterError](Mnemosyne.Errors.Framework.AdapterError.md): Raised when an LLM or embedding adapter encounters an error.

  - [Mnemosyne.Errors.Framework.NotFoundError](Mnemosyne.Errors.Framework.NotFoundError.md): Raised when a referenced resource cannot be found.

  - [Mnemosyne.Errors.Framework.PipelineError](Mnemosyne.Errors.Framework.PipelineError.md): Raised when a pipeline operation fails during extraction or reasoning.

  - [Mnemosyne.Errors.Framework.RepoError](Mnemosyne.Errors.Framework.RepoError.md): Raised when a repository lifecycle operation fails.

  - [Mnemosyne.Errors.Framework.SessionError](Mnemosyne.Errors.Framework.SessionError.md): Raised when a session operation is invalid for the current state.

  - [Mnemosyne.Errors.Framework.StorageError](Mnemosyne.Errors.Framework.StorageError.md): Raised when a storage backend operation fails.

  - [Mnemosyne.Errors.Invalid](Mnemosyne.Errors.Invalid.md): Error class for validation and invalid-input errors.

  - [Mnemosyne.Errors.Invalid.ConfigError](Mnemosyne.Errors.Invalid.ConfigError.md): Raised when Mnemosyne configuration is missing or invalid.

  - [Mnemosyne.Errors.Invalid.EpisodeError](Mnemosyne.Errors.Invalid.EpisodeError.md): Raised when an episode operation violates preconditions.

  - [Mnemosyne.Errors.Invalid.PromptError](Mnemosyne.Errors.Invalid.PromptError.md): Raised when an LLM prompt response cannot be parsed into the expected format.

  - [Mnemosyne.Errors.Unknown](Mnemosyne.Errors.Unknown.md): Error class for unknown or unrecognized errors.

  - [Mnemosyne.Errors.Unknown.Unknown](Mnemosyne.Errors.Unknown.Unknown.md): Fallback concrete error used when an error cannot be mapped
to a known Splode error type.

