release: v1.2.3 — mempalace-mcp self-heal (toolkit e12b624)
Publish Docker Image / resolve-versions (push) Successful in 7s
Publish Docker Image / base-decide (push) Successful in 14s
Publish Docker Image / build-base (push) Has been skipped
Publish Docker Image / smoke (push) Successful in 3m30s
Publish Docker Image / smoke-studio (push) Successful in 11m47s
Publish Docker Image / build-variant (push) Successful in 15m48s
Publish Docker Image / promote-base-latest (push) Has been skipped
Publish Docker Image / update-description (push) Successful in 7s
Publish Docker Image / build-variant-studio (push) Successful in 17m28s
Publish Docker Image / resolve-versions (push) Successful in 7s
Publish Docker Image / base-decide (push) Successful in 14s
Publish Docker Image / build-base (push) Has been skipped
Publish Docker Image / smoke (push) Successful in 3m30s
Publish Docker Image / smoke-studio (push) Successful in 11m47s
Publish Docker Image / build-variant (push) Successful in 15m48s
Publish Docker Image / promote-base-latest (push) Has been skipped
Publish Docker Image / update-description (push) Successful in 7s
Publish Docker Image / build-variant-studio (push) Successful in 17m28s
Patch release. Headline: mempalace-mcp self-heals instead of latching available=false permanently after a slow virtiofs cold-open. Base image rebuilds via the mempalace-toolkit ref advancing to e12b624 (folded into the base-decide hash). No pi/mempalace version change — pi npm latest is still 0.80.2 (= v1.2.2). Also releases the queued yq (mikefarah Go yq) and mempalace-skill temporal-grounding changes.
This commit is contained in:
@@ -13,8 +13,40 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
## Unreleased
|
||||
|
||||
---
|
||||
|
||||
## v1.2.3 — 2026-06-27
|
||||
|
||||
Patch release. Headline: **mempalace-mcp now self-heals** instead of latching
|
||||
`available=false` permanently after a slow cold-open. Also folds in the `yq`
|
||||
and mempalace-skill changes that were sitting unreleased. **No pi/mempalace
|
||||
version change** — pi npm `latest` is still `0.80.2` (= v1.2.2) and the
|
||||
mempalace pin stays `3.5.0`; the base image rebuilds purely because the
|
||||
`mempalace-toolkit` ref advances to pick up the self-heal extension.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **mempalace-mcp self-heal — no more permanent `available=false` latch.**
|
||||
The `mempalace.ts` pi extension (from `mempalace-toolkit`, bumped to
|
||||
[`e12b624`](https://gitea.jordbo.se/joakimp/mempalace-toolkit/commit/e12b624))
|
||||
previously tripped its per-request timeout on a slow virtiofs cold-open of
|
||||
the palace, killed the child, and set `available=false` **forever** (no
|
||||
respawn) — a pi restart was the only recovery.
|
||||
- **Bounded respawn with capped exponential backoff** via `ensureAlive()`
|
||||
(`MEMPALACE_MCP_MAX_RESPAWNS=2`, `MEMPALACE_MCP_RESPAWN_BACKOFF_MS=1000`;
|
||||
set max to `0` to disable). Both `execute()` and initial startup route
|
||||
through it. The respawn budget **resets on any successful JSON-RPC
|
||||
response** (`onStdout`), so a healthy session can't slowly exhaust it.
|
||||
- **Scoped init timeout** raised `120000 → 300000` ms (`MEMPALACE_MCP_INIT_TIMEOUT_MS`),
|
||||
affecting **init only** — the per-call timeout stays `60000`
|
||||
(`MEMPALACE_MCP_TIMEOUT_MS`) — so a genuine cold HNSW deserialize isn't
|
||||
killed mid-open.
|
||||
- **Concurrency hardening:** a generation counter prevents a late-exiting
|
||||
killed process from clobbering a fresh respawn, and an explicit `healthy`
|
||||
flag replaces the racy `proc != null` check.
|
||||
- Note: the build-time `smoke-test.sh` verifies the extension is present and
|
||||
deployed but does **not** exercise respawn behaviour — first live
|
||||
validation is on a running container.
|
||||
- **`yq` is now mikefarah's Go yq, not Debian's Python `yq`.** The base image
|
||||
previously apt-installed `yq`, which on Debian/Ubuntu is the unrelated
|
||||
kislyuk/`yq` (a jq wrapper, v3.x) — incompatible with the mikefarah v4 syntax
|
||||
|
||||
Reference in New Issue
Block a user