build: track Pi @latest + record resolved pi_version in manifest #126
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "pi-latest-tracking"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
The build hard-pinned
@earendil-works/pi-coding-agent@0.78.0(packages/npm-globals.txt) whilepi upgradeon hosts had already moved to 0.80.2 — so images shipped a stale Pi and there was no single switch to track the newest release.What (Option B — auto-track latest + record provenance)
npm-globals.txt: Pi line →@earendil-works/pi-coding-agent@latest. Every image now bundles the newest Pi. Other globals (bw) stay version-pinned.build.sh: record the version that actually got fetched inbuild-manifest.jsonaspi_version, derived from the bundled tarball name (earendil-works-pi-coding-agent-<version>.tgz). Runs after fetch+install, so the tarball is present. This keeps the floating spec traceable per artifact.fetch-npm-globals.sh: echoes the resolved tarball (→ earendil-works-pi-coding-agent-0.80.2.tgz) so the build log shows exactly which version a dist-tag resolved to.Tradeoff (as chosen)
@latestmeans builds can differ release-to-release and a build could pull an unvetted Pi — accepted in exchange for always-current. Provenance is preserved viapi_versionin the manifest. Pin a concrete version innpm-globals.txtagain if a build must be byte-for-byte reproducible.Notes
node24; current Pi (0.80.2) is compatible. Thelegacy-node20dist-tag (0.74.2) is for node20 holdouts only — not used.@mariozechner/pi-coding-agentis the legacy scope (0.73.1); the build only installs@earendil-works.Test
sh -nclean (build.sh, fetch-npm-globals.sh); markdown gate green. Ran the fetcher against the new spec:@latest→ 0.80.2, and the manifest version-extraction matchesnpm view ... version.🤖 Generated with Claude Code