Cluster Memory
Cluster Memory holds facts shared with everyone working on a specific cluster. It's the right place for things like:
- Ownership ("Team B owns all
pay-*services") - Deployment rules ("We never deploy on Fridays after 3 PM")
- Known quirks ("The
legacy-apideployment requires manual scaling — no HPA") - Historical context ("This cluster ran the v1 migration last quarter")
Cluster memory is the unit of organizational memory most teams use. It captures the tribal knowledge that usually lives in one engineer's head and makes it available to investigations and chat for the whole team.
Scope
| Scoped to | Visible to | Loaded by AI for |
|---|---|---|
| A single cluster | Anyone with access to the cluster | Investigations and chat on that cluster |
Cluster memory entries are facts only — there are no shared preferences. (Preferences are personal — see My Memory.)
Creating Cluster Memory
- Open AI Memory → Cluster Memory
- Choose the target cluster from the selector
- Click Create
- Enter the fact and save
Anyone with access to the cluster can create cluster memory entries. Decide as a team how you want to manage this — some teams designate a few "memory curators", others leave it open to everyone.
What Belongs in Cluster Memory
Good cluster memory entries are:
- Short — one to three sentences
- Stable — facts that change rarely (monthly, not daily)
- Operational — useful when reasoning about alerts, configurations, or changes
- Specific — tied to this cluster, not generic Kubernetes advice
Good examples
- "All
pay-*services have a 30-second startup probe. Don't treat early restart loops as abnormal — wait 60s minimum before assuming a crashloop." - "This cluster runs on EKS 1.29 in
us-east-1. The node groups aregeneral,gpu, andmemory-optimized." - "The
monitoringnamespace is managed by the platform team via ArgoCD. Don't suggest direct kubectl edits there." - "ConfigMap changes in
paymentsrequire a Job-based migration to refresh cached values."
Avoid
- ❌ Long-form documentation — use Knowledge Sources
- ❌ Live status ("Right now we're seeing latency issues") — that's not durable
- ❌ Generic Kubernetes advice not specific to this cluster
- ❌ Sensitive information (credentials, secrets, customer data)
How OpsWorker Uses Cluster Memory
When an investigation triggers for a resource in this cluster, OpsWorker loads relevant cluster memory entries as background context. The investigation agents (Kubernetes Agent, Observability Agent, Git Agent) factor this context into their reasoning.
Example: if a cluster memory entry says "All pay-* services have a 30-second startup probe", and an alert fires for pay-checkout restarting twice in 15 seconds, the AI is more likely to interpret this as "still within expected startup behavior, monitor for 60s more" rather than "CrashLoopBackOff — needs intervention".
In chat sessions on this cluster, the same entries are loaded and the AI can answer questions like "who owns this service?" by referencing cluster memory directly.
Promoting to Organization
When a cluster memory entry turns out to apply across every cluster — for example, a company-wide deployment policy — promote it to Organization Memory:
- Open the entry in Cluster Memory
- Click Promote to Organisation
- Confirm
The cluster copy is kept as-is; an organization-scoped copy is created. See Promotion.
Editing and Deleting
Cluster memory entries can be edited or deleted by any user with access to the cluster:
- Edit replaces the entry (the underlying entry ID changes — this is delete-then-create on the backend).
- Delete removes it immediately. There is no soft-delete; once deleted, the entry must be re-created if needed.
Consider documenting which team members own cluster memory curation if your team is large enough to risk conflicting edits.
Next Steps
- My Memory — Personal preferences and notes
- Organization Memory — Org-wide facts
- Promotion — Sharing memory upward
- Knowledge Sources — Long-form documentation