Перейти к основному содержимому

ADR 0040 — Валюта дашборда: пока USD, ручной курс по workspace отложен

Контекст​

Верность дашборда проектов одобренному макету (design/SCREENS.md, design/COMPONENTS.md) потребовала, чтобы строка сводки и компактный TokenMeter карточки показывали расход и остаток — то, чего у compact TokenMeter до сих пор даже не было (вариант существовал лишь с полосой/процентом, без какого-либо нижнего колонтитула стоимости).

Базовый макет показывает пару "R$ X · US$ Y" везде, где появляется стоимость — это шаблон TokenMeter default/live, используемых сегодня в ProjectPage.tsx (заголовок проекта) и SessionPage.tsx (верхняя панель чата). Но в системе нет никакого источника курса: costBRL всегда приходил как 0 на стороне дашборда (ProjectCardContainer в Dashboard.tsx никогда не вычислял для него реального значения), и нет ни предпочтения валюты по workspace, ни настраиваемого курса конвертации где-либо в домене. Появлявшийся "R$" на практике всегда был нулём — фантомные данные.

Решение​

  1. Строка сводки дашборда и новый нижний колонтитул TokenMeter compact показывают только USD. Это исходная валюта: цены моделей в apps/api/src/domain/llm/ (MODEL_SEEDS seed, таблица models) изначально в micro-USD — никакой конвертации не требуется, лишь форматирование (apps/web/src/lib/currency.ts, usdFmt).
  2. Расхождение ИЗОЛИРОВАНО этой поверхностью. TokenMeter default (заголовок проекта) и live (верхняя панель сессии) продолжают показывать "R$ X · US$ Y" ровно как сегодня — их не трогали. Смена валюты — область карточки дашборда и строки сводки, а не всего компонента.
  3. Предпочтение валюты по workspace с редактируемым ручным курсом ЗАФИКСИРОВАНО и ОТЛОЖЕНО. Не реализовано в этой поставке. Когда оно появится, естественный дизайн — поле в workspaces (или собственная таблица) с currency + manualExchangeRate, разрешаемое при форматировании на стороне backend или клиента, — но фиксировать эту форму сейчас, без второго случая использования, давящего на дизайн, было бы гаданием.

Последствия​

  • Фантомный "R$ 0,00", появлявшийся в карточке дашборда, исчезает — остающееся значение (USD) — единственное, которое система сегодня действительно умеет вычислять.
  • Кто хочет видеть стоимость в R$, по-прежнему имеет её в заголовке проекта и в чате (default/live), лишь не в карточке списка и не в сводке.
  • Ручной курс по workspace — реальная работа, не закрытая этим ADR: когда кому-то он понадобится, отправная точка — этот документ, а не новое решение с нуля.