Skip to content

Expose gripper skills and preserve commands after streaming - #42

Draft
Jepson2k wants to merge 4 commits into
feat/skill-runtimefrom
feat/python-skill-library
Draft

Expose gripper skills and preserve commands after streaming#42
Jepson2k wants to merge 4 commits into
feat/skill-runtimefrom
feat/python-skill-library

Conversation

@Jepson2k

@Jepson2k Jepson2k commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Reusable skills can now discover PAROL6 gripper support on both the live client and native preview. The preview tool exposes its selected key and type as metadata, so a gripper requirement cannot accidentally dispatch a metadata access as a command.

Streaming updates also preserve unread configuration, query and stop packets. Decoded motion still coalesces, but a teleport no longer discards a following profile selection when they cross a polling batch boundary.

Stacked on #41. Validation: the real-UDP regression failed before the fix; all 16 command-preservation and native profile checks passed afterward in 85.3 seconds. native Commander workflows exercise gripper opening/closing through fake serial and the real preview planner, including explicit selection before a subprocess skill call. Source type checks, lint and formatting passed.

Companion PRs: waldoctl #28, PAROL6 #42, PAR6 #68, Commander #51. These use the same feature branch for dependency matching in CI.

@Jepson2k Jepson2k changed the title Expose gripper capabilities to reusable skills Expose gripper skills and preserve commands after streaming Sep 7, 2026
Jepson2k and others added 2 commits September 11, 2026 21:43
A client streaming faster than one tick's 25-message batch leaves the rest
in the socket, and that backlog is stale by definition: replaying 25 of it
per tick makes the arm follow superseded targets for as many ticks as the
backlog is deep, and a stop queued behind them waits just as long. When the
batch fills, the rest of the buffer is now read in the same tick, bounded
and logged at the cap.

This restores the bound the removed blind socket drain used to provide
without its cost: configuration, queries and stops mixed into the backlog
are still processed, in order, because each streaming command supersedes
its predecessor through the executor rather than by discarding datagrams
nobody decoded.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.

1 participant