b9e1cbe617statements-version: сверка checkout библиотеки с requirements.txt в make venv/install; тег — из requirements (AURORA-1677)
Andrey Epifancev
2026-10-27 17:07:13 +04:00
88ea49b00eКопия recognition-result.schema.json из docs: описания под библиотеку (AURORA-1677)
Andrey Epifancev
2026-10-27 16:33:27 +04:00
da2b9a1611AURORA-1677: arm_statements теперь библиотекаtsygankoviva2026-10-23 15:33:30 +03:00
185a5d64daMerge pull request 'chore(arm_statements): копия arm-statements@25b2bb8 (#50)' (#51) from feat/50-statements-sync-25b2bb8 into main
main
aep2026-10-22 15:47:41 +03:00
64dab79290docs: README и CLAUDE.md — адаптер OCR, arm_statements, контракт 2.0; интеграционные тесты (#46)
Andrey Epifancev
2026-10-18 20:23:30 +04:00
22ca529bc6test: golden v2 и Review Focus на реальных ответах ИС (#46)
Andrey Epifancev
2026-10-18 20:18:00 +04:00
d7bef3e08erefactor: удалён собственный нормализатор шагов 2–8, справочник строк и SCAN_RULES_DIR (#46)
Andrey Epifancev
2026-10-18 20:16:08 +04:00
edd3d03f25fix: locator и line_refs предупреждений и locator документов очищаются от суррогатов (T4.I-1, #46)
Andrey Epifancev
2026-10-18 20:14:34 +04:00
ae2922eb30feat: контракт результата 2.0 — документы и предупреждения файла общего кода arm_statements (#46)
Andrey Epifancev
2026-10-18 20:08:44 +04:00
3b9e1f6e19fix(normalizer): код ошибки набора от первого ошибочного json только если успешных нет (#46)
Andrey Epifancev
2026-10-18 19:59:53 +04:00
4acb0b83b8feat(normalizer): набор json ИС через arm_statements — JSON_FAILED, TABLE_PARSE_ERROR, статус конверта (#46)
Andrey Epifancev
2026-10-18 19:58:40 +04:00
13e857020aMerge pull request 'Тест идентичности копии контракта по MAJOR (шаг 0 docs#116)' (#43) from feat/42-contract-identity-window into mainaep2026-10-18 17:11:50 +03:00
0005c1d234test(#42): тест идентичности копии контракта по MAJOR, ARM_KA_DOCS (S-53, шаг 0 docs#116)
Andrey Epifancev
2026-10-18 13:19:37 +04:00
f095535250Merge PR #40: строка нумерации колонок и пробелы внутри суммы (AURORA-1517, 1511, 1519)aep2026-10-18 00:19:07 +03:00
9b0f01ef1cfix(normalizer): строка нумерации колонок — часть шапки, пробел внутри суммы не тысячи не верифицируется (AURORA-1517, 1511, 1519, #39)
Andrey Epifancev
2026-10-18 00:31:58 +04:00
36d3f5fbf0Merge pull request 'feat(normalizer): точка — разделитель тысяч в суммах OCR (AURORA-1405, #37)' (#38) from feat/37-dot-thousands into mainaep2026-10-16 12:36:19 +03:00
dec3f5224ffeat(normalizer): точка — тысячи при любом числе цифр до неё, если после неё ровно три (AURORA-1405, #37)
Andrey Epifancev
2026-10-16 13:35:31 +04:00
68ffc5bc24feat(normalizer): точка — разделитель тысяч в суммах OCR (AURORA-1405, #37)
Andrey Epifancev
2026-10-16 13:29:09 +04:00
18842e0796Merge pull request 'feat(normalizer): запятая — разделитель тысяч в суммах OCR (AURORA-1405, #35)' (#36) from feat/35-ocr-thousands into mainaep2026-10-15 17:37:17 +03:00
9dd568ce44fix(normalizer): правило тысяч только при скобках на всю строку, спека и README (AURORA-1405, #35)
Andrey Epifancev
2026-10-15 16:59:32 +04:00
1f308ddfe3feat(normalizer): запятая-разделитель тысяч в суммах OCR (AURORA-1405, #35)
Andrey Epifancev
2026-10-15 16:56:58 +04:00
97a910f641Merge pull request 'openspec: архив nats-env-config (#32)' (#34) from chore/32-archive-nats-env-config into mainaep2026-10-13 12:59:37 +03:00
e8ae691bdfMerge pull request 'NATS: subject'ы и JWT по окружению из OpenBao (OPENBAO__NATS__*) (#32)' (#33) from feat/32-nats-env-config into mainaep2026-10-13 12:54:55 +03:00
c10f927730Правки финального ревью: умолчания subject'ов не названы фактическими
Andrey Epifancev
2026-10-13 13:26:44 +04:00
cd5409be6eТесты NATS-настроек: все ключи и пары subject, утечка секретов, strip seed, JWT в /healthcheck, лог старта (#32)
Andrey Epifancev
2026-10-13 12:56:27 +04:00
192500e9f9NATS: подписка, публикация и /healthcheck.subjects по настройкам; интеграционные тесты на своих subject'ах (#32)
Andrey Epifancev
2026-10-13 12:19:11 +04:00
f1f7d784a5NATS: subject'ы и JWT из OPENBAO__NATS__*, SecretStr, скрытие входа в ошибках (#32)
Andrey Epifancev
2026-10-13 12:06:11 +04:00
1579295961openspec: change nats-env-config — subject'ы и JWT NATS по окружению из OpenBao
Andrey Epifancev
2026-10-12 21:40:35 +04:00
d49fa63e55Merge pull request 'Нормализатор OCR: при конфликте label и единодушных кодов строк тип документа — по кодам (#30)' (#31) from feat/30-type-by-codes into mainaep2026-10-09 19:08:42 +03:00
0847e6786cfix(normalizer): при конфликте label с единодушными кодами строк тип документа — по кодам (#30)
Andrey Epifancev
2026-10-09 20:07:25 +04:00
c2a1de6a8dMerge pull request 'openspec: архив hotfolder-direct-write (#26)' (#28) from chore/26-archive-hotfolder-direct-write into mainaep2026-10-09 16:46:09 +03:00
f37a3cd706Merge pull request 'Горячая папка: запись прямо в Input, как в старом АРМ; таймаут 20 мин (#26)' (#27) from feat/26-hotfolder-direct-write into mainaep2026-10-09 16:22:05 +03:00
7d8a506f4dfix(hotfolder): ошибка открытия входящего файла не удаляет файл прошлой доставки (#26, I-1)
Andrey Epifancev
2026-10-09 16:54:54 +04:00
3413328f02docs: прямая запись в Input, SCAN_TMP_DIR только у эмулятора, таймаут 1200 с (#26)
Andrey Epifancev
2026-10-09 16:41:32 +04:00
7dc0317b99feat(hotfolder): local тоже пишет прямо в Input; без SCAN_TMP_DIR; таймаут 1200 с (#26)
Andrey Epifancev
2026-10-09 16:34:39 +04:00
6870ca799afeat(smb): запись прямо в Input с перезаписью, как в старом АРМ (#26)
Andrey Epifancev
2026-10-09 16:30:31 +04:00
f69ff83d69Merge pull request 'NATS: subject'ы как в старом АРМ — files.*_uploaded, files.tabular_parsed (#22)' (#23) from feat/22-nats-files-subjects into mainaep2026-10-08 22:48:31 +03:00
6c287ef4bcnats: subject'ы как в старом АРМ — files.*_uploaded, files.tabular_parsed (#22)
Andrey Epifancev
2026-10-08 23:46:19 +04:00
1e7027ba73Merge pull request 'Логгер: вызывать setup_logger при импорте приложения (#18)' (#20) from feat/18-logger-diagnose into mainaep2026-10-08 15:47:49 +03:00
536dd31536Merge pull request 'feat(config): несекретные настройки из OpenBao через OPENBAO__APP__<ИМЯ> (#11)' (#12) from feat/11-openbao-app-settings into mainaep2026-10-07 17:42:19 +03:00
0ad8858d6ffeat(config): несекретные настройки из OpenBao через OPENBAO__APP__<ИМЯ> (#11)
Andrey Epifancev
2026-10-07 18:35:39 +04:00
6d195207d5Merge pull request 'openspec: архив change slice-3a-ocr-normalizer' (#10) from chore/archive-slice-3a-ocr-normalizer into mainaep2026-10-07 04:07:37 +03:00
477816225bMerge pull request 'Срез 3a: горячие папки как у armka_file_worker, нормализатор OCR → statementDocument v1.2' (#8) from feat/6-slice-3a-ocr-normalizer into mainaep2026-10-07 04:04:58 +03:00
1c39ca1b73docs(scan-gateway): README и спека — запись .part по №32/№35
Andrey Epifancev
2026-10-07 04:05:35 +04:00
cb8c71fc26fix(hotfolder): повтор задания при существующем назначении не трогает .part (R-17)
Andrey Epifancev
2026-10-07 03:44:41 +04:00
b411b7e128docs(openspec): решение №35 — повтор put при существующем назначении
Andrey Epifancev
2026-10-07 03:43:35 +04:00
576ce2c205docs(scan-gateway): README и CLAUDE.md по итогам финального ревью Среза 3a
Andrey Epifancev
2026-10-07 03:35:11 +04:00
a65ff8cf40test: SMB-очистка и коллизии rename, проверки очистки в воркере, точные докстринги
Andrey Epifancev
2026-10-07 03:35:10 +04:00
b956d5746ffix(hotfolder): .part создаётся заново (O_EXCL), fallback os.replace только вокруг os.link (№32)
Andrey Epifancev
2026-10-07 03:35:10 +04:00
c1288d08fbfix(normalizer): итоги финального ревью — Money, статус при ошибочном файле, пропущенные строки, длина дат, дубли yaml
Andrey Epifancev
2026-10-07 03:35:10 +04:00
22025ecabedocs(openspec): решения №30–34 по итогам финального ревью (Money, длина дат, .part, дубли yaml, дубли кодов), уточнение №29
Andrey Epifancev
2026-10-07 03:24:56 +04:00
02c6bc8762docs(openspec): решения №28–29 — статус при ошибочном файле набора, предупреждение о пропущенных строках
Andrey Epifancev
2026-10-07 03:06:52 +04:00
bef8441ca8docs(scan-gateway): README/CLAUDE.md под Срез 3a, roundtrip с документами, tasks.md
Andrey Epifancev
2026-10-07 02:42:49 +04:00
13bd2885e5fix(emulator): тест dot-файла различает проверку префикса, честные докстринги, сценарий появления файла (round 4)
Andrey Epifancev
2026-10-07 02:28:16 +04:00
e3353242bdfix(emulator): единственный refresh индекса за проход, реальный тест появления каталога, dot-файл в skip-тесте (round 3)
Andrey Epifancev
2026-10-07 02:21:42 +04:00
793516fa61fix(emulator): тесты неперестроения индекса, единственный refresh за проход, различающий тест skip-списка и верхний регистр (T14.2, T14.4)
Andrey Epifancev
2026-10-07 02:13:23 +04:00
31e05955aefix(emulator): индекс не пересчитывается на каждом проходе, устойчивость к нечитаемому файлу, тесты (T14.1–T14.4)
Andrey Epifancev
2026-10-07 02:02:55 +04:00
bb56226177feat(emulator): пара фикстур по sha256 содержимого, SCAN_EMULATOR_DEFAULT, входящий <uuid>.<ext> (D-3)
Andrey Epifancev
2026-10-07 01:53:22 +04:00
a12a603657docs(openspec): решение №27 — при выключенной очистке сирот .part не логируем
Andrey Epifancev
2026-10-07 01:45:41 +04:00
c1782b9524feat(worker): очистка горячей папки под SCAN_CLEANUP, RECOGNITION_FAILED без расширения, OcrNormalizer в lifespan (D-2, D-4)
Andrey Epifancev
2026-10-07 01:36:28 +04:00
c00823c673feat(hotfolder): SMB — rename без замены и cleanup под флагом (D-1, D-2)
Andrey Epifancev
2026-10-07 01:21:51 +04:00
5c2d89bef3fix(hotfolder): пустой тест, неоспоримая публикация при сбое удаления .part, validate_name в cleanup (T11.1, T11.2, T11.4)
Andrey Epifancev
2026-10-07 01:09:29 +04:00
6b2087f57fdocs(openspec): решение №26 — снятие .part при публикации не зависит от SCAN_CLEANUP
Andrey Epifancev
2026-10-07 01:08:40 +04:00
f7ce9f4cdcfeat(hotfolder): имя <job_id>.<ext>, запись без замены, cleanup под SCAN_CLEANUP (D-1, D-2)
Andrey Epifancev
2026-10-07 01:01:09 +04:00
ebbeff58bdtest(normalizer): golden на реальных ответах ИС, make golden-update (D-8)
Andrey Epifancev
2026-10-07 00:47:42 +04:00
2a7ceca334feat(normalizer): OcrNormalizer — документы из успешных файлов, статусы done/needs_check/error (D-6)
Andrey Epifancev
2026-10-07 00:42:44 +04:00
8ebf572a22fix(normalizer): values по числу колонок, предупреждения редакций и колонок (T8.1–T8.6)
Andrey Epifancev
2026-10-07 00:37:30 +04:00
37b36047fedocs(openspec): решения №21–25 (Task 8: values по колонкам, лукалайки только для дат, пустая редакция, form_name)
Andrey Epifancev
2026-10-07 00:36:20 +04:00
80622ed331feat(normalizer): сборка statementDocument из таблицы OCR — тип, колонки, строки, редакции (D-6, D-7)
Andrey Epifancev
2026-10-07 00:30:05 +04:00
6882493d98feat(normalizer): шапка документа из data_ocr — ИНН, единицы, дата отчёта (§11.1 п. 8)
Andrey Epifancev
2026-10-07 00:25:48 +04:00
462ea9ee32feat(normalizer): строки таблицы OCR — шапки, классы строк, тип по кодам (§11.1 п. 3–5)
Andrey Epifancev
2026-10-07 00:21:20 +04:00