Problem
FetchRecipeVersion still depends on .versions files for non-head pinned installs (gale install jq@1.8.1), even on current clients:
internal/registry/registry.go:456–533 — historical versions fall through to the .versions commit-pin path.
Latest-install already resolves from the [[history]] ledger in .binaries.toml; only historical @version pins still require .versions. This is the one genuine code dependency blocking deletion of the .versions bridge in gale-recipes (see kelp/gale-recipes cutover issue).
Proposal
- Resolve
@version from [[history]] ledger entries (recipe/binaries.go already has MergeBinariesForRecipe).
- Keep
.versions only as a fallback for pre-ledger clients; that fallback disappears with the cutover.
Acceptance
gale install <name>@<old-version> resolves correctly with no .versions file present.
- Must merge before the gale-recipes
.versions cutover PR.
Problem
FetchRecipeVersionstill depends on.versionsfiles for non-head pinned installs (gale install jq@1.8.1), even on current clients:internal/registry/registry.go:456–533— historical versions fall through to the.versionscommit-pin path.Latest-install already resolves from the
[[history]]ledger in.binaries.toml; only historical@versionpins still require.versions. This is the one genuine code dependency blocking deletion of the.versionsbridge in gale-recipes (see kelp/gale-recipes cutover issue).Proposal
@versionfrom[[history]]ledger entries (recipe/binaries.goalready hasMergeBinariesForRecipe)..versionsonly as a fallback for pre-ledger clients; that fallback disappears with the cutover.Acceptance
gale install <name>@<old-version>resolves correctly with no.versionsfile present..versionscutover PR.