# Валидация анализа по блокам

Отдельный промпт на каждый блок анализа главы. Цель — повысить качество проверки за счёт узкого фокуса.

## Блоки и промпты

| Блок        | Файл промпта           | Что проверяем                          |
|-------------|------------------------|----------------------------------------|
| framework   | validate_framework.txt | Принципы, цепочки cause–mechanism–result |
| insights    | validate_insights.txt  | Инсайты (title, description)          |
| application | validate_application.txt | Техники (name, goal, steps)         |
| limitations | validate_limitations.txt | Ограничения, оговорки              |

## Подстановки в промптах

- `{book_title}` — название книги
- `{chapter_title}` — название главы
- `{chapter_text}` — текст главы
- `{framework_json}` — JSON блока `framework`
- `{insights_json}` — JSON блока `insights`
- `{application_json}` — JSON блока `application`
- `{limitations_json}` — JSON блока `limitations`

Промпты рассчитаны на тестирование по одному; доработка — по результатам прогонов.

## Скрипт валидации через Ollama

`run_validation_ollama.py` — последовательная валидация всех четырёх блоков через Ollama. На выходе один JSON-файл со статусами по каждому блоку.

**Вход (по умолчанию):**
- `../1_анализ_главы/merge.json` — результат этапа 1 (framework, insights, application, limitations)
- `../1_анализ_главы/вход_главы.json` — текст главы и метаданные (book_title, chapter_title, chapter_text)

**Выход:** `validation_status.json` в каталоге скрипта (или путь через `-o`).

**Формат выхода:** по одному ключу на блок (`framework`, `insights`, `application`, `limitations`). Каждое значение:
- `verdict` — `ok` | `needs_review` | `bad` | `skipped` | `error`
- `score` — число 0.0 или `null`
- `hallucinations` — список замечаний по галлюцинациям
- `missing_key_points` — список пропущенных ключевых моментов

**Запуск:**
```bash
cd 2_валидация_анализа_по_блокам
python3 run_validation_ollama.py
# с указанием путей:
python3 run_validation_ollama.py --merge /path/to/merge.json --chapter /path/to/вход_главы.json -o validation_status.json
```
