Goal
Expose the identity of the Base, base-cli, and base-bash-libs providers selected by this installation.
Background
basectl version currently reports only Base. Source overrides and sibling checkouts can supersede installed packages, so package-manager versions and release pins do not identify the active provider.
Scope
Add basectl version --all and --all --json, preserving simple version output. Report versions, sources, resolved paths, Git revisions and dirty state for source checkouts; distinguish observed identity from release expectations. Reuse runtime resolution and Bash identity reporting in check/doctor. Update help, completions, docs and tests.
Acceptance Criteria
- Existing
version and --version output remains dependency-independent.
- Detailed text and deterministic JSON describe all three components and selected Python environment.
- Explicit, sibling and installed providers follow existing runtime precedence; installed metadata cannot mislabel a source override.
- Missing/broken providers yield partial reports with unavailable/unknown state.
- Source identity includes revision and dirty state; packaged installs work without Git.
- No setup, installation or network activity occurs during inspection.
Validation
Focused Python and BATS fixtures for provider routing, source/package identity, missing providers, Git dirtiness, option errors and JSON; ShellCheck, full Base tests and diff check.
Non-Goals
Changing dependency selection, upgrading dependencies, release creation, or merging the PR.
Project Fields
Status: In Progress
Priority: P2
Area: CLI
Initiative: Adoption Polish
Size: M
Milestone: v1.10.0
Agent Assignment
Codex will implement and validate in the canonical issue worktree, then open a reviewable PR.
Goal
Expose the identity of the Base, base-cli, and base-bash-libs providers selected by this installation.
Background
basectl versioncurrently reports only Base. Source overrides and sibling checkouts can supersede installed packages, so package-manager versions and release pins do not identify the active provider.Scope
Add
basectl version --alland--all --json, preserving simple version output. Report versions, sources, resolved paths, Git revisions and dirty state for source checkouts; distinguish observed identity from release expectations. Reuse runtime resolution and Bash identity reporting in check/doctor. Update help, completions, docs and tests.Acceptance Criteria
versionand--versionoutput remains dependency-independent.Validation
Focused Python and BATS fixtures for provider routing, source/package identity, missing providers, Git dirtiness, option errors and JSON; ShellCheck, full Base tests and diff check.
Non-Goals
Changing dependency selection, upgrading dependencies, release creation, or merging the PR.
Project Fields
Status: In Progress
Priority: P2
Area: CLI
Initiative: Adoption Polish
Size: M
Milestone: v1.10.0
Agent Assignment
Codex will implement and validate in the canonical issue worktree, then open a reviewable PR.