Skip to content

v0.3.5 — warnings for every spelling, and a summary that stays small

Latest

Choose a tag to compare

@riponcm riponcm released this 31 Oct 02:26
· 1 commit to main since this release

Two community fixes: precheck recognises a file however its path is spelled, and the summary stays small even when entries are long.

pip install -U projectmem

Then run pjm init once in each project. The instructions now ask agents for shorter records, so AI_INSTRUCTIONS.md is refreshed. Your previous copy is kept as AI_INSTRUCTIONS.md.bak; merge back anything you added by hand.

Fixed

  • Precheck called a file with known failures "Safe to modify" when its path was spelled differently (#26). Events store project-relative paths, so ./src/auth.py, an absolute path, a path through a symlinked folder, a backslash path or a Windows C:\ path matched nothing. Every spelling now gets the same warnings, and a decision logged at an absolute path is judged stale for the right file. Checking 5 files against a 3,000-event log went from 663 ms to 163 ms.
  • get_issue missed unpadded ids (#26). get_issue("1") and get_issue("#1") find issue 0001, backfilled legacy_… ids work, and input containing *, ? or [ is refused instead of being passed to a file glob.
  • Long entries bloated the summary (#29, #30). 0.3.4 capped how many entries summary.md shows, not how long each one is. Records are now clipped at 300 characters with locations kept whole, and a fixed issue is one line, with its details one get_issue call away. On a real 238-event project the summary went from 8,974 tokens to 3,458.
  • precheck_file("") reported the whole log. A blank path matched every failed attempt and open issue. Blank paths are now ignored, and whitespace around a path is trimmed.
  • A whitespace-only location rendered as [] and hid the fix's location.

Changed

  • Token figures corrected. The guidance said reading memory costs "a few hundred to ~1,500 tokens". That was measured on short synthetic entries, and the README's per-session table left out get_instructions, which agents read first in every session and which is about 3,300 tokens on its own. Measured on nine real projects, the three files read at session start total about 3,700 to 7,600 tokens. The README, the guidance and the server's instructions now say so.
  • The global dashboard footer also links Jharu, a free disk cleaner from the same maker.

Verified

378 automated tests pass on Python 3.10, 3.11, 3.12, 3.13 and 3.14. Two independent review passes drove the CLI, real git hooks in Dhaka, Denver and Kiritimati time zones, all 17 MCP tools from a client that starts in the project and one that does not, and an upgrade from 0.3.4. The release was installed back from PyPI and checked before this note was written.

Thank you

The #26 fixes were contributed by Vishal Habib, and #29 was reported and fixed by Adam Mikó.

Full changelog: CHANGELOG.md · PyPI: projectmem 0.3.5