Outcome
Converge iOS snapshot acquisition behind one host presentation interface while adding a fast local
Simulator observation path. Every producer reports facts; one engine owns projection, geometry,
scope, depth, actionability narrowing, semantic compaction, invariants, and publication.
This tracker deliberately separates issues (durable outcomes) from PRs (narrow review slices).
Children may use stacked PRs, but every PR must preserve the dependency and proof requirements of
its owning issue.
What success changes
- Local Simulator observation no longer waits for XCTest runner readiness when the bridge is eligible.
- XCTest remains the interaction and typed-fallback path.
- Simulator bridge, XCTest, Appium/WebDriver, and Limrun use one meaning for regular/raw,
interactive-only, depth, and scope to the extent their declared acquisition evidence permits.
- Swift and TypeScript geometric presentation stay consistent through independent goldens,
differential fuzzing, and structural invariants.
agent-device proxy performs acquisition and presentation on the daemon host and transfers only
the published response, with explicit remote latency and lease-isolation acceptance.
- Superseded backend-name policy and duplicate orchestration become deletion-ready.
Non-goals
Invariants
- Acquisition and presentation remain separate concepts.
- Geometric presentation occurs exactly once.
interactive ⊆ regular ⊆ raw is asserted over one acquisition.
- Raw depth is acquisition traversal depth; regular depth is the presented frontier.
- Missing evidence is never upgraded, especially hittability and viewport evidence.
- Producer differences enter through typed capabilities and residue, never producer-name branches.
- Bridge fallback is typed, attempted at most once, and shares the original request deadline.
- Runner-presented output still crosses implementation-independent host invariants.
- Internal stage, hint, lineage, generation, and quality contracts do not become required RPC fields.
- Physical-device behavior and performance remain unchanged.
Related work
Children and dependency graph
Foundation
Convergence and bridge decision
Routing, latency, remote acceptance, and deletion
#2189 ─────────► #2192
└──────────────────────────────► #2198
#2190 ─► #2191 ─► #2195 ─────────────────► #2199
│ └──────────────► #2197
└──────► #2192 ─► #2196 ─► #2197 ─► #2198 ─► #2199
#2177 ─► #2178 ─────────────────────► #2197
Only #2189 and #2190 are initially unblocked and ready-for-agent. Blocked children remain
needs-triage until every Blocked by: prerequisite lands and the issue is re-audited against its
exact head. #2196 additionally requires #2192 to close with GO; a NO-GO stops the bridge branch.
Tracker acceptance
Close this tracker only after every child is closed and the exact implementation heads prove:
- local cold-cold, cold, warm, and relaunch targets;
- Swift/TypeScript conformance with reproducible failures and planted-red proof;
- provider option consistency and typed fidelity residue;
- stale-generation, cancellation, crash, timeout, and fallback behavior;
- direct-daemon/proxy semantic parity, lease isolation, supported version skew, and controlled-RTT
measurements;
- packed, installed, and bundled package-size deltas;
- final provider, macOS, Simulator, affected, and structural gates.
Outcome
Converge iOS snapshot acquisition behind one host presentation interface while adding a fast local
Simulator observation path. Every producer reports facts; one engine owns projection, geometry,
scope, depth, actionability narrowing, semantic compaction, invariants, and publication.
This tracker deliberately separates issues (durable outcomes) from PRs (narrow review slices).
Children may use stacked PRs, but every PR must preserve the dependency and proof requirements of
its owning issue.
What success changes
interactive-only, depth, and scope to the extent their declared acquisition evidence permits.
differential fuzzing, and structural invariants.
agent-device proxyperforms acquisition and presentation on the daemon host and transfers onlythe published response, with explicit remote latency and lease-isolation acceptance.
Non-goals
backend-selection flag.
Invariants
interactive ⊆ regular ⊆ rawis asserted over one acquisition.Related work
evidence without changing that issue's status or proposed product behavior.
may recreate the retired
src/daemon/handlers/interaction-*paths from an older base.distinguish app-mount unreadability from bridge failure.
Children and dependency graph
Foundation
Convergence and bridge decision
integration, and ADR 0004 amendment
Routing, latency, remote acceptance, and deletion
Only #2189 and #2190 are initially unblocked and
ready-for-agent. Blocked children remainneeds-triageuntil everyBlocked by:prerequisite lands and the issue is re-audited against itsexact head. #2196 additionally requires #2192 to close with GO; a NO-GO stops the bridge branch.
Tracker acceptance
Close this tracker only after every child is closed and the exact implementation heads prove:
measurements;