allow additional warnings for none unique experiments [AI]#1658
Conversation
There was a problem hiding this comment.
Code Review
This pull request enhances experiment namespace collision diagnostics in Ramble by tracking independent variables to pinpoint the origin of collisions and provide actionable suggestions for resolving them. Feedback on these changes includes replacing direct dictionary access of self.experiments with the safer self.get_experiment helper to prevent potential KeyErrors, and removing an unnecessary check for render_group in locals() since the variable is guaranteed to be defined in the local scope.
Ramble Performance Test MetricsResults produced with commit: 3abde89
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1658 +/- ##
===========================================
+ Coverage 93.30% 93.33% +0.02%
===========================================
Files 352 352
Lines 34223 34329 +106
===========================================
+ Hits 31931 32040 +109
+ Misses 2292 2289 -3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This PR adds some explicit warnings that try call out what happens if you have colliding yaml defintions:
1. Matrix/Vector Expansion Collision
This happens when you expand an experiment using vectors/matrices (e.g. var_b and var_c ), but your name template does not use them, resulting in duplicate experiment namespaces.
yeilds:
2. Collision Across Different YAML Experiment Blocks
This happens when you have two distinct experiment blocks in your YAML (e.g. collision_{my_var1} and collision_{my_var2} ) that end up evaluating to the exact same final experiment name.
yeilds
3. Static Definition Collision
This happens when you have two static (un-expanded) experiment definitions in your YAML using the exact same literal name.
yields