You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ef82156
Browse filesBrowse the repository at this point in the historyBrowse files
docs(contracts): point the find-focus-dispatch gaps at their own issue
The four waivers this seam introduces (offscreen, parentOwnedTouchPoint,
nonHittable, targetStability) cited the retired #1081 umbrella. They now
cite #3734, which owns closing them. outcomeObservation stays on #3335
and the pre-existing rows are untouched.
'gap: the `findAct` row declares `offscreen: "ignore"` because find ranks across the whole tree and prefers on-screen matches rather than refusing off-screen ones (#1625), and focus/type never re-enter the acting leaf where the runtime rows refuse. So the seam dispatches at a captured rect center the acting paths would reject as outside the root viewport — a closed drawer or an off-viewport carousel is a silent no-op focus here.',
576
-
trackingIssue: GAPS_UMBRELLA_ISSUE,
579
+
trackingIssue: FIND_FOCUS_DISPATCH_GAPS_ISSUE,
577
580
},
578
581
parentOwnedTouchPoint: {
579
582
kind: 'waived',
580
583
reason:
581
584
'gap: the seam aims `centerOfRect` of the resolved node rather than the parent-owned point `resolveInteractionTouchPoint` chooses, so a match whose center is tiled by an independently interactive descendant activates that descendant instead of failing closed — and the keyboard guard above measures the same center the tap uses, which is the point actually dispatched but not the point the acting paths would aim.',
582
-
trackingIssue: GAPS_UMBRELLA_ISSUE,
585
+
trackingIssue: FIND_FOCUS_DISPATCH_GAPS_ISSUE,
583
586
},
584
587
// The guarantee is promotion AND annotation. This seam runs only the first half, so the
585
588
// cell cannot claim `runtime` for the whole guarantee (the same shape `native-ref` classifies
"gap: the promotion half does run — the `findAct` row declares `hittable-ancestor-below-root`, so the seam dispatches the promoted ancestor's center (regression-proven in packages/daemon/src/execution/interaction/internal/__tests__/find.test.ts) — but the annotation half never does: the response is the focus runtime's point payload, so a match still reporting `hittable: false` after promotion is accepted silently, where press/click/fill answer with `targetHittable: false` plus a hint. Closing it needs the annotation composed at this seam, which is response-shape work the `responseIdentity` waiver below also records.",
591
-
trackingIssue: GAPS_UMBRELLA_ISSUE,
594
+
trackingIssue: FIND_FOCUS_DISPATCH_GAPS_ISSUE,
592
595
},
593
596
// One construction site per dispatch kind, both shared with the plain commands: the focus
594
597
// payload is `executeFocusPoint`'s (the same owner `focus <x> <y>` reaches), and `type`'s
"gap: the seam dispatches a rect center captured one runner round trip earlier without the #3471 re-observation, so a focus issued right after an action that animated the surface can aim a position the target has already vacated and report success on the vacancy. The gate itself is the acting leaf's (`guardResolvedTargetAgainstMotion`), and this route does not pass through it.",
0 commit comments