553d5f13e7
AURORA-1677: arm_statements теперь библиотека
2026-10-26 14:45:25 +03:00
Andrey Epifancev
72e2e72909
fix( #8 ): шаг 2 — нумерация со сбоем OCR под заголовком, повтор шапки со склеенной нумерацией (AURORA-1517)
...
Строка сразу под строкой заголовка сегмента проверяется на нумерацию мягко: ячейка со сбоем OCR
даёт своё единственное целое («• ■ 1», «3гола», «гола\n4»), ячейка без цифр («/», «V») — пропуск.
Подписи шапки сравниваются без хвоста-номера столбца («Коды\n2» → «коды»), поэтому склеенная с
нумерацией повторная шапка становится шапкой сегмента.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 16:36:06 +04:00
Andrey Epifancev
06257a2522
fix( #5 ): ревью — листы-продолжения, подписанный столбец без чисел, адреса через перевод строки
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:27:56 +04:00
Andrey Epifancev
547f9efcdb
feat( #5 ): шаг 2 — числа правее последней подписанной колонки не колонки сумм
...
Столбец без подписи правее последней колонки с подписью периода колонкой сумм
не считается; вместо COLUMN_WITHOUT_DATE — info NUMBERS_OUTSIDE_TABLE с адресами
ячеек. Решение владельца 18.10.2026 (arm-ka-docs#116, Р-31).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 21:18:07 +04:00
Andrey Epifancev
548dfd4361
fix(tests): test_version не зависит от файла VERSION рядом с пакетом ( #3 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:41:12 +04:00
Andrey Epifancev
2973cc7966
Документирование warnings адаптера, тест листа-продолжения, обезличенная фамилия (M-2, M-3, M-4)
...
M-2: README и docstring normalize_candidate — при отсутствии документа
candidate.warnings хост обрабатывает сам. M-3: тесты сопоставления
по дате (переставленные даты) и по порядку (дубль даты).
M-4: «Косарев» заменён на «Иванов» в тестах и docstring.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:29:10 +04:00
Andrey Epifancev
5cc4522e4a
status_input: пустая строка организации/ИНН — «нет» (M-1)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:28:38 +04:00
Andrey Epifancev
598ac83855
recompute для DISCLOSURE: полные словари needs_review и родители detail (I-3)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:28:20 +04:00
Andrey Epifancev
8a63ce5196
VALUE_OUT_OF_RANGE: line_refs — ref строки, не ячейки значения (I-2)
...
Адрес ячейки остаётся в message. Добавлен инвариант-тест по golden:
line_refs предупреждений документа входят в ref строк, locator нет,
column_index есть среди колонок.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:28:03 +04:00
Andrey Epifancev
be3b9c8905
Склейка двухстрочной шапки, когда «Код» в верхней строке (I-1)
...
После выбора строки по подписи кода проверяется и нижняя строка (годы):
если подпись шапки отдельно не период, а вместе с нижней — период,
строки склеиваются. Тесты: Excel, OCR, повторная шапка в два ряда.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:27:42 +04:00
Andrey Epifancev
aa46e7ad4a
fix: квантование суммы «лучшей догадки» до 0,01 (T20.1)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:14:12 +04:00
Andrey Epifancev
2da7bff71a
test: golden на обезличенных входах aep_3, склейки, блока «Коды» 1С и листа-продолжения НПЗ; публичный API
...
Пять golden-входов по Review Focus 1–5, эталоны, свойство status_input_from_contract(to_contract(d)) == status_input(d)
на golden и граничных кейсах (DISCLOSURE, без строк, абсолютная колонка без даты), test_public_api, RulesError в __all__,
README: публичный API, словари, golden-update.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:12:29 +04:00
Andrey Epifancev
3ee74c6907
feat: перевод документа и предупреждений в форму контракта v2.0, вход статуса из документа контракта
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:06:55 +04:00
Andrey Epifancev
9e28213ce6
feat: точка входа пересчёта формы по сохранённым данным (правки, подтверждения, строки правки)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:04:19 +04:00
Andrey Epifancev
29198ddc44
feat: шаг 6 и конвейер кандидата — тип по кодам, вариант формы, пояснения, предупреждения файла
...
normalize_candidate / normalize; __init__ экспортирует уже реализованный публичный API.
DISCLOSURE: шапка не проверяется, предупреждений шапки нет, статус done (P1-6).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 14:01:56 +04:00
Andrey Epifancev
a5d10a6b0e
feat: общая функция статуса документа (detail не держит) и статуса конверта
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:58:27 +04:00
Andrey Epifancev
6067893db8
feat: шаг 8 — needs_review по покрытию §7 и конвенции знака, проверки полей шапки
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:56:08 +04:00
Andrey Epifancev
e03040d16d
feat: шаг 8 — подтверждение неуверенного кода перечнем бланка, якоря, законные повторы, выбор редакции
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:53:05 +04:00
Andrey Epifancev
3df179b7a3
feat: шаг 7 — посчитанные соотношения §7, abs_terms, допуск и округление, упрощённый набор, подстроки
...
Добавлены evaluation.py (EvalLine/EvalValue/is_check_line) и checks.py
(form_variant, subline_parents, evaluate_relations, checks_from).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:50:17 +04:00
Andrey Epifancev
0c4dc6d221
feat: шаги 4–5 — строки формы с сырым текстом и уверенностью, предупреждения единиц и масштаба xlsb
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:47:37 +04:00
Andrey Epifancev
91e96795d5
feat: шаг 3 — строки данных со статусами ok/unreadable/detail/missing, ref, разлепление склеек
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:44:47 +04:00
Andrey Epifancev
ed85759b9b
feat: шаг 2 — сегменты, повторная шапка, листы-продолжения и сопоставление колонок с первым сегментом
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:41:12 +04:00
Andrey Epifancev
995a778fa4
feat: шаг 2 — колонки периодов, относительные даты бланка 66н, неуверенные и мусорные подписи
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:37:12 +04:00
Andrey Epifancev
f4533f45e1
feat: шаг 2 — столбец кодов с защитой от блока «Коды», нумерация, строка заголовка, роли строк
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:33:47 +04:00
Andrey Epifancev
f73f386378
feat: разбор шапки формы (ИНН без двойников, единицы по ОКЕИ) и тип-подсказка по ОКУД и заголовку
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:30:00 +04:00
Andrey Epifancev
5f259be9ac
fix: out-of-range для любых Decimal, знак в скобках недопустим, тесты округления
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:28:21 +04:00
Andrey Epifancev
7b14276b1a
feat: parse_amount по стадиям (ядро числа, краевой мусор, скобки, разделители) и значение ячейки
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:26:07 +04:00
Andrey Epifancev
19f70fea65
feat: словарь периодов — даты, относительные подписи бланка 66н, исключения колонок
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:23:13 +04:00
Andrey Epifancev
aed37cc189
feat: буквы-двойники, нормализация подписей, разбор кода строки и отрезки кодов
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:20:30 +04:00
Andrey Epifancev
33ec43d78d
fix: вид абсолютного периода берётся из словаря; проверка ключей repeats
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:18:49 +04:00
Andrey Epifancev
25b8bc4abf
feat: словари нормализации (§7, периоды, заголовки, единицы, коды, предупреждения) и загрузчик
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:17:18 +04:00
Andrey Epifancev
03a7ae1a59
feat: типы шага 1 и выхода шагов 2–8, сериализация кандидата в json
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:13:31 +04:00
Andrey Epifancev
f5cb60a1cb
feat: каркас пакета arm_statements, make check, маркер версии копии
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:11:38 +04:00