Conversation
…actions A selector click, press, or fill right after a scroll whose surface never settled missed on that moving tree and answered a plain selector_not_found. The request's capture proof now records the unsettledGesture fact beside the foreground repair, first fact wins, and the interaction route discloses both on every response it builds. Closes #2853
A proven no-effect gesture reached the agent only through capture annotations, which selector reads and interactions drop, so is, get, and find never showed it. The fact now rides SnapshotState.gestureNoEffect beside unsettledGesture and every route derives its disclosure from that stamp. withGestureNoEffectWarning and its annotation channel are gone. Closes #2856
Size Report
Startup median (7 runs, lower is better):
|
|
thymikee
force-pushed
the
fix/2853-unsettled-selector-interactions
branch
from
September 24, 2026 08:12
0b82302 to
56ce5c0
Compare
Member
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.
Summary
Closes #2856. Stacked on #2864. Review only the top commit until #2864 merges.
A proven no-effect gesture (
gestureNoEffect, #1600) reached the agent only through capture annotations.selector-capture-runtimeand the interaction capture drop annotations, so onlysnapshotever showed the warning.SnapshotState.gestureNoEffect. It is stamped inresolvedPostGestureCapturebesideunsettledGesture, and the annotation channel for it is gone.withGestureNoEffectWarningandsrc/daemon/gesture-no-effect.tsare deleted.snapshot:buildSnapshotWarningsis/get/find/wait:withCaptureDisclosures, from the consumed treegestureNoEffectindata/error.detailswith the appended warning.formatGestureNoEffectWarningnow takes aPostGestureAction, the same as the unsettled formatter.12 files. Production is +58/−56, which is not a net deletion: the 21-line wrapper is gone, but the new read and interaction disclosure costs about the same.
Validation
Tested SHA
e7dc1f8318.pnpm check:affected --run: passed (852 test files).is-runtime.test.ts: anis visibleafter a scroll that moved nothing carriesgestureNoEffectand the warning. The test fails when the stamp line is removed, and when the disclosure passesundefinedfor the fact.snapshot.test.ts: the snapshot warning is now derived from the stamp.scroll up, thenis existsorget text 'label="Catalog scroll: top"' --json.gestureNoEffect: {"action":"scroll","positionals":["up"]}and the warning. The one miss is the existing fix(daemon): surface proven no-effect gestures to the agent #1601 veto (post_gesture_no_effect_vetoed, baseline rebased).