505 Commits

Author SHA1 Message Date
Andrey Epifancev
6213de4498 docs(openspec): change шахматки пресетов — задача AURORA-1747, остаток §5 в AURORA-1536 (ревью #141)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:51:06 +04:00
Andrey Epifancev
3adaf6f3c3 docs(openspec): решения владельца по шахматке пресетов (ревью #141)
Фиксация версии правил и выбор по дате составления консолидации — в AURORA-1536;
корректировки и unpaired-osv выносятся из PR (код — ветка
wip/shahmatka-corrections-unpaired); пресет = правило ББ Прил. 3 как дополнение к §6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 15:10:29 +04:00
Andrey Epifancev
0e95f95c71 docs(openspec): change intercompany-matrix-presets + README (ревью #141)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 14:08:08 +04:00
Andrey Epifancev
367a11ed38 chore(api): format, mypy и тест версии правил; убрать мёртвое as_of (ревью #141)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-21 14:04:38 +04:00
Andrey Epifancev
a8e510e402 Merge origin/main в add-preset-shahmatka (ревью #141) 2026-10-21 14:03:12 +04:00
PotapovaA
2c0a2ad939 правки по ревью 2 2026-10-21 12:15:20 +03:00
PotapovaA
abe1d890d0 правки по ревью 2026-10-21 11:59:23 +03:00
aep
57f8032dbe Merge pull request 'Фронт в arm-core/web: CLAUDE.md и README фронта' (#149) from feat/148-claude-md-frontend into main 2026-10-21 09:30:51 +03:00
Andrey Epifancev
0b8fbeca6f docs(openspec): UI-половины архивов statement-template-lines и console-files из arm-web (суффикс -web); issue arm-web → #150–#157 (#148)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:58:55 +04:00
Andrey Epifancev
a2b0a58fd0 docs(openspec): спеки экранов из arm-web@de4e477 перенесены в arm-core (#148)
Спеки consolidated-osv-ui, consolidation-setup, document-review-ui, primary-files-ui
и архив changes demo-prototype, statements-v2. Каталоги архива statement-template-lines
и console-files в arm-core уже заняты другими изменениями и не переносились.
Ссылки на ../arm-web/openspec в CLAUDE.md и web/CLAUDE.md заменены на openspec/specs/*-ui.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:58:02 +04:00
Andrey Epifancev
7e05cdedf6 docs(web): README, CLAUDE.md и ARCHITECTURE.md фронта — из arm-web в arm-core/web (#148)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:52:56 +04:00
Andrey Epifancev
7d23097004 docs(CLAUDE.md): фронт ведётся в arm-core/web, arm-web заморожен (#148)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 09:45:51 +04:00
aep
3157a15921 Merge pull request 'fix(web): синхронизация встроенного фронта с arm-web@test (de4e477) (#146)' (#147) from feat/146-web-sync-de4e477 into main 2026-10-20 23:08:45 +03:00
Andrey Epifancev
52b813617a fix(web): синхронизация встроенного фронта с arm-web@test (de4e477) (#146)
Перенесён диапазон arm-web a3c0010..de4e477 (1 коммитов, 4 файлов набора
синхронизации) скриптом docs/scripts/sync-web.sh. После переноса web/ и
arm-web@test идентичны по набору. Коммиты arm-web:
- e202711 fix(DocumentReview): просмотр ОСВ как в 1С — строки счетов и субсчетов, без строк-показателей (#51, AURORA-1702, AURORA-1703)

Co-Authored-By: sync-web.sh <noreply@aepif.ru>
2026-10-21 00:08:27 +04:00
aep
5512365b5d Merge pull request 'test: golden fixtures контракта 2.0 в тестах ядра (#144)' (#145) from feat/144-golden-v2-tests into main 2026-10-20 21:12:04 +03:00
Andrey Epifancev
7dd7d5dd40 test: golden fixtures контракта 2.0 в тестах ядра (#144)
fixtures #26/#27 (19.10.2026) перевели снимки форм и OCR на контракт 2.0,
а загрузчики тестов читали их моделью 1.x: 164 падения на main.

- golden_result/ocr_result: модель по MAJOR schema_version, для 2.0 —
  service.statements_version копии пакета ядра;
- golden_result_v1: снимок 2.0 → 1.2 (строки с кодом, колонки с 0, без
  null в шапке) для модулей приёма 1.x — test_mapping_statements и
  test_api_statements; путь 2.0 покрывают *_v2;
- make_entries_from_result — parse_result; ожидания fixtures_marker под
  эталоны 2.0; удаление файла считает замечания сервиса снимка;
- 76.Н.1 (synthetic s42, tabular-parser#59) — в KNOWN_OUT_OF_PLAN.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 21:34:20 +04:00
aep
e6e4cd877b Merge pull request 'fix(statements): вставка document_issue пакетами (#142, AURORA-1711)' (#143) from feat/142-batch-document-issues into main 2026-10-20 19:12:26 +03:00
Andrey Epifancev
01e1f81516 fix(statements): вставка document_issue пакетами по BATCH (#142, AURORA-1711)
add_issues вставлял все записи документа одним INSERT: 16 параметров на
запись, лимит asyncpg 32 767 — потолок около 2 047 замечаний. Лист ОСВ
«11.xlsx» (сч. 11, 2 128 строк «Кол. доп.» на парсере контура 40287e1)
давал 2 131 предупреждение, маппинг падал с InterfaceError, файл ERROR.
Теперь пакеты по BATCH (1000), как у строк и значений форм.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 19:59:25 +04:00
PotapovaA
c6a10e4604 правки в экспорт 2026-10-20 15:35:46 +03:00
PotapovaA
487a8521da Merge branch 'main' into add-preset-shahmatka 2026-10-20 14:58:34 +03:00
PotapovaA
53c2d5c73d пресеты для шахматки 2026-10-20 14:45:27 +03:00
aep
5bec434e1f Merge pull request 'fix(web): синхронизация встроенного фронта с arm-web@test (a3c0010) (#139)' (#140) from feat/139-web-sync-a3c0010 into main 2026-10-19 13:56:16 +03:00
Andrey Epifancev
5958b07410 fix(web): синхронизация встроенного фронта с arm-web@test (a3c0010) (#139)
Перенесён диапазон arm-web 8345f5e..a3c0010 (3 коммитов, 22 файлов набора
синхронизации) скриптом docs/scripts/sync-web.sh. После переноса web/ и
arm-web@test идентичны по набору. Коммиты arm-web:
- ff1e45c file id as option value for react rendering
- 0242486 fix(#49): зелёный make check и исправления после ревью (AURORA-144)
- 0fdbd80 feat: add comments frontend, checklist modal, files delete, select options in document review

Co-Authored-By: sync-web.sh <noreply@aepif.ru>
2026-10-19 14:54:36 +04:00
aep
e570278528 Merge pull request 'fix(web): синхронизация встроенного фронта с arm-web@test (8345f5e) (#137)' (#138) from feat/137-web-sync-8345f5e into main 2026-10-19 10:39:23 +03:00
Andrey Epifancev
ec12397854 fix(web): синхронизация встроенного фронта с arm-web@test (8345f5e) (#137)
Перенесён диапазон arm-web 46639b1..8345f5e (9 коммитов, 41 файлов набора
синхронизации) скриптом docs/scripts/sync-web.sh. После переноса web/ и
arm-web@test идентичны по набору. Коммиты arm-web:
- 5b13b74 Форматирование под ESLint + Prettier, зелёный make check (#31)
- 681697f fixed eslint bugs
- 25d2211 fixed bugs
- 2cddb55 Форматирование под ESLint + Prettier и зелёный make check (#31)
- 71dae21 updated company group and forms
- 83d4c2b added company group table
- d2dc230 fixed merge bug
- 3977dae added forms for catalogue jur
- 8e8e46e addded legalEntities table and move form

Co-Authored-By: sync-web.sh <noreply@aepif.ru>
2026-10-19 11:35:41 +04:00
aep
676a9d5062 Merge pull request 'Архив OpenSpec: unified-normalization-core-a и -core-b (#126, #131)' (#135) from chore/131-archive-normalization-core into main 2026-10-19 08:27:51 +03:00
Andrey Epifancev
4e42a93f54 chore(openspec): архив unified-normalization-core-a и -core-b (#126, #131)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:26:03 +04:00
aep
ddd607e9a0 Merge pull request 'fix(web): синхронизация встроенного фронта с arm-web@test (4a02512) (#133)' (#134) from feat/133-web-sync-4a02512 into main 2026-10-18 21:57:05 +03:00
Andrey Epifancev
1a35829074 fix(web): синхронизация встроенного фронта с arm-web@test (4a02512) (#133)
Перенесён диапазон arm-web 0f2bbc8..4a02512 (23 коммитов, 51 файлов набора
синхронизации) скриптом docs/scripts/sync-web.sh. После переноса web/ и
arm-web@test идентичны по набору. Коммиты arm-web:
- 4fb477d Подпись пустой цели «цель не заполнена», тесты null/null (ревью I-1, M-1, M-2, M-4)
- cb36ec8 Нарушения проверок: expected/actual и индекс колонки могут быть null (#45)
- b4b8c04 openspec(statements-v2): решения по итогам прогона в браузере (T11.D-1…D-5, #43)
- aa3054e docs(arm-web): экран формы v5.19 — README и карта модулей (#43)
- 88a4920 fix(arm-web): нераспознанный текст суммы, пустые подстроки без расшифровок, свёрнутый список предупреждений (#43)
- a3199d6 fix(arm-web): вёрстка экрана проверки формы — ширины колонок, значки в ячейке, шапка, ссылка кнопкой (#43)
- 12fcea7 fix(statement): защитные значения по умолчанию для ядра без v5.19 (M-2, #43)
- 4783593 fix(statement): ссылка на строки без кода всегда видна, сортировка по row_index, Alert для ошибки скрытого поля кода, постоянный aria-label (T9.1, T9.2, T9.4, T7.1, T8.1, T3.3, M-3, #43)
- d965fdc fix(statement): округление уверенности в подсказках шапки, пустые тексты в подсказках, комментарий шапки (T5.1, T5.2, M-1, T3.1, #43)
- 6556e3d fix(statement): не отправлять поля шапки, равные текущим (I-2, #43)
- 8d2deb9 docs(openspec): решения без обсуждения из исполнения и имя кнопки «Подтвердить данные» (#43)
- fc5cc16 fix(files): клики внутри popover не открывают строку, ключи и aria-label (#43)
- fdf9358 feat(files): предупреждения файла структурами и предупреждения документа в панели файлов и у ОСВ (#43)
- 5b11f2d feat(statement): блокировка подтверждения при строках без кода, LINES_UNRESOLVED и DUPLICATE_FORM (#43)
- a779d2a feat(statement): подтверждение ячеек, дата колонки, наименование организации и подтверждение даты (#43)
- d416422 feat(statement): правка строк — код с подсказкой из справочника, меню строки, LINE_CODE_TAKEN (#43)
- ef4d325 refactor(statement): один черновик правок и сборка единственного PATCH (#43)
- 8ab116f feat(statement): шапка — организация, поля на проверку и подсказки распознанного текста (#43)
- 4ae8643 feat(statement): предупреждения и нарушения у строк, ячеек, колонок и в списке документа (#43)
- 34d523a feat(statement): вид строк по статусам, подсветка по needs_review, переключатель расшифровок (#43)
- c2f33e7 feat(statement): раскладка строк без кода и расшифровок на своих местах (#43)
- e4ee7f0 fix(fixtures): коды соотношения, column_index, порядок edition_lines (#43)
- f83b035 feat(types): API формы v5.19 — статусы строк, needs_review, issues, предупреждения файла (#43)

Co-Authored-By: sync-web.sh <noreply@aepif.ru>
2026-10-18 22:56:49 +04:00
aep
35a24e7af3 Merge pull request 'feat(statements): единая нормализация ББ/ОФР, часть Б — ядро (#131)' (#132) from feat/131-normalization-core-b into main 2026-10-18 21:50:21 +03:00
Andrey Epifancev
0f84088b73 docs(openspec): решения P3-53…P3-59 fix-волны, уточнение P3-39
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:38:28 +04:00
Andrey Epifancev
e6292a24df fix(statements): fix-волна части Б — is_recognized NULL, единый источник ошибки файла, тесты правки форм 2.0
I-2: NULL у is_recognized не сомнение (P3-54); I-3: metrics.file_warnings при приёме 2.0 — единый
источник для пересчёта (P3-53, R-11); I-4/T4.4/T6.1: тесты правки, акцепта и веток приёма 2.0;
T4.2: now в checks_on_intake_1x; M-4: row_by_ref по принятым строкам; документация (M-5, M-6, M-7).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:38:24 +04:00
Andrey Epifancev
e944565e55 Спека части Б: дельты под архивацию, null в нарушениях §7, отметки задач
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:25:11 +04:00
Andrey Epifancev
570e82b5d3 refactor(statements): удалена копия словаря §7 ядра — проверки копией arm_statements
Удалены api/rules/statement_checks.yaml, load_check_rules, run_checks и правила соотношений; в
domain/statement_checks.py остались межформенная проверка 1370/2400 и subline_parents. Тест
test_name_dictionary_codes_in_code_orders сверяет справочник имён с перечнями редакций пакета.
CLAUDE.md и README.md: §7 — копия arm_statements, нарушения хранятся в document_issue. Решения P3-50…P3-52.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:08:27 +04:00
Andrey Epifancev
2b8fafc3b3 feat(mapping): ОСВ по контракту 2.0 (Р-28) и выбор маппера по MAJOR
Приём файла результата выбирает модель по MAJOR (parse_result); нечитаемый JSON и неизвестный
MAJOR — неповторяемая ошибка схемы (T5.2). Статус ОСВ 2.0 — osv_status_v2, предупреждения листа
(OSV_*) — в document_issue. Решения P3-46…P3-49.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:57:38 +04:00
Andrey Epifancev
5e45a6ca7e chore(statements): обновление копии arm_statements до 3390f92 (Р-44, NUMBERS_OUTSIDE_TABLE)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:42:42 +04:00
Andrey Epifancev
21e0720fb0 feat(mapping): маппер результата 2.0 для форм — хранение как пришло, document_issue, условие RECOGNIZED
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:42:04 +04:00
Andrey Epifancev
ff11542529 docs(plan): копия плана 3, часть Б, для ветки feat/131-normalization-core-b (#131)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:22:54 +04:00
Andrey Epifancev
028512603a fix(statements): правки ревью B1+B2 — T2.1, T1.1, T1.2, T2.4, T2.6, T2.8
T2.1: аудит lines[] включает итоговую смену parent_row_index после пересчёта.
T1.1: тест паритета редакции приёма и пересчёта для строки с confidence < 100 и code_fixed.
T1.2: edition_codes пропускает строку ok без кода.
T2.4: общий issue_column_index для ответа формы и detail отказа подтверждения.
T2.6: удалено дублирование needs_review в statement_line_edits.
T2.8: неизвестный relative:* не даёт 500 (адаптер stored_form и _resolve_relative_columns).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:15:21 +04:00
Andrey Epifancev
02630e830f feat(mapping): §7 и вариант формы при приёме 1.x копией arm_statements (Р-30)
checks_on_intake_1x: один recompute по вставленной форме, запись form_variant и
relation/soft (core); run_checks из приёма убран. P3-36.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 21:03:06 +04:00
Andrey Epifancev
065153e470 feat(statements): пересчёт после правки точкой входа arm_statements, §7 только из document_issue
recompute_form (services/statement_recompute.py) собирает вход из БД, зовёт engine.recompute и пишет needs_review
строк и значений, form_variant, parent_row_index расшифровок, записи relation/soft и core по P3-8, статус через
form_status_v2. GET/confirm/accept читают нарушения §7 из document_issue. Правка header.report_date пересчитывает
relative:* колонки. Временный код A12/A13 удалён.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 20:26:40 +04:00
Andrey Epifancev
6ce36b3e2d feat(statements): адаптер arm_statements за протоколом StatementsEngine и вход пересчёта из БД
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 20:00:12 +04:00
Andrey Epifancev
42f0dc5ca7 openspec(core-b): change единой нормализации, часть Б (arm-ka-docs#116)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:54:40 +04:00
aep
38c440ccd6 Merge pull request 'Подключение копии пакета arm_statements (#128)' (#130) from feat/128-arm-statements-copy into main 2026-10-18 18:49:55 +03:00
Andrey Epifancev
1f701a36ca chore(arm_statements): копия arm-statements@52857a0 (#128)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:45:10 +04:00
Andrey Epifancev
ae0ae8d9b6 Merge origin/main в feat/128-arm-statements-copy (#128)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:44:50 +04:00
aep
938e9fac87 Merge pull request 'Единая нормализация ББ/ОФР, ядро — часть А: DBML v5.19, очистка форм, агрегат по коду, правка формы, контракт 2.0 (arm-ka-docs#116)' (#129) from feat/126-normalization-core-a into main 2026-10-18 18:44:11 +03:00
Andrey Epifancev
197c358a22 build: копия arm_statements в линтерах и тестах, statements-check в check-full (#128)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:40:29 +04:00
Andrey Epifancev
46ac9367ee chore(arm_statements): копия пакета arm-statements@6bce80b (#128)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:38:30 +04:00
Andrey Epifancev
c2ee31ddbb docs(openspec): решения A5 и открытые вопросы части А
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:29:55 +04:00