Skip to content

Give mutable source installs an unambiguous development version #1976

Description

@codeforester

Goal

Ensure a checkout installed from mutable main cannot report the same release identity as the published v1.8.0 artifact while containing unreleased v1.9.0 behavior and licensing.

Background

The documented standalone installer downloads install.sh from HEAD and clones the repository's default branch unless a branch is supplied. Current main still reports VERSION=1.8.0 while CHANGELOG.md contains Unreleased v1.9.0 changes and README/LICENSE describe the prospective Apache-2.0 state.

A Homebrew v1.8.0 installation and a source-main checkout can therefore report the same basectl version while differing in behavior and license.

Relevant code and docs:

Scope

  • Define an unambiguous version identity for mutable source checkouts.
  • Choose between a development version such as 1.9.0-dev+, a stable-tag installer default, or another explicit source identity.
  • Make basectl version and relevant diagnostics expose that identity.
  • Clarify contributor/source installation versus consumer/stable installation.
  • Keep release checks, docs, changelog, and packaging aligned.

Acceptance Criteria

  • Released v1.8.0 and current main never report indistinguishable version identities.
  • Source diagnostics include enough revision data to identify the code being executed.
  • The default documented consumer path does not silently move across unreleased behavior under a stable version string.
  • Release tagging still produces clean SemVer output.
  • Licensing text and version identity cannot imply contradictory release states.

Validation

  • Focused version and installer BATS tests.
  • basectl version checks for source, tagged, and Homebrew-like fixtures.
  • Release-check dry run for the next version.
  • env -u BASE_HOME ./bin/base-test
  • git diff --check

Non-Goals

  • Do not remove source-checkout installation.
  • Do not alter historical release licenses.
  • Do not publish v1.9.0 as part of this issue.

Project Fields

  • Status: Backlog
  • Priority: P2
  • Area: Packaging
  • Initiative: Adoption Polish
  • Size: M

Agent Assignment

  • Assignee: codeforester

Metadata

Metadata

Assignees

Labels

bugSomething is not working

Type

No type

Projects

Status
Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions