...“
- „Jeder Code braucht: quote <= 20 Wörter + line_start/line_end“
- „Wenn nichts passt: codes=[]“
- „Keine klinischen Begriffe“

---

### Patch 4: Harte Validierung v2.0 (damit Output belastbar ist, egal was das Modell macht)
In `validate_schema()` erzwingen:

- Root ist dict
- `block_id` matcht
- `codes` ist list
- jedes code-item:
  - nur Keys: `code, quote, line_start, line_end`
  - `quote` ist st...