Stage 07.4.3.15 — Isolated debug runtime and debug auto screen
This commit is contained in:
176
docs/stages/stage-07_4_3_15-isolated_debug_runtime.md
Normal file
176
docs/stages/stage-07_4_3_15-isolated_debug_runtime.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# 07.4.3.15 — Isolated Debug Runtime & Debug Auto Screen
|
||||
|
||||
## Цель
|
||||
|
||||
Изолировать debug-режим от обычной автоторговли и добавить отдельный экран:
|
||||
|
||||
```text
|
||||
/debug_auto_screen
|
||||
```
|
||||
|
||||
Теперь debug-команды больше не должны изменять runtime обычной автоторговли.
|
||||
|
||||
---
|
||||
|
||||
## Что было раньше
|
||||
|
||||
Ранее команды:
|
||||
|
||||
```text
|
||||
/debug_exec
|
||||
/debug_live
|
||||
/debug_auto
|
||||
```
|
||||
|
||||
работали напрямую с обычными компонентами автоторговли:
|
||||
|
||||
```text
|
||||
AutoTradeService
|
||||
ExecutionEngine
|
||||
AutoTradeRunner
|
||||
Auto UI
|
||||
```
|
||||
|
||||
Это было удобно для integration testing, но могло загрязнять реальное состояние автоторговли.
|
||||
|
||||
---
|
||||
|
||||
## Что реализовано
|
||||
|
||||
### 1. Отдельный debug state
|
||||
|
||||
Добавлен отдельный debug state:
|
||||
|
||||
```text
|
||||
app/src/trading/debug/state.py
|
||||
```
|
||||
|
||||
Основные структуры:
|
||||
|
||||
```text
|
||||
DebugTradeState
|
||||
DebugPositionState
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2. Отдельный debug execution engine
|
||||
|
||||
Добавлен:
|
||||
|
||||
```text
|
||||
app/src/trading/debug/execution.py
|
||||
```
|
||||
|
||||
Важно:
|
||||
|
||||
```text
|
||||
DebugExecutionEngine не трогает ExecutionEngine._position
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3. Отдельный debug service
|
||||
|
||||
Добавлен:
|
||||
|
||||
```text
|
||||
app/src/trading/debug/service.py
|
||||
```
|
||||
|
||||
Важно:
|
||||
|
||||
```text
|
||||
DebugTradeService не трогает AutoTradeService
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4. Переделаны debug-команды
|
||||
|
||||
Файл:
|
||||
|
||||
```text
|
||||
app/src/telegram/handlers/debug.py
|
||||
```
|
||||
|
||||
Теперь команды работают через изолированный debug runtime.
|
||||
|
||||
---
|
||||
|
||||
### 5. Отключён старый /debug_live
|
||||
|
||||
Команда:
|
||||
|
||||
```text
|
||||
/debug_live
|
||||
```
|
||||
|
||||
больше не вмешивается в обычную автоторговлю.
|
||||
|
||||
---
|
||||
|
||||
### 6. Отдельный debug runner
|
||||
|
||||
Добавлен:
|
||||
|
||||
```text
|
||||
app/src/trading/debug/runner.py
|
||||
```
|
||||
|
||||
Он обновляет только debug screen:
|
||||
|
||||
```text
|
||||
🧪 [DEBUG] Автоторговля
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 7. Отдельный debug auto screen
|
||||
|
||||
Добавлены файлы:
|
||||
|
||||
```text
|
||||
app/src/telegram/handlers/debug_auto/main.py
|
||||
app/src/telegram/handlers/debug_auto/ui.py
|
||||
```
|
||||
|
||||
Открытие экрана:
|
||||
|
||||
```text
|
||||
/debug_auto_screen
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 8. Fresh REST snapshot для debug execution
|
||||
|
||||
Для debug execution добавлен fresh REST snapshot:
|
||||
|
||||
```text
|
||||
ExchangeService.get_fresh_market_snapshot()
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Архитектурный результат
|
||||
|
||||
Теперь debug runtime отделён от обычной автоторговли.
|
||||
|
||||
Было:
|
||||
|
||||
```text
|
||||
debug commands → AutoTradeService / ExecutionEngine / AutoTradeRunner
|
||||
```
|
||||
|
||||
Стало:
|
||||
|
||||
```text
|
||||
debug commands → DebugTradeService / DebugExecutionEngine / DebugTradeRunner
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Следующий этап
|
||||
|
||||
07.4.3.16 — Production Execution Pricing Layer
|
||||
Reference in New Issue
Block a user