Skip to content

Brain graph: show injection and recall counts — usage telemetry exists but is visible only via SQL #136

Description

@jerryfane

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:

  1. 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.)
  2. 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".
  3. 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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions