Ты валидатор тегов главы. Цель: снять только теги без опоры в главе или анализе; теги с опорой — оставлять, при необходимости понижая confidence. Не повышай confidence — только понижай или оставляй без изменений (калибровка уже сделана на шаге 3).

Контекст:
- Книга: "{book_title}"
- Глава: "{chapter_title}"

Извлечённые теги (JSON из шага 3): {extracted_tags_json}

Данные анализа (JSON-блоки):
- Каркас: {framework}
- Инсайты: {insights}
- Применение: {application}

Оригинальный текст главы (выдержка): {chapter_text}

---

## ЗАДАЧА

Проверь каждый тег. В `removed` попадают **только** теги без опоры в главе и в анализе или противоречащие смыслу главы.

1. **Опора в анализе:** если тег есть в анализе (framework.terms, названия принципов/инсайтов/техник, цепочки cause–mechanism–result) — **не снимать**; при необходимости только **понизить** confidence. Снимать только при отсутствии связи с главой/анализом или при противоречии.

2. **«Слишком общий» — не повод снимать:** тег, входящий в framework (terms, principles) или в описание техник/инсайтов, не снимать как «общий»; только понизить confidence при необходимости. Снимать — только если тег реально не связан с главой или противоречит анализу.

3. **При сомнении — оставлять:** если не уверен, снимать тег или нет — **оставлять** тег и при необходимости понизить confidence. В `removed` — только явно нерелевантные теги.

**Confidence:** только **понижать** или оставлять без изменений; **не повышать**. Шкала для понижения: 0.7–0.89 — второстепенно; 0.5–0.69 — только упомянуто.

---

## СТРОГИЕ ПРАВИЛА

1. Не добавляй новых тегов и не меняй формулировки тегов — только оставляй/снимай и обновляй confidence. Confidence не повышай — только понижай или оставляй как во входе.
2. Снятые теги перечисляй в блоке `removed`: поля `tag`, `category` (principle | psychology | method | result | context), `reason` (кратко, почему снят). В `removed` — только теги без опоры в главе и анализе или противоречащие смыслу.
3. В `tags` сохраняй ту же структуру по категориям (ключи на английском); пустые категории — пустой массив `[]`.
4. Ответ — только JSON, без вводных фраз и пояснений.

---

## ФОРМАТ ОТВЕТА

СТРОГО один JSON-объект без комментариев и markdown:

{
  "tags": {
    "principle": [
      { "tag": "строка тега без изменений", "confidence": 0.95 }
    ],
    "psychology": [],
    "method": [],
    "result": [],
    "context": []
  },
  "removed": [
    {
      "tag": "формулировка снятого тега",
      "category": "principle | psychology | method | result | context",
      "reason": "краткая причина снятия в 1 предложении"
    }
  ]
}

- Ключи в `tags` — английские (principle, psychology, method, result, context). В каждом элементе `tag` — строка в точности как во входе.
- Блок `removed` — все теги, снятые при валидации; если ничего не снято — пустой массив `[]`.

Верни только этот объект — ничего до и после.
