Expose active component versions with basectl version --all - #2310
Merged
codeforester merged 3 commits intoSep 17, 2026
Conversation
codeforester
deleted the
enhancement/2309-20260917-expose-active-component-versions-through-basectl-version-all
branch
September 17, 2026 17:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
basectl versionpreviously exposed only Base's identity, leaving users unable to identify the selected base-cli and base-bash-libs providers. Addbasectl version --alland--all --jsonwith versions, provider sources, resolved paths, Git revisions and dirty state, plus the selected Base Python path.Preserve the concise
version/--versionoutput. Share Bash provider selection with runtime bootstrap and reuse the Bash identity reader in check/doctor. The stdlib-only inspector does not import provider code, reports missing or unknown components without hiding the rest, and never substitutes installed wheel metadata for an overriding source checkout. Help, Bash/Zsh completions, the changelog, command/JSON documentation and.ai-context/COMMANDS.mdare updated.Issue
Fixes #2309
Validation
CI follow-up: split Bash and Zsh version-completion assertions and guard optional Zsh coverage. Reproduced the original failure with Zsh absent from PATH. The full completion suite passes with Zsh installed (31 tests) and with Zsh absent (Bash coverage runs; Zsh cases explicitly skip). All three formerly failing hosted jobs now pass on
d8479e90: BATS tests, Ubuntu source-checkout suite, and Moving provider source-checkout suite. The complete Tests workflow is green. Production behavior is unchanged, so no additional AI-context update is needed.Full Python suite (
pytest, using the same provider routing asbin/base-test): 1,614 passed. Focused component tests cover empty VERSION and single-line diagnostic regressions.Full BATS target set from
bin/base-test: 983 cases exercised, with 970 passing after targeted regression reruns and 13 host-environment failures reproduced on an unchangedorigin/mainworktree. The 13 baseline failures force Apple Git/Python and hit this host's unaccepted Xcode license (branch inspection, runtime prompt, Homebrew updates, test-runner fixtures, and installer fixtures). Final check/doctor rerun: 75 passed; final version/bootstrap rerun: 32 passed; latest version suite including a broken PATH Python: 10 passed; stale-BASE_HOME regression: passed. All 23 workflow integration cases passed.Pylint across all tracked Python files, ShellCheck at the repository's error-severity gate, and
git diff --check: passed.Manual text, JSON, and
help versionchecks: passed.The new worktree's
basectl test basetrust preflight stopped before execution. After reviewing its manifest (test.command: ./bin/base-test), the declared command was run directly. Tests used explicit sibling provider paths. Shell tests use native Bash and standalone Git because this host's Apple Git is blocked by its Xcode license; the same BATS file set is run in four independent file workers.Demo Impact
None. Existing demos and basic version output remain unchanged.
Notes
Detailed inspection requires Python 3 but does not require a working Base venv or providers. JSON is a versioned inspection envelope; partial reports exit 0 with status
warn. These are observed identities, not a compatibility check or inferred release-BOM expectations. No dependency upgrades or release changes are included.