Skip to content

v0.1.4 — The Accountable-Judgment Release

Choose a tag to compare

@riponcm riponcm released this 14 Jun 01:16
· 69 commits to main since this release

The accountable-judgment release — memory that flags its own staleness instead of silently trusting (or deleting) it. Six features, ~330 lines, no new dependencies, the same 14-tool MCP surface.

📦 pip install -U projectmem · 📰 Release post · 🎓 Research paper (arXiv:2606.12329) · 🎬 Tutorial video

✨ New

  • Stale-memory detection — flag, never delete. Every decision/fix/note that cites a file is cross-checked against that file's git history. When the file moved on (3+ commits, or it no longer exists), pjm precheck and the MCP precheck_file tool flag the memory — "predates 7 commits to auth.py — confirm or supersede." Nothing is deleted; a human decides. Deterministic git log counts, no embeddings, no daemon.
  • Superseded-decision marking. pjm decision "switch to argon2" --supersedes <event-id> (also on MCP add_decision) retires an old decision without rewriting history: it leaves summary.md, stays in the append-only log, and shows in pjm search tagged (superseded). Search now prints event ids.
  • pjm brief — one-screen session-start briefing: active warnings, possibly-stale memories, open issues, recent decisions, stack gotchas, and your prevention score with a weekly delta.
  • Precheck snooze. pjm precheck --snooze 2h pauses warnings for a bounded window instead of pushing you to --no-verify. The snooze is itself logged — even the silence is audited. --unsnooze restores early.
  • Failed approaches listed in the warning. Precheck now shows the dead ends themselves ("✗ tried CSS contain:layout"), and pjm search --failed-only lists a project's full catalogue of dead ends.
  • pjm export --claude-md (and --cursor) — compiles live decisions (stale ones flagged), gotchas, and a "Do NOT retry — these already failed" list into a marked block in CLAUDE.md / .cursorrules. Agents without MCP inherit the project's judgment.
  • Dashboard Overview tab — pjm visualize opens on an all-at-a-glance view (failure heatmap, A+→F prevention gauge, project graph with failure rings, typed-event timeline), re-themed light.

🐛 Fixed

  • Walk-up discovery no longer mistakes ~/.projectmem (the machine-wide global store) for a project — found by dogfooding 0.1.4 on this very repo.
  • pjm precheck payment.py auth.py — named files now work directly from the CLI.
  • pjm search payment.py matches the location field, so per-file lookups behave like precheck.

📋 Compatibility

One new optional event field (supersedes); existing logs parse unchanged; MCP surface unchanged (14 tools). After upgrading run pjm hooks install once per project. 23 new tests — 81 passing.

Full changelog: https://projectmem.dev/changelog