Fix view implements order normalization on deploy - #3117
Conversation
CDF resolves property overrides from implements order, but deploy previously sent YAML order as-is while only dump sorted topologically. Normalize implements on load, create, and dump so extended views keep correct override semantics. Co-authored-by: Cursor <cursoragent@cursor.com>
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3117 +/- ##
==========================================
+ Coverage 85.64% 86.05% +0.40%
==========================================
Files 462 476 +14
Lines 41316 44500 +3184
==========================================
+ Hits 35386 38295 +2909
- Misses 5930 6205 +275
🚀 New features to boost your workflow:
|
Description
Extended views (
implements) can resolve property overrides differently depending on parent order in theimplementslist. CDF expects ancestors before descendants (e.g. grandparent, then parent), but deploy was sending YAML order as-is. Dump already sorted topologically, so push/pull cycles could mix up semantics for views with multiple parents.This change normalizes
implementsto topological order on load, create, and dump, using views from the current deploy batch when parent views are not yet in CDF.Bump
Changelog
Fixed
implementsorder on deploy so extended views keep correct property override semantics.Test plan
uv run pytest tests/test_unit/test_cdf_tk/test_cruds/test_data_model.py::TestViewLoader -quv run pytest tests/test_unit/test_cdf_tk/test_cruds/test_data_model.py -qimplementsorder in CDF matches topological order after pushMade with Cursor