{"record":{"id":"e989d2ef71c1caff","repo":"nikivdev/code","slug":"gemini-returned-empty-summary","errorCode":null,"errorMessage":"Gemini returned empty summary","messagePattern":"Gemini returned empty summary","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/ai.rs","lineNumber":14641,"sourceCode":"        .context(\"failed to call Gemini API\")?;\n\n    if !resp.status().is_success() {\n        let status = resp.status();\n        let text = resp.text().unwrap_or_default();\n        bail!(\"Gemini API error {}: {}\", status, text);\n    }\n\n    let parsed: GeminiResponse = resp.json().context(\"failed to parse Gemini response\")?;\n    let content = parsed\n        .candidates\n        .get(0)\n        .and_then(|c| c.content.parts.get(0))\n        .and_then(|p| p.text.as_deref())\n        .unwrap_or(\"\")\n        .trim();\n\n    if content.is_empty() {\n        bail!(\"Gemini returned empty summary\");\n    }\n\n    let summary_payload = parse_summary_response(content)?;\n\n    Ok(SessionSummary {\n        summary: summary_payload.summary,\n        chapters: summary_payload.chapters,\n        session_last_timestamp: None,\n        model,\n        updated_at: chrono::Utc::now().to_rfc3339(),\n    })\n}\n\nfn summarize_handoff_with_gemini(context: &str) -> Result<String> {\n    let api_key = get_gemini_api_key()?;\n    let model = gemini_model();\n\n    let prompt = format!(","sourceCodeStart":14623,"sourceCodeEnd":14659,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/ai.rs#L14623-L14659","documentation":"Error \"Gemini returned empty summary\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/ai.rs:14641 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}