368 Commits

Author SHA1 Message Date
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
Andrey Epifancev
87b32a0db3 openspec(#116): план 2 — sync-statements и statements-check в docs, подключение копии arm_statements к хостам
Скрипт docs/scripts/sync-statements.sh (--check 0/10/20/2, --in-place, --dry-run, обычный режим
с worktree/issue/PR), помощник statements_check.py, тест на синтетических репозиториях; три
bounded PR подключения копии в arm-core, tabular-parser, scan-gateway. Решения P2-1…P2-21,
открытые O-1…O-4; закрыты O-1…O-4 плана 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:29:02 +04:00
Andrey Epifancev
0b7d691735 openspec(#116): план 3 — вызовы пакета приведены к публичному API плана 1 (O-8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:16:21 +04:00
aep
d4f5453980 Merge pull request '§1 правил ОСВ: cp1251 для xls без CODEPAGE, «Кол-во»/«Вал», конец таблицы на первой «Итого» (tabular-parser #47)' (#119) from feat/47-osv-encoding-labels-tail into main 2026-10-18 11:15:47 +03:00
Andrey Epifancev
f84e89288b openspec(#116): план 1 — resolve_relative и порядок редакций в публичном API, сверка с планом 3 (O-5)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:11:56 +04:00
Andrey Epifancev
14dcb0fbee openspec(#116): план 1 — пакет общего кода arm_statements (репозиторий arm-statements), публичный API
19 задач: каркас и make check, типы и сериализация, словари и загрузчик, разборы текста/кода/дат/сумм, шапка,
шаги 2–8, функция статуса, конвейер кандидата, точка входа пересчёта, golden на обезличенных входах aep_3, 1С и НПЗ.
Решения автора плана P1-1…P1-20, открытые вопросы O-1…O-4.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:11:11 +04:00
Andrey Epifancev
e47f1ab69c §1.4: точное «Итого» ищется раньше «Итого …», хвост — числа в колонках таблицы (tabular-parser #47, AURORA-1664)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 12:04:48 +04:00
Andrey Epifancev
7436d2efc0 plan(#116): план 3 — arm-core: хранение v5.19, правка формы, приём контракта 2.0
Две части — два PR в RSHB/arm-core: часть А (A0–A13) не зависит от пакета
arm_statements, часть Б (B0–B6) — после плана 2; интерфейс-заглушка пакета,
решения P3-1…P3-18, открытые вопросы O-1…O-10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 12:03:51 +04:00
Andrey Epifancev
0bb33e88c2 openspec(#116): план 0 — тест идентичности копий контракта на окне перехода v1 → v2 (arm-core, tabular-parser, scan-gateway)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:53:09 +04:00
Andrey Epifancev
9863b46140 §1 правил ОСВ: cp1251 для xls без CODEPAGE, «Кол-во»/«Вал», конец таблицы на первой «Итого» (tabular-parser #47, AURORA-1662, 1663, 1664)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-18 11:50:44 +04:00
Andrey Epifancev
cecb5dea2a docs(#116): решения владельца Р-27…Р-30 по открытым вопросам доработки спеки
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:40:57 +04:00
Andrey Epifancev
6047677ed0 openspec(#116): спека по повторному ревью L-1…L-30 и решениям владельца Р-23…Р-26; решения S-53…S-74
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:36:12 +04:00
Andrey Epifancev
429f86760f docs(#116): §7, §9, §11 и гайды по повторному ревью спеки: detail вне needs_review, очистка форм, мусор в суммах, сегменты, предупреждения файла объектами; OQ-168 (Р-23…Р-26, L-1…L-30)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:36:12 +04:00
Andrey Epifancev
0e680c89e0 model(#116): v5.19 — миграция без пересчёта §7 после очистки форм, откат по точному правилу, file_ordinal у всех документов, document_issue у ОСВ (Р-24, L-3, L-4, L-9, L-24)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 11:36:12 +04:00