MCP via pi's built-in support: mcp-loader retired upstream; skill floor, docs, sanity check
pi-extensions 750b2a8 retired mcp-loader.ts in favour of builtin:mcp (an extension registering /mcp replaced the built-in and printed a warning on every start). This repo has no pin to move, since PI_EXTENSIONS_REF and MEMPALACE_TOOLKIT_REF float on main, so this commit carries what the next build changes: - CHANGELOG Unreleased: component table (pi-extensions a88fa99 -> 750b2a8, mempalace-toolkit 975ab92 -> a30af61), the switch and its measurements, the stale-link pruning, the new sanity check, and the floor refresh. check-doc-drift.sh rc=0. A two-sided check: with 750b2a8 blanked out of the CHANGELOG it fails rc=1, naming pi-extensions a88fa99 -> 750b2a8. - rootfs pi-extensions skill floor refreshed to 750b2a8. check-skill-floor.sh was rc=1 before and is rc=0 after. Base hash changes, so the next tag rebuilds the base. - recreate-sanity-check.sh: "no dangling extension links" (WARN). The existing count includes dangling links because ls lists them. Tested two-sided in a temp HOME (PASS clean; WARN naming mcp-loader.ts and x.ts.off). On tor-ms22 v1.11.0: rc=0, 36 pass / 3 warn / 0 fail (was 35/3/0). - DOCKER_HUB.md: pi-extensions list was three releases stale; it now lists the 10 that ship, plus an MCP line. Dockerfile.variant comment updated. - lint-shell.sh: 19 files clean at severity error.
This commit is contained in:
@@ -303,6 +303,24 @@ else
|
||||
fail "only $EXT_COUNT extensions deployed (expected ≥4)"
|
||||
fi
|
||||
|
||||
# no dangling extension links. The count above includes them (ls lists a link
|
||||
# whether or not its target exists) but they load nothing, and pi skips them
|
||||
# without a word. That is exactly how a retired extension outlives its image on
|
||||
# a preserved volume: mcp-loader.ts (retired after v1.11.0) left
|
||||
# ~/.pi/agent/extensions/mcp-loader.ts -> /opt/pi-extensions/... behind. The
|
||||
# pi-extensions install.sh run by the entrypoint now prunes links into ITS repo;
|
||||
# anything this still finds points somewhere else, hence WARN, not FAIL.
|
||||
_dangling=""
|
||||
for _e in "$HOME"/.pi/agent/extensions/*.ts "$HOME"/.pi/agent/extensions/*.ts.off; do
|
||||
if [ -L "$_e" ] && [ ! -e "$_e" ]; then _dangling="$_dangling $(basename "$_e")"; fi
|
||||
done
|
||||
if [ -z "$_dangling" ]; then
|
||||
pass "no dangling extension links in ~/.pi/agent/extensions"
|
||||
else
|
||||
warn "dangling extension links (target gone, pi ignores them):$_dangling"
|
||||
fi
|
||||
unset _dangling _e
|
||||
|
||||
# mempalace.ts bridge symlink
|
||||
if [ -L "$HOME/.pi/agent/extensions/mempalace.ts" ]; then
|
||||
pass "~/.pi/agent/extensions/mempalace.ts bridge symlink"
|
||||
|
||||
Reference in New Issue
Block a user