Highlights
- Default prompt context is now a compact memory policy instead of full Markdown memory injection.
- Added memoryMode with policy-only default and legacy-inject escape hatch.
- Centralized prompt assembly in buildPromptContext().
- Updated /memory-preview-context to show policy-only context or legacy blocks depending on mode.
- Updated README, roadmap, in-app guide, Mermaid diagrams, generated SVGs, and changelog to reflect policy-only defaults.
Contributor PRs Included
- #18 by urioTV: moved project-scoped memory into ~/.pi/agent/projects-memory//, keeping the agent directory cleaner as users accumulate more repos. This also gave policy/retrieval work a clearer project-memory storage boundary.
- #19 by qzsecfr: fixed Windows EXDEV failures by writing temp files next to their target files and cleaning up with fs.rm(). This preserves atomic writes across different TEMP drive setups.
- #20 by geri1701: added independent reviewRecentMessages and flushRecentMessages limits. This keeps existing behavior by default while letting users cap review/flush prompt size in long sessions.
- #21 by chandra447: switched memory prompt behavior to policy-only by default, with legacy-inject available for users who want the old full-injection behavior.
Accuracy and Safety
- Memory is now described as searchable context, not always-on authority.
- Policy guidance matches actual tools: memory_search, session_search, memory, and skill.
- Category filters are documented only for categorized failure/lesson memories so ordinary user/project/global memories are not missed.
- Content scanner warnings no longer imply all memory is always injected.
Verification
- GitHub CI passed: lint, type check, tests.
- Local verification passed: npm run check and npm test across all 23 test files.