Ревью PR #242: перечитывание (опрос, удаление, загрузка, подтверждение)
во время догрузки отбрасывало её ответ, а loadingMore оставался true —
спиннер под списком и в переключателе документа не гас. Теперь
перечитывание сразу сбрасывает флаг догрузки.
useScrollSentinel: biome-ignore для trigger с причиной (переподписка
после новой порции файлов).
OpenSpec files-pagination: «Догрузка списка файлов» (primary-files-ui),
опрос перечитывает все показанные страницы, переключатель документа
догружает список при прокрутке (document-review-ui).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- В панели отображается общее число файлов и догружаются следующие страницы (при прокрутке).
- Опрос статусов обработки файлов (раз в 5 секунд) не сбрасывает уже подгруженные страницы.
- Тот же список используется на экране проверки распознавания
Замечание заказчика 09.11.2026, п. 5: флажки почти не видны, заметны только при наведении.
Причины: у агрегата — неактивный (бледно-серый) флажок; у нераспределённой строки рамка
флажка (#d9d9d9) сливалась с приглушённым фоном (#f2f4f7), а исключённая строка затемнялась
целиком вместе с флажком.
- IncludeFlag: флажок с подписью «Да»/«Нет» (как в макете 23.10), у агрегата — зелёная отметка
вместо неактивного флажка, рамка флажка контрастнее;
- includeView (чистая функция, тесты): что показать в колонке для агрегата, нераспределённой
строки и строки ОСВ;
- ячейка флажка не приглушается у исключённой строки;
- спека corrections-table-ui: требование к видимости статуса.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- series/cells/export: одна query-модель на маршрут (QualitySeriesParams, QualityCellParams, QualityExportParams),
иначе FastAPI требовал параметр `filters` и отвечал 422
- _latest_outcomes не тянет payload jsonb
- выгрузка пишет audit_event(EXPORT), тест; design.md: R-12 и исправлено обоснование
- docstring задачи 10: sites 1-3
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Финальное ревью I-1: у неотмеченной строки поле доли скрыто — effectiveRow отправляет
сохранённую долю вместо неверного ввода; подсказка у «Сохранить» называет строки с ошибкой
и предупреждает о скрытых фильтром. design.md goodwill-ui: R-4…R-6.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
OpenSpec change goodwill-ui (таблица, редактирование, переключатель/фильтр/экспорт;
вкладка «Гудвилл» в intercompany-matrix-ui больше не заглушка; R-1…R-3). По стенду:
стрелка раскрытия блока — у названия, «Выделить все» в одну строку, текст пустой таблицы.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Суммы null — прочерк, ноль — 0,00; «Нет вложений» серым без чекбокса; предупреждения
иконкой с подсказкой; итоги «Всего» и «Итого по листу» из groups/totals ответа; в режиме
редактирования — предпросмотр P/G, проверка доли (два знака, без обрезки) и комментария,
групповой чекбокс по действующим строкам блока с indeterminate; сохранение одним пакетом
изменённых строк, ошибка 422 подсвечивает поле своей строки; переключатель «Учитывать
гудвилл в КФО»; фильтр «Нулевые»; экспорт с текущим фильтром.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Типы по schemas/goodwill.py (has_investments, warnings, nullable суммы, groups,
УК в итогах), пакетный saveGoodwillRows, экспорт с sign; utils/goodwill.ts —
parseShare (два знака, без обрезки), previewAmounts в копейках (HALF_UP, как бэк),
matchesSign (null — только «все»), changedRows (только изменённые строки).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Откатены к main правки справочников, шахматки, корректировок и types/api.ts
(обработка ошибок, Alert, удалённые комментарии) — не относятся к AURORA-1544 и
конфликтовали с #219/#221; шахматка переведена на общий фильтр единиц
components/ConsolidationFormatTableFilter; удалены тестовые MOCK_DATA; формат.
План доводки — docs/superpowers/plans/2026-11-06-goodwill-review-front.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- добавлен фильтр по документам
- в запрос на загрузку добавлен параметр documents
- Labeled вынесен в components/, убраны дубли в шахматке, таблице корректировок
Ревью PR #217, раунд 2:
- после записи (без «Пробного прогона») показывается та же сводка с заголовком
«Импорт завершён» и одной кнопкой «Закрыть»; список справочника обновляется сразу;
- «ГК/ЮЛ пропущено» → «без изменений»: это GK_EXISTS/LE_EXISTS, не ошибки;
- таблица «Ошибки и предупреждения»: кроме шести кодов пропуска — предупреждения
RF_CREATED и UNKNOWN_FLAG (§13.2) с тегом уровня;
- тесты issueLines.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- клиент на единый POST …/intercompany-matrix и …/export
- матрица: колонка «Итого Дт» и строка «Итого Кт» из total_debit/total_credit,
клиентское сложение убрано
- фильтр «Компании» уходит в запрос (legal_entity_ids), варианты — весь
периметр из ответа без выбора; выгрузка с тем же выбором
- результирующая таблица без строки «Итого», колонка «Итого по группе»
- change intercompany-matrix-totals-ui
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Фронт закладывал >= 5% (R-34, из неоднозначного текста контракта
«от 5% включительно»), а API 1540 (domain/corrections.py) считает
строго больше. Приведены к факту: живой контроль окна (editorModel),
подпись фильтра «Отклонение, %», тест на границе (ровно 5.00% больше
не красный, добавлен случай 5.01%).
Реальный контракт AURORA-1540/1751 не дал единой POST .../allocations:
решение по строке разбито на PUT/DELETE .../vgo-assignments/rule
(привязка/снятие правила) и PUT .../vgo-assignments/exclude (КФО),
ответ — список VgoAssignmentOut, а не вся таблица. allocate()
маршрутизирует по action и перечитывает таблицу сама — вызывающий код
(CorrectionContent, CorrectionEditorModal) не менялся.
Фейк контракта (CORRECTIONS_MOCK) убран — API уже есть. mockData/mockCalc
остаются тестовыми фикстурами (R-27).
Проверено на реальном стенде (Русский Бисквит — 2025 К1): загрузка
таблицы, EXCLUDE/INCLUDE, ASSIGN, снятие правила, сохранение
корректировки, экспорт — без ошибок в консоли.
Нужно для DELETE .../vgo-assignments/rule (снятие правила) — API
ждёт statement_type/entry_ids в теле. Единственный прежний вызов
(files.ts, без тела) не затронут.
AppModal не задаёт margin у ant-modal-header, только padding — без
инлайн-override возвращался зазор, убранный в AURORA-1589 раньше.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>