Конфликты после #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>
46 lines
5.4 KiB
Markdown
46 lines
5.4 KiB
Markdown
## 1. Ревьюер (RSHB/arm-core#166, AURORA-1589)
|
||
|
||
- [x] 1.1 Влить `origin/main` в ветку `AURORA-1589` (без конфликтов).
|
||
- [x] 1.2 Change `consolidations-ui`: proposal, design (Decisions, Known issues, Decisions made without discussion), спека
|
||
`consolidations-ui` — целевое поведение.
|
||
- [x] 1.3 `web/CLAUDE.md` — `lucide-react` в «Стек»; `web/ARCHITECTURE.md` — новые виджеты экранов консолидаций.
|
||
- [x] 1.4 Гайд фронта по API §5.7 — заметка о зеркале ручных переходов (PR в RSHB/arm-ka-docs, сливать вместе с #166).
|
||
|
||
## 2. Исправления по ревью раунда 1 (ревьюер, решение владельца 23.10.2026)
|
||
|
||
- [x] 2.1 Исправить «Known issues» 1–14 из `design.md` (путь смены статуса, `MANUAL_TRANSITIONS` константой, статус для
|
||
модалки из карточки страницы, ничего не выбрано, кнопка «Изменить статус» по спеке, «Версия», «Только в работе»,
|
||
«⋯» `disabled`, ошибки текстом сервера, [35], «Отменена», пояснения статусов, «+ Создать» от двух ЮЛ, [31-00],
|
||
отступ бокового меню, ошибка загрузки списка, «Ответственный» после «Взять в работу», Sidebar с объектом в thunk).
|
||
- [x] 2.2 Коммит 71ef633 оставить в PR (решение владельца): масштаб сумм на строках без float (`formatScaledAmount`),
|
||
«—» для нулей, дельта `consolidated-osv-ui`.
|
||
- [x] 2.3 Вынести чистые правила из компонентов: `web/src/utils/consolidations.ts` (подписи и пояснения статусов,
|
||
`MANUAL_TRANSITIONS`, `canChangeStatus`, `canSubmitStatusChange`, `isValidReason`, `versionLabel`,
|
||
`parseInWorkOnly`, `canTakeInWork`, `needsUnmappedWarning`, `endSentence`).
|
||
- [x] 2.4 Предупреждение браузера о несохранённых правках — в модалках экранов консолидаций (решение (л)); остальные
|
||
формы — вопрос владельцу (Known issues 16).
|
||
- [x] 2.5 Проверить наличие `lucide-react@0.263.1` в зеркале npm банка (Known issues 15) — есть, подтвердил автор PR.
|
||
- [x] 2.8 Влив main после #158: шапка, «Единицы» и [31-00] перенесены в страницу отчёта с вкладками (решение (ц));
|
||
`tsc`, `biome`, `npm run lint`, `vitest`, `make web-check` — зелёные; сверка на стенде.
|
||
- [x] 2.6 Проверки в копии ветки с `lucide-react`: `tsc --noEmit`, `biome check`, `prettier --check`, `eslint` (0 ошибок,
|
||
предупреждений меньше, чем на main), `vitest run`, `npm run build` — зелёные.
|
||
- [x] 2.7 Сверка на стенде: список [34] (флажок, «Версия», «⋯»), [35] (свободная версия, перехват и гонка — с подменой
|
||
ответа, 403 без права), «Изменить статус» (варианты, пустой выбор, 409 `TRANSITION_NOT_ALLOWED` подменой тела,
|
||
карточка из ответа — подменой ответа; статусы стенда не менялись), [42] (одно / два ЮЛ, без создания), сводная ОСВ
|
||
(единицы, «—»), [31-00] — на временной копии. Сценарий AURORA-1589 со сменой статуса на реальных данных
|
||
(«Отменена» необратима) — за тестировщиком на отдельной версии.
|
||
|
||
## 3. Тесты (ревьюер)
|
||
|
||
- [x] 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).
|