'busbaan' stond in de bus-samenstelling-familie (fam 4) én de
halte/busbaan-familie (fam 13): één woord scoorde 2+2=4 en liet zo
een niet-OV-bericht door (Omroep Brabant politie-achtervolging 'via
de busbaan', 13-09-2026). Latente dubbeltellingen: 'ov-chipkaart'
bevat 'chipkaart', 'openbaar vervoer' bevat 'vervoer'.
_fam_hits voegt nu overlappende span van verschillende families samen
met het hoogste gewicht (retour blijft (familie-index, gewicht), dus
de familie-één-signaal-regel over titel+samenvatting is intact).
Beleidscommentaar + regressie (56 cases) bijgewerkt; 45-dagen-replay
(90 geposte entries): precies 1 gedragsverschil — het fatbikers-
bericht wordt nu geweerd, delftopzondag (tram+halte, twee termen)
blijft door (besluit 2026-09-13).
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.