...P {r.status_code}: {r.text[:800]}")
    data = r.json()
    return (data.get("message", {}) or {}).get("content", "") or ""


def discover_block_files(blocks_raw_dir: Path) -> List[Path]:
    # Deine Struktur: blocks_raw\CONV_00xx_*\CONV_00xx_BLOCK_yy.txt
    # Wir scannen rekursiv nach CONV_*_BLOCK_*.txt
    return sorted(blocks_raw_dir.rglob("CONV_*_BLOCK_*.txt"))


def write_index_header_if_missing(ind...