dream decision trace

📋 what shipped

#2351 closes the memory VERIFY loop in two halves:

RECORD (Unit 1) — memory-validator (PreToolUse, mcp__memory__*) appends a
  consult record to .claude/logs/memory-consult.jsonl on every search_nodes
  (query) / open_nodes (entity names) / read_graph. Observe-only, $0, no new
  hook (no count cascade). Verified live; 4 unit tests.

CONSUME (Unit 2) — dream STEP 2.5 reads that log and downgrades any FULLY_STALE
  memory consulted in the last 14 days to PARTIALLY_STALE (kept + flagged),
  so a still-used memory is never auto-deleted just because its refs went stale.