# Build 017.3 — Trading Exceptions

**Engineering Build Document**

---

# Контроль документа

| Свойство | Значение |
|----------|-----------|
| Build | 017.3 |
| Название | Trading Exceptions |
| Статус | **Accepted** |
| Подсистема | Trading |
| Layer | Trading |
| Тип | Architecture + Implementation |
| Версия | 1.0 |
| Язык | Русский |

---

# Цель Build

Создать собственную иерархию исключений Trading Layer.

---

# Причина появления Build

После утверждения архитектуры Trading Layer, моделей и публичного контракта необходимо сформировать собственное пространство ошибок.

Каждый архитектурный слой платформы Dzentra использует собственную иерархию исключений, что обеспечивает слабую связанность между слоями и независимую обработку ошибок.

---

# Architecture

Trading Layer получает собственую иерархию исключений:

```text
TradingError
├── InvalidTradingDecisionError
├── TradingValidationError
└── TradingExecutionError
```

Иерархия полностью независима от Runtime Layer и Coordinator Layer.

---

# Architecture Review

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

- Trading Layer имеет собственное пространство ошибок;
- исключения не зависят от Coordinator;
- исключения не зависят от Runtime;
- файл не содержит Validation;
- файл не содержит Rules;
- файл не содержит Service;
- специализированные исключения преждевременно не добавляются.

**Статус:** ✅ Passed

---

# ADR

Принято решение выделить собственную иерархию исключений Trading Layer.

Trading не использует ошибки других слоёв платформы.

Будущие компоненты Validation, Rules и Service будут использовать исключительно `TradingError` и его наследников.

**Статус:** Accepted

---

# Implementation

Создан файл:

```text
app/src/trading/market_intelligence/trading/exceptions.py
```

Реализованы исключения:

```text
TradingError
InvalidTradingDecisionError
TradingValidationError
TradingExecutionError
```

Иерархия соответствует архитектурному стандарту платформы.

---

# Compile Check

```bash
python -m compileall src/trading/market_intelligence
```

Результат:

```text
Passed
```

---

# Domain Review

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

- ошибки относятся только к Trading Layer;
- исключения не пересекаются с Coordinator / Runtime / Engine;
- файл не содержит Validation;
- файл не содержит Rules;
- файл не содержит Service;
- торговая логика отсутствует;
- специализированные ошибки Risk / Position / Entry / Exit не добавлены преждевременно.

**Статус:** ✅ Passed

---

# Code Review

Проверка пройдена.

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

- `TradingError` является базовым исключением Trading Layer;
- все специализированные исключения наследуются только от `TradingError`;
- файл не импортирует другие архитектурные слои;
- отсутствуют лишние зависимости;
- структура полностью соответствует архитектурному стандарту Dzentra.

Замечаний нет.

**Статус:** ✅ Passed

---

# Acceptance

Build завершён.

Выполнены:

- ✅ Architecture Design
- ✅ Architecture Review
- ✅ ADR
- ✅ Build Design
- ✅ Implementation
- ✅ Compile Check
- ✅ Domain Review
- ✅ Code Review
- ✅ Documentation

Статус Build:

```text
Accepted
```

---

# Следующий Build

```text
Build 017.4

Trading Validation

trading/validation.py
```