Срез 3a: горячие папки как в armka_file_worker + нормализатор OCR → statementDocument v1.2 #6
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Решение владельца 06.10.2026: эталон раскладки горячих папок ИС Сканирование — сервис
RSHB/armka_file_worker(PDFWorker старого АРМ, проверен в контуре). Текущая раскладка scan-gateway (спекаimage-recognition-gateway,gateway/hotfolder.py,gateway/smb.py) расходится с ним в трёх местах.Привести scan-gateway к раскладке FileWorker:
<job_id>.<ext>(расширение исходного файла в нижнем регистре), а не<job_id>_<original_name>.original_nameв имя не входит.<назначение>.<uuid4>.tmpрядом с назначением вInput, затем атомарный rename без замены (replace_if_exists = False; если назначение уже есть — считать доставленным). ИС игнорирует*.tmp. Служебный каталогTmp(SCAN_TMP_DIR, OQ-79) становится не нужен — убрать или оставить как необязательную настройку, решить при brainstorming.Output/<job_id>/*.json— без изменений (батч появляется целиком и больше не меняется; пустой или отсутствующий каталог = ожидание). Стабилизация набора (SCAN_SETTLE_SECONDS) совместима, можно оставить.Output/<job_id>/*.json, сам каталог и входящий файлInput/<job_id>.<ext>(FileWorker:cleanup_result). Сейчас scan-gateway ничего не удаляет.openspec/specs/image-recognition-gateway(сценарии с<job_id>_aep_5.pdf,Tmp/), эмулятор ИС (scan_emulator), тесты и README.Не трогать: контракт
recognition.*и форматraw/{job_id}.json— это наш контракт с ядром, а не контракт ИС.Справочно, код FileWorker:
api/src/core/clients.py(SMBStorage.dispatch,_publish,discover_results,cleanup_result), README раздел «Файлы».Горячие папки ИС Сканирование как в armka_file_worker: Input/<job_id>.<ext>, временный .tmp рядом, очистка Output/<job_id>to Срез 3a: горячие папки как в armka_file_worker + нормализатор OCR → statementDocument v1.2