feat: image-baked agent skills + pi-devbox-environment skill (v1.2.0)
Publish Docker Image / smoke-studio (push) Failing after 4m5s
Publish Docker Image / build-variant-studio (push) Has been skipped
Publish Docker Image / smoke (push) Failing after 5m46s
Publish Docker Image / build-variant (push) Has been skipped
Publish Docker Image / update-description (push) Has been skipped
Publish Docker Image / promote-base-latest (push) Has been skipped
Publish Docker Image / resolve-versions (push) Successful in 35s
Publish Docker Image / base-decide (push) Successful in 23s
Publish Docker Image / build-base (push) Successful in 41m32s
Publish Docker Image / smoke-studio (push) Failing after 4m5s
Publish Docker Image / build-variant-studio (push) Has been skipped
Publish Docker Image / smoke (push) Failing after 5m46s
Publish Docker Image / build-variant (push) Has been skipped
Publish Docker Image / update-description (push) Has been skipped
Publish Docker Image / promote-base-latest (push) Has been skipped
Publish Docker Image / resolve-versions (push) Successful in 35s
Publish Docker Image / base-decide (push) Successful in 23s
Publish Docker Image / build-base (push) Successful in 41m32s
Ship skills inside the image (independent of any mounted skillset repo): - rootfs/usr/local/share/pi-devbox/skills/<name>/ symlinked into ~/.agents/skills/ by entrypoint-user.sh (foreign-link, survives volume recreate, never clobbers a skillset/user skill of the same name). - New pi-devbox-environment skill: persistence model, host/LAN SSH reachability, split-DNS mechanisms, interactive-vs-tool-shell alias gotcha, tmux 0-index, uv-first Python, pi-studio reachability. Agnostic to host OS / hostnames / domains / nameservers (discovered at runtime). - Dockerfile.variant appends pi-global-AGENTS.append.md onto pi-toolkit's pi-global-AGENTS.md (single global slot) so the skill is loaded proactively; gated on /usr/local/lib/pi-devbox/. Idempotent. - smoke-test: baked-skill + append-snippet + merged-marker presence and a runtime symlink assertion. - docs: README 'Agent skills' section, AGENTS.md layout, DOCKER_HUB.md; moved studio-tex roadmap to v1.3.0. pi 0.79.7 -> 0.79.10 (auto-resolved from npm latest at build).
This commit is contained in:
+47
-3
@@ -11,6 +11,52 @@ Pre-v1.0.0 tags followed the pi npm version (`v{pi_version}[letter]`).
|
||||
|
||||
---
|
||||
|
||||
## v1.2.0 — 2026-06-22
|
||||
|
||||
Minor release: **image-baked agent skills** — a new base mechanism that ships
|
||||
skills inside the image (independent of any mounted skillset repo) — plus the
|
||||
first such skill, `pi-devbox-environment`, and pi `0.79.9` → `0.79.10`
|
||||
(auto-resolved from npm `latest` at build).
|
||||
|
||||
### Added
|
||||
|
||||
- **Image-baked agent skills.** Skills under
|
||||
`/usr/local/share/pi-devbox/skills/<name>/` are now symlinked into
|
||||
`~/.agents/skills/` by `entrypoint-user.sh` on every start, making them
|
||||
available **with or without** a mounted `skillset` repo. The symlink points
|
||||
at the image path (so it survives volume recreate, unlike anything baked
|
||||
under a home dir a named volume would shadow) and is created only when
|
||||
absent, so a same-named skillset skill or user override is never clobbered.
|
||||
The skillset deploy classifies these as foreign-links and its `--prune-stale`
|
||||
pass leaves them untouched.
|
||||
- **`pi-devbox-environment` skill** (the first image-baked skill). Teaches
|
||||
agents the container-shaped facts that are easy to get wrong: the
|
||||
persistence/ephemerality tier model (what survives `down -v` / image
|
||||
update), host + LAN SSH reachability and ControlMaster, split-horizon DNS
|
||||
*mechanisms*, the interactive-vs-tool-shell alias gotcha (`dssh`/`dscp`/
|
||||
`cat`→`bat` don't exist in the non-interactive bash tool), the tmux 0-index
|
||||
constraint, uv-first Python, and pi-studio reachability. Deliberately
|
||||
environment-agnostic — host OS, hostnames, internal domains, and nameservers
|
||||
are discovered at runtime, never hardcoded.
|
||||
- **Proactive skill awareness via the global `AGENTS.md`.** `Dockerfile.variant`
|
||||
appends a short, gated pointer (`pi-global-AGENTS.append.md`) onto
|
||||
pi-toolkit's `pi-global-AGENTS.md` — the single global instruction slot pi
|
||||
loads at startup — so containers load the `pi-devbox-environment` skill
|
||||
proactively rather than only on description match. The pointer fires only
|
||||
inside a pi-devbox container (checks for `/usr/local/lib/pi-devbox/`).
|
||||
Build-time append is idempotent via a marker grep; runtime is unaffected
|
||||
(the file is root-owned and re-symlinked by pi-toolkit each boot).
|
||||
- **Smoke-test coverage** for the new mechanism: build-time presence of the
|
||||
baked skill + append snippet + the merged marker in `pi-global-AGENTS.md`,
|
||||
and a runtime assertion that `~/.agents/skills/pi-devbox-environment` is
|
||||
linked after the entrypoint runs.
|
||||
|
||||
### Bumped: pi 0.79.9 → 0.79.10
|
||||
|
||||
Resolved from npm `latest` at build (v1.1.7 shipped `0.79.9`). See the
|
||||
[pi changelog](https://github.com/earendil-works/pi/blob/main/CHANGELOG.md)
|
||||
for the upstream `0.79.10` notes.
|
||||
|
||||
## v1.1.7 — 2026-06-21
|
||||
|
||||
Patch release: pi `0.79.8` → `0.79.9` (auto-resolved at build), plus the
|
||||
@@ -111,8 +157,6 @@ Notable upstream changes (from [pi releases](https://github.com/earendil-works/p
|
||||
reproducibility. Resolution now validates each result is a 40-hex commit
|
||||
SHA (and pi a real semver) and aborts the release otherwise.
|
||||
|
||||
---
|
||||
|
||||
## v1.1.5 — 2026-06-18
|
||||
|
||||
Patch release: SSH ControlMaster read-only-socket fix + pi `0.79.6` → `0.79.7`
|
||||
@@ -507,7 +551,7 @@ dependencies.
|
||||
### Future work
|
||||
|
||||
- v1.1.0: `:latest-studio` variant (adds [pi-studio](https://github.com/omaclaren/pi-studio)).
|
||||
- v1.2.0: `:latest-studio-tex` variant (adds texlive-xetex for PDF export).
|
||||
- v1.3.0: `:latest-studio-tex` variant (adds texlive-xetex for PDF export).
|
||||
|
||||
## v0.79.0 — 2026-06-08
|
||||
|
||||
|
||||
Reference in New Issue
Block a user