> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Memory

> AI SRE automatically distills your systems and preferences from past conversations and recalls them across sessions, so you don't have to repeat the same background every time.

<Info>
  **Public beta**: AI SRE is in public beta, rolling out gradually to accounts on On-call Pro or higher, at no additional charge during the beta. To get access, submit the [AI SRE beta application form](https://c9xudyniiq.feishu.cn/share/base/form/shrcn0ngCfdoygiaHnAT80BfZiH). Features and the UI may continue to change.
</Info>

## Overview

***

Every new AI SRE session starts a fresh troubleshooting process. If you had to re-explain your timezone, your preferred report format, who owns a given service, or why a previous approach didn't work, that would defeat the point of a persistent agent. Memory lets the agent distill this information out of your conversations and store it as structured entries, so it can reuse them in later sessions.

Memory is different from [Knowledge Packs](/en/ai-sre/knowledge). A Knowledge Pack is content you actively maintain: a `DUTY.md` plus runbooks, service catalogs, and similar files, edited by you or by the agent during a session. Memory doesn't require maintenance. It's a collection of individual facts, preferences, procedures, or lessons the agent distills automatically from past conversations, at a much finer grain than a Knowledge Pack, and it is not a summary of an entire conversation.

## Memory Types

***

Memory has four types, each with a recommended scope and a default retention period:

| Type       | Description                                                                         | Recommended scope | Default retention |
| ---------- | ----------------------------------------------------------------------------------- | ----------------- | ----------------- |
| preference | Your personal habits, such as timezone, report format, or communication style       | personal          | 180 days          |
| procedure  | Handling steps for a class of incidents, or a team's agreed operating sequence      | team              | 90 days           |
| fact       | Objective information such as system topology, service ownership, or config details | team              | 120 days          |
| lesson     | A lesson learned during troubleshooting, such as why a given approach didn't work   | team              | 120 days          |

The scope column is a recommendation, not a binding rule. Where a memory actually lands depends on the session that writes it: a session bound to a team writes to that team's scope, and a session with no team binding writes to your personal scope.

## How Memory Is Created

***

Memory is created through two paths:

* **Explicit**: when you ask the agent to remember something during a conversation, it calls the memory tool to write a memory entry directly.
* **Automatic**: after each turn, the session enters an extraction queue, and the system distills memory asynchronously in the background during idle time, with no action needed from you. Automatic extraction currently produces mostly `procedure` memories. The other three types come more often from an explicit request.

Both paths are processed by the same dedicated structured extraction model. Internally, memory is stored in two layers: a raw extraction archive that is write-only and kept for traceability, and the actual memory entries served to the agent, which are curated from that archive and include a name, summary, body, and source references. Memory extraction currently applies only to the AI SRE and Support apps.

## How the Agent Uses Memory

***

Memory isn't queried in real time on every turn. It works off a snapshot instead:

<Steps>
  <Step title="Session start: retrieve and freeze a snapshot">
    At session initialization, and again whenever context compaction occurs, the system retrieves relevant memory once and freezes the result into a snapshot stored in session state.
  </Step>

  <Step title="Inject memory cards each turn">
    Every subsequent turn injects only the memory cards from that snapshot. Cards carry a name and a summary, not the body.
  </Step>

  <Step title="Read the body on demand">
    When the agent needs the full content of a memory entry, it calls the memory tool again to read or search for it.
  </Step>
</Steps>

## Scope & Isolation

***

Memory has only two scopes, personal and team. There is no account-level memory, and cross-account reads are rejected outright.

| Dimension        | personal                         | team                                                                                      |
| ---------------- | -------------------------------- | ----------------------------------------------------------------------------------------- |
| Ownership        | The person the memory belongs to | The team the memory belongs to                                                            |
| Read condition   | The person the memory belongs to | The current session is bound to that team, or the caller is a genuine member of that team |
| Exemption        | Not applicable                   | Owners and admins get no exemption                                                        |
| Cross-team reads | Not applicable                   | No such path exists                                                                       |

This isolation follows the same permission model as other AI SRE resources: team scope does not open up just because you're the account owner or an admin. You must be an actual member of that team.

## Retention & Expiry

***

Each memory entry has a `renewed_at` (last renewal time) and a `ttl_days` (retention period), with `expires_at = renewed_at + ttl_days`. Expired entries are soft-deleted first, then hard-cleaned up later. Referencing a memory entry updates its usage count and last-used time. There is no cap on the number of memory entries.

## Current Limitations

***

<Warning>
  There is currently no console page for managing memory. You can't see your list of memory entries, and you can't edit or delete an entry from the UI. The only way to interact with memory is through conversation: ask the agent to remember, update, or forget something, for example "remember that I use UTC+8" or "forget that preference you just saved."
</Warning>

<Note>
  Reliability improvements to memory extraction only merged on July 20, 2026, so they haven't been live long. If you notice the agent skipping something it should have remembered, without explaining why, we'd welcome your feedback.
</Note>

## Related Pages

***

<CardGroup cols={2}>
  <Card title="Manage Knowledge" icon="book" href="/en/ai-sre/knowledge">
    Understand the difference between Knowledge Packs and memory: you maintain the former, the agent distills the latter from conversation.
  </Card>

  <Card title="Console" icon="comments" href="/en/ai-sre/sessions">
    Learn how sessions bind to teams, and how team-scoped memory follows that binding.
  </Card>
</CardGroup>
