From 99a5a86135a81a9a370d9986fca736600bbb9682 Mon Sep 17 00:00:00 2001 From: kulvirgit Date: Mon, 23 Mar 2026 17:19:14 -0700 Subject: [PATCH] fix: sql_analyze reports "unknown error" for successful analyses (AI-5975) sql.analyze returned success:false when it found lint/semantic/safety issues, causing telemetry to log ~4,000 false "unknown error" failures per day. Finding issues IS a successful analysis. - Change success flag to true when analysis completes without exceptions - Surface actual error messages to metadata.error so telemetry can distinguish real failures from successful analyses Co-Authored-By: Claude Opus 4.6 (1M context) --- packages/opencode/src/altimate/native/sql/register.ts | 2 +- packages/opencode/src/altimate/tools/sql-analyze.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/altimate/native/sql/register.ts b/packages/opencode/src/altimate/native/sql/register.ts index 78b6ac5a2..f992a8048 100644 --- a/packages/opencode/src/altimate/native/sql/register.ts +++ b/packages/opencode/src/altimate/native/sql/register.ts @@ -75,7 +75,7 @@ register("sql.analyze", async (params) => { } return { - success: issues.length === 0, + success: true, issues, issue_count: issues.length, confidence: "high", diff --git a/packages/opencode/src/altimate/tools/sql-analyze.ts b/packages/opencode/src/altimate/tools/sql-analyze.ts index d48c4e805..870c8f992 100644 --- a/packages/opencode/src/altimate/tools/sql-analyze.ts +++ b/packages/opencode/src/altimate/tools/sql-analyze.ts @@ -22,11 +22,12 @@ export const SqlAnalyzeTool = Tool.define("sql_analyze", { }) return { - title: `Analyze: ${result.success ? `${result.issue_count} issue${result.issue_count !== 1 ? "s" : ""}` : "PARSE ERROR"} [${result.confidence}]`, + title: `Analyze: ${result.error ? "PARSE ERROR" : `${result.issue_count} issue${result.issue_count !== 1 ? "s" : ""}`} [${result.confidence}]`, metadata: { success: result.success, issueCount: result.issue_count, confidence: result.confidence, + ...(result.error && { error: result.error }), }, output: formatAnalysis(result), } @@ -34,7 +35,7 @@ export const SqlAnalyzeTool = Tool.define("sql_analyze", { const msg = e instanceof Error ? e.message : String(e) return { title: "Analyze: ERROR", - metadata: { success: false, issueCount: 0, confidence: "unknown" }, + metadata: { success: false, issueCount: 0, confidence: "unknown", error: msg }, output: `Failed to analyze SQL: ${msg}\n\nCheck your connection configuration and try again.`, } }