609 Commits

Author SHA1 Message Date
aep
6433c23cf0 Merge pull request 'Архив OpenSpec elimination-pairs-rule-totals (PR #175)' (#177) from chore/175-archive-elimination-pairs into main 2026-10-23 22:02:36 +03:00
Andrey Epifancev
9c57f680af Архив OpenSpec elimination-pairs-rule-totals (PR #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:02:24 +04:00
aep
393bd4c484 Merge pull request 'AURORA-1536 пары ВГО §5, DBML v5.23' (#175) 2026-10-23 22:01:58 +03:00
Andrey Epifancev
8940f32ae3 fix: пары ВГО — суммы со знаком, процент в упаковке, deviation_amount (ревью #175, AURORA-1536)
- суммы сторон со знаком, как в шахматке; строки с суммой < 0 в упаковку не идут, причина NEGATIVE_AMOUNT;
  при min(ΣA, ΣB) ≤ 0 процент null и элиминация 0, статус списка AUTO — только при элиминации > 0
- группы одного размера выбираются по проценту расхождения к меньшей сумме (точной дробью), ничья — по равному проценту
- elimination_amount группы и тройки переименован в deviation_amount; version_no тройки обязателен
- суммы и проценты пар в JSON — с двумя знаками
- elimination-pairs по правилу с measure ≠ closing — 422 INVALID_RULE
- дельта спеки, design.md (R-7, R-8), tasks, README

make check-full: exit 0 (1896 passed; integration 990 passed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:47:47 +04:00
Andrey Epifancev
fdb1f179cc docs(openspec): elimination-pairs-rule-totals — дельта вместо правки основной спеки, решения, README (ревью #175)
Основная спека consolidations-api возвращена к main: фиксация версии правил,
пары тройки и список версии — в дельте change (MODIFIED «Создание
консолидации», ADDED «Пары ВГО тройки», «Пары ВГО версии», «Правила
элиминации зафиксированной версии», REMOVED старое требование правил);
data-model — DBML 5.23 и миграция 0010. design.md — решения владельца 23.10
и «Decisions made without discussion» R-1…R-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:44:31 +04:00
Andrey Epifancev
b4522addc0 feat: DBML v5.23 — версия правил обязательна; список пар ВГО версии (ревью #175, AURORA-1536)
- consolidation_version.elimination_rules_version NOT NULL: миграция 0010
  проставляет существующим версиям номер правил, действовавших на дату
  создания (по Москве), иначе последних открытых; без правил — отказ;
  создание версии без действующих правил — 409 ELIMINATION_RULES_MISSING;
  ветки «правила не зафиксированы» убраны (rules, preset, is_version_fixed
  всегда true);
- GET …/elimination-totals: все тройки «правило ББ × упорядоченная пара
  периметра» с ΣA, ΣB, расхождением, суммой элиминации, статусом
  AUTO/DISCREPANCY/ONE_SIDED/MANUAL и osv_entry_ids; сводная ОСВ строится
  один раз; сбор строк сторон вынесен в _collect_rule_sides — общий
  с упаковкой тройки.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:42:10 +04:00
Andrey Epifancev
812e530fe5 style: ruff format elimination_packing (ревью #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:42:10 +04:00
Andrey Epifancev
888ad4b401 Merge origin/main в AURORA-1536 (ревью #175)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:34:35 +04:00
aep
1b3f85c88c Merge pull request 'Архив OpenSpec retry-recognition-and-edit-osv-header (PR #161)' (#176) from chore/161-archive-retry-recognition into main 2026-10-23 17:20:23 +03:00
Andrey Epifancev
70c5743c77 Архив OpenSpec retry-recognition-and-edit-osv-header (PR #161)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:20:08 +04:00
aep
4d3e596337 Merge pull request 'AURORA-1442: ручки возобновления обработки файла или версии консолидации, ручка обновления данных по осв' (#161) from feat/renew-processing-timeout into main 2026-10-23 17:19:20 +03:00
Andrey Epifancev
3bc71a912d refactor(retry): версии уже отобраны по статусу в запросе (ревью #161, раунд 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:19:08 +04:00
Andrey Epifancev
b5520696ef chore: DBML v5.22 — версия ORM и ссылки (ревью #161, AURORA-1446)
v5.22 структуру БД не меняет (comment.object_type: убраны chess_cell и
kfo_result_line из описания), миграция не нужна.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 17:59:35 +04:00
Andrey Epifancev
e13cd88fea Merge origin/main в feat/renew-processing-timeout (ревью #161, раунд 2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 17:59:00 +04:00
PotapovaA
827b490137 тесты + немного поправлен формат выходных данных 2026-10-23 16:20:51 +03:00
aep
f2c70935b2 Merge pull request 'fix(api): CORS открывает фронту Content-Disposition (#173, AURORA-1532)' (#174) from feat/173-cors-expose-content-disposition into main 2026-10-23 16:19:03 +03:00
PotapovaA
010c15386b добавлен группировка строк осв для правила пресета 2026-10-23 15:55:54 +03:00
Andrey Epifancev
f3abc8c01c fix(api): CORS открывает фронту Content-Disposition (#173, AURORA-1532)
При фронте на другом источнике (web :3000, api :8000) браузер не отдавал JS
заголовок Content-Disposition, и экспорт сводной ОСВ, шахматки, таблицы ВГО
и CSV чек-листа сохранялся под запасным именем (qa-guide W35).
expose_headers=["Content-Disposition"] в обоих режимах cors_options.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:54:23 +04:00
aep
5ba3bc9971 Merge pull request 'Архив OpenSpec document-switcher-history (PR #171)' (#172) from chore/171-archive-document-switcher-history into main 2026-10-23 15:29:38 +03:00
Andrey Epifancev
013b04d4c3 Архив OpenSpec document-switcher-history (PR #171)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:29:20 +04:00
aep
8dfa068c6d Merge pull request 'fix: AURORA-1692 - кнопка 'Назад' при просмотре документов' (#171) from AURORA-1692 into main 2026-10-23 15:27:34 +03:00
Andrey Epifancev
21f40bc9bf docs(openspec): переключатель документа без записи в истории (AURORA-1692)
Change document-switcher-history: дельта document-review-ui — ADDED
«Переключатель документа» (состав списка, выбор заменой записи истории,
«Назад» к экрану, с которого открыт первый документ).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:25:29 +04:00
maxim
1197a94f3c fix: AURORA-1692 - кнопка 'Назад' при просмотре документов 2026-10-23 14:37:27 +03:00
622a60e4e0 AURORA-1442: Правки по раунду 1 2026-10-23 13:39:30 +03:00
PotapovaA
232fecec39 автоматическое проставление версии правил при создании консолидация, если таких создается версия консолидации создается с NULL 2026-10-23 12:10:35 +03:00
aep
22facb3ddf Merge pull request 'Архив OpenSpec consolidations-ui (PR #166)' (#170) from chore/166-archive-consolidations-ui into main 2026-10-23 10:00:34 +03:00
Andrey Epifancev
da15355dd7 Архив OpenSpec consolidations-ui (PR #166)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 11:00:20 +04:00
aep
000b518ba4 Merge pull request 'AURORA-1589: экраны консолидаций — таблица, «Взять в работу», «Изменить статус»' (#166) from AURORA-1589 into main 2026-10-23 09:59:48 +03:00
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
aep
0ae7e9d2e1 Merge pull request 'Архив OpenSpec intercompany-matrix-ui (PR #158)' (#169) from chore/158-archive-matrix-ui into main 2026-10-23 09:42:28 +03:00
Andrey Epifancev
8b888fdef8 Архив OpenSpec intercompany-matrix-ui (PR #158)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 10:42:15 +04:00
aep
664c9487d7 Merge pull request 'Добавление шахматки' (#158) from feat/chessTable into main 2026-10-23 09:41:46 +03:00
Andrey Epifancev
fd3bb79a9b fix(web): шахматка — отметки дерева счетов по полному дереву, стили тегов в css фильтра (AURORA-1538, ревью #158)
- toggleTreeCheck (utils/treeChecks): родитель отмечен, только если отмечены все потомки, на всех уровнях; скрытые
  поиском отметки берутся из состояния выпадашки — снятые подряд отметки больше не возвращаются; тесты.
- Правило тегов из App.css → ConsolidationChessTableFilter.css (App.css пустой, как в main); класс с формы ЮЛ снят.
- Спека: Known issues — остаток (одна сторона Дт/Кт) в техдолг AURORA-1799, решение (п), tasks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 10:41:28 +04:00
79d4008fcd форматирование 2026-10-23 09:30:17 +03:00
6b956f7664 обновленна логика кнокпи экспорта шахматки и обновленна логика древовидноого фильтра 2026-10-23 09:28:41 +03:00
Andrey Epifancev
478d0acd98 Merge origin/main в feat/chessTable (one_sided по суммам, пресеты #141, #165)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:36:38 +04:00
Andrey Epifancev
c8a89d4c63 docs(openspec): consolidations-ui — расхождения закрыты, дельта consolidated-osv-ui «Единицы» (AURORA-1589, PR #166)
Решение владельца 23.10.2026: PR доводим сами, 71ef633 остаётся. design.md: Known issues
1–14 закрыты, открыты 15 (lucide-react в Nexus), 16 (предупреждение вне модалок), 17
(красное поле поиска в [42]); решения без обсуждения (л)–(х), пересмотр (е) и (к).
Спека: несохранённые правки в модалках, ошибки [35], [31-00] при неактивных вкладках.
tasks.md, web/ARCHITECTURE.md, web/CLAUDE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
2fa672a2fb fix(web): «Новая консолидация» — «+ Создать» от двух ЮЛ, строка ЮЛ — флажок antd (AURORA-1589, PR #166)
Сервер отвечает 422 PERIMETER_TOO_SMALL при одном ЮЛ — кнопка неактивна раньше, у поля
«Выберите не меньше двух ЮЛ». Строка ЮЛ — сам Checkbox (label на всю строку) вместо
div role="checkbox" (biome useSemanticElements). Предупреждение браузера при начатой форме.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
d71c46e846 fix(web): список консолидаций и «Взять в работу» по спеке (AURORA-1589, PR #166)
«Только в работе» выключен по умолчанию, параметр — boolean; ошибка загрузки списка
показывается; пункты «⋯» disabled с подсказкой «Будет позже», клик не выбирает строку;
«Взять в работу» неактивна по коду CANCELLED. Модалка [35]: опечатки, плейсхолдер,
≤ 1000 символов, «К3», ошибки (403 и прочие) — текст сервера, ФИО без второй точки;
после взятия в работу перечитываются список и панель «Организации» («Ответственный»).
Боковое меню: thunk списка с объектом, отступ секций. Порядок импортов (biome).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
ccca6dfa13 fix(web): «Изменить статус» — путь /consolidations/…/status, модалка по спеке, [31-00] (AURORA-1589, PR #166)
404 был из-за опечатки в пути (/consolidation/ без s). Модалка берёт статус из карточки
страницы, а после 200 страница берёт карточку из ответа; в «Новом этапе» ничего не
выбрано; ошибки — текст сервера, модалка остаётся открытой. Кнопка в шапке активна при
своей блокировке и наличии ручных переходов, подсказка «Возьмите консолидацию в работу».
Пояснение под заголовком — текст статуса, а не название. Модалка «Остались неуказанные
ИНН» при уходе с «ОСВ» (вкладки шагов пока неактивны). Предупреждение браузера при
начатом вводе.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
54de39727b fix(web): «Единицы» сводной ОСВ — масштаб на строках без float, ноль — «—» (AURORA-1589, PR #166)
formatScaledAmount в utils/money.ts: запятая сдвигается на 3/6/9 разрядов в строке,
округление половины от нуля на BigInt; нулевая сумма — «—» (zeroDash, как до 71ef633).
Подписи «млн руб.», «млрд руб.» без точки. Исправляет коммит 71ef633.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
46d553b074 fix(web): правила экранов консолидаций — в utils/consolidations.ts с тестами (AURORA-1589, PR #166)
Подписи и пояснения статусов версии, ручные переходы MANUAL_TRANSITIONS (зеркало
api/src/services/consolidation_status.py, синхронная константа вместо мока), своя
блокировка, активность «Изменить статус», причина ≤ 1000 после обрезки, «Версия»
(1 — пусто, 2+ — номер), разбор ?in_work_only (по умолчанию выключен), «Взять в работу»
по коду статуса CANCELLED. Подпись CANCELLED — «Отменена»; у строки списка — код статуса
(status_code). Хук useBeforeUnload. Тесты vitest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 01:15:55 +04:00
Andrey Epifancev
2ef4c6ae86 docs(web): lucide-react в стеке, виджеты экранов консолидаций в ARCHITECTURE (PR #166)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 00:50:58 +04:00
Andrey Epifancev
4f32d74ba0 docs(openspec): change consolidations-ui — целевое поведение экранов консолидаций (PR #166, AURORA-1589)
Спека consolidations-ui: список консолидаций [34] (колонки, «Версия», «Только в работе»),
«Взять в работу» и перехват [35], меню «⋯», панель «Организации», подписи статусов,
вид модалки [42], «Изменить статус» [33-01] с зеркалом MANUAL_TRANSITIONS, пояснение
статуса под заголовком, модалка [31-00]. design.md: решения, Known issues ветки 71ef633,
решения без обсуждения; tasks.md: ревьюер / автор / тесты.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 00:50:58 +04:00
Andrey Epifancev
94c8654902 Merge origin/main в AURORA-1589
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 00:44:08 +04:00
maxim
71ef6333b5 fix(1539): единицы измерения в сводной ОСВ, полоса прокрутки 2026-10-22 23:14:21 +03:00
aep
4e662d02e5 Merge pull request 'Архив OpenSpec intercompany-matrix-one-sided (PR #165)' (#168) from chore/165-archive-matrix-one-sided into main 2026-10-22 23:06:08 +03:00
Andrey Epifancev
4401fbb510 Архив OpenSpec intercompany-matrix-one-sided (PR #165)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 00:05:52 +04:00
aep
c187580738 Merge pull request 'Архив OpenSpec intercompany-matrix-presets (PR #141)' (#167) from chore/141-archive-matrix-presets into main 2026-10-22 23:05:21 +03:00
Andrey Epifancev
43f4dce6c5 Архив OpenSpec intercompany-matrix-presets (PR #141)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 00:05:02 +04:00