{"record":{"id":"ea9f490c0fab5d70","repo":"nikivdev/code","slug":"opencode-failed","errorCode":null,"errorMessage":"opencode failed: {}","messagePattern":"opencode failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/commit.rs","lineNumber":12699,"sourceCode":"        .context(\"failed to run opencode for commit message\")?;\n\n    info!(\n        elapsed_ms = start.elapsed().as_millis() as u64,\n        success = output.status.success(),\n        stdout_len = output.stdout.len(),\n        stderr_len = output.stderr.len(),\n        \"opencode run completed\"\n    );\n\n    if !output.status.success() {\n        let stderr = String::from_utf8_lossy(&output.stderr);\n        let stdout = String::from_utf8_lossy(&output.stdout);\n        let error_msg = if stderr.trim().is_empty() {\n            stdout.trim()\n        } else {\n            stderr.trim()\n        };\n        bail!(\"opencode failed: {}\", error_msg);\n    }\n\n    // Parse JSON lines to extract text content\n    let stdout = String::from_utf8_lossy(&output.stdout);\n    let mut message = String::new();\n    for line in stdout.lines() {\n        if let Ok(json) = serde_json::from_str::<serde_json::Value>(line) {\n            if json.get(\"type\").and_then(|t| t.as_str()) == Some(\"text\") {\n                if let Some(text) = json\n                    .get(\"part\")\n                    .and_then(|p| p.get(\"text\"))\n                    .and_then(|t| t.as_str())\n                {\n                    message.push_str(text);\n                }\n            }\n        }\n    }","sourceCodeStart":12681,"sourceCodeEnd":12717,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/commit.rs#L12681-L12717","documentation":"Error \"opencode failed: {}\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/commit.rs:12699 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"}