431 Commits

Author SHA1 Message Date
Andrey Epifancev
a12c0779db docs(#136): OQ-07 закрыт — сопоставление ВГО группами с минимальной упаковкой
§5: два уровня по тройке (правило × A × B) — сумма элиминации (агрегат min(ΣA, ΣB),
порог 5 %, идёт в КФО) и упаковка строк 1:1 / 1:N / N:1 (N ≤ 5, N:M нет, минимальная
по числу строк, ничья → ручное). §8: eliminated_auto — Σ троек. OQ-07 закрыт решением
владельца 19.10.2026; новый OQ-169 — пересечение счетов правил (двойная элиминация).
Документ для аналитика: разделы 3.2, 3.3, 5, вопросы В-2 (решён), В-4, В-12.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:27:02 +04:00
Andrey Epifancev
7ed5a2b613 docs: §1.4 тождество вторых итогов (R-19), OQ-171 множественное число, OQ-172 источник (tabular-parser#59)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 13:16:51 +04:00
Andrey Epifancev
a5d468b020 §1.4 правил ОСВ: «Итого развернутое» не участвует в тождестве строки (tabular-parser#59)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 13:16:51 +04:00
Andrey Epifancev
a0dd569b4c §1 правил ОСВ: плоская форма 1С — счёт из шапки, «Итого развернутое», header_account, контрагенты по плану счетов (tabular-parser#59, AURORA-1661)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 13:16:51 +04:00
aep
e21340cba6 Merge pull request 'ОСВ §1.3/§1.4: строки-показатели, счёт 90 в OQ-132 (tabular-parser#58)' (#135) from feat/58-osv-indicators into main 2026-10-19 12:05:03 +03:00
Andrey Epifancev
fa039ee8a4 §1.4/OQ-132: счёт 90 в списке без сальдо по аналитике (tabular-parser#58)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 12:52:12 +04:00
aep
e8cdfbe98f Merge pull request 'Документ для аналитика: элиминация ВГО — правила, расчёт, корректировки (#132)' (#133) from feat/132-eliminations-analyst into main 2026-10-19 11:51:59 +03:00
Andrey Epifancev
1f19d2ddf7 docs(#132): документ для аналитика — элиминация ВГО: правила, расчёт, корректировки
analyst/eliminations-vgo.md: что хранится и что считается (DECISION-5), раскладка
elimination_rule / elimination_rule_account (Прил. 3/4, версии), сопоставление пар,
шахматка, путь до КФО, корректировки, гудвилл, пример на фикстурах РБ Q3 2024,
вопросы В-1…В-11. В индексе 08-source-docs-index — раздел «Материалы для аналитика».

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:51:04 +04:00
Andrey Epifancev
17857dd1d1 06-test-data §7: синтетика s33–s36 (tabular-parser#58)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 12:26:03 +04:00
Andrey Epifancev
87cdf8becc 05-domain-rules §1.3/§1.4: строки-показатели, колонка «Показатели», «В валюте», BU по умолчанию (tabular-parser#58)
AURORA-1613, AURORA-1661 (валютная часть); решения владельца 19.10.2026.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 11:00:15 +04:00
aep
c3ed33675f Merge pull request 'Архив OpenSpec: unified-statement-normalization (#116)' (#130) from chore/116-archive-unified-normalization into main 2026-10-19 08:27:48 +03:00
Andrey Epifancev
47e6372cbe chore(openspec): архив unified-statement-normalization (#116)
Спеки применены: 5 новых capability (arm-core, arm-web, scan-gateway,
statement-normalization, tabular-recognition-service) с Purpose, изменения
quality-checks и recognition-contract. Ссылки в 05-domain-rules, DBML v5.19,
entities, dev/checks.md и dev/qa-statements-v2.md ведут в архив.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:25:43 +04:00
aep
1865874c83 Merge pull request 'Гайд тестировщика: единая нормализация ББ/ОФР (контракт 2.0) (#128)' (#129) from feat/128-qa-normalization-v2 into main 2026-10-19 08:01:07 +03:00
Andrey Epifancev
c4ad493796 docs(dev): баги со стенда контура — в Jira AURORA (#128)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:00:29 +04:00
Andrey Epifancev
e04beef20c docs(dev): гайд тестировщика единой нормализации ББ/ОФР (контракт 2.0), актуализация qa-guide (#128)
- dev/qa-statements-v2.md: что изменилось для пользователя, как работает, предусловия
  стенда контура (очистка форм, «сначала ядро», признаки новой версии), справка по
  цветам, значкам и кодам предупреждений, чек-лист N1–N66, известные замечания
  I-1…I-5, M-1…M-9, O-2, F-1, F-2, «не баг», как заводить баги по формам.
- dev/qa-guide.md: ссылки на новый гайд (шапка, §1, §6.9, §8.5, §8.7, §9); §6.7, §6.8,
  §6.9 приведены к контракту 2.0; §7.2 и W18/W30 — несопоставленных 1236 (было 1260);
  W16 — плоская таблица ОСВ; W32a — счётчики «ГСК/ГК/Внешний» и отличие «Внешний»
  от «Осталось»; W13 — значок «ⓘ 1» у ОСВ; W20 — подсветка по «требует внимания».
- dev/README.md: ссылка на гайд, ожидания aep_3/aep_6 по контракту 2.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 08:59:01 +04:00
aep
05384867d2 Merge pull request 'make check: validate-openspec проверяет все спеки и change'и (#126)' (#127) from feat/126-make-check-openspec-all into main 2026-10-18 22:01:51 +03:00
Andrey Epifancev
5fcb300373 make check: validate-openspec проверяет все спеки и change'и (#126)
CHANGE ?= slice-0-skeleton указывал на давно заархивированный change, make check был красным (O-1 плана 0, #116). По умолчанию теперь openspec validate --all --strict; CHANGE=<id> — один change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 23:01:38 +04:00
aep
c82a8f31a9 Merge pull request 'Итоги исполнения #116: решения дорожек, открытые вопросы, гайд API (#124)' (#125) from feat/124-normalization-execution-decisions into main 2026-10-18 21:57:31 +03:00
Andrey Epifancev
10317ae4d3 docs: итоги исполнения единой нормализации ББ/ОФР (#124, #116)
Решения дорожек (планы 3А, 3Б, 4, 5, 6) перенесены в design.md change'а,
добавлен раздел «Открытые вопросы исполнения»; гайд фронта по API приведён
к arm-core main 35a24e7a; уточнена строка про зависимости в dev/checks.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 22:57:03 +04:00
aep
535fcba040 Merge pull request 'Шаг 2: числа правее таблицы формы — не колонки сумм (#122, #116)' (#123) from feat/122-amount-columns-right-of-table into main 2026-10-18 20:28:59 +03:00
Andrey Epifancev
aafa656bc0 docs(#122): ревью — Р-44 в design.md, листы-продолжения, подписанный столбец без чисел
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:27:53 +04:00
Andrey Epifancev
222d7e08fc docs(#122): числа правее таблицы формы — не колонки сумм (шаг 2, NUMBERS_OUTSIDE_TABLE)
Решение владельца 18.10.2026 (Р-31 плана 4, #116).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:17:54 +04:00
aep
3fe7ad46ce Merge pull request 'docs(#116): дизайн единой нормализации ББ/ОФР (scan-gateway + tabular-parser)' (#117) from feat/116-unified-normalization into main 2026-10-18 18:43:04 +03:00
Andrey Epifancev
f675c762af Слияние main в feat/116: §1 ОСВ cp1251 (tabular-parser #47) рядом с правилом v2.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:42:19 +04:00
aep
34bb1850d4 Merge pull request 'Скрипт sync-statements: копия пакета arm_statements в хостах (#120, #116)' (#121) from feat/120-sync-statements into main 2026-10-18 18:36:44 +03:00
Andrey Epifancev
321cfe05e7 openspec(#116): R-5 плана 2 — --in-place только в worktree фичи
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:33:13 +04:00
Andrey Epifancev
fdd25a6000 fix(scripts): sync-statements.sh --in-place не пишет в основной checkout и main, --check всегда печатает итог, правки доков (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:31:22 +04:00
Andrey Epifancev
7194b16471 openspec(#116): sync-statements — режим --in-place, подключение копии к хостам, решения P2-n и R-n плана 2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:26:03 +04:00
Andrey Epifancev
7900191401 feat(scripts): prepare-contour-snapshot.sh проверяет свежесть копии arm_statements (sync-statements --check, Р-42) (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:24:42 +04:00
Andrey Epifancev
bb7c1a0c07 feat(make): sync-statements, statements-check и test-sync-statements в check (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:22:44 +04:00
Andrey Epifancev
df85505735 fix(scripts): sync-statements.sh — сбой tea не обрывает скрипт молча, повторная проверка копии после make check (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:20:26 +04:00
Andrey Epifancev
17c0fd20f9 feat(scripts): sync-statements.sh — worktree хоста, issue, make check и PR; --dry-run; предупреждение «сначала ядро» (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:18:14 +04:00
Andrey Epifancev
97777cbd7a fix(scripts): sync-statements.sh --in-place — защиты копии срабатывают и при повторе, .DS_Store не считается игнорируемым (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:14:59 +04:00
Andrey Epifancev
b5ad8a0f4c feat(scripts): sync-statements.sh --in-place — раскладка копии в рабочее дерево хоста с защитой от .gitignore и путей для контура (#120)
Также: evaluate при коммите VERSION без arm_statements/ даёт код 20 вместо падения с 128 (T2.1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:13:16 +04:00
Andrey Epifancev
7851446999 feat(scripts): sync-statements.sh --check — свежесть копии arm_statements в хосте, коды 0/10/20/2 (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:10:11 +04:00
Andrey Epifancev
ddf6927332 feat(scripts): помощник statements_check.py — зависимости пакета и коды словаря имён против перечня (#120)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:06:56 +04:00
Andrey Epifancev
bb1b761c46 docs(#116): решения плана 1 (P1-1…P1-31, R-1…R-8 плана 1) в design.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 16:01:49 +04:00
Andrey Epifancev
e6eef2760e docs: arm-statements в таблицу workspace (Р-43)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:15:17 +04:00
Andrey Epifancev
cb1bf36ba9 docs(#116): тест идентичности копии контракта — ARM_KA_DOCS в scan-gateway, решения плана 0 (P0-1…P0-5, R-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:20:07 +04:00
Andrey Epifancev
e6f69b5e80 plan(#116): дорожная карта исполнения — планы, волны, выкладка, решения Р-31…Р-43 по планам
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:04:39 +04:00
Andrey Epifancev
1146c0bc3f plan(#116): план 6 — экран на дополненном API ядра
line_code_confidence и okei в типах, header.source.confidence — строка, подсказка кода из
StatementOut.edition_lines, ошибка элемента lines[] у поля строки по detail.line_id
(lineErrorTarget вместо codeTakenKeys), значок документа в панели файлов по
DocumentBrief.issue_counts (rowBadge). Закрыты O-1…O-6, снят В-2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:02:40 +04:00
Andrey Epifancev
8a7711da5a plan(#116): план 3 — ядро на дополненном API пакета, поля API для фронта, решения Р-34 и Р-35
Пакет: engine.edition (choose_edition) и engine.contract_document_status
(status_input_from_contract) вместо сборки StoredForm ради редакции и status_input_from_v2;
FailedRelation.expected/actual — Decimal | None; O-8 закрыт.
API для плана 6: LineOut.line_code_confidence, StatementHeaderOut.okei, header.source.confidence —
строка Decimal, StatementOut.edition_lines, DocumentBrief.issue_counts, line_id/line_code в detail
ошибок элемента lines[]; P3-19…P3-24; спека arm-core и гайд §5.6.1 дополнены.
Р-34: подтверждение кода не меняет уверенность — буква спеки arm-core, §9.5 п. 9 и гайда приведена;
O-2 закрыт. Р-35: очистка отказывает только при верифицированной версии — P3-12, тесты A4, спека
«Очистка форм» п. 2 и сценарий; O-5 закрыт.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:00:56 +04:00
Andrey Epifancev
c385b7ec42 docs(#116): решения владельца Р-31…Р-43 по открытым вопросам планов реализации
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:56:09 +04:00
Andrey Epifancev
37d58a4869 plan(#116): планы 4 и 5 — потребители дополненного API пакета
tabular-parser: столбец кодов и колонки сумм — code_column / amount_columns пакета, метки —
normalize_label / normalize_caption, маркер — is_continuation, контракт — to_contract /
warning_to_contract (statements/contract.py не пишется), XLS_NO_CODEPAGE — предупреждение файла
вместо OSV_XLS_NO_CODEPAGE; scan-gateway: contract_map.py не пишется, form_name из пакета,
WarningCode в make_warning, FailedRelation.expected/actual — Money | None. Закрыты O-1…O-7, O-9
плана 4 и O-2…O-7 плана 5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:56:04 +04:00
Andrey Epifancev
042fc927dc plan(#116): план 1 — API пакета сведён с планами 3, 4, 5
choose_edition, status_input / status_input_from_contract, to_contract / warning_to_contract,
code_column, amount_columns, normalize_label / normalize_caption, is_continuation, WarningCode,
StatementHeader.form_name, FailedRelation.expected/actual — Decimal | None, явные типы Rules.*,
min_codes_continuation в словаре; новая задача 19 (форма контракта), golden — задача 20;
P1-21…P1-31. Код XLS_NO_CODEPAGE (info, файл) — в таблицу спеки «Шаг 8 — предупреждения» и §11.9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:50:43 +04:00
Andrey Epifancev
1701bdb940 plan(#116): план 4 — задача 2 сверена с планом 2 (подготовка хоста — его задача 8, здесь только сверка и --in-place)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:34:18 +04:00
Andrey Epifancev
7b99c65373 plan(#116): план 4 — tabular-parser: адаптер Excel шага 1, общий код arm_statements, контракт v2.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:33:09 +04:00
Andrey Epifancev
6c413ccc0f openspec(#116): план 5 — подготовка хоста сверена с планом 2 (задача 9, --in-place)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:32:52 +04:00
Andrey Epifancev
687eb19f9b openspec(#116): план 5 — scan-gateway: адаптер OCR → arm_statements, контракт результата 2.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:32:07 +04:00
Andrey Epifancev
414f8075f9 plan(#116): план 6 — arm-web: экран формы ББ/ОФР и карточка файла по API v5.19
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:30:32 +04:00