# 07.4.3.19.4 — Journal Runtime Standardization & Export Layer

## Статус

Этап завершён.

## Цель этапа

Цель этапа — завершить стандартизацию runtime-журнала, унифицировать execution/runtime/event logging, очистить legacy-style события и подготовить журнал к следующему этапу фильтрации, поиска и аналитики.

После этапа 07.4.3.19.3 журнал уже содержал signal intent layer и noise filtering, но оставались:

- разные стили event naming
- legacy paper_* event_type
- смешанные runtime/runtime-ui сообщения
- несогласованные execution-сообщения
- разные стили export/runtime notifications

Этап 07.4.3.19.4 завершает переход к единому audit/runtime journal.

---

## Что изменено

### 1. Унифицированы execution event_type

Старые paper-style event_type заменены на единый runtime-style:

Было:

- paper_position_opened
- paper_position_closed
- paper_position_flipped
- paper_flip_blocked

Стало:

- position_opened
- position_closed
- position_flipped
- position_flip_blocked

Это упрощает дальнейшую фильтрацию и экспорт журнала.

---

### 2. Execution-сообщения приведены к единому стилю

Execution runtime-сообщения теперь используют единый human-readable стиль.

Примеры:

- Позиция LONG открыта.
- Позиция SHORT закрыта.
- Направление позиции изменено: LONG → SHORT.
- Смена направления позиции заблокирована.

Убраны:

- Paper ENTRY
- Paper EXIT
- FLIP выполнен
- flip blocked technical text

---

### 3. Унифицированы runtime market events

Market runtime logging переведён в единый monitoring-style.

Добавлены стандартизированные события:

- market_monitor_started
- market_monitor_stopped
- market_stream_connected
- market_stream_disconnected
- market_symbol_changed

Runtime payload теперь содержит:

- runtime_key
- runtime_screen
- runtime_label
- cache_symbol
- ws_symbol

---

### 4. Унифицирован журнал экспорта

Экспорт журнала переведён в unified export layer.

Добавлены:

- journal_exported
- journal_export_error

Экспорт теперь использует единый account-aware filename:

- journal_demo_info_plus_YYYY-MM-DD_HH-MM-SS.csv
- journal_live_info_plus_YYYY-MM-DD_HH-MM-SS.xlsx

---

### 5. Добавлен account-mode prefix

Все UI/runtime journal-сообщения теперь автоматически получают account-mode prefix:

- [DEMO]
- [LIVE]

Prefix формируется через JournalService.

Это подготавливает систему к multi-runtime и multi-account support.

---

### 6. Унифицированы risk-control события

Risk settings logging переведён в user-oriented формат.

Добавлены:

- risk_settings_updated

Убраны технические debug-style risk messages.

---

### 7. Унифицированы journal UI titles

journal_ui.py переведён на централизованный EVENT_TITLES mapping.

Теперь journal renderer отображает:

- понятные runtime titles
- human-readable execution names
- единый visual style

---

## Что больше не пишется в журнал

Из runtime journal удалены:

- legacy paper_* event_type
- flip technical spam
- execution debug text
- duplicate runtime-notification messages
- mixed runtime/export wording
- raw monitoring tool messages

---

## Что остаётся в журнале

После этапа журнал содержит только полезные runtime-аудит события:

- signal summary
- READY signals
- execution events
- blocked flip
- market runtime events
- export events
- notification errors
- journal/system critical events

---

## Основные изменённые файлы

- app/src/trading/execution/engine.py
- app/src/trading/auto/service.py
- app/src/integrations/exchange/market_data_runner.py
- app/src/telegram/handlers/journal_ui.py
- app/src/telegram/handlers/journal.py
- app/src/trading/journal/service.py
- app/src/telegram/handlers/auto/risk.py
- app/src/notifications/service.py
- app/src/notifications/channels/telegram.py

---

## Проверка

После правок необходимо выполнить:

    python -m compileall src
    python -m src.main

После запуска проверить:

1. В журнале больше нет paper_* event_type.
2. Все execution events отображаются единообразно.
3. Flip-blocked отображается как user-readable событие.
4. Export CSV/XLSX работает.
5. Journal filename содержит account mode.
6. Market runtime использует unified titles.
7. [DEMO]/[LIVE] prefix отображается корректно.
8. Старые debug-style runtime messages больше не появляются.

---

## Roadmap Update

#### 07.4.3.19.3 ✅ Strategy Noise Filter & Signal Intent Layer
- убрано журналирование одиночных BUY / SELL без серии
- HOLD-серии переведены с repeat-count на duration формат
- добавлен формат 🟡 HOLD 5м 36с завершён сигналом SELL
- добавлен signal_intent в payload сигналов
- добавлены intent-типы ENTRY_CANDIDATE, REVERSAL_CANDIDATE, REINFORCE_POSITION, HOLD_MARKET, NOISE
- добавлена position-aware интерпретация сигналов
- добавлено отдельное событие готового сигнала
- подготовлена база для стандартизации журнала в 07.4.3.19.4

#### 07.4.3.19.4 ✅ Journal Runtime Standardization & Export Layer
- унифицированы execution event_type
- удалены legacy paper_* события
- execution logging переведён в единый human-readable стиль
- унифицированы market runtime events
- стандартизирован export logging
- добавлены account-aware export filename
- добавлены [DEMO]/[LIVE] runtime prefixes
- унифицированы risk-control journal events
- централизован EVENT_TITLES mapping
- журнал подготовлен к filters/search layer

---

## Итог

Этап завершил переход журнала от debug/runtime telemetry к полноценному runtime audit layer.

Система получила:

- единый execution logging
- account-aware runtime journal
- стандартизированные runtime events
- unified export layer
- human-readable execution events
- подготовку к следующему этапу journal filters/search/analytics.

