Surface injection and recall counts in the Brain graph
Per-fact usage telemetry shipped (#1078): every confirmed memory carries injected_count, last_injected_at, recalled_count, last_recalled_at. The data is live and accumulating — 1,191 injections and 4 recalls across 708 active memories as of 2026-07-27 — but it is visible nowhere except a direct SQL query. The Brain page shows the pool; it does not show which parts of the pool are actually doing work.
Why it belongs on the graph specifically
The graph is where a human forms a mental model of the memory pool. Right now every node looks equally important, which is exactly wrong: usage is extremely skewed (top memories at 110 injections, a long tail at zero), and that skew is the single most decision-relevant fact about the pool.
Surfacing it turns three currently-invisible questions into a glance:
- What is actually being used? A memory injected 110 times is load-bearing; one never injected in weeks is dead weight. Pruning is currently opinion; this makes it evidence. (Counters survive supersede — verified — so "never used" is trustworthy over a memory's whole life.)
- What is over-firing? A memory with a very high injection count and no corresponding value is likely matching too broadly rather than being important — a signal that today reads identically to "valuable".
- Is recall alive at all? Recall being ~0 is invisible today unless you go looking; on the graph it would be obvious at a glance, and it is the strongest evidence for #1163.
Ask
- Node visual encodes injection count (size or intensity), with recall distinguished from injection rather than merged into one "usage" number — they mean different things (pushed at the agent vs pulled by the agent).
- Node detail shows both counters plus
last_injected_at / last_recalled_at.
- A filter or view for never-injected memories, since that set is the actionable one for grooming.
- Pool-level totals somewhere on the page: active memories, total injections, total recalls. The injection:recall ratio is a health metric in its own right.
Related: #1078 (telemetry, shipped), #1162 (smarter injection), #1163 (smarter recall), #1161 (no reject verb — grooming has no path today even when the data says a memory is dead).
Surface injection and recall counts in the Brain graph
Per-fact usage telemetry shipped (#1078): every confirmed memory carries
injected_count,last_injected_at,recalled_count,last_recalled_at. The data is live and accumulating — 1,191 injections and 4 recalls across 708 active memories as of 2026-07-27 — but it is visible nowhere except a direct SQL query. The Brain page shows the pool; it does not show which parts of the pool are actually doing work.Why it belongs on the graph specifically
The graph is where a human forms a mental model of the memory pool. Right now every node looks equally important, which is exactly wrong: usage is extremely skewed (top memories at 110 injections, a long tail at zero), and that skew is the single most decision-relevant fact about the pool.
Surfacing it turns three currently-invisible questions into a glance:
Ask
last_injected_at/last_recalled_at.Related: #1078 (telemetry, shipped), #1162 (smarter injection), #1163 (smarter recall), #1161 (no reject verb — grooming has no path today even when the data says a memory is dead).