Skip to content

arc: audit fixes — no min-speed floor on absolute clocks, mode-0 replan, pool pins, seeded W&B ids - #273

Open
aidang3019 wants to merge 1 commit into
aidan/arc-clock-single-stream-20261020from
aidan/arc-audit-fixes-20261020
Open

aidang3019 wants to merge 1 commit into
aidan/arc-clock-single-stream-20261020from
aidan/arc-audit-fixes-20261020

Conversation

@aidang3019

@aidang3019 aidang3019 commented Oct 20, 2026 •

Copy link
Copy Markdown

Stack context

Above #272 (aidan/arc-clock-single-stream-20261020), on Aniketh's #267 → #268 → #269 → #270 → #263. Fixes the must / should findings of a verified audit of #272; each was reproduced on real data first.

Must

  • No min-speed floor on absolute clocks. Under streams: translation the translation clock also times rotation and the gripper. The 0.01 m/s floor (inherited from E1, carried in Train earbuds ARC absolute duration and native standard DP #266's decode) rewrote the decode of 720 of 2,113 real slow-pace ground-truth chunks: rotation replayed up to 10× faster than demonstrated, and the replan boundary shortened by up to 27 ticks. It was also discontinuous at zero distance. MAX_SPEED (5 m/s) stays as the motion bound; min_speed is removed. With the floor gone, the duration decode matches the velocity decode on 2,113 / 2,113 chunks.
  • first_stream=0 replans by replan_every again. FirstStreamArcDecoder reported replan_steps = action_horizon in mode 0, so the robot executed the whole 100-tick chunk open-loop. The pre-arc: consolidate velocity/duration clocks and M×18/M×20 streams #268 behaviour (None → policy replan_every) is restored.

Should

Validation

🤖 Generated with Claude Code

…an, pool pins, seeded W&B ids

Fixes the must/should findings of the 2026-10-20 audit of #272 (each reproduced
on real data before fixing):

- Absolute-duration decode no longer clips at 0.01 m/s. Under one clock per arm
  the translation clock also times rotation and gripper; the floor rewrote 720 of
  2,113 real slow-pace ground-truth chunks (rotation replayed up to 10x faster,
  replan shortened by up to 27 ticks) and was discontinuous at zero distance.
  MAX_SPEED (5 m/s) stays as the motion bound; min_speed is removed.
- FirstStreamArcDecoder with first_stream=0 reports no replan count again, so the
  policy's replan_every applies (it executed the whole 100-tick chunk open-loop).
- The sp366e51 stationery pool pins its episode count and name digest (417 /
  24), so a missing or deleted episode fails the run instead of training on less.
- frozen_yam_arc W&B ids carry the seed (${name}_s${seed}); a second seed no
  longer reuses the s42 id that resume: never rejects after the norm-stats pass.
- Tests: velocity/duration parity at 0.005 m/s, eval/robot parity on a noisy
  predicted token with garbage beyond the executed prefix, mode-0 replan, the time-recipe retimer speed controls, pool pins and the
  seeded id. The slow-parity and replan pins fail on the #272 code.

Checks: 125 contract/recipe tests pass; 92-file sweep 1,374 passed with the same
11 pre-existing failures; shipped-YAML audit 349/349; ruff clean.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@aidang3019
aidang3019 force-pushed the aidan/arc-clock-single-stream-20261020 branch from 22aa4d2 to 9750235 Compare October 22, 2026 00:31
@aidang3019
aidang3019 force-pushed the aidan/arc-audit-fixes-20261020 branch from c1236f4 to eba346a Compare October 22, 2026 00:31
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