Skip to content

Resolve historical @version installs from the ledger, not .versions #130

Description

@kelp

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions