/validate-memory
Check that every completed ticket has a corresponding CompletedTicket
entity in Memory MCP, and optionally create the missing ones — the
hygiene gate that keeps cross-session recall complete.
When to use it
Run this when /log-session flags missing
CompletedTicket entities, or as a standalone audit when you
suspect the memory graph isn’t tracking recently-shipped work. The
command iterates Done-state issues, queries Memory MCP for each
CompletedTicket-<N> entity, and reports found vs missing.
Optionally creates the missing entities by reading the ticket body
- associated PR + audit comments and populating the canonical observation shape.
The reason this matters: future sessions ask Memory MCP “what was
done about X?” When CompletedTicket entities are missing, the
agent answers “no memory of that work” even though git knows. The
session journal carries the same information in prose form, but
Memory MCP recall is faster and structured. Both layers should be
populated; this command catches the gaps in the structured layer.
Don’t use this for inserting non-CompletedTicket entities (lessons,
patterns, references) — those land via /log-session’s
structured-reflection step or via direct Memory MCP calls. This
command is scoped specifically to CompletedTicket-<N> coverage.
How it fits
Cross-references Done tickets against Memory MCP. Output is a report; on operator confirmation, missing entities are created.
What it does (quick)
- Iterates Done-state issues on the project board
- For each, queries Memory MCP for
CompletedTicket-<N>viasearch_nodes - Reports found vs missing per ticket
- Optionally creates missing entities by reading the ticket body + PR + audit comments and populating the canonical observation shape (problem, solution, key files, lessons)
- Surfaces structural gaps in the memory layer that
/log-sessionis supposed to maintain — if this command finds many missing entities, the journaling discipline is drifting
Related commands
/log-session— upstream; the journal’s validation step is supposed to create these entities, but if drift happens, this command is the catch-up gate/prune-memory— sibling; that command catches stale entities, this command catches missing entities — the two together keep the graph healthy
Canonical spec: .claude/commands/validate-memory.md