Andrey Epifancev 36224dd81c Merge origin/main в AURORA-1589: шапка, «Единицы» и [31-00] — в страницу отчёта с вкладками #158 (ревью #166)
Конфликты после #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>
2026-10-23 10:59:14 +04:00

5.4 KiB
Raw Blame History

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).