# 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 не видны) ```python 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.