Конфликты после #158 (страница отчёта с вкладками по адресу): - layouts/ConsolidationReportPage: пояснение статуса, тег, «Изменить статус» и модалка [33-01] из ConsolidatedOsvPage; - widgets/ConsolidatedOsvContent: «Единицы / Знаков» и onUnmappedChange (unmapped_total наверх); - OsvTabs: вкладки по адресу из main + модалка [31-00] при уходе с «ОСВ»; - types/api.ts: обе части. Спека consolidations-ui: решение (ц), Known issues 11 и 15 (lucide-react в зеркале есть), tasks 2.5, 2.8; ARCHITECTURE.md и web/CLAUDE.md — новая страница отчёта. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
1. Ревьюер (RSHB/arm-core#166, AURORA-1589)
- 1.1 Влить
origin/mainв веткуAURORA-1589(без конфликтов). - 1.2 Change
consolidations-ui: proposal, design (Decisions, Known issues, Decisions made without discussion), спекаconsolidations-ui— целевое поведение. - 1.3
web/CLAUDE.md—lucide-reactв «Стек»;web/ARCHITECTURE.md— новые виджеты экранов консолидаций. - 1.4 Гайд фронта по API §5.7 — заметка о зеркале ручных переходов (PR в RSHB/arm-ka-docs, сливать вместе с #166).
2. Исправления по ревью раунда 1 (ревьюер, решение владельца 23.10.2026)
- 2.1 Исправить «Known issues» 1–14 из
design.md(путь смены статуса,MANUAL_TRANSITIONSконстантой, статус для модалки из карточки страницы, ничего не выбрано, кнопка «Изменить статус» по спеке, «Версия», «Только в работе», «⋯»disabled, ошибки текстом сервера, [35], «Отменена», пояснения статусов, «+ Создать» от двух ЮЛ, [31-00], отступ бокового меню, ошибка загрузки списка, «Ответственный» после «Взять в работу», Sidebar с объектом в thunk). - 2.2 Коммит
71ef633оставить в PR (решение владельца): масштаб сумм на строках без float (formatScaledAmount), «—» для нулей, дельтаconsolidated-osv-ui. - 2.3 Вынести чистые правила из компонентов:
web/src/utils/consolidations.ts(подписи и пояснения статусов,MANUAL_TRANSITIONS,canChangeStatus,canSubmitStatusChange,isValidReason,versionLabel,parseInWorkOnly,canTakeInWork,needsUnmappedWarning,endSentence). - 2.4 Предупреждение браузера о несохранённых правках — в модалках экранов консолидаций (решение (л)); остальные формы — вопрос владельцу (Known issues 16).
- 2.5 Проверить наличие
lucide-react@0.263.1в зеркале npm банка (Known issues 15) — есть, подтвердил автор PR. - 2.8 Влив main после #158: шапка, «Единицы» и [31-00] перенесены в страницу отчёта с вкладками (решение (ц));
tsc,biome,npm run lint,vitest,make web-check— зелёные; сверка на стенде. - 2.6 Проверки в копии ветки с
lucide-react:tsc --noEmit,biome check,prettier --check,eslint(0 ошибок, предупреждений меньше, чем на main),vitest run,npm run build— зелёные. - 2.7 Сверка на стенде: список [34] (флажок, «Версия», «⋯»), [35] (свободная версия, перехват и гонка — с подменой
ответа, 403 без права), «Изменить статус» (варианты, пустой выбор, 409
TRANSITION_NOT_ALLOWEDподменой тела, карточка из ответа — подменой ответа; статусы стенда не менялись), [42] (одно / два ЮЛ, без создания), сводная ОСВ (единицы, «—»), [31-00] — на временной копии. Сценарий AURORA-1589 со сменой статуса на реальных данных («Отменена» необратима) — за тестировщиком на отдельной версии.
3. Тесты (ревьюер)
- 3.1 vitest на вынесенные функции: «Версия» (1 → пусто, 2 → «2»); переходы — совпадение с
MANUAL_TRANSITIONSи пустой список дляVERIFIED,CANCELLED, статусов Среза 7; кнопка «Изменить статус» (своя / чужая / нет блокировки × есть / нет переходов); модалка — нет выбора, комментарий из пробелов;in_work_onlyпо умолчаниюfalse; подписи «Корректировка данных», «Отменена»; пояснение не равно подписи; причина ровно 1000 символов;formatScaledAmount(сдвиг, округление, ноль, большие суммы без потери разрядов).
4. После слияния
- 4.1 Тексты пояснений статусов первой очереди от аналитика вместо временных (решение (б)).
- 4.2 С маршрутом согласования (Срез 7): допустимые переходы из API вместо зеркала (D-1), MODIFIED-дельта спеки.
- 4.3 ГСК консолидации в API — колонка «ГСК» и текст модалки [35] (D-8).