Skip to content

rldb/lance: require_hands_in_frame and per-hand sample masks - #724

Draft
RyanPCo wants to merge 1 commit into
ryanco/lance-segment-clampfrom
ryanco/lance-require-hands
Draft

RyanPCo wants to merge 1 commit into
ryanco/lance-segment-clampfrom
ryanco/lance-require-hands

Conversation

@RyanPCo

@RyanPCo RyanPCo commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

require_hands_in_frame (none | either | both | left | right, default both)
picks the anchors: the named hands of the embodiment valid over the whole
action chunk, plus the head pose at the anchor unless none. Samples carry
action_hand_mask ([left, right] valid over the real chunk) and
proprio_hand_valid ([left, right] per proprio frame) for the losses, stats and
bounds check.

https://claude.ai/code/session_01HjCQBqQCr2igFEMR7yUovw

RyanPCo commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@RyanPCo RyanPCo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated adversarial review (read-only; findings were checked by a second skeptical pass before posting): 1 low.

head frame.
"""
n = len(valid["head"])
if require == "none":

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

low (data-integrity): With "none" the head check is skipped too, but actions are expressed in the anchor's head frame, and aria_to_lance writes the identity pose on head-invalid frames. Those anchors produce world-frame targets that no mask covers. Keep the valid["head"] requirement under "none" so it only drops the hand requirement, or document that "none" admits samples with garbage targets.

require_hands_in_frame (none | either | both | left | right, default both)
picks the anchors: the named hands of the embodiment valid over the whole
action chunk, plus the head pose at the anchor unless none. Samples carry
action_hand_mask ([left, right] valid over the real chunk) and
proprio_hand_valid ([left, right] per proprio frame) for the losses, stats and
bounds check.

Claude-Session: https://claude.ai/code/session_01Kt1E8T2x8kdV9akAvbJyVd
@RyanPCo

RyanPCo commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

Review findings: status after the fixup pass. The fixes are squashed into this PR's commits, and the whole stack was force-pushed.

Fixed

  • require_hands_in_frame=none samples head-invalid anchors: 'none' now drops only the hand requirement and still needs head_pose_valid at the anchor (and at lance migration #716's history offsets). Updated the docstrings and the test.

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