pi-v0.2.0

DavidHDev/react-bitspi-v0.2.0Oct 1, 2026by Alan-TheGentleman

Upgrading?

AI Summary

Updates Pi-native tools to require expected_project and refines session handling and prompt capture.

Key Highlights

  • Pi-native mem_update and mem_delete require explicit expected_project argument.
  • pi-engram init preserves existing Engram MCP config.
  • Pi startup no longer silently imports tracked chunks.
  • Automatic prompt capture redacts <private> blocks.

Breaking Changes

  • Pi-native mem_update and mem_delete require explicit expected_project argument.

New Features

  • mem_context accepts optional max_bytes and compact arguments.
  • mem_session_end accepts only the current host session ID.
  • Automatic prompt capture redacts <private> blocks.
  • Background-capture warnings appear in UI instead of stderr.
  • Memory Protocol appended through systemPromptOptions.
  • Cloud autosync enabled on server launch.
  • TypeBox is now an optional wildcard peer provided by Pi.

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