callstack / callstack/agent-device

Close parent-owned touch-point gap for direct iOS selectors and Maestro

Open
#1,718 0 comments 0 reactions 0 assignees View on GitHub
needs-triage
Dominant language
TypeScript
Stars
4.6k
Forks
299
Avg merge
10h 17m
Merged PRs (30d)
515

Description

## Problem

Runtime selector/ref interactions preserve a resolved parent target by choosing a point outside independently interactive descendants. The direct iOS selector path and Maestro compatibility path still activate the matched element center because the runner does not have the daemon snapshot tree needed to classify child controls.

This can mis-activate a child when its control occupies the parent center. The user impact is broader than the skill-guided flow: the skill now steers agents toward refs, but selector-first agents—especially no-skill users working from default CLI help or an outdated skill—can still take the direct runner path and hit the old behavior.

## Closure

- Give direct iOS selector activation equivalent parent-owned target safety through runner-side evidence or a pre-dispatch delegation/preflight.
- Decide and test whether Maestro should gain parity or retain an explicit compatibility divergence.
- Add runner/contract coverage proving a parent selector cannot activate an independently interactive child at its center.
- Update the ADR 0011 guarantee cells when each path is closed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.