Skip to content

Add full TCP calibration contracts and setup snapshots - #29

Merged
Jepson2k merged 10 commits into
mainfrom
feat/tcp-calibration
Sep 18, 2026
Merged

Jepson2k merged 10 commits into
mainfrom
feat/tcp-calibration

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 7, 2026

Copy link
Copy Markdown
Owner

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_transform and tcp_transform are 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.

Jepson2k and others added 7 commits September 11, 2026 06:23
…-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
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
@Jepson2k
Jepson2k changed the base branch from feat/python-skill-library to main September 18, 2026 01:55
@Jepson2k
Jepson2k merged commit 54f621f into main Sep 18, 2026
26 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.

2 participants