v1.14.0: refactor OV-filter naar driestapsmodel — één regel i.p.v. drie uitzonderingstakken

- _filter_passes: 'zwak-alleen in samenvatting' en 'sterk+zwak uitsluitend in
  samenvatting' reduceren tot één regel: zonder enig titel-signaal (familie-hit,
  whitelist-term of storingszin) mag de score geen zwak woord bevatten.
  Equivalentie bewezen over de volledige beslissing-ruimte (420 configuraties).
- Nieuwe dienststoring-context 'vervoerswoord rijdt/rijden niet' (gedeeld
  patroon): sterk titel-signaal (+2) en familie (2) — 'sprinters rijden niet
  tussen Utrecht en Amsterdam', 'metro rijdt niet tussen Rotterdam en
  Schiedam' passeren nu; bus/tram/metro/sprinter zelf blijven zwak/medium.
- Overlappende regexes opgeruimd: busbaan/bushokje uit de halte-familie.
- Blacklist 29 -> 2 woorden: restant (stationsstraat, stationair, stationcar,
  stationeren ...) was inert sinds de woordgrens-familie; vastgelegd in tests.
- validate_filter.py: 56 -> 90 regressie-cases + invariant 4 (whitelist-term
  in familie, blacklist-term door familie gematcht).
- _filter_summary/beleidsdocumentatie geactualiseerd.
This commit is contained in:
Eddy de Vink 2026-09-13 08:57:49 +02:00
commit 91d0c3d7fe
3 changed files with 215 additions and 141 deletions

View file

@ -1,5 +1,5 @@
id: nl.eddydevink.rss
version: 1.13.0
version: 1.14.0
modules:
- buzzrss
main_class: RSSBot