2.2 KiB
2.2 KiB
v0.0.74 — отмена в extract-фазе (2026-08-24)
code-fixes. Доработка по код-ревью Соннета (пункт «отмена не работает в extract-фазе»).
Что сделано (drhider/obfuscator.py)
- В проходе 1 (извлечение) добавлена проверка
cancel_event.is_set()между файлами: при отмене цикл извлечения прерывается (break), LLM-сканирование пропускается, результат помечаетсяcancelled(processed=0, пустой ZIP + mapping.csv только заголовок). - Раньше отмена ждала завершения ВСЕХ извлечений, включая медленные
.doc(liberta, до 120с/файл).
Проверка
py_compile— OK,importdrhider — OK.- Unit-тест:
cancel_eventустановлен до старта →meta={'cancelled': True, 'processed': 0, 'total': 2}, пустой ZIP (22 Б), CSV только заголовок.
Критично к Соннету (по итогам проверки)
- «LLM-таймаут тихо обнуляет чанк» — ОТКЛОНЕНО:
_call_llmуже логирует (log.warning("LLM NER failed: %s", e)) вexcept Exception. Таймаут не «тихий». - «cleanup после /download» — ОТКЛОНЕНО ранее (ZIP и CSV скачиваются раздельно, см. v0.0.73).
Осталось (не трогаем, задокументировано)
- idx-мисматч
expand_zips(фильтр расширений) — краевой случай, спорное поведение. - LLM prompt injection — класс риска, не фикс кода.
- debug-эндпоинт
session_files— мелочь, может сломать тесты.
Версия 0.0.73 → 0.0.74.
Проверка на проде (редеплой 20:07, v0.0.74)
- Версия v0.0.74 — на проде.
- Регресс: обычный цикл «Обработано 2 файлов: 1.9с» — фикс отмены не сломал обработку.