release(v1.12.0): pi 1.3.0, mempalace 3.11.0, pi-atelier v0.16.0
Lint / hadolint (push) Successful in 11s
Lint / skill-floor (push) Successful in 13s
Lint / doc-drift (push) Successful in 14s
Lint / actionlint (push) Successful in 24s
Publish Docker Image / lint-gate (push) Successful in 27s
Publish Docker Image / resolve-versions (push) Successful in 11s
Publish Docker Image / base-decide (push) Successful in 15s
Publish Docker Image / build-base (push) Successful in 55m24s
Publish Docker Image / smoke-studio (push) Successful in 6m45s
Publish Docker Image / smoke (push) Successful in 9m1s
Publish Docker Image / build-variant-studio (push) Successful in 18m17s
Publish Docker Image / build-variant (push) Successful in 16m56s
Publish Docker Image / update-description (push) Successful in 8s
Publish Docker Image / promote-base-latest (push) Successful in 11s
Lint / hadolint (push) Successful in 11s
Lint / skill-floor (push) Successful in 13s
Lint / doc-drift (push) Successful in 14s
Lint / actionlint (push) Successful in 24s
Publish Docker Image / lint-gate (push) Successful in 27s
Publish Docker Image / resolve-versions (push) Successful in 11s
Publish Docker Image / base-decide (push) Successful in 15s
Publish Docker Image / build-base (push) Successful in 55m24s
Publish Docker Image / smoke-studio (push) Successful in 6m45s
Publish Docker Image / smoke (push) Successful in 9m1s
Publish Docker Image / build-variant-studio (push) Successful in 18m17s
Publish Docker Image / build-variant (push) Successful in 16m56s
Publish Docker Image / update-description (push) Successful in 8s
Publish Docker Image / promote-base-latest (push) Successful in 11s
Every component at its newest upstream release; each pinned one audited against this image before tagging, none breaking. - ARG PI_VERSION 1.2.0 -> 1.3.0. No breaking-changes section. pi-agent-core, pi-tui and dist/core/extensions are byte-identical to 1.2.0. The only removed export (parseModelPattern, not index-exported) and pi-ai's dropped assistant-message-frame re-export have 0 consumers; all 54 runtime-imported names across the stack and /opt/fleet-pi resolve (negative control reported). With a copy of tor-ms22's ~/.pi/agent: pi -p exits 0 in 10 s, all extensions load, bridge 45 tools, /om:* and /studio offered, atelier paints in both renderers (-ne controls: none). - ARG MEMPALACE_VERSION 3.10.0 -> 3.11.0. init --yes still writes config.json; a 3.10.0-built palace opens, searches and serves MCP under 3.11.0, re-mines its convo file once, then skips it; stdio MCP 45 -> 47 tools, none removed. research() removal: 0 callers. synlig hub stays 3.10.0 (newer-client direction); upgrade notes in CHANGELOG. - ARG PI_ATELIER_REF/VERSION v0.15.0 -> v0.16.0 (3b42825). Additive (keyValues rows, progress bars, two roles, meter background). Protocol and pi floor unchanged; fleet:todos panel renders a real todo on both versions; the meter-background escape tells the two arms apart. - Base rebuilds anyway, so BASE_REBUILD_DATE marker refreshed (uv 0.13.1, gitea-mcp 1.9.0, Node 24.22.0 re-resolve). - CHANGELOG: Unreleased -> v1.12.0 — 2026-10-18. README pin table (and "Three" -> "Four" components), sanity-check example; DOCKER_HUB.md's stale "29 mempalace_* tools". Local gates: check-doc-drift rc 0 (check 9 names pi, mempalace, atelier, pi-extensions), lint-shell, check-workflow-shell, test-link-pi-models 13/13, test-link-pi-extensions 16/16, directive guard, skill floor.
This commit is contained in:
+90
-8
@@ -11,20 +11,49 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
---
|
||||
|
||||
## Unreleased
|
||||
## v1.12.0 — 2026-10-18
|
||||
|
||||
No pin changes. One floating component moves (pi-extensions, below); the rest
|
||||
is docs and comments. Two of the edited files are baked into the base image
|
||||
(`rootfs/usr/local/bin/studio-expose` and the `pi-devbox-environment` skill),
|
||||
and `base_tag` hashes all of `rootfs/`, so **the next release rebuilds the
|
||||
base** rather than reusing `base-6f3b20266de1`.
|
||||
Minor release. Headlines: **pi 1.3.0**, **mempalace 3.11.0**, **pi-atelier
|
||||
v0.16.0**, and **fleet pi extensions linked in at every container start**
|
||||
(*Added*, below). Every component is at its newest upstream release; each
|
||||
pinned one was audited for breaking changes against this image before tagging
|
||||
(*Changed*, below), and none was found. Unchanged upstream, re-checked
|
||||
2026-10-18: pi-observational-memory `022da5e` (= `master`), pi-studio `v0.10.1`
|
||||
(`76db01f`, newest tag), pi-fork `e69725c`, pi-toolkit `3760d90`,
|
||||
mempalace-toolkit `d5a03f4`. The skillset is still at `1e02b44` and its
|
||||
mempalace `SKILL.md` is byte-identical to the recorded `96b840e`, so the
|
||||
snapshot is not refreshed (`vendor-mempalace-skill.sh --check`: OK). The base
|
||||
image is rebuilt (rootfs, `Dockerfile.base` and the mempalace pin all changed),
|
||||
so the base tools pinned to `latest` re-resolve too: uv `0.13.0` → `0.13.1`,
|
||||
gitea-mcp `v1.8.1` → `v1.9.0` (additive: mTLS, extra headers,
|
||||
`create_organization`), Node `v24.21.0` → `v24.22.0`; nvim, fzf, gitleaks,
|
||||
bat, eza, zoxide, git-lfs, gosu, tealdeer, typst, yq, agent-browser and
|
||||
playwright unchanged.
|
||||
|
||||
### Components that move with the next build
|
||||
### Components that move with this release
|
||||
|
||||
| Component | Baked in v1.11.2 | Next build | Why |
|
||||
| Component | Baked in v1.11.2 | v1.12.0 | Why |
|
||||
|---|---|---|---|
|
||||
| **pi** | `1.2.0` | **`1.3.0`** | audited, see *Changed* below |
|
||||
| **mempalace** | `3.10.0` | **`3.11.0`** | audited, see *Changed* below |
|
||||
| **pi-atelier** | `v0.15.0` (`3befe02`) | **`v0.16.0`** (`3b42825`) | audited, see *Changed* below |
|
||||
| pi-extensions | `750b2a8` | **`4c1d28d`** (or later: CI resolves `main` at build time) | the `confirm-destructive` gate stops prompting on harmless redirects and catches `tee`/`dd of=` (below); picks up the AWS SSO keeper's 24-hour times too (below) |
|
||||
|
||||
### Upgrade notes
|
||||
|
||||
- **Local palaces re-mine their conversations once.** mempalace 3.11.0's
|
||||
exchange chunker no longer discards text, so the first conversation mine
|
||||
after upgrading re-chunks and re-embeds each conversation file it covers
|
||||
(drawers of transcripts no longer on disk are kept). This only applies to a
|
||||
devbox with its own palace: with `MEMPALACE_REMOTE_URL` set, the hub does the
|
||||
mining, and nothing changes until the hub itself is upgraded.
|
||||
- **The central palace (synlig) is still on 3.10.0.** That is the safe
|
||||
direction (newer client), and the bridge's tools come from the hub, so
|
||||
shared-palace devices see no change. When synlig is upgraded, its first
|
||||
conversation mine re-mines every inbox transcript still on disk (upstream
|
||||
estimates 40 minutes to 3 hours per million drawers): back it up first and
|
||||
run it at a quiet time.
|
||||
|
||||
### Added
|
||||
|
||||
- **Fleet pi extensions are linked in at every container start**
|
||||
@@ -49,6 +78,59 @@ base** rather than reusing `base-6f3b20266de1`.
|
||||
`common/pi` from `docker-compose-repo`, and three of them are not reachable
|
||||
from a devbox to create a symlink by hand.
|
||||
|
||||
### Changed
|
||||
|
||||
- **pi `1.2.0` → `1.3.0`.** Audited 2026-10-18 on tor-ms22 from an isolated npm
|
||||
prefix, against the 1.2.0 tarballs unpacked side by side:
|
||||
- 1.3.0 has **no** breaking-changes section. Its behaviour changes don't
|
||||
reach this image: `--model` and `enabledModels` now resolve a bare model
|
||||
id across providers by which one has credentials (every model here is
|
||||
written `amazon-bedrock/…`, and pi-fork's profiles name a provider);
|
||||
resumed sessions keep their active tools; a model switch drops the old
|
||||
model's thinking; `kimi-coding` base-URL overrides need `/v1` (not used).
|
||||
- pi-agent-core and pi-tui are byte-identical between 1.2.0 and 1.3.0
|
||||
(24 and 184 files, same tree hashes), and so is pi's
|
||||
`dist/core/extensions`. The obsmem turn cap lives in the first and
|
||||
atelier's painting in the second.
|
||||
- The only export removed from any type declaration is `parseModelPattern`
|
||||
(never exported from the package index); pi-ai dropped its
|
||||
`assistant-message-frame` re-export. Neither has a consumer. All 54 names
|
||||
that pi-toolkit, pi-extensions, pi-fork, obsmem, pi-studio, pi-atelier,
|
||||
mempalace-toolkit and the fleet extensions in `/opt/fleet-pi` import at
|
||||
runtime resolve in 1.3.0; an injected fake name is reported missing.
|
||||
- With a copy of tor-ms22's real `~/.pi/agent`: `pi -p` exits 0 in 10 s
|
||||
(1.2.0: 9 s) with nothing on stderr. The TUI loads every extension with no
|
||||
extension issues; the mempalace bridge registers its 45 tools;
|
||||
`/om:status`, `/om:view` and the `/studio` commands are offered; and the
|
||||
atelier sidebar paints ACTIVITY/READY/TOOLS in fullscreen and regular mode
|
||||
(with `-ne`: no sidebar). pi shows its 1.3.0 "What's new" once and records
|
||||
`lastChangelogVersion`; nothing else in `settings.json` changes.
|
||||
- **mempalace `3.10.0` → `3.11.0`.** Core requirements unchanged. Measured with
|
||||
both wheels in throwaway venvs and a throwaway palace:
|
||||
- `mempalace init --yes` (the entrypoint's first-run call) still writes
|
||||
`config.json`, rc 0.
|
||||
- A palace built by 3.10.0 opens under 3.11.0, searches, and serves MCP with
|
||||
no embedder warning. Its one conversation file was re-mined once (see
|
||||
*Upgrade notes*) and skipped on the next mine.
|
||||
- MCP over stdio lists 47 tools instead of 45. None is removed or renamed;
|
||||
`mempalace_get_drawers` and `mempalace_delete_drawers` are new, and the 14
|
||||
read-only tools now carry `readOnlyHint`.
|
||||
- The removed `EntityRegistry.research()` / `confirm_research()` have no
|
||||
caller in pi-devbox, mempalace-toolkit, skillset or myconfigs.
|
||||
- **pi-atelier `v0.15.0` → `v0.16.0`.** Additive: a contributed sidebar panel
|
||||
can send label/value rows with an optional progress bar (`keyValues`; plain
|
||||
`rows` remain the fallback), two new roles (`success`, `caution`), and the
|
||||
context meter no longer draws a hard-coded dark background, so it works on
|
||||
light terminals. The panel protocol is unchanged (channel
|
||||
`pi-atelier:sidebar-panels`, version 1, 24 rows of 160 chars), as is the pi
|
||||
floor (`>=0.84.0`). On pi 1.3.0 it paints in both renderers, and the fleet's
|
||||
`fleet:todos` panel (`fleet-todos-panel.ts`, plain rows) showed a todo
|
||||
written in a real turn, as on v0.15.0. The v0.15.0 run still drew the old
|
||||
meter background and the v0.16.0 run did not, so each ran the version it
|
||||
claims.
|
||||
- **DOCKER_HUB.md no longer says "29 `mempalace_*` tools".** The palace server
|
||||
decides the set; it now says so, with the measured counts.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **`confirm-destructive` asked for approval on nearly every `2>/dev/null`**
|
||||
|
||||
Reference in New Issue
Block a user