Skip to content

Pi: pin the installed Spacedock package to the launcher release - #782

Merged
clkao merged 5 commits into
spacedock-ensign/flat-entity-gate-room-durabilityfrom
spacedock-ensign/pin-pi-package-to-binary-release
Aug 29, 2026
Merged

Pi: pin the installed Spacedock package to the launcher release#782
clkao merged 5 commits into
spacedock-ensign/flat-entity-gate-room-durabilityfrom
spacedock-ensign/pin-pi-package-to-binary-release

Conversation

@clkao

@clkao clkao commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Entity

pin-pi-package-to-binary-release (qcwrzza9xkr5kfwmdmvbqhkv) — validation stage

Problem

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.Versiondebug.ReadBuildInfo().Main.Version semver tag (proxy/go install builds) → dev sentinel floats. A release-shaped binary whose settings entry is missing, unpinned, or wrong-line performs ONE repair install of its own pinned ref, rechecks via checkPiRuntime, 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)

  • Automated: pure-function tables in pi_package_source_test.go (~90 lines) — piReleaseRefFrom derivation (10 identity rows incl. proxy/pseudo-versions), piPinnedSource/piGitSourceRef classifier, piPackageNeedsRepair trigger table.
  • Hand-executed scenario matrix at validation: stamped binary + fixture pi-homes + recorder shim; incident repair, wrong-line repair, AC-4 refusal arms, AC-5 suppression, healthy no-op — evidence retained in entity artifacts.

Stack

Stacked on the merged Pi dispatch fixes (#776, #777). No conflicts with current main.

@clkao
clkao force-pushed the spacedock-ensign/pin-pi-package-to-binary-release branch from ecf0976 to 0d81440 Compare August 29, 2026 00:10
@clkao
clkao changed the base branch from main to spacedock-ensign/flat-entity-gate-room-durability August 29, 2026 00:10
clkao added 4 commits August 28, 2026 17:28
- 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)
@clkao
clkao force-pushed the spacedock-ensign/pin-pi-package-to-binary-release branch from 0d81440 to 989e193 Compare August 29, 2026 01:26
@clkao
clkao merged commit ae97de4 into spacedock-ensign/flat-entity-gate-room-durability Aug 29, 2026
@clkao
clkao deleted the spacedock-ensign/pin-pi-package-to-binary-release branch August 29, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant