Skip to content

fix(resources): make TipTracker.get_tip use pending state - #1206

Open
VivienP wants to merge 1 commit into
PyLabRobot:mainfrom
VivienP:fix/tip-state-consistency-309
Open

fix(resources): make TipTracker.get_tip use pending state#1206
VivienP wants to merge 1 commit into
PyLabRobot:mainfrom
VivienP:fix/tip-state-consistency-309

Conversation

@VivienP

@VivienP VivienP commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Align TipTracker.get_tip() with has_tip so both expose the pending transactional state.
  • Fix the contradictory tracker views described in Tip state tracking allows for contradictory states #309.
  • Preserve STAR and Vantage pickup behavior with tip tracking enabled: LiquidHandler stages removal from the TipSpot before calling the backend, so Hamilton backends now use the Tip already captured in the pickup operation instead of rereading the mutated TipSpot.
  • Update Hamilton tip-type resolution accordingly.
  • Add regression coverage for pending add/remove, commit/rollback, and STAR/Vantage pickup with tip tracking enabled.

Hardware uncertainty / UNKNOWN physical state remains out of scope. This PR is independent of #1207.

Test plan

  • TipTracker transactional-state tests
  • STAR pickup with tip tracking enabled
  • Vantage pickup with tip tracking enabled
  • Relevant LiquidHandler/Hamilton tests
  • Ruff check / format

Combined validation with #1207 on current upstream/main:

  • 236 tests passed
  • 101 subtests passed
  • ruff check pylabrobot passed
  • ruff format --check pylabrobot passed

Out of scope

Vantage.pick_up_tips96 with tip tracking enabled is already broken on upstream/main: it checks pending has_tip after the frontend stages removal and fails before get_tip() is involved. This PR does not change that pre-existing behavior.

Align get_tip() with has_tip and VolumeTracker so public getters expose the same transactional view. Add regression tests for pending add and remove.

Co-authored-by: Cursor <cursoragent@cursor.com>
@VivienP
VivienP force-pushed the fix/tip-state-consistency-309 branch from 7ddc71c to 1b4f86d Compare August 29, 2026 13:06
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.

2 participants