release: v2.3.0 — image-baked fallback skills + opencode 1.17.10 + mempalace 3.5.0
Validate / base-change-warning (push) Successful in 14s
Publish Docker Image / resolve-versions (push) Successful in 9s
Publish Docker Image / base-decide (push) Successful in 13s
Validate / validate-base (push) Failing after 3m26s
Validate / validate-omos (push) Failing after 4m28s
Publish Docker Image / build-base (push) Successful in 37m26s
Publish Docker Image / smoke-omos (push) Successful in 4m36s
Publish Docker Image / smoke-base (push) Successful in 7m41s
Publish Docker Image / build-variant-base (push) Successful in 13m47s
Publish Docker Image / build-variant-omos (push) Successful in 19m24s
Publish Docker Image / promote-base-latest (push) Successful in 8s
Validate / docs-check (push) Successful in 6s
Publish Docker Image / update-description (push) Successful in 9s
Validate / base-change-warning (push) Successful in 14s
Publish Docker Image / resolve-versions (push) Successful in 9s
Publish Docker Image / base-decide (push) Successful in 13s
Validate / validate-base (push) Failing after 3m26s
Validate / validate-omos (push) Failing after 4m28s
Publish Docker Image / build-base (push) Successful in 37m26s
Publish Docker Image / smoke-omos (push) Successful in 4m36s
Publish Docker Image / smoke-base (push) Successful in 7m41s
Publish Docker Image / build-variant-base (push) Successful in 13m47s
Publish Docker Image / build-variant-omos (push) Successful in 19m24s
Publish Docker Image / promote-base-latest (push) Successful in 8s
Validate / docs-check (push) Successful in 6s
Publish Docker Image / update-description (push) Successful in 9s
- Add image-baked fallback skills (opencode-devbox-environment, mempalace) + harness instruction (instructions/opencode-devbox.md) under /usr/local/share/opencode-devbox/, symlinked in by entrypoint-user.sh (skills only-when-absent; instruction symlink to image, never copied into the devbox-opencode-config volume). Ported from pi-devbox v1.2.0/v1.2.1, adapted to opencode's ~/.config/opencode/instructions/ auto-load model. No pi-extensions skill (opencode has no fork/recall). - Bump opencode 1.17.8 -> 1.17.10. - Bump mempalace 3.4.0 -> 3.5.0 (lockstep with pi-devbox v1.2.2); remove the obsolete diary_write anyOf perl workaround (fixed upstream, issue #1728). - Fix stale ssh-lan.conf ProxyJump guidance comment in setup-lan-access.sh (mirrors pi-devbox 8de0fad); comment-only. - smoke-test.sh + recreate-sanity-check.sh assert baked source + resolved links. - Docs: README Custom skills, AGENTS.md duties + MINOR example, CHANGELOG.
This commit is contained in:
@@ -6,6 +6,80 @@ Tags follow **independent semver** (since `v2.0.0`) — they version *this image
|
||||
|
||||
---
|
||||
|
||||
## v2.3.0 — 2026-06-25
|
||||
|
||||
Minor release. Adds an **image-baked fallback skills + harness-instruction**
|
||||
mechanism (ported from pi-devbox v1.2.0/v1.2.1, adapted to opencode's
|
||||
`instructions/` model), bumps **opencode `1.17.8` → `1.17.10`** and **mempalace
|
||||
`3.4.0` → `3.5.0`** (dropping the now-obsolete `diary_write` schema
|
||||
workaround), and ports the one outstanding doc fix from pi-devbox's SSH sidecar
|
||||
work. Defaults are unchanged when a skillset is mounted, so the canonical CI
|
||||
build differs only by the version bumps and the additive image layer.
|
||||
|
||||
### Added: image-baked fallback skills + harness instruction
|
||||
|
||||
The image now ships two skills and one harness instruction under
|
||||
`/usr/local/share/opencode-devbox/`, linked into place by `entrypoint-user.sh`
|
||||
on every start, so a container behaves correctly **even with no `skillset` repo
|
||||
mounted**:
|
||||
|
||||
- **`opencode-devbox-environment`** (authored here) — the container-shaped facts
|
||||
an agent needs: the three persistence tiers (and why image-owned content must
|
||||
live under `/usr` rather than a home dir the `devbox-opencode-config` volume
|
||||
shadows), the interactive-vs-tool-shell alias gotcha (`dssh`/`dscp`/`cat`→`bat`
|
||||
only exist in interactive bash), host + LAN SSH reachability via the
|
||||
`~/.ssh-local` sidecar and ControlMaster, split-horizon DNS, uv-first Python,
|
||||
and the OMOS variant. Adapted from pi-devbox's `pi-devbox-environment`, minus
|
||||
the pi-only pieces (pi-studio, fork/recall).
|
||||
- **`mempalace`** — a vendored snapshot of the skillset's consumer skill
|
||||
(memory-continuity protocol). No `pi-extensions` skill is carried over —
|
||||
opencode has no `fork`/`recall` extensions.
|
||||
- **`instructions/opencode-devbox.md`** — symlinked into
|
||||
`~/.config/opencode/instructions/`, which opencode auto-loads as a
|
||||
session-start system prompt. It proactively points the agent at the
|
||||
`opencode-devbox-environment` skill and the MemPalace continuity protocol, so
|
||||
a fresh container picks them up rather than relying on description-matching.
|
||||
|
||||
Precedence is preserved: skills link **only-when-absent** (a mounted skillset or
|
||||
an OMOS-bundled skill of the same name always wins), and the instruction uses a
|
||||
distinct filename so it never collides with a mounted skillset's instructions.
|
||||
Link targets live in the image, so `docker compose pull` + recreate refreshes
|
||||
them for free — nothing is copied into the persistent config volume (which would
|
||||
freeze it; cf. the OMOS-skills history in `docs/omos-skills.md`). Build-time
|
||||
(`smoke-test.sh`) and runtime (`recreate-sanity-check.sh`) assertions cover both
|
||||
the baked source and the resolved links. See
|
||||
`rootfs/usr/local/share/opencode-devbox/skills/VENDORED.md`.
|
||||
|
||||
### Changed
|
||||
|
||||
- **opencode `1.17.8` → `1.17.10`.** Highlights across 1.17.9–1.17.10: MCP
|
||||
server instructions are now added to session context; MCP resource template
|
||||
listing + resource read tools; a new `--mini` CLI mode; skill base
|
||||
directories emitted as filesystem paths instead of `file://` URLs; assorted
|
||||
MCP/OAuth and agent-step-limit bugfixes. (Source: `anomalyco/opencode`
|
||||
releases.)
|
||||
- **mempalace `3.4.0` → `3.5.0`** (lockstep with pi-devbox v1.2.2). 3.5.0 ships
|
||||
the upstream fix for the top-level-`anyOf` `diary_write` schema (issue #1728 /
|
||||
PR #1717, merged 2026-06-14): the advertised schema is now
|
||||
`"required": ["agent_name"]` with entry/content enforced at dispatch, which
|
||||
the Anthropic tools API accepts.
|
||||
|
||||
### Removed
|
||||
|
||||
- **The `diary_write` top-level-`anyOf` workaround in `Dockerfile.base`.** The
|
||||
`perl` patch of the installed `mcp_server.py` is gone now that 3.5.0 fixes it
|
||||
at the source (verified against the published wheel).
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Stale `ssh-lan.conf` guidance comment** in `setup-lan-access.sh`. The
|
||||
`INCLUDE_BLOCK` comment previously implied LAN-peer `ProxyJump` overrides go
|
||||
in `~/.ssh/config` (typically bind-mounted read-only); corrected to point at
|
||||
the host-owned `~/.config/devbox-shell/ssh-lan.conf` (mirrors pi-devbox
|
||||
`8de0fad`). Comment-only; no behavior change.
|
||||
|
||||
---
|
||||
|
||||
## v2.2.0 — 2026-06-19
|
||||
|
||||
Ports the build-provenance, CI-hardening, SSH and shell fixes that landed in
|
||||
|
||||
Reference in New Issue
Block a user