290 lines
5.8 KiB
Markdown
290 lines
5.8 KiB
Markdown
# Build 024 — Удаление legacy Telegram Market Handler
|
||
|
||
**Статус:** ✅ Завершён
|
||
**Дата:** 2026-07-12
|
||
**Подсистема:** Telegram UI
|
||
**Этап:** Legacy Cleanup
|
||
|
||
---
|
||
|
||
# Цель Build
|
||
|
||
Полностью удалить устаревший экран **Market** из Telegram UI после подтверждения, что он больше не используется работающим приложением.
|
||
|
||
Build является этапом очистки архитектуры после перехода на новую концепцию Dzentra, где:
|
||
|
||
- экран **«Автоторговля»** является основным рабочим интерфейсом;
|
||
- диагностика рынка встроена непосредственно в AutoTrade;
|
||
- отдельный экран **«Рынок»** больше не существует.
|
||
|
||
---
|
||
|
||
# Предпосылки
|
||
|
||
Ранее были удалены:
|
||
|
||
- меню Market;
|
||
- переходы на Market;
|
||
- экран Monitoring;
|
||
- интеграция диагностики рынка в отдельный экран.
|
||
|
||
Однако файл:
|
||
|
||
```text
|
||
src/telegram/handlers/market.py
|
||
```
|
||
|
||
оставался в проекте.
|
||
|
||
Требовалось убедиться, что он действительно является неиспользуемым legacy-компонентом перед его физическим удалением.
|
||
|
||
---
|
||
|
||
# Выполненный аудит
|
||
|
||
Проверены регистрации Telegram Router.
|
||
|
||
Файл:
|
||
|
||
```text
|
||
src/telegram/routers.py
|
||
```
|
||
|
||
Подключает только:
|
||
|
||
```text
|
||
start
|
||
home
|
||
portfolio
|
||
auto
|
||
journal
|
||
debug_auto
|
||
debug
|
||
system
|
||
```
|
||
|
||
Router Market отсутствует.
|
||
|
||
---
|
||
|
||
Проверены:
|
||
|
||
```text
|
||
src/main.py
|
||
```
|
||
|
||
```text
|
||
src/telegram/handlers/__init__.py
|
||
```
|
||
|
||
Импортов:
|
||
|
||
```python
|
||
src.telegram.handlers.market
|
||
```
|
||
|
||
не обнаружено.
|
||
|
||
---
|
||
|
||
# Поиск скрытых зависимостей
|
||
|
||
Выполнен аудит проекта.
|
||
|
||
Проверены:
|
||
|
||
- import market handler;
|
||
- include_router();
|
||
- callback_data;
|
||
- screen="market";
|
||
- open_market();
|
||
- open_market_from_monitoring();
|
||
- runtime-события.
|
||
|
||
Выполнены проверки:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
и
|
||
|
||
```bash
|
||
grep -RIn \
|
||
--exclude-dir="__pycache__" \
|
||
--exclude="*.pyc" \
|
||
--exclude="market.py" \
|
||
-E "src\.telegram\.handlers\.market|telegram\.handlers\.market|handlers\.market" \
|
||
src tests
|
||
```
|
||
|
||
Результат:
|
||
|
||
```
|
||
Внешних зависимостей не обнаружено.
|
||
```
|
||
|
||
Единственное совпадение:
|
||
|
||
```text
|
||
test_get_symbol_runtime_status_checks_freshness_only_for_open_market
|
||
```
|
||
|
||
оказалось названием unit-теста и не связано с Telegram Market Handler.
|
||
|
||
---
|
||
|
||
# Выполненные изменения
|
||
|
||
Удалён файл:
|
||
|
||
```text
|
||
src/telegram/handlers/market.py
|
||
```
|
||
|
||
После удаления очищены Python cache:
|
||
|
||
```bash
|
||
find src tests \
|
||
-type d \
|
||
-name "__pycache__" \
|
||
-prune \
|
||
-exec rm -rf {} +
|
||
```
|
||
|
||
---
|
||
|
||
# Проверка компиляции
|
||
|
||
Выполнено:
|
||
|
||
```bash
|
||
python -m py_compile \
|
||
src/telegram/routers.py \
|
||
src/main.py
|
||
```
|
||
|
||
Результат:
|
||
|
||
```
|
||
Ошибок нет.
|
||
```
|
||
|
||
---
|
||
|
||
# Полный Regression Suite
|
||
|
||
Выполнено:
|
||
|
||
```bash
|
||
python -m pytest -q
|
||
```
|
||
|
||
Результат:
|
||
|
||
```
|
||
471 passed
|
||
```
|
||
|
||
---
|
||
|
||
# Финальный аудит
|
||
|
||
Выполнено:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
Результат:
|
||
|
||
```
|
||
Совпадений не найдено.
|
||
```
|
||
|
||
Дополнительно подтверждено отсутствие файла:
|
||
|
||
```bash
|
||
test ! -f src/telegram/handlers/market.py \
|
||
&& echo "legacy market handler removed"
|
||
```
|
||
|
||
Получен результат:
|
||
|
||
```text
|
||
legacy market handler removed
|
||
```
|
||
|
||
---
|
||
|
||
# Архитектурный итог
|
||
|
||
После завершения Build 024 структура Telegram UI окончательно соответствует новой архитектуре Dzentra.
|
||
|
||
Активные Router:
|
||
|
||
```text
|
||
Telegram
|
||
│
|
||
├── start
|
||
├── home
|
||
├── portfolio
|
||
├── auto
|
||
├── journal
|
||
├── debug_auto
|
||
├── debug
|
||
└── system
|
||
```
|
||
|
||
Legacy Market Handler полностью исключён из проекта.
|
||
|
||
---
|
||
|
||
# Удалённые legacy-компоненты
|
||
|
||
Полностью устранены:
|
||
|
||
```text
|
||
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:** ✅ Завершён. |