buzz-rss/AGENTS.md

1.8 KiB

buzz-rss — verplichte regels bij elke wijziging (wordt automatisch bij sessiestart geladen)

Maubot-plugin nl.eddydevink.rss (RSS → Matrix + WhatsApp), met een OV-nieuwsfilter dat vast in code staat.

Verplicht vóór elke filterwijziging

  1. Lees het volledige classificatiebeleid in buzzrss/bot.py — het blok BOVEN MATCH_FILTER_FAMILIES (driedeling whitelist / sterk / medium / zwak, precision-first, en de werkwijze voor nieuwe woorden).
  2. Draai python3 buzzrss/validate_filter.py — de filter-invarianten en regressie-cases MOETEN groen zijn voordat filtercode gecommit/gedeployed wordt.
  3. Precision-first (gebruikersbesluit 2026-09-10): liever een OV-bericht te veel gefilterd dan een niet-OV-bericht te veel doorgelaten. Bij twijfel over een woord: zwak maken (eigen familie), nooit sterk/whitelist.

Niet doen

  • NOOIT maubot reload gebruiken. Deploy = mbp bouwen uit de VOLLEDIGE bron (incl. base-config.yaml, anders BaseMissingError), upload met allow_override=true, daarna container-restart. Exacte procedure: skill://maubot.
  • NOOIT de wwebjs-container of WhatsApp-sessies (her)starten/beëindigen — meerdere bots delen die sessies.
  • Productie draait het geïnstalleerde mbp, niet deze werkdirectory: een commit is pas actief na build+upload+restart.

Bekend — NIET onderzoeken

  • Na een deploy (upload + container-restart) staan er 2 verse run complete-regels in de run-log binnen enkele seconden: maubot herstart de instance bij een nieuwe plugin-versie (upstream) én de container-restart start opnieuw, elke start doet direct één poll. Dat is géén handler-lek en hoort niet onderzocht te worden (besluit 2026-09-11). Alleen verdubbeling op élke poll-run is een probleem. Zie skill://maubot → Veelgemaakte fouten.