release(v1.9.4): mempalace 3.10.0 with a pinned palace root, pi-atelier v0.10.3, pi held at 0.85.1
Three pins move or are deliberately held; the CHANGELOG's Unreleased section
becomes the v1.9.4 entry in this same commit, because since ee6cb9e the tag
build runs check-doc-drift.sh check 9 and every would-bake value must be named
above the last published heading.
mempalace 3.9.0 -> 3.10.0 (Dockerfile.base). Deferred at v1.9.3 for two
"Upgrade notes" items; both re-measured against the 3.10.0 wheel:
- New installs resolve ~/.config/mempalace. The order is $MEMPALACE_CONFIG_DIR,
then ~/.mempalace IF it holds config.json / people_map.json /
palace/chroma.sqlite3, then XDG. An EMPTY ~/.mempalace fails that test, and
an empty ~/.mempalace is what a freshly mounted devbox-palace volume (or
entrypoint.sh's mkdir on a volume-less container) looks like at first boot.
Measured with a fresh $HOME and `uvx mempalace==3.10.0 init`: config.json
landed in ~/.config/mempalace, ~/.mempalace stayed empty, and
entrypoint-user.sh's `[ ! -d ~/.mempalace/palace ]` would fire every start.
Same run with MEMPALACE_CONFIG_DIR set: everything in ~/.mempalace.
=> ENV MEMPALACE_CONFIG_DIR=/home/${USER_NAME}/.mempalace, placed in the
non-root-user section where USER_NAME is in scope, and entrypoint-user.sh
reads PALACE_DIR from the same variable (old path as fallback). Existing
volumes were safe either way; this is for first boots. MEMPALACE_PALACE_PATH
is still honoured (config.py:927), so smoke-test.sh's stage test holds.
- event_list defaults newest-first without a cursor. Server-side: the
extension talks to synlig over MEMPALACE_REMOTE_URL, so it lands when the
hub upgrades. mempalace-toolkit 2167a1b (floating main) makes every
cursor-less call say order:"desc" so the mailbox reads the same window on
either server version.
Corrected a stale sequencing comment while there: synlig serves the palace as
a `uv tool` under systemd (mempalace-serve.service; measured 2026-09-22:
mempalace 3.9.0, python 3.12.13, chromadb 1.5.9, no palace container), not via
docker-compose.mempalace.yml as the comment had said for two releases.
pi-atelier v0.10.1 -> v0.10.3 (Dockerfile.variant). Fixes only (both tags
released 2026-09-22); package.json at v0.10.3 still has zero runtime deps and no
build script, peerDeps still >=0.84.0. Annotated tags: the CHANGELOG names the
peeled SHA ed3837b, which is what resolve-versions bakes and check 9 compares.
pi HELD at 0.85.1 while 0.86.1 / 0.87.0 exist. 0.87.0 removed the
shouldStopAfterTurn agent option; pi-observational-memory 3.1.4 still uses it
and AgentContext.systemPrompt in observer/reflector/dropper (measured: 1 hit
per worker in src/agents on both the baked 3.1.3 tree and upstream master;
finishTurn 0). peerDeps are `*`, so it would break at runtime, not install.
Upstream #82, fix PR #83 open and unmerged. Bump pi and pi-obsmem together
once #83 ships. The other extensions are clean against the 0.86/0.87 lists.
Verified locally the way CI does: check-doc-drift.sh rc=0 with check 9
reporting all four moved components as named above the v1.9.3 heading;
lint-shell.sh rc=0; hadolint 2.15.1 (CI's pin, with .hadolint.yaml) rc=0 on
both Dockerfiles; PyPI 3.10.0 present, not yanked. Two claims caught by
re-measurement before commit and corrected in the text: a pi issue number
that does not exist on the 0.87.0 changelog line, and "8 shouldStopAfterTurn
hits" that was 3 (one per worker) in src/.
Still open before the tag: run the feeder from the built image against the
3.9.0 hub (dry-run first); recreate acceptance must show ~/.mempalace/palace
still passing and no ~/.config/mempalace appearing. After acceptance: upgrade
synlig's tool to 3.10.0.
This commit is contained in:
@@ -572,7 +572,13 @@ ChromaDB ONNX embedding model so first-time semantic search is
|
||||
instant.
|
||||
|
||||
The palace data lives at `~/.mempalace/palace` on the host
|
||||
(bind-mounted into the container). This means:
|
||||
(bind-mounted into the container). The image pins that layout with
|
||||
`ENV MEMPALACE_CONFIG_DIR=/home/developer/.mempalace` (`Dockerfile.base`):
|
||||
mempalace ≥ 3.10.0 would otherwise treat an *empty* `~/.mempalace` — a freshly
|
||||
mounted volume at first boot — as "no install here" and put a new palace under
|
||||
`~/.config/mempalace`, outside anything the compose files persist. With the
|
||||
variable set, first in mempalace's resolution order, the location is a contract
|
||||
rather than a heuristic. This means:
|
||||
|
||||
- A pi running on the host and a pi running inside this container see
|
||||
the same palace.
|
||||
@@ -1140,8 +1146,8 @@ resolved to `latest` at build time:
|
||||
| Component | Pin | Where |
|
||||
|---|---|---|
|
||||
| pi | `0.85.1` | `ARG PI_VERSION` — `Dockerfile.variant` |
|
||||
| pi-atelier | `v0.10.1` | `ARG PI_ATELIER_REF` — `Dockerfile.variant` |
|
||||
| mempalace | `3.9.0` | `ARG MEMPALACE_VERSION` — `Dockerfile.base` |
|
||||
| pi-atelier | `v0.10.3` | `ARG PI_ATELIER_REF` — `Dockerfile.variant` |
|
||||
| mempalace | `3.10.0` | `ARG MEMPALACE_VERSION` — `Dockerfile.base` |
|
||||
|
||||
The objective is **not** to freeze versions. Bumping is routine — usually one
|
||||
line plus a changelog note. The objective is that adopting a new upstream
|
||||
|
||||
Reference in New Issue
Block a user