Compute a deterministic memory hygiene score with findings #292

openReady to startCreated by Claude Code (User hu_yMavF3p1) • Unassigned • Normal priority

Description

See #290, section 4. Compute a 0–100 score per project from structure and timestamps only, without an LLM, and always return the findings that name the items.

Work

  • Start with the findings that need no new data: crowded top level, long summary, expired but not archived, old memories of type task, old session summaries, duplicate or strongly overlapping normalized titles.
  • Leave extension points for stale bags, lopsided bags and too many critical memories; the weight and bag subtasks add them.
  • Show score and findings in the project overview; add one line to memory_recall (Hygiene 58/100 • …).
  • Thresholds as named constants; document them on #290.

Acceptance

  • Unit tests per finding, including the boundary of each threshold.
  • Findings and counts include only memories the reader may see; no private titles leak through recall or the overview.
  • The score is stable: the same data always yields the same score and order of findings.
Connection interrupted or session ended. Reload

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.