# Build №005 — Common Scores

## Файл

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

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

Создание единого слоя оценок для Market Intelligence.

Файл определяет общий способ работы с:

- score;
- confidence;
- probability;
- weight;
- weighted score;
- score breakdown.

---

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

Добавлены функции:

- `clamp_score`
- `clamp_confidence`
- `clamp_probability`
- `clamp_weight`
- `classify_score_quality`
- `classify_confidence_level`

Добавлены модели:

- `EngineScore`
- `EngineConfidence`
- `ProbabilityScore`
- `WeightedScore`
- `ScoreBreakdown`

---

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

- все числовые оценки приводятся к безопасным диапазонам;
- score всегда работает в диапазоне `0...100`;
- confidence всегда работает в диапазоне `0...1`;
- probability всегда работает в диапазоне `0...100`;
- weight всегда работает в диапазоне `0...1`;
- числовые значения получают человекочитаемую интерпретацию;
- итоговая оценка может объясняться через `ScoreBreakdown`;
- файл не содержит торговых решений.

---

## Compile Check

```text
PASSED
```

## Architecture Review

```text
PASSED
```

## Domain Review

```text
PASSED
```

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

Нет.

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

После появления `common/validation.py` часть проверок диапазонов может быть повторно использована в механизме валидации EngineResult и Payload.

## Статус

```text
ACCEPTED
```