diff --git a/.env.example b/.env.example index 470291f..c1255ca 100644 --- a/.env.example +++ b/.env.example @@ -18,6 +18,19 @@ SSH_KEY_PATH=~/.ssh # the staged files and the palace dedup keys pointing at them cannot be # separated. # +# That palace root is resolved with mempalace's own precedence +# ($MEMPALACE_PALACE_PATH -> $MEMPAL_PALACE_PATH -> ~/.mempalace/config.json -> +# ~/.mempalace/palace), and the feeders derive their stage FROM it +# (/pi-stage). Neither the image nor the entrypoint exports it, by +# design: pinning the palace without carrying the stage along re-creates the +# very split that a shared root removed. Override it only to move the palace off +# the default -- e.g. onto a different mount -- and only to a path with the SAME +# persistence as the palace itself. A stage that outlives its palace (or dies +# first) makes a scoped `mempalace sync` prune conversation drawers, because +# their dedup key is the staged path. Setting it to the default buys nothing. +# Unlike WORKSPACE_PATH/SSH_KEY_PATH above, this is a path INSIDE the container. +# MEMPALACE_PALACE_PATH=/home/developer/.mempalace/palace +# # To instead share ONE MemPalace across containers/harnesses (pi + opencode # + native), set the URL below. When set, the extension connects over HTTP # and NO local mempalace-mcp is spawned; the devbox-palace volume is then diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e3cfea..2104c9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,25 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`). --- +## Unreleased + +### Documentation + +- **`.env.example` documents `MEMPALACE_PALACE_PATH`.** It was the only MemPalace + variable the template never mentioned, while being the one that silently moves + the feeders' stage: the palace root resolves as `$MEMPALACE_PALACE_PATH` → + `$MEMPAL_PALACE_PATH` → `~/.mempalace/config.json` → `~/.mempalace/palace`, and + the stage is derived from it (`/pi-stage`). The comment states the + precedence, says why neither the image nor the entrypoint exports it (pinning + the palace without carrying the stage re-creates the split a shared root + removed — see v1.8.2), warns that a stage whose persistence differs from the + palace makes a scoped `mempalace sync` prune conversation drawers whose dedup + key is the staged path, and notes it is a *container* path unlike the + host-side `WORKSPACE_PATH`/`SSH_KEY_PATH` above it. Found while auditing a live + host whose `.env` sets the variable redundantly to the default. + +--- + ## v1.8.5 — 2026-08-23 Patch release with two fixes in the container's skill wiring — one behavioural,