Skip to content

Expose active component versions with basectl version --all - #2310

Merged
codeforester merged 3 commits into
mainfrom
enhancement/2309-20260917-expose-active-component-versions-through-basectl-version-all
Sep 17, 2026
Merged

codeforester merged 3 commits into
mainfrom
enhancement/2309-20260917-expose-active-component-versions-through-basectl-version-all

Conversation

@codeforester

@codeforester codeforester commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

basectl version previously exposed only Base's identity, leaving users unable to identify the selected base-cli and base-bash-libs providers. Add basectl version --all and --all --json with versions, provider sources, resolved paths, Git revisions and dirty state, plus the selected Base Python path.

Preserve the concise version/--version output. 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.md are 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 as bin/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 unchanged origin/main worktree. 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 version checks: passed.

The new worktree's basectl test base trust 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.

@codeforester
codeforester requested a review from a team as a code owner September 17, 2026 16:39
@codeforester codeforester added the enhancement New feature or product improvement label Sep 17, 2026
@codeforester
codeforester merged commit 5f316ae into main Sep 17, 2026
22 checks passed
@codeforester
codeforester deleted the enhancement/2309-20260917-expose-active-component-versions-through-basectl-version-all branch September 17, 2026 17:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or product improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose active component versions through basectl version --all

1 participant