Severity
High — silent data loss with no warning and no way to see it in the export dialog.
What happens
After a query, the default column selection is [...defaults, ...rest].slice(0, 14), and the ExportModal receives columns={selectedColumns.length ? selectedColumns : columns}. Query 20 fields → the modal shows "14 of 14 columns selected", its column picker cannot even display the missing 6 columns, and the exported file drops them. The user must know to re-enable columns in the grid's separate Columns toggle first.
Evidence
src/ui/screens/QueryScreen.tsx:296-302, :700
Suggested fix
Pass the full columns list to ExportModal and use selectedColumns only to pre-check the boxes; show an explicit "N of M columns" state.
Environment
Commit 74cf21b (main), WaveLink 0.6.0. Found in the 2026-08-31 adversarial audit (code-verified).
Severity
High — silent data loss with no warning and no way to see it in the export dialog.
What happens
After a query, the default column selection is
[...defaults, ...rest].slice(0, 14), and the ExportModal receivescolumns={selectedColumns.length ? selectedColumns : columns}. Query 20 fields → the modal shows "14 of 14 columns selected", its column picker cannot even display the missing 6 columns, and the exported file drops them. The user must know to re-enable columns in the grid's separate Columns toggle first.Evidence
src/ui/screens/QueryScreen.tsx:296-302,:700Suggested fix
Pass the full
columnslist to ExportModal and useselectedColumnsonly to pre-check the boxes; show an explicit "N of M columns" state.Environment
Commit
74cf21b(main), WaveLink 0.6.0. Found in the 2026-08-31 adversarial audit (code-verified).