refactor(telegram): extract config and mention mixin from adapter - #84042
andrexibiza wants to merge 1 commit into
Conversation
Signed-off-by: Axl Ibiza, MBA <andrexibiza@gmail.com>
refactor(telegram): extract config and mention mixin from adapter
|
Telegram adapter extraction recorded at
|
Related #78791 #78792 #79010 #81709
What
Extract the Telegram adapter's config, mention, and group-observation cluster into
TelegramConfigMentionMixinas the first fresh-current-main shard in the adapter decomposition train.plugins/platforms/telegram/adapter.pytoplugins/platforms/telegram/telegram_config_mention.py.TelegramAdapterclass.adapter.pymoves from 10,271 to 9,494 lines: a 777-line reduction. The new mixin is 855 lines and the seam test is 99 lines. This is one coherent extraction, not the all-at-once decomposition attempted in #79010.Behavior contract
This is a mechanical extraction with no intended behavior change.
The candidate was checked against source pin
c0106e50e7ecedb3ce34e785d949725dc4e0e457:TelegramAdapterresolves every moved method throughTelegramConfigMentionMixin;adapter.py;The bounded Telegram surface remained unchanged through upstream
f51aa6a9b5ce514e15f8e337777f522fd5cc6fa2immediately before publication.Verification
Parent-run canonical files, each with an isolated external pytest temp directory:
tests/gateway/test_telegram_config_mention_seam.pytests/gateway/test_telegram_format.pytests/gateway/test_telegram_mention_boundaries.pytests/gateway/test_telegram_group_gating.pytests/gateway/test_telegram_auth_check.pytests/gateway/test_telegram_callback_auth_fail_closed.pytests/scripts/test_contributor_map.pyParent canonical total: 100 passed, 0 failed.
Additional gates:
python -m compileall -q plugins/platforms/telegram: passgit diff --check: passTwo mutually blind exact-head reviewers independently returned
PASSwith no findings. Their own focused/regression probes returned 97 + 130 passing tests and 80 + 6 passing tests respectively; those are reviewer-specific invocations and are not added to the parent canonical total.Graph gate
This shard advanced through the Feature Package's 5×2×3 gate before implementation:
One defective adjudication artifact that circularly required post-candidate evidence at the pre-implementation gate remains preserved as dissent with no role authority. Its same logical slot was recovered independently; no sixth vote was created.
Coordination and credit
plugins/platforms/telegram/adapter.py. A fresh AST census found zero overlap between its 31 changed adapter methods and this shard's 35 moved methods. It is still a FILE-LIST coordination edge, so merge/rebase order must be explicit rather than silent.Part of #78791.
Tracks the decomposition graph in #78792.