fix: wire is_hard_drop_enabled + drop_score_threshold settings into Classifier filter chain

Settings::register_classifier_filters() registers priority-5 callbacks on
cf7stg_classifier_thresholds and cf7stg_hard_drop_rules so the UI options
actually influence Classifier behaviour. Called from Plugin::boot(). User
filters at priority 10 override these defaults as expected. Adds 4 tests
covering the wired behaviour and override priority. Also adds dry_run_drop?
to MessageFormatter::build() @param docblock.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vladimir Bryzgalov
2026-04-21 17:25:20 +05:00
parent 030eaca408
commit 714b4712ad
4 changed files with 80 additions and 1 deletions
+2 -1
View File
@@ -24,7 +24,8 @@ final class MessageFormatter
* reason:string,
* ip:string,
* user_agent:string,
* is_retro:bool
* is_retro:bool,
* dry_run_drop?:bool
* } $ctx
*
* @return array{text:string,reply_markup:array|null}