Skip to content

Per-chat ML sensitivity / report-only mode to reduce false positives #454

Description

@github-actions

Problem

Repeated and persistent ML false-positives are creating moderator burden and user friction: many messages are later marked MessageMarkedHam by humans, and the ML scoring stream shows large numbers of scored messages that lead to enforcement. We should give chat admins a simple per-chat way to reduce/remove automatic deletions (report-only mode) or adjust ML sensitivity per chat.

Evidence

  • From ML corrections (evidence bundle): 2026-08-21 MessageMarkedHam 17.
  • From ML scoring stream: 2026-08-27 MlScoredMessage isSpam 398.
  • Example spam-like chat messages (evidence bundle): 2026-09-02 12:59 -1001289318546 ee443e0f ☝️ Бесплатный ВПН с обходом глушилок (белых списков) Ура рабочий впн.

Code Checked

  • src/VahterBanBot/Program.fs — BotConfiguration exposes global ML settings only (MlSpamDeletionEnabled, MlSpamAutobanScoreThreshold, MlSpamAutobanEnabled, MlSpamAutobanCheckLastMsgCount, etc.). No per-chat sensitivity or per-chat report-only setting present.
  • src/VahterBanBot/Bot.fs — enforcement paths use global thresholds and ReportPotentialSpam/DeleteSpam; there is no admin-facing per-chat ML sensitivity toggle or opt-in flow found.

Expected Behavior

  • Add a simple per-chat ML sensitivity setting (e.g. report-only, low, normal, strict) that chat admins (vahter users) can toggle via /vahter admin commands, or
  • Default ML enforcement to report-only (no deletion/autoban) and allow per-chat opt-in for auto-delete/autoban, or
  • Add a small admin UI/command to adjust the effective numeric threshold for ML deletions for a chat.

These are intended to reduce false-positives quickly without retraining the model and are reversible by chat admins.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions