Skip to content

Commit 7029201

Browse files
suryaiyer95claude
andcommitted
refactor: [AI-5975] remove hardcoded dialect: "snowflake" from core tools
- Remove `dialect` from metadata in 8 altimate-core/impact tools that don't accept a dialect parameter (it was always hardcoded to "snowflake") - Make `dialect` optional in `sql_quality` telemetry event type - Only emit `dialect` when the tool actually provides it (sql-analyze, sql-optimize, schema-diff still do via `args.dialect`) - Tracked as #455 for adding proper dialect parameter support later Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 38914b5 commit 7029201

10 files changed

Lines changed: 13 additions & 21 deletions

packages/opencode/src/altimate/telemetry/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ export namespace Telemetry {
416416
/** JSON-encoded Record<string, number> — count per issue category */
417417
by_category: string
418418
has_schema: boolean
419-
dialect: string
419+
dialect?: string
420420
duration_ms: number
421421
}
422422
// altimate_change end

packages/opencode/src/altimate/tools/altimate-core-check.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,14 @@ export const AltimateCoreCheckTool = Tool.define("altimate_core_check", {
4141
metadata: {
4242
success: result.success,
4343
has_schema: hasSchema,
44-
dialect: "snowflake",
4544
...(error && { error }),
4645
...(findings.length > 0 && { findings }),
4746
},
4847
output: formatCheck(data),
4948
}
5049
} catch (e) {
5150
const msg = e instanceof Error ? e.message : String(e)
52-
return { title: "Check: ERROR", metadata: { success: false, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
51+
return { title: "Check: ERROR", metadata: { success: false, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
5352
}
5453
},
5554
})

packages/opencode/src/altimate/tools/altimate-core-correct.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,14 @@ export const AltimateCoreCorrectTool = Tool.define("altimate_core_correct", {
3232
success: result.success,
3333
iterations: data.iterations,
3434
has_schema: hasSchema,
35-
dialect: "snowflake",
3635
...(error && { error }),
3736
...(findings.length > 0 && { findings }),
3837
},
3938
output: formatCorrect(data),
4039
}
4140
} catch (e) {
4241
const msg = e instanceof Error ? e.message : String(e)
43-
return { title: "Correct: ERROR", metadata: { success: false, iterations: 0, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
42+
return { title: "Correct: ERROR", metadata: { success: false, iterations: 0, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
4443
}
4544
},
4645
})

packages/opencode/src/altimate/tools/altimate-core-equivalence.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const AltimateCoreEquivalenceTool = Tool.define("altimate_core_equivalenc
1616
const hasSchema = !!(args.schema_path || (args.schema_context && Object.keys(args.schema_context).length > 0))
1717
if (!hasSchema) {
1818
const error = "No schema provided. Provide schema_context or schema_path so table/column references can be resolved."
19-
return { title: "Equivalence: NO SCHEMA", metadata: { success: false, equivalent: false, has_schema: false, dialect: "snowflake", error }, output: `Error: ${error}` }
19+
return { title: "Equivalence: NO SCHEMA", metadata: { success: false, equivalent: false, has_schema: false, error }, output: `Error: ${error}` }
2020
}
2121
try {
2222
const result = await Dispatcher.call("altimate_core.equivalence", {
@@ -44,15 +44,14 @@ export const AltimateCoreEquivalenceTool = Tool.define("altimate_core_equivalenc
4444
success: !isRealFailure,
4545
equivalent: data.equivalent,
4646
has_schema: hasSchema,
47-
dialect: "snowflake",
4847
...(error && { error }),
4948
...(findings.length > 0 && { findings }),
5049
},
5150
output: formatEquivalence(data),
5251
}
5352
} catch (e) {
5453
const msg = e instanceof Error ? e.message : String(e)
55-
return { title: "Equivalence: ERROR", metadata: { success: false, equivalent: false, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
54+
return { title: "Equivalence: ERROR", metadata: { success: false, equivalent: false, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
5655
}
5756
},
5857
})

packages/opencode/src/altimate/tools/altimate-core-fix.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,14 @@ export const AltimateCoreFixTool = Tool.define("altimate_core_fix", {
4141
success,
4242
fixed: !!data.fixed_sql,
4343
has_schema: hasSchema,
44-
dialect: "snowflake",
4544
...(error && { error }),
4645
...(findings.length > 0 && { findings }),
4746
},
4847
output: formatFix(data),
4948
}
5049
} catch (e) {
5150
const msg = e instanceof Error ? e.message : String(e)
52-
return { title: "Fix: ERROR", metadata: { success: false, fixed: false, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
51+
return { title: "Fix: ERROR", metadata: { success: false, fixed: false, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
5352
}
5453
},
5554
})

packages/opencode/src/altimate/tools/altimate-core-policy.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,14 @@ export const AltimateCorePolicyTool = Tool.define("altimate_core_policy", {
3434
success: true, // engine ran — violations are findings, not failures
3535
pass: data.pass,
3636
has_schema: hasSchema,
37-
dialect: "snowflake",
3837
...(error && { error }),
3938
...(findings.length > 0 && { findings }),
4039
},
4140
output: formatPolicy(data),
4241
}
4342
} catch (e) {
4443
const msg = e instanceof Error ? e.message : String(e)
45-
return { title: "Policy: ERROR", metadata: { success: false, pass: false, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
44+
return { title: "Policy: ERROR", metadata: { success: false, pass: false, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
4645
}
4746
},
4847
})

packages/opencode/src/altimate/tools/altimate-core-semantics.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export const AltimateCoreSemanticsTool = Tool.define("altimate_core_semantics",
1515
const hasSchema = !!(args.schema_path || (args.schema_context && Object.keys(args.schema_context).length > 0))
1616
if (!hasSchema) {
1717
const error = "No schema provided. Provide schema_context or schema_path so table/column references can be resolved."
18-
return { title: "Semantics: NO SCHEMA", metadata: { success: false, valid: false, issue_count: 0, has_schema: false, dialect: "snowflake", error }, output: `Error: ${error}` }
18+
return { title: "Semantics: NO SCHEMA", metadata: { success: false, valid: false, issue_count: 0, has_schema: false, error }, output: `Error: ${error}` }
1919
}
2020
try {
2121
const result = await Dispatcher.call("altimate_core.semantics", {
@@ -39,15 +39,14 @@ export const AltimateCoreSemanticsTool = Tool.define("altimate_core_semantics",
3939
valid: data.valid,
4040
issue_count: issueCount,
4141
has_schema: hasSchema,
42-
dialect: "snowflake",
4342
...(error && { error }),
4443
...(findings.length > 0 && { findings }),
4544
},
4645
output: formatSemantics(hasError ? { ...data, error } : data),
4746
}
4847
} catch (e) {
4948
const msg = e instanceof Error ? e.message : String(e)
50-
return { title: "Semantics: ERROR", metadata: { success: false, valid: false, issue_count: 0, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
49+
return { title: "Semantics: ERROR", metadata: { success: false, valid: false, issue_count: 0, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
5150
}
5251
},
5352
})

packages/opencode/src/altimate/tools/altimate-core-validate.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export const AltimateCoreValidateTool = Tool.define("altimate_core_validate", {
1616
const noSchema = !hasSchema
1717
if (noSchema) {
1818
const error = "No schema provided. Provide schema_context or schema_path so table/column references can be resolved."
19-
return { title: "Validate: NO SCHEMA", metadata: { success: false, valid: false, has_schema: false, dialect: "snowflake", error }, output: `Error: ${error}` }
19+
return { title: "Validate: NO SCHEMA", metadata: { success: false, valid: false, has_schema: false, error }, output: `Error: ${error}` }
2020
}
2121
try {
2222
const result = await Dispatcher.call("altimate_core.validate", {
@@ -37,15 +37,14 @@ export const AltimateCoreValidateTool = Tool.define("altimate_core_validate", {
3737
success: true, // engine ran — validation errors are findings, not failures
3838
valid: data.valid,
3939
has_schema: hasSchema,
40-
dialect: "snowflake",
4140
...(error && { error }),
4241
...(findings.length > 0 && { findings }),
4342
},
4443
output: formatValidate(data),
4544
}
4645
} catch (e) {
4746
const msg = e instanceof Error ? e.message : String(e)
48-
return { title: "Validate: ERROR", metadata: { success: false, valid: false, has_schema: hasSchema, dialect: "snowflake", error: msg }, output: `Failed: ${msg}` }
47+
return { title: "Validate: ERROR", metadata: { success: false, valid: false, has_schema: hasSchema, error: msg }, output: `Failed: ${msg}` }
4948
}
5049
},
5150
})

packages/opencode/src/altimate/tools/impact-analysis.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ export const ImpactAnalysisTool = Tool.define("impact_analysis", {
152152
test_count: affectedTestCount,
153153
column_impact: columnImpact.length,
154154
has_schema: false,
155-
dialect: args.dialect,
156155
...(findings.length > 0 && { findings }),
157156
},
158157
output,
@@ -161,7 +160,7 @@ export const ImpactAnalysisTool = Tool.define("impact_analysis", {
161160
const msg = e instanceof Error ? e.message : String(e)
162161
return {
163162
title: "Impact: ERROR",
164-
metadata: { success: false, has_schema: false, dialect: args.dialect, error: msg },
163+
metadata: { success: false, has_schema: false, error: msg },
165164
output: `Failed to analyze impact: ${msg}\n\nEnsure the dbt manifest exists (run \`dbt compile\`) and the dispatcher is running.`,
166165
}
167166
}

packages/opencode/src/tool/tool.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export namespace Tool {
172172
finding_count: findings.length,
173173
by_category: JSON.stringify(by_category),
174174
has_schema: result.metadata?.has_schema ?? false,
175-
dialect: (result.metadata?.dialect as string) ?? "unknown",
175+
...(result.metadata?.dialect && { dialect: result.metadata.dialect as string }),
176176
duration_ms: durationMs,
177177
})
178178
}

0 commit comments

Comments
 (0)