Problem
Despite tsconfig.json having "strict": true, the ResultsGrid uses Record<string, unknown> for row data and performs unchecked type assertions when editing cells. The EditableCell component does manual type checking without exhaustive coverage.
Impact
Type safety gaps in the most data-critical component. Cell editing can silently produce incorrect SQL if type parsing fails.
Affected Files
src/components/grid/ResultsGrid.tsx
src/components/grid/EditableCell.tsx
Suggested Fix
Create a discriminated union type for SqlValue and use proper type guards instead of unknown casts. Add runtime validation for parsed cell values.
Severity: Low - TypeScript type safety
Problem
Despite
tsconfig.jsonhaving"strict": true, the ResultsGrid usesRecord<string, unknown>for row data and performs unchecked type assertions when editing cells. TheEditableCellcomponent does manual type checking without exhaustive coverage.Impact
Type safety gaps in the most data-critical component. Cell editing can silently produce incorrect SQL if type parsing fails.
Affected Files
src/components/grid/ResultsGrid.tsxsrc/components/grid/EditableCell.tsxSuggested Fix
Create a discriminated union type for
SqlValueand use proper type guards instead ofunknowncasts. Add runtime validation for parsed cell values.Severity: Low - TypeScript type safety