Skip to content

iOS/iPadOS: close the semantic agent validation loop #261

Description

@jlipworth

Parent umbrella: #182

Goal

Close the credential-free create → build → inspect/drive → assert → refactor loop for the universal iPhone/iPad app on Xcode 27.

Current foundation

  • Shared DEBUG browse fixture for Plex/Jellyfin/Emby without real credentials.
  • Stable targets such as labstream.fixture.browse.root and labstream.home.fixture-resume.<backend>-orbit.
  • scripts/agent-mobile-run.sh builds, installs, verifies, launches, records evidence, writes run.json, and enforces the one-simulator invariant.
  • Xcode Device Interaction supports iOS Simulator 27.0+.

Acceptance

  • A leased iPhone run uses semantic hierarchy/targets to open the fixture item and assert its detail text without coordinate guessing or user interaction.
  • The same scenario passes on iPad regular-width composition.
  • A durable XCUITest owns the regression path; Device Interaction remains available for exploratory agent work.
  • Evidence includes recording, screenshots, bounded logs, and machine-readable pass/fail.
  • Missing real Plex/Jellyfin/Emby credentials is not a failure and is not required for closure.

Activity

  1. jlipworth commented on Aug 12, 2026

    @jlipworth
    OwnerAuthor

    Credential-free semantic mobile loop is now proven on both Xcode 27 simulator compositions.

    • iPhone 17 Pro / iOS 27: scripts/agent-mobile-run.sh iphone fixture-detail-semantic --allow-simulator passed 1/1.
    • iPad Pro 13-inch (M5) / iOS 27: the same named scenario passed 1/1.
    • Driver: durable XCUITest using labstream.home.fixture-resume.plex-orbit, asserting Some signals should stay distant.; no coordinates or credentials.
    • Each wrapper run retained video, start/end screenshots, bounded app/simulator logs, .xcresult, exported attachment, test-summary.json, and run.json, then shut down the worktree simulator.
    • Local evidence: artifacts/agent-platform-runs/20260812T200731Z-iphone-fixture-detail-semantic-plex and 20260812T200939Z-ipad-fixture-detail-semantic-plex.

    Implementation commits on the issue branch: b2eb6c46, c0ca86f8, f24412c0. Official Device Interaction remains an exploratory Xcode-MCP proof rather than the durable regression contract.

  2. jlipworth commented on Aug 12, 2026

    @jlipworth
    OwnerAuthor

    Integrated locally into main through f24412c0. The credential-free semantic XCUITest evidence wrapper passed on both iPhone and iPad, retains video/screenshots/logs/result bundle/attachments/JSON, and shuts down its leased simulator. Canonical mobile and testing documentation was updated.

    Publication status: local main only; not yet pushed to origin/main. Leaving open until the implementing tip is published.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestinfraRepo / tooling / releaseplatform:iosiPhone and iOSplatform:ipadosiPad and iPadOSpriority:p2Normal planned work with meaningful impactstatus:needs-reconcileIssue facts or acceptance criteria may lag the current repository

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions