1.0 KiB
1.0 KiB
Opus Analysis — 2026-06-24 — Почему 5/6 и нет договора
Три бага
1. Договор failed классификацию (корневая причина)
Самый большой документ (3000 символов выжимки) + max_tokens=500 → LLM обрезает JSON → _safe_json_parse падает → classify_status='failed'. Именно он — тот 1 из 6, который не прошёл.
2. Мёртвый код в grouping.py (failed не видны)
unmatched += [d for d in classified if d.get("classify_status") != "classified"]
Итерация по classified (уже отфильтрованному), условие всегда ложно.
Должно быть: ...for d in docs...
3. normalize_number ломает сопоставление
"03700_1" → "037001", "03700" → "03700". Не совпадают.
Допники никогда не матчатся к базовому договору из-за суффикса _N.