fix(ios): wait for resolved press targets to become hittable
Summary
Fixes #4388. Ordinary resolved primary iOS selector/ref press and click use the existing admission loop and request budget. Motion runs before native readiness. After unblocking, one canonical refresh creates a generation that must earn its own native proof. No public wait API is added.
tapCommand explicitly declares readiness intent. Private evidence has one construction/copy/remap owner; normalized Android clickability is retained. Unmeasured motion refusals report elapsed time.
The when-unknown idle-probe exception remains proposed, pending explicit acceptance and an ADR amendment. The coherent 98-file / 3,517-gross-line change needs a size exception.
Validation
e66ec2a: clean exact affected gate passed 15 runnable checks, 19,543 unit tests (+3 existing skips), 396 related. Independent review and omission controls passed.
Fresh daemon-backed selector/ref traces cover blocked→ready, default 60-second deadlines, caller aborts, combined motion/readiness and initial idle. Caller disclosure remains dispatch unknown despite observed zero input. Loaded runtime bytes and generations are directly observed; inspector timings are excluded from performance claims. Native builds retain actual d9f43ff attribution.
Current source, traces, measurements and all 23 recordings.
CI: 12 successful checks, 2 skipped; Settings replay and its aggregate failed. Reproduced identity bug and five recordings; repair pending. Native tests passed; automated review found zero issues.