Skip to content

Commit ef82156

Browse files
committed
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.
1 parent ebb9561 commit ef82156

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

‎packages/contracts/src/interaction-guarantees.ts‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ export type InteractionPathContract = {
154154

155155
const GAPS_UMBRELLA_ISSUE = 'https://github.com/callstack/agent-device/issues/1081';
156156
const TAP_OUTCOME_NOT_OBSERVED_GAP_ISSUE = 'https://github.com/callstack/agent-device/issues/3335';
157+
// The four guarantees this route's own seam leaves open, split out of the retired umbrella so the
158+
// work has one owner.
159+
const FIND_FOCUS_DISPATCH_GAPS_ISSUE = 'https://github.com/callstack/agent-device/issues/3734';
157160

158161
/**
159162
* The moving-target gate's shared cell (#3471). Scoped to the two commands that dispatch a tap the
@@ -573,13 +576,13 @@ export const INTERACTION_DISPATCH_PATHS: Record<InteractionPathId, InteractionPa
573576
kind: 'waived',
574577
reason:
575578
'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,
577580
},
578581
parentOwnedTouchPoint: {
579582
kind: 'waived',
580583
reason:
581584
'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,
583586
},
584587
// The guarantee is promotion AND annotation. This seam runs only the first half, so the
585588
// cell cannot claim `runtime` for the whole guarantee (the same shape `native-ref` classifies
@@ -588,7 +591,7 @@ export const INTERACTION_DISPATCH_PATHS: Record<InteractionPathId, InteractionPa
588591
kind: 'waived',
589592
reason:
590593
"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,
592595
},
593596
// One construction site per dispatch kind, both shared with the plain commands: the focus
594597
// payload is `executeFocusPoint`'s (the same owner `focus <x> <y>` reaches), and `type`'s
@@ -635,7 +638,7 @@ export const INTERACTION_DISPATCH_PATHS: Record<InteractionPathId, InteractionPa
635638
kind: 'waived',
636639
reason:
637640
"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.",
638-
trackingIssue: GAPS_UMBRELLA_ISSUE,
641+
trackingIssue: FIND_FOCUS_DISPATCH_GAPS_ISSUE,
639642
},
640643
},
641644
},

0 commit comments

Comments
 (0)