Andrey Epifancev
55dbf8d16d
chore(arm_statements): копия arm-statements@25b2bb8 ( #50 )
...
Копия api/arm_statements: 3390f92..25b2bb8 (1 коммитов), скрипт docs/scripts/sync-statements.sh.
Коммиты arm-statements:
- 72e2e72 fix(#8 ): шаг 2 — нумерация со сбоем OCR под заголовком, повтор шапки со склеенной нумерацией (AURORA-1517)
statements-check scan-gateway: 0 — копия синхронна с arm-statements@origin/main (25b2bb8)
Co-Authored-By: sync-statements.sh <noreply@aepif.ru>
2026-10-22 16:45:32 +04:00
b8447581ae
Merge pull request 'Архив OpenSpec: contract-identity-window и statements-v2 ( #42 , #46 )' ( #48 ) from chore/46-archive-statements-v2 into main
2026-10-19 08:28:01 +03:00
Andrey Epifancev
ce0702ac9b
chore(openspec): архив contract-identity-window и statements-v2 ( #42 , #46 )
...
Ссылки README и CLAUDE.md ведут в архив.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:26:39 +04:00
1d05b9e2b3
Merge pull request 'Единая нормализация ББ/ОФР: адаптер OCR → arm_statements, контракт результата 2.0 (arm-ka-docs#116)' ( #47 ) from feat/46-statements-v2 into main
2026-10-19 07:38:21 +03:00
Andrey Epifancev
c5e4d0f7c8
chore(arm_statements): копия пакета arm-statements@3390f92 ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 21:30:15 +04:00
Andrey Epifancev
3a89a82dc1
docs: согласование числа в README ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:31:47 +04:00
Andrey Epifancev
e6d55a396f
fix: правки финального ревью — README, design R-7, spec severity, docstring'и, тесты ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:30:46 +04:00
Andrey Epifancev
64dab79290
docs: README и CLAUDE.md — адаптер OCR, arm_statements, контракт 2.0; интеграционные тесты ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:23:30 +04:00
Andrey Epifancev
22ca529bc6
test: golden v2 и Review Focus на реальных ответах ИС ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:18:00 +04:00
Andrey Epifancev
d7bef3e08e
refactor: удалён собственный нормализатор шагов 2–8, справочник строк и SCAN_RULES_DIR ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:16:08 +04:00
Andrey Epifancev
edd3d03f25
fix: locator и line_refs предупреждений и locator документов очищаются от суррогатов (T4.I-1, #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:14:34 +04:00
Andrey Epifancev
ae2922eb30
feat: контракт результата 2.0 — документы и предупреждения файла общего кода arm_statements ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 20:08:44 +04:00
Andrey Epifancev
3b9e1f6e19
fix(normalizer): код ошибки набора от первого ошибочного json только если успешных нет ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:59:53 +04:00
Andrey Epifancev
4acb0b83b8
feat(normalizer): набор json ИС через arm_statements — JSON_FAILED, TABLE_PARSE_ERROR, статус конверта ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:58:40 +04:00
Andrey Epifancev
fa0f3e7a7f
feat(normalizer): адаптер шага 1 — таблица json ИС → FormCandidate ( #46 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:56:24 +04:00
Andrey Epifancev
43f74fbd50
openspec: change statements-v2 — адаптер OCR → arm_statements, контракт 2.0 ( #46 , arm-ka-docs#116)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:54:19 +04:00
ec9f765c27
Merge pull request 'Подключение копии пакета arm_statements ( #44 )' ( #45 ) from feat/44-arm-statements-copy into main
2026-10-18 18:50:07 +03:00
Andrey Epifancev
f8dd931bb1
chore(arm_statements): копия arm-statements@52857a0 ( #44 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:45:10 +04:00
Andrey Epifancev
5e031fde7a
build: копия arm_statements в линтерах и тестах, statements-check в check-full ( #44 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:40:03 +04:00
Andrey Epifancev
56c0f01d86
chore(arm_statements): копия пакета arm-statements@6bce80b ( #44 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 19:38:33 +04:00
13e857020a
Merge pull request 'Тест идентичности копии контракта по MAJOR (шаг 0 docs#116)' ( #43 ) from feat/42-contract-identity-window into main
2026-10-18 17:11:50 +03:00
Andrey Epifancev
0005c1d234
test( #42 ): тест идентичности копии контракта по MAJOR, ARM_KA_DOCS (S-53, шаг 0 docs#116)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 13:19:37 +04:00
f095535250
Merge PR #40 : строка нумерации колонок и пробелы внутри суммы (AURORA-1517, 1511, 1519)
2026-10-18 00:19:07 +03:00
Andrey Epifancev
9b0f01ef1c
fix(normalizer): строка нумерации колонок — часть шапки, пробел внутри суммы не тысячи не верифицируется (AURORA-1517, 1511, 1519, #39 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 00:31:58 +04:00
36d3f5fbf0
Merge pull request 'feat(normalizer): точка — разделитель тысяч в суммах OCR (AURORA-1405, #37 )' ( #38 ) from feat/37-dot-thousands into main
2026-10-16 12:36:19 +03:00
Andrey Epifancev
dec3f5224f
feat(normalizer): точка — тысячи при любом числе цифр до неё, если после неё ровно три (AURORA-1405, #37 )
...
Решение владельца 16.10.2026 (R-3): шаблон точки [+-]?[1-9]\d*(\.\d{3})+ —
«1 234.567», «1234.567», «12345.678», «(1 234.567)» -> тысячи. Дробная часть
не из трёх цифр, ведущий ноль, смешанные записи — как раньше. Правило для
запятой не расширено.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:35:31 +04:00
Andrey Epifancev
68ffc5bc24
feat(normalizer): точка — разделитель тысяч в суммах OCR (AURORA-1405, #37 )
...
«4.200» разбирался как 4.200 с тремя знаками и отсекался решением №30
(amount = null, текст в string_value). Теперь точки строго через три цифры
([+-]?[1-9]\d{0,2}(\.\d{3})+, скобки на всю строку) — разделители тысяч,
как для запятой (#35 ): 4.200 -> 4200, (4.200) -> -4200, 1.234.567 -> 1234567,
verified не страдает. Дроби и смешанные записи (1.234,56) — как раньше.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 13:29:09 +04:00
18842e0796
Merge pull request 'feat(normalizer): запятая — разделитель тысяч в суммах OCR (AURORA-1405, #35 )' ( #36 ) from feat/35-ocr-thousands into main
2026-10-15 17:37:17 +03:00
Andrey Epifancev
9dd568ce44
fix(normalizer): правило тысяч только при скобках на всю строку, спека и README (AURORA-1405, #35 )
...
I-1: «(4,200) руб», «1,234(5,678)» и т. п. разбираются как прежде; I-2/I-3: спека и README;
M-1..M-3: docstring, комментарий регулярки, тесты крайних случаев.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:59:32 +04:00
Andrey Epifancev
1f308ddfe3
feat(normalizer): запятая-разделитель тысяч в суммах OCR (AURORA-1405, #35 )
...
«4,200» в PDF — это 4200: запятые вида [+-]?[1-9]\d{0,2}(,\d{3})+ (полное совпадение, с учётом скобок)
удаляются до замены запятой на точку, verified сохраняется. Решение владельца 15.10.2026.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:56:58 +04:00
97a910f641
Merge pull request 'openspec: архив nats-env-config ( #32 )' ( #34 ) from chore/32-archive-nats-env-config into main
...
Reviewed-on: #34
2026-10-13 12:59:37 +03:00
Andrey Epifancev
7235669fc6
openspec: архив nats-env-config ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:57:09 +04:00
e8ae691bdf
Merge pull request 'NATS: subject'ы и JWT по окружению из OpenBao (OPENBAO__NATS__*) ( #32 )' ( #33 ) from feat/32-nats-env-config into main
...
Reviewed-on: #33
2026-10-13 12:54:55 +03:00
Andrey Epifancev
c10f927730
Правки финального ревью: умолчания subject'ов не названы фактическими
...
M-3: докстринги worker.py не называют умолчание фактическим subject'ом.
T7.1: выровнены переносы докстринга core/nats.py.
M-5: CLAUDE.md помечает files.tabular_parsed как умолчание.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:26:44 +04:00
Andrey Epifancev
0ef4a8a6bc
openspec: nats-env-config — check-full зелёный, пункт 3.2 отмечен ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 13:18:15 +04:00
Andrey Epifancev
cd5409be6e
Тесты NATS-настроек: все ключи и пары subject, утечка секретов, strip seed, JWT в /healthcheck, лог старта ( #32 )
...
Фикс-волна minor-находок ревью (T6.1, T6.3, T2.2-аналог); tasks.md отмечен, кроме make check-full.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:56:27 +04:00
Andrey Epifancev
192500e9f9
NATS: подписка, публикация и /healthcheck.subjects по настройкам; интеграционные тесты на своих subject'ах ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:19:11 +04:00
Andrey Epifancev
f1f7d784a5
NATS: subject'ы и JWT из OPENBAO__NATS__*, SecretStr, скрытие входа в ошибках ( #32 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 12:06:11 +04:00
Andrey Epifancev
1579295961
openspec: change nats-env-config — subject'ы и JWT NATS по окружению из OpenBao
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:40:35 +04:00
d49fa63e55
Merge pull request 'Нормализатор OCR: при конфликте label и единодушных кодов строк тип документа — по кодам ( #30 )' ( #31 ) from feat/30-type-by-codes into main
...
Reviewed-on: #31
2026-10-09 19:08:42 +03:00
Andrey Epifancev
0847e6786c
fix(normalizer): при конфликте label с единодушными кодами строк тип документа — по кодам ( #30 )
...
ИС Сканирование вернула ОФР с label «Бухгалтерский баланс» при кодах 2110…2910;
по прежнему правилу побеждал label, и документ уходил в ядро как BALANCE.
Теперь: все коды данных одной группы и противоречат label — тип по кодам,
предупреждение «тип по label (…) не совпал с кодами: взят …», needs_check;
смешанные коды — по-прежнему label. header.form_name не меняется.
Спека image-recognition-gateway, README и CLAUDE.md обновлены.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-09 20:07:25 +04:00
c2a1de6a8d
Merge pull request 'openspec: архив hotfolder-direct-write ( #26 )' ( #28 ) from chore/26-archive-hotfolder-direct-write into main
...
Reviewed-on: #28
2026-10-09 16:46:09 +03:00
Andrey Epifancev
94ab9e90d1
openspec: архив hotfolder-direct-write ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 17:23:21 +04:00
f37a3cd706
Merge pull request 'Горячая папка: запись прямо в Input, как в старом АРМ; таймаут 20 мин ( #26 )' ( #27 ) from feat/26-hotfolder-direct-write into main
...
Reviewed-on: #27
2026-10-09 16:22:05 +03:00
Andrey Epifancev
7d8a506f4d
fix(hotfolder): ошибка открытия входящего файла не удаляет файл прошлой доставки ( #26 , I-1)
...
Открытие вынесено из блока снятия недописанного файла: при SCAN_CLEANUP=true
удаляется только файл, сбойнувший после открытия. Решения R-5…R-8 — в design.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:54:54 +04:00
Andrey Epifancev
3413328f02
docs: прямая запись в Input, SCAN_TMP_DIR только у эмулятора, таймаут 1200 с ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:41:32 +04:00
Andrey Epifancev
7dc0317b99
feat(hotfolder): local тоже пишет прямо в Input; без SCAN_TMP_DIR; таймаут 1200 с ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:34:39 +04:00
Andrey Epifancev
6870ca799a
feat(smb): запись прямо в Input с перезаписью, как в старом АРМ ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:30:31 +04:00
Andrey Epifancev
7ec3dd49fd
plan: hotfolder-direct-write ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:28:31 +04:00
Andrey Epifancev
85f4e9c847
openspec: change hotfolder-direct-write — запись прямо в Input, как в старом АРМ ( #26 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:22:07 +04:00