You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bug: honor every accepted FrameworkConfig log level on the user stream #357
Configuration validates debug, info, warning, error, and critical, but runtime logging only uses the debug distinction. Accepted warning/error/critical values silently behave as info, so commands emit messages the user configured them to suppress.
Verified evidence
Reviewed on 2026-09-17 at 2d67cd24e8d704386f2be7d3a41addc06fb81e17 (local checkout matched GitHub main). Reproduced in isolated macOS environments with Python 3.14.6. Framework default probe environment: Click 8.5.0 and Typer 0.27.2. Demo probes used released base-cli 0.4.3 unless noted.
For each supported level, an isolated batteries-included app loaded log_level: <level> and logged INFO, WARNING and ERROR markers. All five invocations exited 0; every one printed the INFO and WARNING markers. _create_context() computes only debug = ... or log_level == "debug"; configure_logger selects DEBUG/INFO/WARNING from debug/quiet and receives no configured level.
Apply all accepted configured severity levels to the user-facing handler, or explicitly narrow the documented accepted contract with migration treatment.
Define and test precedence with explicit --debug/--quiet and their supported negative forms.
Keep persistent diagnostic verbosity separate from user-stream filtering according to the logging contract.
Add parameterized assertions for all five levels in native and attached applications, including JSON logs.
Activity