Skip to content

Registry: vogt-stack release (lean) and branch (full) builds are indistinguishable; latest points at the lean variant #502

Description

@thedancingdeveloper

Problem

The ghcr.io/thedancingdeveloper-org/vogt-stack repository interleaves two deliberately different artifacts under one name, with nothing in the registry distinguishing them:

  • Release builds (X.Y.Z, X.Y, sha-<short>, latest) — built by release.yml on the lean pod base: CLI-free by policy (docs/DEPLOYMENT.md §7 states the signed release digests are CLI-free).
  • Branch builds (dev, dev-<longsha>, prod-<longsha>) — built by build.yml on the full pod base: carry the agent CLIs and toolchain, because the estate's own pods run coding sessions (build.yml selects full for dev/prod pushes).

A consumer inspecting the registry — or pinning by the natural-looking vogt-stack:<version>/latest — cannot tell they are getting the lean variant. A deployment that runs agent sessions and pins a release/latest stack digest comes up without claude/codex, and its session templates register but cannot start. This exact mispin has happened in practice more than once (v0.3.0 shipped agent-less this way; the "bake the AI clients into the release image" fix was written and deliberately reverted in favour of the CLI-free-release policy).

Proposals (any subset)

  1. Document the tag taxonomy in docs/DEPLOYMENT.md so the two families and their variants are stated where a deployer reads (PR incoming).
  2. Stop tagging the lean release stack latestrelease.yml notes vogt-stack "is not the supported install of Vogt"; advertising latest on it invites exactly the wrong pin. (Semver tags could arguably go too, leaving the release stack addressable by digest + sha-<short> only.)
  3. Make the variant discoverable in the artifact itself — distinct image names per variant (e.g. vogt-stack vs vogt-stack-lean), or at minimum an OCI label/annotation (org.opencontainers.image.variant=full|lean) so tooling and humans can check before running.

Non-goals

The lean/CLI-free release policy itself is settled and correct (public artifacts stay free of bundled third-party agent CLIs); this issue is only about the two variants being indistinguishable at the point of consumption.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions