Skip to content

v3.7.4 β€” Log swallowed errors (clears last audit item)

Choose a tag to compare

@eniz1806 eniz1806 released this 06 Jun 13:35

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: pass catch-alls across the codebase now log via the kodiqa logger 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 like except FileNotFoundError stay quiet.)

Added

  • --debug flag (and KODIQA_DEBUG=1) β€” lowers the log level to DEBUG so swallowed-error traces appear in ~/.kodiqa/error.log when debugging.
  • A NullHandler on 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.