feat: add market data architecture and complete migration through build 039
This commit is contained in:
290
docs/migrations/build_024.md
Normal file
290
docs/migrations/build_024.md
Normal file
@@ -0,0 +1,290 @@
|
||||
# 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:** ✅ Завершён.
|
||||
Reference in New Issue
Block a user