Skip to main content

Memories

Memories are the part of the Engineering Context Graph that Autoheal writes for you. When an agent run finishes, what worked and what failed is distilled into a memory, and that memory is recalled automatically the next time a relevant incident recurs, so a problem your team has seen before can be resolved from recall rather than re-investigated from scratch, with fewer exploratory tool calls spent rediscovering your environment.

Memories are captured from each finished run, and the Healer can also propose one when the Evaluator finds a run that missed knowledge the next run should have. Both kinds land in the same review queue on the Memories page and follow the same lifecycle and auto-accept rules below. Skills, by contrast, are the context you author or approve.

What memories are learned from​

Memories are learned automatically; you don't write them. Autoheal derives them from real signals in your runs:

  • Accepted root causes. A confirmed diagnosis becomes reusable knowledge for similar incidents.
  • Your guidance during investigations. Direction you give mid-investigation is carried forward.
  • Hard-won discoveries. A non-obvious cause that took significant effort to find is worth keeping so the next occurrence is quick.

A learned memory lands in a review queue by default, and Autoheal auto-accepts the ones it has strong grounds to trust, so in practice you review the judgment calls rather than every memory. To write reusable procedures yourself, author skills.

Memory lifecycle​

Each memory holds one of five statuses.

StatusMeaning
PendingThe memory has been learned and is waiting for review. It is not recalled during investigations yet.
AppliedThe memory is live, and it is recalled automatically in relevant future investigations allowed by its ownership scope. A memory reaches this state either because you approved it or because it was auto-accepted.
DismissedYou declined the memory, optionally with a reason, and it won't be used.
Consolidated into skillYou folded an applied memory into a skill. It stays retrievable alongside applied memories, so nothing is lost by consolidating.
SupersededA newer memory replaced this one during deduplication, and the earlier version is archived automatically.

The Memories page shows a count of pending memories in the sidebar, and that queue is the only part that needs your attention.

When a memory skips review​

Autoheal auto-applies a pending memory when it has a concrete reason to trust it, which keeps the queue to the genuine judgment calls. A memory is auto-accepted when any of these holds:

ReasonCondition
Supported by multiple investigationsThe same finding recurred across enough near-duplicate investigations to clear your configured support threshold. This is empirical evidence, so it outranks every other signal.
Human user guidanceThe memory came from direction a person gave during an investigation.
Source hypothesis user acceptedThe memory came from a hypothesis someone explicitly accepted.
Debugging heuristicThe memory is a general debugging technique rather than a fact about one incident.
Integration relatedThe memory concerns a connected integration.

Each reason is separately configurable, so you can tighten or disable any of them, and the support threshold is a number you set.

Two behaviors are worth knowing. A memory the model judges obvious, incident-specific, or textbook is held for review rather than auto-applied under the weaker reasons above, though multi-investigation support still overrides that hold because it is empirical. Separately, an explicit "remember this" request from a person is exempt from those quality gates, so a memory you ask for is never dropped or held back on an obviousness judgment.

Memory ownership​

Each memory is owned either by one agent profile or by the whole tenant:

  • Profile-owned memories are available only to investigations using that exact profile.
  • Tenant-wide memories are available to every profile in the tenant.

When profile-scoped memory reads are enabled, the Memories page shows the owner on each memory. You can filter by an exact profile or by Tenant-wide, and move an active memory between those scopes. Moving a memory changes where it is available; it does not change its content or lifecycle state.

From memories to skills​

A memory comes from a single run. When the same diagnostic work repeats across several runs, it's better written down once as a skill that agents follow directly. You can fold an applied memory into a skill yourself, which sets its status to Consolidated into skill, and the Healer can propose a new or updated skill from repeated work.

Unlike memories, skills have no auto-accept: a skill is a procedure your agents will follow directly, so a proposed skill always waits for an engineer to review and accept it before any agent uses it.

Agent profiles​

An agent profile scopes what an agent loads: which integrations, code repositories and skills it can use, and its sandbox settings. Every organization has a default profile, which can't be deleted. Profile-owned memories are recalled only by runs under that profile, and tenant-wide memories by every run. Profiles are configured under Settings → Platform → Agent Profiles; they are separate from Catalog teams.