v3.7.4 β Log swallowed errors (clears last audit item)
Observability β closes the final item from the 2026-06-06 audit. No user-facing behavior change.
Changed
- No more truly-silent error swallowing. The 44 broad
except Exception: passcatch-alls across the codebase now log via thekodiqalogger at DEBUG with a traceback and the enclosing function name. Errors are still swallowed and the default level stays WARNING, so nothing new is written during normal use. (Narrow, intentional handlers likeexcept FileNotFoundErrorstay quiet.)
Added
--debugflag (andKODIQA_DEBUG=1) β lowers the log level to DEBUG so swallowed-error traces appear in~/.kodiqa/error.logwhen debugging.- A
NullHandleron the package logger so pre-startup log calls never leak to stderr.
Tests
test_logging.pyβ DEBUG + exc_info on swallow, silent at WARNING, behavior unchanged, idempotent handler setup. 366 total; ruff + CI green.
This completes the audit β Critical, High, and Medium tiers are all cleared.