d51e91ea26
parse_x_response was returning an empty items list whenever xAI returned a 200 OK with a malformed payload — empty output text, missing "items" key, or invalid JSON. The pipeline saw "successful response with zero items" and quietly handed the user a degraded report with no indication the API had failed. Now raise http.HTTPError on each of those branches so _retrieve_stream's caller catches it and surfaces the failure in errors_by_source, giving the user a visible signal that X didn't work. Closes #155. Co-authored-by: Kaustav Mishra <km.git007@gmail.com>