fix(store): surface unparseable filter rules instead of dropping them #269

Merged
KofTwentyTwo merged 1 commits from story/m6-filter-load-honest into dev 2026-07-31 16:51:22 +00:00
1 Commits
Author SHA1 Message Date
James Maes b74dca6561 fix(store): surface unparseable filter rules instead of dropping them
list_filter_rules silently dropped stored rules that failed to re-parse,
making a rule disappear from enforcement with no trace. Now each
unparseable row is WARN-logged with its rule id and skipped, so the
failure is visible instead of indistinguishable from "never uploaded".

Also stop nunciod's boot-time filter load from collapsing a genuine
database error into an empty rule set: load_initial_filter_rules
propagates the error (ERROR-logged) instead of unwrap_or_default(),
so a DB failure fails startup visibly rather than quietly disabling
all filtering.

Refs #247
2026-07-31 11:48:46 -05:00