Add hierarchical log category gates#189
Merged
Merged
Conversation
This was referenced Jul 24, 2026
codeforester
marked this pull request as ready for review
July 25, 2026 00:47
codeforester
added a commit
that referenced
this pull request
Jul 25, 2026
## Summary - tag every internal std, arg, file, Git, and GitHub record with its `base_bash_libs.<module>` category - default the parent `base_bash_libs` gate to INFO so application DEBUG does not implicitly enable reusable-library DEBUG - preserve explicit parent and child category opt-ins - make `--debug-wrapper` enable both terminal and library DEBUG - deprecate the Bash-only `VERBOSE` level, `log_verbose*` helpers, and `--verbose-wrapper` without changing their 1.x runtime behavior ## Issue Closes #188 ## Dependency - #189 merged the category API from #187 into `main` - this branch is rebased directly onto that merged prerequisite ## Validation - `bats tests/launcher.bats lib/bash/std/tests/lib_std.bats lib/bash/git/tests/lib_git.bats` — 204 tests passed locally, with one environment-specific process-listing skip - `bats lib/bash/file/tests/lib_file.bats` — 34 tests passed - `./tests/validate.sh` — 314 tests passed - `bash -n` for the launcher and all changed library modules - audit found no uncategorized internal severity calls in the five logging modules - `git diff --check` ## Notes - Deprecated symbols remain available, retain their exact thresholds, and do not emit runtime warnings. - `DEBUG` is the most detailed level for new code; deprecated compatibility surfaces can be removed no earlier than the next major release. - Deprecating `basectl --verbose-wrapper` remains a separate Base issue/PR after this library train is merged and available. - `VERSION` remains unchanged; this work is targeted to the `v1.4.0` milestone. ## Checklist - [x] Branch name follows `<category>/<issue>-<YYYYMMDD>-<slug>`. - [x] Pull request is scoped to one issue, unless a documented multi-issue exception applies. - [x] Pull request body explains what changed and how it was validated. - [x] Relevant project checks pass. - [x] Documentation is updated when behavior or user-facing commands change. - [x] CHANGELOG is updated for notable user-visible or release-worthy changes. - [x] Pull request includes `Fixes #<issue>` or `Closes #<issue>` when merge should close the issue.
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
thresholds
defaultlog_is_enabledso callers can avoid expensive diagnostics when no sinkwill consume them
The default category gate remains permissive through
VERBOSE, preservingexisting unscoped behavior and the INFO-terminal/DEBUG-primary-log contract
introduced in #185.
Issue
Closes #187
Validation
bats lib/bash/std/tests/lib_std.bats— 150 tests passed locally, with oneenvironment-specific process-listing skip
./tests/validate.sh— 310 tests passedgit diff --checkNotes
VERBOSEdeprecation are intentionallyseparated into Adopt component log categories and deprecate VERBOSE #188.
VERSIONremains unchanged; this work is targeted to thev1.4.0milestone.
Checklist
<category>/<issue>-<YYYYMMDD>-<slug>.Fixes #<issue>orCloses #<issue>when merge should close the issue.