Files
dzentra_bot/docs/migrations/build_024.md

5.8 KiB
Raw Permalink Blame History

Build 024 — Удаление legacy Telegram Market Handler

Статус: Завершён
Дата: 2026-07-12
Подсистема: Telegram UI
Этап: Legacy Cleanup


Цель Build

Полностью удалить устаревший экран Market из Telegram UI после подтверждения, что он больше не используется работающим приложением.

Build является этапом очистки архитектуры после перехода на новую концепцию Dzentra, где:

  • экран «Автоторговля» является основным рабочим интерфейсом;
  • диагностика рынка встроена непосредственно в AutoTrade;
  • отдельный экран «Рынок» больше не существует.

Предпосылки

Ранее были удалены:

  • меню Market;
  • переходы на Market;
  • экран Monitoring;
  • интеграция диагностики рынка в отдельный экран.

Однако файл:

src/telegram/handlers/market.py

оставался в проекте.

Требовалось убедиться, что он действительно является неиспользуемым legacy-компонентом перед его физическим удалением.


Выполненный аудит

Проверены регистрации Telegram Router.

Файл:

src/telegram/routers.py

Подключает только:

start
home
portfolio
auto
journal
debug_auto
debug
system

Router Market отсутствует.


Проверены:

src/main.py
src/telegram/handlers/__init__.py

Импортов:

src.telegram.handlers.market

не обнаружено.


Поиск скрытых зависимостей

Выполнен аудит проекта.

Проверены:

  • import market handler;
  • include_router();
  • callback_data;
  • screen="market";
  • open_market();
  • open_market_from_monitoring();
  • runtime-события.

Выполнены проверки:

grep -RIn \
  --exclude-dir="__pycache__" \
  --exclude="*.pyc" \
  --exclude="market.py" \
  -E "open_market|open_market_from_monitoring|market:retry|market_open_requested|market_open_success|market_open_error|screen=['\"]market['\"]|router.*market|market_router" \
  src tests

и

grep -RIn \
  --exclude-dir="__pycache__" \
  --exclude="*.pyc" \
  --exclude="market.py" \
  -E "src\.telegram\.handlers\.market|telegram\.handlers\.market|handlers\.market" \
  src tests

Результат:

Внешних зависимостей не обнаружено.

Единственное совпадение:

test_get_symbol_runtime_status_checks_freshness_only_for_open_market

оказалось названием unit-теста и не связано с Telegram Market Handler.


Выполненные изменения

Удалён файл:

src/telegram/handlers/market.py

После удаления очищены Python cache:

find src tests \
  -type d \
  -name "__pycache__" \
  -prune \
  -exec rm -rf {} +

Проверка компиляции

Выполнено:

python -m py_compile \
  src/telegram/routers.py \
  src/main.py

Результат:

Ошибок нет.

Полный Regression Suite

Выполнено:

python -m pytest -q

Результат:

471 passed

Финальный аудит

Выполнено:

grep -RIn \
  --exclude-dir="__pycache__" \
  --exclude="*.pyc" \
  -E "src\.telegram\.handlers\.market|telegram\.handlers\.market|handlers\.market|screen=['\"]market['\"]|market:retry|market_open_requested|market_open_success|market_open_error|open_market_from_monitoring" \
  src tests

Результат:

Совпадений не найдено.

Дополнительно подтверждено отсутствие файла:

test ! -f src/telegram/handlers/market.py \
  && echo "legacy market handler removed"

Получен результат:

legacy market handler removed

Архитектурный итог

После завершения Build 024 структура Telegram UI окончательно соответствует новой архитектуре Dzentra.

Активные Router:

Telegram
│
├── start
├── home
├── portfolio
├── auto
├── journal
├── debug_auto
├── debug
└── system

Legacy Market Handler полностью исключён из проекта.


Удалённые legacy-компоненты

Полностью устранены:

src/telegram/handlers/market.py

screen="market"

market:retry

market_open_requested

market_open_success

market_open_error

open_market_from_monitoring

Никаких ссылок на экран Market в проекте больше не существует.


Итог Build

Build 024 полностью завершён.

Подтверждено:

  • выполнён полный аудит подключений Telegram Router;
  • подтверждено отсутствие использования Market Handler;
  • безопасно удалён src/telegram/handlers/market.py;
  • удалены все остаточные ссылки на экран Market;
  • проект успешно проходит компиляцию;
  • полный Regression Suite успешно пройден (471 passed);
  • архитектура Telegram UI очищена от legacy-компонентов.

Статус Build: Завершён.