Gebruikersbesluit 2026-09-11: 'busstation' 60x in een artikel is één signaal, niet
60x de score. _filter_passes combineert titel- en samenvattingshits nu per familie
(dict over beide teksten). Gevolg (regressie-pinned): 'Pand naast busstation'
(titel+samenvatting) en 'Busstation wordt verbouwd' (zonder andere OV-term) zijn
nu geweerd; combinaties over 2 families (metro+halte, metrostation+metro) blijven
door.
Gebruikersbesluit 2026-09-11: een medium-hit in de TITEL haalt het filter te
makkelijk ('restaurant naast busstation' = 2x2=4 was door). Formule gelijkgemaakt:
score = titelscore + samenvattingscore >= 3. Gevolg (regressie-pinned):
- enkel-woord-medium in titel is nu onvoldoende (fietsenstalling/restaurant-case
geweerd); zware/sterke woorden en combinaties over 2 families blijven door.
- zwak-alleen-regel (titel-anker + >=2 families) ongewijzigd.
Gebruikersbesluit 2026-09-11 n.a.v. Omroep West-artikel 'Restaurant weg, pand
staat te verloederen': één 'busstation'-hit in de samenvatting ('pand naast
busstation') is geen OV-nieuws en mocht niet doorgelaten worden.
- Familie station-samenstellingen (trein/bus/metro-station): gewicht 3 -> 2
(medium). In de samenvatting moet nu een tweede OV-woord bijkomen; in de
titel volstaat het anker nog (2x2=4).
- 'busstation'/'metrostation' van de whitelist af (whitelist = altijd door).
- 'station' uit de voertuig-samenstelling-familie verwijderd: 'busstation'
telde dubbel mee (via 'bus' én 'station', 2x3=6).
- validate_filter.py: 6 nieuwe regressie-cases + invariant 2-aanpassing.
Aanleiding: Omroep Brabant-golfbericht (Solheim Cup Cromvoirt, 11-09-2026) kwam door
het filter. 'pendelbus' stond op de whitelist (evenementpendel vanaf station Den Bosch),
en 'station'+'bus'+'pendelbus' in de samenvatting was samen al drempel 3.
- pendelbus/shuttlebus: whitelist + medium -> zwak (1), één familie (synoniemen tellen
niet als twee onafhankelijke signalen).
- _filter_passes: bij uitsluitend zwakke hits moet minstens één zwak woord in de TITEL
staan; zwakke woorden alleen in de samenvatting zijn geen bewijs.
- validate_filter.py: invariant 1 uitgebreid + 3 regressiecases (golfbericht, zwak-alleen
samenvatting, positieve controle met titel-anker).
- _filter_summary()/docstrings gelijkgetrokken met de werkelijke gewichten.