FXC-5469 fix(tidy3d): add discriminator to simulation type union fields #3275
+15
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.


Addresses FXC-5469: https://flow360.atlassian.net/browse/FXC-5469
Adds
discriminated_union()to thevalues_tuplefields ofSimulationMapandSimulationDataMapso pydantic v2 uses thetypetag to select the correct union variant directly, preventing spuriousModeSimulationerror logs during deserialization.Note
Low Risk
Type-annotation-only change to Pydantic model fields plus a regression test; main risk is unintended deserialization incompatibility for any union variants missing/incorrect
typetags.Overview
Prevents spurious
ERROR-level logs during Pydantic v2 deserialization ofSimulationMap/SimulationDataMapby switching theirvalues_tuplefields to usediscriminated_union(...), so union selection is driven by thetypetag instead of trial-and-error validation.Adds a regression test asserting
SimulationDataMapround-trip validation emits no logs aboveWARNING, and records the fix inCHANGELOG.md.Written by Cursor Bugbot for commit 0be8dff. This will update automatically on new commits. Configure here.