pi-v0.2.0

vectorize-io/hindsightpi-v0.2.0Oct 1, 2026by Alan-TheGentleman

Upgrading?

AI Summary

gentle-engram v0.2.0 introduces breaking changes to Pi-native memory tools requiring explicit project ownership, alongside session and prompt capture improvements.

Key Highlights

  • Breaking change: Pi-native `mem_update` and `mem_delete` require explicit `expected_project`
  • Pi startup no longer silently imports tracked chunks from cloned repos
  • Explicit cross-project saves use isolated, project-owned sessions
  • Automatic prompt capture redacts private blocks before truncation
  • Background-capture warnings appear in the owning Pi UI

Breaking Changes

  • Pi-native `mem_update` and `mem_delete` require an explicit `expected_project` argument

New Features

  • Explicit project ownership
  • Session resume support
  • Prompt capture redaction
  • Background capture warnings
  • Pi startup changes

Full Release Notes

## What's Changed

- **Breaking:** Pi-native `mem_update` and `mem_delete` require an explicit `expected_project` argument and forward it to Engram's `PATCH` and `DELETE /observations/{id}` routes. Missing, invalid, or mismatched owners are rejected without changing the observation (#1575).
- `pi-engram init` configures Pi-native `mem_*` tools without creating or replacing an Engram MCP registration. An existing `mcpServers.engram` entry is preserved and reported with its config path; remove it manually and reload Pi for native-only writes (#1476).
- `pi-engram init` no longer installs or declares `npm:pi-mcp-adapter`. Pi 0.99.0 and later include built-in MCP for other servers; existing adapter entries are left untouched (#1578).
- Pi startup no longer silently imports tracked `.engram/manifest.json` chunks from a cloned repository. Run `engram sync --import` from the checkout to import them (#1456).
- Explicit cross-project `project` or `cwd` saves use an isolated, project-owned session instead of conflicting with the current session's ownership (#1592).
- Resumed sessions register with `resume: true` and adopt the session ID acknowledged by the core; existing `:resume:<uuid>` mappings keep working (#1581).
- `mem_context` accepts optional `max_bytes` (capped at 64 KiB) and `compact` arguments (#1447).
- `mem_session_end` accepts only the current Pi host session ID and refuses foreign, missing, or empty IDs before any end request (#1477).
- Automatic prompt capture redacts `<private>` blocks before truncating to 2,000 characters (#1559).
- Background-capture warnings appear in the owning Pi UI instead of raw stderr over the editor; headless and print modes keep stderr diagnostics (#1574).
- The Memory Protocol is appended through `systemPromptOptions.appendSystemPrompt` when Pi provides it, so turns started with `triggerTurn` keep it; older Pi versions keep the previous behavior (#1589).
- A server launched by the plugin starts with Cloud autosync enabled, matching the Claude Code and Codex launchers (#1587).
- TypeBox is now an optional wildcard peer provided by Pi instead of a bundled dependency (#1567).

## Install

```bash
pi install npm:gentle-engram@0.2.0
pi-engram init
```

Restart Pi afterward.

## Notes

- Requires Engram v3.0.0 or later for `expected_project` updates and deletes, `resume` registration of ended sessions, and isolated cross-project saves (`capabilities.isolated_session_registration`). Older servers refuse resumed and cross-project registrations with a specific cause instead of a guessed session.
- `engram setup pi` in core v3.0.0 installs this version and upgrades existing `gentle-engram@0.1.16` declarations.

## Verification

- `node test/release-contract.mjs refs/tags/pi-v0.2.0` from `plugin/pi`
- `cd plugin/pi && npm test`

Published to npm via GitHub Actions with provenance.

Related Repositories