From 3eec9bc23c2b40e61169a8d13d860aed367bdae1 Mon Sep 17 00:00:00 2001 From: pi Date: Sun, 14 Jun 2026 15:52:34 +0200 Subject: [PATCH] docs: correct mempalace anyOf workaround watch-target (PR #1735 is dead) Parity with opencode-devbox: PR #1735 (the diary_write root-anyOf fix) was closed UNMERGED on 2026-06-11, so the old "remove once PR #1735 ships" TODO pointed at a dead PR. Issue #1728 is still open; PR #1717 is the current live candidate; mempalace PyPI latest is still 3.4.0 (== our pin), so the workaround stays. - Dockerfile.base: rewrite the upstream-tracking comment + TODO (#1735 dead, watch #1717, removal trigger = a PyPI release > 3.4.0 stripping root anyOf). - CHANGELOG: Unreleased Docs entry. Docs-only; no behavior change. --- CHANGELOG.md | 9 +++++++++ Dockerfile.base | 16 +++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b66d9b5..0daf3c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,15 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`). — which hashes differently than a SHA and triggers one *extra* rebuild, never a *missed* one (fail-toward-rebuild). +### Docs (no image change) + +- Correct the MemPalace `diary_write` anyOf workaround watch-target in + `Dockerfile.base`: upstream PR #1735 was **closed unmerged** (2026-06-11), + so the old “remove once #1735 ships” TODO pointed at a dead PR. Issue #1728 + is still open; PR #1717 is the current live candidate; mempalace PyPI latest + is still 3.4.0 (== our pin), so the workaround stays. Removal trigger is now + a PyPI release > 3.4.0 that actually strips the root-level anyOf. + --- ## v1.1.1 — 2026-06-13 diff --git a/Dockerfile.base b/Dockerfile.base index 9a00ee1..02ef39b 100644 --- a/Dockerfile.base +++ b/Dockerfile.base @@ -316,12 +316,18 @@ RUN if [ "${INSTALL_MEMPALACE}" = "true" ]; then \ # kwarg alias so existing callers still work. # # Idempotent and self-deactivating: once upstream releases the fix the -# regex no longer matches and this RUN is a silent no-op. -# Upstream tracking: +# regex no longer matches (and the WARN below fires) — that's the signal +# to delete this RUN. +# Upstream status (last checked 2026-06-14): +# issue #1728 — STILL OPEN (root-level anyOf rejected by Anthropic/Codex) +# PR #1735 — CLOSED UNMERGED 2026-06-11; do NOT watch it (dead) +# PR #1717 — open; the current live fix candidate to watch +# mempalace PyPI latest = 3.4.0 (== our pin) → no release contains the fix yet # https://github.com/MemPalace/mempalace/issues/1728 -# https://github.com/MemPalace/mempalace/pull/1735 -# TODO: remove this RUN once a mempalace release containing PR #1735 is on -# PyPI and installed by the line above. +# https://github.com/MemPalace/mempalace/pull/1717 +# TODO: remove this RUN once a mempalace release > 3.4.0 that actually strips +# the root-level anyOf ships on PyPI and is installed by the line above. +# Keep MEMPALACE_VERSION in lockstep with opencode-devbox when bumping. RUN if [ "${INSTALL_MEMPALACE}" = "true" ]; then \ MP_FILE="$(find /opt/uv-tools/mempalace -path '*/mempalace/mcp_server.py' | head -n1)" && \ if [ -z "$MP_FILE" ]; then echo "mempalace mcp_server.py not found" >&2; exit 1; fi && \