Files
specs/openspec/changes/archive/2026-08-24-add-instrument-logos/proposal.md
T

38 lines
4.4 KiB
Markdown

# Proposal: add-instrument-logos
## Why
Список акций в портфеле сейчас полностью текстовый: позиции распознаются по имени и ISIN, что замедляет визуальный поиск нужной бумаги, когда позиций много. Брендовые логотипы инструментов уже предоставляются upstream T-Bank в составе metadata инструмента, поэтому узнаваемость позиций можно повысить без новых интеграций. Заодно карточки акций получают больше места: переход на одну карточку в ряд улучшает читаемость ключевых метрик и даёт логотипу естественное место в композиции.
## What Changes
- В секции «Акции» портфеля каждая карточка позиции показывает визуальный логотип бренда инструмента; если логотипа нет или он недоступен, вместо него показывается текстовый фолбэк (первая буква названия).
- Карточки позиций в секции «Акции» отображаются по одной в ряду.
- В карточке акции абсолютная доходность показывается как значение с явным знаком (`+`/`-`, ноль — без знака) и существующей цветовой индикацией знака, без текстовой подписи «Доход:».
- Ответ Portfolio дополняется опциональной metadata позиции — именем файла логотипа бренда инструмента, когда оно есть upstream; клиенты решают сами, где её показывать.
**Non-goals:**
- Облигации и «прочие» типы позиций не меняются: текущая адаптивная многоколоночная сетка, состав метрик и подпись доходности сохраняются.
- События счёта (предстоящие и недавние) и история операций не затрагиваются.
- Собственный хостинг или проксирование изображений не вводятся; изображения загружаются клиентом напрямую из публичного источника бренда T-Bank.
- Финансовые расчёты, нормализация значений и агрегаты Portfolio не меняются.
## Capabilities
### New Capabilities
<!-- none -->
### Modified Capabilities
- `portfolio-view`: в требования к нормализованному составу Portfolio добавляется опциональная metadata логотипа бренда Portfolio Position (nullable, не влияет на успешность и свежесть Snapshot); в требованиях к отображению на клиенте секция «Акции» получает одноколоночную раскладку, логотип бренда с текстовым фолбэком и доходность со знаком без подписи. Требования для секций облигаций и прочих типов сохраняются без изменений.
## Impact
- **Пользователи**: новый вид списка акций в портфеле (логотипы, одна карточка в ряду, доходность со знаком); облигации и прочие типы выглядят как раньше.
- **Публичный контракт Portfolio**: новое необязательное nullable поле metadata позиции; обратно совместимо.
- **Backend**: обогащение metadata инструмента именем файла бренда из upstream.
- **Frontend**: отображение секции «Акции» портфеля; обновление snapshot контракта.
- **Docs**: новый термин «Instrument Logo» в доменном глоссарии; as-built описание портфеля.