Codumentor logo Codumentor

Agentic Memory Plugin

The Agentic Memory plugin stores useful knowledge from conversations into a
repository in the background, and retrieves relevant notes (Rapid Direction
Cues) into later turns so the agent does not have to rediscover the same
facts. Storage never blocks the reply you are waiting on; a failure to store
or recall does not break the conversation.

Each user can turn Automatic Context Retrieval and **Automatic Memory
Storage** on or off in Settings (both default on). The agent can still look
memories up on demand via the memory_lookup tool even when automatic
retrieval is off.

Configuration

plugins:
  - module: codumentor.plugins.agenticmemory
    class: AgenticMemoryPlugin
    args:
      enabled: true
      repo_name: your-knowledge-repo   # optional in single-repo mode
      kb_base_dir: knowledge
      retrieval_enabled: true
      retrieval_num_results: 3

repo_name is required in multi-repo setups. If you omit it in single-repo
mode, the plugin uses that sole repo.

Scope ingestion of the KB repo to the notes

If the KB repo is dedicated to memory (notes plus working state — goal files,
the deprecated/ archive, scratch), scope ingestion to the notes root so
nothing else is embedded:

repos:
  - name: your-knowledge-repo
    path: your-knowledge-repo
    ingest_paths: knowledge     # match kb_base_dir

Recall only ever returns notes from kb_base_dir, so anything else in the
repo costs embeddings and search slots for results that are then discarded.
This is not derived from kb_base_dir automatically: repo_name may
point at a source repo, where narrowing ingestion would silently stop
indexing the code. See
configuration.md → ingest_paths.

Parameters

All configuration is under the plugin args: block.

Storage

Git

Retrieval (turn-start cues)

Automatic recall and the lookup tool

These are also gated by each user's Automatic Context Retrieval setting,
except memory_lookup, which stays available when that setting is off.

Author confidence

Memories record who wrote them. Lower-confidence authors rank weaker at
recall; very low confidence can require approval before a note is treated as
authoritative.

Rapid Direction Cues

Retrieved notes are injected as short, optional cues — naming conventions,
historical renames, component locations, and similar hints that are not
obvious from the code. The agent is told to use only the relevant ones.

Users can thumbs-up / thumbs-down a cue in the transcript. A dislike can mark
the memory as generally unhelpful and/or request a human review.

What you see in the UI

Transcript cards track store and recall: queued / started / stored / failed,
and the cues that were retrieved. A review card on each cue collects votes.

Welcome page widgets (auto-refresh):

WidgetWhoWhat
Memory FeedbackUsers with memory_feedback:reviewCounts of unhelpful memories and review requests; opens the review page
Your Memory FeedbackAny signed-in userCounts of that user's own reports
Memory HistoryAny signed-in userRecent store runs

Pages:

To disable the plugin UI (events still appear as generic cards):

ui:
  disabled_extensions:
    - agentic_memory

Grant admin review access with the memory_feedback:review permission in
RBAC. No extra plugin flag is required for the review UI.

Repository setup

  1. Create or clone a git repo for knowledge (or reuse a source repo).
  2. List it under repos and, for a dedicated KB, set ingest_paths to kb_base_dir as above.
  3. Create the notes directory (knowledge/ by default) if it does not exist.

Git tuning for large knowledge bases

Optional. The plugin works without Git tuning. If git status / git commit
in the KB repo become slow after a long-running deployment, enable
commit-graph and incremental maintenance in that repo:

cd /path/to/your-knowledge-repo
git config core.commitGraph true
git config gc.writeCommitGraph true
git config fetch.writeCommitGraph true
git config commitGraph.changedPaths true
git config maintenance.strategy incremental
git maintenance start

Notes already live in subdirectories under kb_base_dir (for example
knowledge/cues/). Avoid dumping thousands of files into one flat directory.
CI that does not need history can clone with --depth=1.

Notes

args:
  enabled: false