Add full TCP calibration contracts and setup snapshots - #29
Merged
Merged
Conversation
…-calibration # Conflicts: # src/waldoctl/client.py
isinstance(True, float) is True, so a calibration could carry position_rms_mm=True and round-trip through the snapshot: the panel rendered 'RMS True mm' and anything doing arithmetic on the residual got 1. The sample count beside it already rejected a bool. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Jepson2k
marked this pull request as ready for review
September 17, 2026 22:33
The pivot fit and orientation teaching are an algorithm with one consumer, Commander's calibration panel, so they live there. The TcpCalibration record and the client methods stay here. Every backend applies and reads a full user TCP transform, so set_tcp_transform and tcp_transform are required of a client and the has_tcp_transform flag is gone. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N8zt66KjkzgZLtQuSfJd9r
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adds full TCP transform contracts and named setup snapshots that retain tool/variant bindings and measurement provenance in one versioned schema. The pivot solve and orientation teaching that produce a calibration are an algorithm rather than a contract, so they live in Commander (#53).
The setter uses millimetres and intrinsic XYZ degrees after the registered tool frame.
set_tcp_transformandtcp_transformare required of every client; queued application and readback are explicit, and the existing XYZ setter clears user rotation. Physical geometry remains on the registered tool links.Validation: 161 tests pass (4 skipped), covering snapshot persistence/export with calibration provenance, frame conventions and contract/example checks; pre-commit passes.
Depends on #28. Companion backend and Commander PRs use
feat/tcp-calibration. Release waldoctl v0.15.0 before releasing the dependent packages; no tags or releases are included here.Companion PRs: PAROL6, PAR6, Commander.