AI MemorySettings

AI Memory Settings

Control how aggressively SproutOS saves new memories, set memory limits, and configure named playbooks the agent can fetch on demand.

The AI Memory settings control two things: how freely the agent saves new memories on its own, and how your memory library is capped. Getting these right means fewer unwanted memories cluttering your list and fewer times you have to clean up after an overly eager agent.


Here's how each setting works.

What are the save behavior presets?

The preset controls the auto-save threshold - the confidence level the agent must reach before it saves a memory on its own. A higher threshold means fewer automatic saves. A lower threshold means the agent saves more freely.

PresetWhat it meansBest for
Strict (default)Agent only saves when you clearly told it to, or corrected the same behavior twice. Low-confidence inferences go to Pending review instead.Most users - keeps your memory list clean and intentional
LooseAgent saves more freely, including inferences and implied context from the conversation. More memories land as Active instead of Pending review.Power users who want the agent to capture context automatically with minimal friction
CustomYou set the threshold yourself (0.0 to 1.0) and choose whether schema violations block the save or just warn.Teams with specific quality requirements or workflows

Start on Strict. If you find yourself manually creating memories for things the agent should have caught on its own, switch to Loose. You can always tighten it back up.

How does confidence work?

When the agent saves a memory, it must include a trigger type - the reason this save fired. The trigger maps to an initial confidence score:

TriggerScoreWhen it fires
explicit_save0.90You explicitly told the agent to remember something - "save this," "from now on always do X."
repeated_correction0.85You corrected the same agent behavior two or more times in a session.
unusual_confirmed0.75The agent offered an unusual choice and you confirmed it - "yes, exactly," "keep doing that."
fact_stated0.70You stated a fact about yourself, your team, or the project that isn't recoverable from code or git history.
inferred0.40The agent saved without one of the four triggers above firing. This is the fallback when the agent decides to save on its own.

The save then compares confidence against the site's threshold:

  • Above the threshold - memory lands as Active and is available to the agent on the next session.
  • Below the threshold - memory lands as Pending review and shows up in the badge at the top of the AI Memory tab. You approve or reject each one. If nothing happens within 7 days, SproutOS automatically promotes it to Active so the queue doesn't stagnate.

How presets affect the threshold

  • Strict (default): threshold = 0.80. Only explicit_save and repeated_correction clear it automatically. Everything else waits for your review.
  • Loose: threshold = 0.40. Almost every save passes automatically, including inferred ones. The pending review queue is rarely used.
  • Custom: you set the threshold value (0.00-1.00).

Why inferred is the lowest score

Inferred saves are the ones most likely to be junk - the agent guessed something was worth remembering without a clear signal from you. SproutOS defaults them to 0.40 to hold them in pending review under the Strict preset.

A well-prompted agent rarely saves without a clear trigger. If your pending queue fills up with inferred saves, that's a signal the connected agent needs tighter prompting.

How do memory limits work?

SproutOS enforces two caps on your memory library.

The soft cap is 500 active memories. When you reach 90% of that (450 memories), SproutOS shows a warning in the dashboard. Saves are not blocked - it's just a signal to review and archive memories you no longer need.

The hard cap is 1,000 memories. When a new save would push you over 1,000, SproutOS automatically archives the lowest-confidence non-pinned memory to make room. If every memory is pinned, the save is blocked entirely until you manually archive something.

Archived, Stale, and Disputed memories don't count against either cap.

What are slug-callable memories?

A slug-callable memory is a named playbook the agent can fetch on demand. Instead of being injected automatically into every session, it sits in the background until the agent needs it for a specific task.

How to set one up: Open any memory's edit form and fill in the Slug field. Use lowercase letters, digits, and hyphens only. Max 100 characters. The slug must be unique across your site.

Once a slug is set, SproutOS appends that memory's name and description to the agent system prompt as a catalogue entry. The agent can then call sprout/memory-get with the slug to load the full content when a task calls for it.

When to use a slug instead of Always applied:

Use a slug when the memory is only relevant for specific tasks - not every session. A memory you need for every session belongs on Always applied. A memory for a particular kind of task belongs on a slug.

Example: A memory with slug brand-voice contains your full brand writing guidelines. You don't need those guidelines injected into a session where you're debugging a plugin conflict. But when you ask the agent to write copy, it fetches brand-voice automatically and applies it.

Good slug names are short and task-oriented: brand-voice, seo-rules, staging-creds, image-style. The agent uses the slug name and description to decide when to fetch it - a clear name makes that decision more reliable.

Frequently Asked Questions

Next Steps