Repository navigation
acamd: classify guide, fine-acquire and deliberate-offset corrections (deliberate offsets by goal generation) - #497
Closed
cfremling wants to merge 1 commit into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
A deliberate goal offset (the star-to-target offset after fine acquisition, put-on-slit, the GUI offset) armed a one-shot allowance that any sent correction cleared. A guide correction whose blocking pt_offset was in flight when the offset arrived cleared it as it completed, and the next frame's correction to the new goal was refused at the guiding cap, so the exposure was taken on the offset star. The cap selection also required acquire_mode == TARGET_GUIDE, which is a race of its own. Goal changes now carry a generation, and each correction is classified by the goal it was computed from: guide, fine-acquire, or deliberate offset. Only a deliberate-offset correction may use the larger ACQUIRE_TCS_MAX_PUTONSLIT_OFFSET cap; once sent it has made the change and clears goalshift_pending, unless a newer change arrived meanwhile. A correction computed from an older goal can neither use nor spend a newer goal's allowance. acamd.cfg.in: ACQUIRE_OFFSET_THRESHOLD=1.0, the value the deployed configuration uses. Co-Authored-By: Claude Opus 5.5 <[email protected]>
cfremling
force-pushed
the
fix/acam-deliberate-offset-generations
branch
from
October 29, 2026 14:09
2ae76b5 to
4e25b80
Compare
Collaborator
Author
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.
A deliberate goal offset (the star-to-target offset after fine acquisition, put-on-slit, the GUI Offset button) armed a one-shot boolean that any sent correction cleared. When the
offsetgoalarrived while an ordinary guide correction's blockingpt_offsetwas in flight, that correction cleared the allowance as it completed, and the next frame's correction to the new goal was refused at the 60" guiding cap: the exposure was taken on the offset star. Three measured cases (acamd logs):The loop was guiding in all three, so the mode gate that #484 removed was not the cause (that one-line change is included here; #484 is closed in favour of this PR).
Goal changes now carry a generation. A correction is classified by the goal it was computed from — guide, fine-acquire, or deliberate offset — and a deliberate-offset correction alone may use the large (ACQUIRE_TCS_MAX_PUTONSLIT_OFFSET) cap; guide and fine-acquire corrections keep ACQUIRE_TCS_MAX_OFFSET. A correction computed from an older goal cannot consume a newer goal's allowance. acamd.cfg.in also gets ACQUIRE_OFFSET_THRESHOLD=1.0, the value the deployed configuration uses.
Stacked on #479 (the goal-shift reporting it builds on); base branch
feat/fineacquire-wait-for-move.Jira: PAL-171. Tested on sky 2026-10-28/29 UT using branch cf/summit-20261020, 18 targets: 21 deliberate offsets (11–117"), none refused, no wrong-object exposure.
🤖 Generated with Claude Code