Files
contracts/History/opus-classify-bugs.md
T

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.