Preview + executor now log the raw LLM response (first 1000 chars) when JSON parsing fails, enabling debugging of malformed LLM output. Previously ValueErrors from JSON parse failures were silently returned as 400 without any diagnostic data in logs.