Update App to alter the user journey and automated config creation#1040
Conversation
|
✅ 606/606 passed, 26 flaky, 38 skipped, 3h50m56s total Flaky tests:
Running from acceptance #4069 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1040 +/- ##
===========================================
+ Coverage 79.79% 91.78% +11.98%
===========================================
Files 98 98
Lines 8945 8945
===========================================
+ Hits 7138 8210 +1072
+ Misses 1807 735 -1072 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
mwojtyczka
left a comment
There was a problem hiding this comment.
Good direction overall — the global context provider pattern is the right approach for an app-wide AI panel, and the landing page config-detection flow is a nice UX improvement.
General: uv.lock (6 000 lines) is committed as part of this feature PR. Lock file updates add significant diff noise and cause merge conflicts. Best committed in a dedicated chore PR or check whether it belongs in .gitignore.
7373d5f to
0011b63
Compare
0011b63 to
925913f
Compare
925913f to
df20499
Compare
… uvlock Signed-off-by: Laurence Wells <laurence.wells+data@databricks.com>
df20499 to
8b89ae2
Compare
This pull request introduces an AI Assistant feature to the application, allowing users to generate data quality rules using AI with context from their current run configuration. The changes include a new context provider, UI components for triggering and interacting with the assistant, and integration of the assistant into the main layout and relevant pages. Additionally, the configuration page UI is improved for better clarity and feedback.
AI Assistant Integration:
Added
AIAssistantProvidercontext and related hooks/components (AIAssistantProvider,AIAssistantTrigger, anduseAIAssistant) to manage the AI Assistant's state and provide a UI for AI-assisted rule generation, including context-aware prompts based on the selected run configuration. ([[1]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-9f2c346a7aee9be18060634db52822e48a981b33fddd0e2ffcb9c0f57858bdecR1-R92),[[2]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L5-R21),[[3]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L26-R33),[[4]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L52-R82),[[5]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L121-R140),[[6]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L137-R161),[[7]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L164),[[8]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-e8a0b3f8f5a0d009fab110fafb6d3468e5baebeac1d9c249d2ce7e1dcf201124R65),[[9]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-e8a0b3f8f5a0d009fab110fafb6d3468e5baebeac1d9c249d2ce7e1dcf201124R427-L430),[[10]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-e8a0b3f8f5a0d009fab110fafb6d3468e5baebeac1d9c249d2ce7e1dcf201124R462-R470))Integrated the AI Assistant trigger button into the main navigation bar and sidebar layout, making the assistant easily accessible from anywhere in the application. (
[[1]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-089eb9b0344758d760a9c23b1590f4cb3e812853dd4f5f8ba5147a387b804c73R2),[[2]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-089eb9b0344758d760a9c23b1590f4cb3e812853dd4f5f8ba5147a387b804c73R17-R21),[[3]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-7e1eb2bf4c5df6d9f204107f30f78bb4f4a4d55b29a8551f1484969a07b77d89R15),[[4]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-7e1eb2bf4c5df6d9f204107f30f78bb4f4a4d55b29a8551f1484969a07b77d89R41))Wrapped the application's root route with the
AIAssistantProviderto ensure the assistant context is available throughout the UI. ([[1]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-df88d29e92a8db8b5d45355308ca3942bb416e240fa1eddf83322dccb1f18cdaR2),[[2]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-df88d29e92a8db8b5d45355308ca3942bb416e240fa1eddf83322dccb1f18cdaR13-R15))Run Context Awareness:
[[1]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-e8a0b3f8f5a0d009fab110fafb6d3468e5baebeac1d9c249d2ce7e1dcf201124R427-L430),[[2]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-e8a0b3f8f5a0d009fab110fafb6d3468e5baebeac1d9c249d2ce7e1dcf201124R462-R470),[[3]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L5-R21),[[4]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L26-R33),[[5]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L52-R82),[[6]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L121-R140),[[7]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-8c3288a2679c1ee6e82d6dd14fcb063d59853b354d1dec19fa4f1062fa765604L137-R161))Configuration Page UI Improvements:
[[1]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591R47-R48),[[2]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591R120-R129),[[3]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591R159),[[4]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591L547-R557),[[5]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591L579-R608),[[6]](https://github.com/databrickslabs/dqx/pull/1040/files#diff-40f7eaf3280e8b425f3ab9b427d858e53ce31cf4c0da9c10afd050e27bc3c591L597))These changes collectively provide a more interactive, context-aware, and user-friendly experience for generating data quality rules and managing configuration within the application.