Pi: pin the installed Spacedock package to the launcher release - #782
Merged
Conversation
clkao
force-pushed
the
spacedock-ensign/pin-pi-package-to-binary-release
branch
from
August 29, 2026 00:10
ecf0976 to
0d81440
Compare
clkao
changed the base branch from
main
to
spacedock-ensign/flat-entity-gate-room-durability
August 29, 2026 00:10
- piPinnedSource derives the install source from the binary's release identity (linker stamp, then build-info semver tag for proxy builds, else the dev sentinel that keeps the floating source) - the spacedock pi front door owns one repair attempt for a missing, unpinned, or wrong-line package entry, rechecks, and refuses to launch on remaining mismatch; suppressed for non-git entries, dev builds, and --plugin-dir/SPACEDOCK_REPO_ROOT runs - behavior tests for the pin derivation, install call site, repair triggers/suppression, and the one-install/one-recheck/no-launch gate - registers the pi-front-door-pinned-package live journey (AC-1)
… proof at validation
clkao
force-pushed
the
spacedock-ensign/pin-pi-package-to-binary-release
branch
from
August 29, 2026 01:26
0d81440 to
989e193
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Entity
pin-pi-package-to-binary-release(qcwrzza9xkr5kfwmdmvbqhkv) — validation stageProblem
A launcher update on a stable line (0.27.2 incident) left the Pi-installed Spacedock package floating on the unpinned git default — the package and the launcher binary could drift across release lines, and the FO binary gate aborts inside Pi on a wrong-line package.
Mechanism
Ordered derivation of the launcher's own release ref: linker-stamped
internal/cli.Version→debug.ReadBuildInfo().Main.Versionsemver tag (proxy/go installbuilds) →devsentinel floats. A release-shaped binary whose settings entry is missing, unpinned, or wrong-line performs ONE repair install of its own pinned ref, rechecks viacheckPiRuntime, and refuses launch (actionable stderr) on remaining mismatch. Suppressed for dev-sentinel binaries, non-git entries, and declared dev overrides (--plugin-dir/SPACEDOCK_REPO_ROOT).Test plan (re-scoped surface, commit ecf0976)
pi_package_source_test.go(~90 lines) —piReleaseRefFromderivation (10 identity rows incl. proxy/pseudo-versions),piPinnedSource/piGitSourceRefclassifier,piPackageNeedsRepairtrigger table.Stack
Stacked on the merged Pi dispatch fixes (#776, #777). No conflicts with current main.