# Build №002 — Common Types

## Файл

```text
app/src/trading/market_intelligence/common/types.py
```

## Назначение

Создание общего набора типовых алиасов для подсистемы Market Intelligence.

Файл определяет единый типовой контракт для будущих Engine, payload, диагностики и результатов анализа.

---

## Реализовано

Добавлены типы:

- `SymbolName`
- `TimeframeName`
- `EngineName`
- `EngineVersion`
- `ReasonCode`
- `ReasonText`
- `ScoreValue`
- `ConfidenceValue`
- `ProbabilityValue`
- `WeightValue`
- `AgeSeconds`
- `DurationMs`
- `MetricsDict`
- `PayloadDict`
- `ContextDict`
- `MarketData`
- `DependencyResults`
- `DiagnosticMessages`
- `DiagnosticValue`

Повторно используются существующие типы проекта:

- `JsonDict`
- `JsonList`

из:

```text
src.core.types
```

---

## Архитектурные решения

- используется существующий `core.types` как единый источник истины;
- не создаются дубли `JsonDict` и `JsonList`;
- файл не зависит от runtime, execution, Telegram, Journal, EventBus или Exchange;
- файл не содержит торговой логики;
- комментарии объясняют назначение типов, а не синтаксис Python.

---

## Compile Check

```text
PASSED
```

## Architecture Review

```text
PASSED
```

## Domain Review

```text
PASSED
```

## Обязательные замечания

Нет.

## Рекомендации

`DependencyResults` временно использует `Any`. После появления `EngineResult` в `common/models.py` рекомендуется заменить значение словаря на специализированный тип результата движка.

В будущем допускается переход от универсальных словарей `PayloadDict`, `MetricsDict`, `ContextDict` к специализированным `TypedDict`, если это потребуется для усиления типизации.

## Статус

```text
ACCEPTED
```