Skip to content

Merge back 'chore_release-8.5.0' into 'chore_release-pd-8.5.0' #18638

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 17, 2025

Conversation

ddcc4
Copy link
Collaborator

@ddcc4 ddcc4 commented Jun 16, 2025

This pulls in @smb2268's labware changes.

@ddcc4 ddcc4 requested a review from smb2268 June 16, 2025 15:06
@ddcc4 ddcc4 requested review from a team as code owners June 16, 2025 15:06
@ddcc4
Copy link
Collaborator Author

ddcc4 commented Jun 16, 2025

Actually, it looks like there are conflicting changes in labware-images.ts. @smb2268, could you do this merge manually?

@ddcc4
Copy link
Collaborator Author

ddcc4 commented Jun 16, 2025

Actually, it looks like there are conflicting changes in labware-images.ts. @smb2268, could you do this merge manually?

OK, they look like just include-order changes. I can fix those myself. Please approve PR #18648 instead -- thanks!

Labware labels are passed through from the protocol api all the way to
the commands and eventually the client with little actual
_functionality_ dependent on their types or their values. That means
that the only thing that checks them is pydantic model validation, and
if you avoid that - as the legacy command mapper does by using
model_construct() - then other downstream things won't be happy.

In this case, OT-2 LPC starts its session by echoing commands it reads
from the robot analysis back out to a maintenance run. When a client
uses HTTP to create commands, pydantic model validation _does_ run, and
it would fail, and this wasn't an anticipated error scenario because,
well, it's echoed from the protocol! But the incorrect data made it
through.

Another way to handle this would be to do pydantic model validation on
the protocol inputs, but that would break any old protocols that
implicitly depended on this working. Compatibility! Also IMO it's silly
that we enforce this if the entire system works just fine if you give it
an integer.

Closes RESC-423
@sfoster1 sfoster1 requested a review from a team as a code owner June 16, 2025 19:22
@ddcc4 ddcc4 merged commit 5dc6e02 into chore_release-pd-8.5.0 Jun 17, 2025
87 of 88 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants