§5 п. 2a: в агрегаты и нераспределённые идут только строки между разными компаниями
периметра версии; строка с ручным решением аналитика остаётся видна. На копии стенда
нераспределённых РБ 2025 К1 — 37 → 3, РБ 2024 К3 — 31 → 3 (вместе с «76-исключениями»).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Замечание заказчика 09.11.2026, п. 1: счета 76 (аренда, НДС) не должны участвовать в
расчётах и засорять таблицу корректировок. Список субсчетов — Лысенко 10.11.2026.
- seed правил v1 (правка на месте, решение владельца 10.11.2026): из маски 76 на обеих
сторонах правил 5–8 исключены 76.07/76.27/76.37 .1/.5/.9, 76.АВ, 76.ВА, 76.К, 76.Н, 76.НА,
76.ОТ; правило 1 не меняется; на стендах нужен повторный seed;
- результирующая таблица §6 (RESULT_ARTICLES) — тот же список ACCOUNT_76_EXCLUDED, совпадение
с seed проверяет тест;
- дефект: VgoService._rule_accounts сливал счета дебета и кредита правила, исключения одной
стороны возвращались через маску другой — Кт-строки 76.* попадали в правила 5–8 и висели
в нераспределённых (MULTIPLE_RULES); то же в candidate_rule_ids. Теперь account_owners
ведёт стороны раздельно, правило строки — по её стороне (row_side, rules_for);
- golden-тест правила 6 на фикстурах РБ: 76.АВ вне правила, ΣA 108 062 446,46, 1,65 %
(совпадает с эталоном, OQ-164).
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: сохранённая доля неактивной строки нормализуется (numeric(7,4) читается как 80.1200)
и не даёт INVALID_SHARE при null в пакете; экспорт помечает строку «Нет вложений» (сценарий
спеки); design/tasks/docstring без устаревшего «построчного» PUT, R-7/R-8.
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>
Тест контракта читает ../docs/dev/api-contract-goodwill.openapi.yaml (без docs — skip);
README: раздел гудвилла и коды INVALID_SHARE/DUPLICATE_ROW/MONEY_OUT_OF_RANGE;
OpenSpec goodwill-table: пакетное сохранение, доля два знака, итоги по ГО и УК,
единицы, Decisions made without discussion R-1…R-6.
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>
StatementsEngine.canonical_units — нормализация подписи единиц шаблонами пакета;
УК ДО переводится в рубли и при единицах, исправленных аналитиком вручную.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PUT …/goodwill {rows: [...]} вместо построчного PUT …/goodwill/{head}/{sub}: все строки
проверяются до записи, ошибка любой (NOT_FOUND, INVALID_SHARE, COMMENT_REQUIRED,
MONEY_OUT_OF_RANGE, DUPLICATE_ROW) несёт ключ пары и откатывает пакет; неизменённые
строки не перезаписываются и аудит не пишут (DOC-259025 §5.1 п. 4).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
participation() — единственное место формулы доли участия; totals с УК, group_totals
по ГО, GoodwillTableOut.groups; экспорт берёт «Всего» и «Итого по листу» из ответа таблицы;
доля 0–100 не больше двух знаков (DOC-259025 §5.2), ответ — два знака.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Удалены contributions/load_for_kfo и фильтры общего свода ОСВ (load_osv_rows,
build_with_members возвращены к main); OpenSpec change без требований вклада КФО.
План доводки по ревью — docs/superpowers/plans/2026-11-06-goodwill-review-back.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ревью PR #217, раунд 2:
- после записи (без «Пробного прогона») показывается та же сводка с заголовком
«Импорт завершён» и одной кнопкой «Закрыть»; список справочника обновляется сразу;
- «ГК/ЮЛ пропущено» → «без изменений»: это GK_EXISTS/LE_EXISTS, не ошибки;
- таблица «Ошибки и предупреждения»: кроме шести кодов пропуска — предупреждения
RF_CREATED и UNKNOWN_FLAG (§13.2) с тегом уровня;
- тесты issueLines.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>