It seems I've achieved a fully agentic loop for iOS via https://maestro.dev, a simple skill, and a quick analogue of https://github.com/FLEXTool/FLEX
Codex can now modify Maestro configs to navigate the app in the simulator as needed, then get view trees by calling a simple HTTP server inside the app itself.
The efficiency remains to be seen, but I hope intermediate verifications won't require my attention anymore.