[combined_tutor_review] {"time":"2026-06-01T11:04:49+00:00","question_id":"q1","error_code":"timeout","detail":"OpenAI request timed out.","phase":"openai","timed_out":true,"http_status":0,"response_len":0,"raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T11:04:49+00:00","question_id":"q2","error_code":"incomplete_response","detail":"AI did not return valid JSON.","phase":"openai","timed_out":false,"http_status":200,"response_len":8,"raw_len":8}
[combined_tutor_review] {"time":"2026-06-01T11:04:49+00:00","question_id":"q3","error_code":"incomplete_response","detail":"Reviewer JSON missing summary.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T11:04:49+00:00","question_id":"q4","error_code":"incomplete_response","detail":"Suggested correct answer was incomplete.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T11:05:12+00:00","question_id":"q1","error_code":"timeout","detail":"OpenAI request timed out.","phase":"openai","timed_out":true,"http_status":0,"response_len":0,"raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T11:05:12+00:00","question_id":"q2","error_code":"incomplete_response","detail":"AI did not return valid JSON.","phase":"openai","timed_out":false,"http_status":200,"response_len":8,"raw_len":8}
[combined_tutor_review] {"time":"2026-06-01T11:05:12+00:00","question_id":"q3","error_code":"incomplete_response","detail":"Reviewer JSON missing summary.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T11:05:12+00:00","question_id":"q4","error_code":"suggestions_inconsistent","detail":"Suggested correct answer was incomplete.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-01T15:04:43+00:00","question_id":"891","error_code":"generic","detail":"Question not found.","phase":"request"}
[combined_tutor_review] {"time":"2026-06-01T15:05:05+00:00","question_id":"890","error_code":"generic","detail":"Question not found.","phase":"request"}
[combined_tutor_review] {"time":"2026-06-08T16:27:57+00:00","question_id":"1044","error_code":"generic","detail":"Call to undefined function sbaCombinedTutorReviewCorrectAnswerSuggestionIsAcceptable()","phase":"exception","exception":"Error"}
[combined_tutor_review] {"time":"2026-06-11T22:06:29+00:00","question_id":"q1","error_code":"timeout","detail":"OpenAI request timed out.","phase":"openai","timed_out":true,"http_status":0,"response_len":0,"raw_len":0}
[combined_tutor_review] {"time":"2026-06-11T22:06:29+00:00","question_id":"q2","error_code":"incomplete_response","detail":"AI did not return valid JSON.","phase":"openai","timed_out":false,"http_status":200,"response_len":8,"raw_len":8}
[combined_tutor_review] {"time":"2026-06-11T22:06:29+00:00","question_id":"q3","error_code":"incomplete_response","detail":"Reviewer JSON missing summary.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-11T22:06:29+00:00","question_id":"q4","error_code":"suggestions_inconsistent","detail":"Suggested correct answer was incomplete.","phase":"normalize","raw_len":0}
[combined_tutor_review] {"time":"2026-06-12T05:12:03+00:00","question_id":"","error_code":"generic","detail":"Missing question ID.","phase":"request"}
[combined_tutor_review] {"time":"2026-06-12T05:12:05+00:00","question_id":"","error_code":"generic","detail":"Missing question ID.","phase":"request"}
[combined_tutor_review] {"time":"2026-06-12T05:12:11+00:00","question_id":"","error_code":"generic","detail":"Missing question ID.","phase":"request"}
