Общая визуальная основа вынесена в приватные workspaces tokens/ui/icons внутри frontend. AppShell принадлежит app; dependency-cruiser запрещает same-layer cross-slice imports. Потребители используют exports пакетов, формы сохраняют предметную логику в приложении.
Проверено: npm ci и npm run verify (49 файлов, 282 теста), отрицательная проверка import rule, packed consumer, браузерные проверки. Reduced motion и touch-поведение подтверждены пользователем вручную. Публикация пакетов и релиз не входят в изменение.
OpenSpec change: evolve-frontend-stack.
Ветка также содержит ранее подготовленные исправления auth/session races, validation/conflict API contract, проверки immutable release images и контраста финансового текста. История этих коммитов сохраняется.
Общая визуальная основа вынесена в приватные workspaces tokens/ui/icons внутри frontend. AppShell принадлежит app; dependency-cruiser запрещает same-layer cross-slice imports. Потребители используют exports пакетов, формы сохраняют предметную логику в приложении.
Проверено: npm ci и npm run verify (49 файлов, 282 теста), отрицательная проверка import rule, packed consumer, браузерные проверки. Reduced motion и touch-поведение подтверждены пользователем вручную. Публикация пакетов и релиз не входят в изменение.
OpenSpec change: evolve-frontend-stack.
Ветка также содержит ранее подготовленные исправления auth/session races, validation/conflict API contract, проверки immutable release images и контраста финансового текста. История этих коммитов сохраняется.
Связанные PR: [frontend #34](https://git.personal.ksv741.ru/WealthLedger/frontend/pulls/34), [docs #21](https://git.personal.ksv741.ru/WealthLedger/docs/pulls/21), [specs #15](https://git.personal.ksv741.ru/WealthLedger/specs/pulls/15).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Общая визуальная основа вынесена в приватные workspaces tokens/ui/icons внутри frontend. AppShell принадлежит app; dependency-cruiser запрещает same-layer cross-slice imports. Потребители используют exports пакетов, формы сохраняют предметную логику в приложении.
Проверено: npm ci и npm run verify (49 файлов, 282 теста), отрицательная проверка import rule, packed consumer, браузерные проверки. Reduced motion и touch-поведение подтверждены пользователем вручную. Публикация пакетов и релиз не входят в изменение.
OpenSpec change: evolve-frontend-stack.
Ветка также содержит ранее подготовленные исправления auth/session races, validation/conflict API contract, проверки immutable release images и контраста финансового текста. История этих коммитов сохраняется.
Связанные PR: frontend #34, docs #21, specs #15.
f876411a37to85fcfe3d07