Files
T
ksv741 13e3e53d06
Specs security / security (push) Successful in 8s
Specs verify / verify (push) Successful in 11s
Conventional commits / commits (pull_request) Successful in 12s
Specs security / security (pull_request) Successful in 7s
Specs verify / verify (pull_request) Successful in 11s
spec: finalize wealth-ledger SDD migration
2026-10-09 20:41:46 +03:00

5.0 KiB

ADDED Requirements

Requirement: Общий фундамент доступен через проверяемые локальные пакеты

Общий визуальный фундамент SHALL принадлежать приватным npm workspaces внутри frontend и иметь явную публичную поверхность. Приложение SHALL использовать пакеты через объявленные exports. Собранные артефакты MUST содержать модули, типы, стили и данные согласно контракту каждого пакета и быть пригодными для проверки вне рабочего дерева frontend. Общие пакеты MUST NOT требовать серверных данных, авторизации, маршрутов или состояния WealthLedger. Совместимость пакетов между собой и с приложением SHALL проверяться; workspace links MUST NOT быть единственным подтверждением пригодности артефактов. Независимые релизы и публикация в registry не входят в этот переход.

Scenario: Приложение потребляет собранную поставку

  • WHEN потребитель устанавливает собранные артефакты в чистом окружении без ссылок на рабочее дерево поставщика
  • THEN публичные модули, типы, стили и данные доступны, общий компонент отображается на заявленной теме без зависимостей от приложения поставщика

Scenario: Локальная разработка скрыла отсутствующий артефакт

  • WHEN локальная ссылка разрешает импорт, отсутствующий в собранной поставке
  • THEN поставка не признаётся готовой по результату одной локальной сборки; потребление именно собранных артефактов должно быть подтверждено отдельно

Scenario: Приложение использует локальные пакеты

  • WHEN frontend устанавливает зависимости из своего lockfile и собирается
  • THEN приватные workspaces доступны через публичные exports без публикации в registry; предметные компоненты и API-клиент остаются в приложении

Requirement: Собственные общие иконки имеют доступный контракт

Общие иконки SHALL иметь предсказуемые размеры и возможность получать цвет от потребителя, не определяя бизнес-смысл операции или состояние приложения. Декоративная иконка MUST NOT создавать отдельную точку фокуса или повторять доступное имя соседнего действия. Смысловая иконка без сопровождающего текста MUST иметь доступное имя. Собственное движение иконки SHALL учитывать предпочтение уменьшенного движения; выбор момента запуска по пользовательскому сценарию SHALL оставаться у потребителя.

Scenario: Иконка находится в именованном действии

  • WHEN собственная иконка дополняет кнопку с доступным именем
  • THEN кнопка сохраняет имя и клавиатурное поведение, а рисунок декоративен и не создаёт дополнительную точку фокуса

Scenario: Рисунок самостоятельно передаёт смысл

  • WHEN иконка используется без текста и без именованного родительского элемента как самостоятельное изображение
  • THEN потребитель задаёт доступное имя, передающее её назначение

Scenario: Пользователь уменьшил движение

  • WHEN включено предпочтение уменьшенного движения
  • THEN необязательная анимация общей иконки не выполняется, а значение и доступность действия сохраняются