Memory Dashboard
Memory analytics dashboard overview.
The Memory Analytics dashboard gives you a real-time view of your agent fleet's learned knowledge - observation density, learning velocity, contradiction detection, quality scoring, and storage health - all in one place.
Overview
The dashboard aggregates five complementary panels plus two dedicated sub-views:
graph TD
A[Memory Dashboard\n7d / 30d / 90d] --> B[Coverage Heatmap\nobs density by directory]
A --> C[Trends Chart\nvolume by type + agent]
A --> D[Drift Alerts\ncontradiction detection]
A --> E[Top Observations\nweight bands + flags]
A --> F[Memory Health\ndedup · retention · storage]
A --> G[Skill Evolution\nper-agent proficiency]
A --> H[[Feedback Impact sub-view]]
A --> I[[Context Budget Pareto sub-view]]Main panels (visible on the dashboard):
| Panel | What it answers | Who needs it |
|---|---|---|
| Coverage Heatmap | "Where are agents learning?" | WFE, OPS |
| Trends Chart | "Is learning accelerating or stalling?" | WFE, OPS |
| Drift Alerts | "Are agents contradicting each other?" | WFE, OPS |
| Top Observations | "What are my strongest and weakest patterns?" | WFE, OPS |
| Memory Health | "Is the store healthy?" | OPS only |
| Skill Evolution | "Which agents are proficient in which domains?" | WFE, OPS |
Sub-views (dedicated pages linked from the dashboard header):
- Feedback Impact - How your upvotes/downvotes move observations up or down in retrieval ranking; includes injection-likelihood before/after comparison
- Context Budget Pareto - Token spend vs. session success rate per work type; identifies the optimal injection budget
Accessing the Dashboard
Navigate to Factory → Memory Analytics in the platform UI. You can choose between a 7-day, 30-day, or 90-day time window using the button group in the header.
Project Scoping
When viewing from a project page, all panels are automatically scoped to that project's observations. When viewing from the organization level, you can select All projects or a specific project from the dropdown. Some panels (Memory Health, Skill Evolution) also support org-wide views even when a project is selected.
Screenshot placeholder: The main dashboard layout showing all six panels arranged in two rows would help readers orient to the panel positions before drilling into individual pages.
Panel Summaries
Coverage Heatmap
Shows which codebase directories (extracted from metadata.file_path or metadata.module) have the highest observation density. Bar width = count of observations in that directory.
Use for: Identifying where agents are actively learning, and spotting gaps (e.g., a critical subsystem with zero observations).
See Coverage Heatmap for full detail.
Trends Chart
Daily observation counts segmented by observation type (architectural, performance, security, coding-pattern) or by source agent. Toggle between the two views using the selector on the chart.
Use for: Spotting ramp-up curves, agents that stop generating observations, or sudden category spikes following an incident.
See Observation Trends for full detail.
Drift Alerts
Flags contradictions - pairs of observations that disagree on the same subject - detected via SimHash clustering and content analysis. The panel shows total contradiction count and a list of the highest-severity conflicts.
Red flags:
- Sudden spike alongside a volume spike → quality degradation, not just growth
- Contradictions in security or compliance domains → require immediate resolution
See Drift Alerts for full detail.
Top Observations
Observations ranked by weight score (confidence × recency × feedback × corroboration boost). The panel shows your top N and bottom N, with quality flags: misleading, outdated, low-corroboration, downweighted.
Weight formula (simplified):
weight = base_confidence × recency_decay × feedback_multiplier × log₂(1 + corroborationScore)See Top Observations for full detail.
Memory Health (operator-only)
Metrics visible only to operators: deduplication ratio, retention compliance, storage efficiency, active observation count. Color-coded green/yellow/red per threshold.
See Memory Health for full detail including the response schema with latency.p50Tokens and retention.overdueCount.
Skill Evolution
Per-agent, per-domain proficiency scores (0-1) derived from session outcomes, feedback, and corroboration. Also shows fleet-wide gaps (domains where no agent has proficiency > 0.5).
See Skill Evolution for full detail.
Common Workflows
Audit Memory Quality
- Set time range to 30 days (recent learning)
- Review Drift Alerts - are contradictions growing alongside volume?
- Check Top Observations for any marked as "misleading"
- Navigate to Feedback Impact to see if corrective feedback is moving observations in rank
Investigate Coverage Gaps
- Review the Coverage Heatmap
- Note directories with zero or very low coverage
- Expand those areas in your agent's scope configuration, or seed manual observations for critical subsystems
Monitor Agent Fleet Health
- Check Trends → By Agent
- Agents with flat or declining lines for 7+ days may be disabled, out of scope, or experiencing issues
- Cross-reference with the A2A Agent Registry for health probe status and last-seen timestamps
Optimize Token Spend
- Navigate to the Context Budget Pareto sub-view
- Find work types below the Pareto frontier (high tokens, low success)
- Audit observations for that work type; prune low-quality patterns
- Adjust budget in Memory Config; validate in 7 days
Related Pages
- Coverage Heatmap - Directory-level observation density
- Trends - Volume over time by type and agent
- Drift Alerts - Contradiction detection and flagging
- Top Observations - Quality rankings and misleading flags
- Memory Health - Storage and compliance metrics
- Skill Evolution - Per-agent proficiency tracking
- Feedback Impact - Injection rate and rank delta after feedback
- Context Budget Pareto - Token spend vs. success rate
- Memory Export - Download observations for compliance or archival
Rate Limits
The analytics API enforces a 100 req/min quota per organization. The dashboard batches all six main-panel queries in a single refresh, so each refresh counts as 6 requests. Sub-view pages make their own separate requests.