Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{"type":"replay_test_attempt_start","ts":"2026-09-19T14:32:46.818Z","replayPath":"/tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-pzCEKx/01-flow.yaml","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","requestId":"req-maestro-test-wire-true:test:1:01-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-19T14:32:46.819Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"timedOut":false,"durationMs":2}
{"type":"replay_test_finalize_start","ts":"2026-09-19T14:32:46.819Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-19T14:32:46.820Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"durationMs":1}
{"type":"replay_test_cleanup_start","ts":"2026-09-19T14:32:46.820Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-19T14:32:46.820Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_attempt_start","ts":"2026-09-20T20:37:45.965Z","replayPath":"/tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-IAQdpt/01-flow.yaml","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","requestId":"req-maestro-test-wire-true:test:1:01-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-20T20:37:45.967Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"timedOut":false,"durationMs":2}
{"type":"replay_test_finalize_start","ts":"2026-09-20T20:37:45.967Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-20T20:37:45.967Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-20T20:37:45.967Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-20T20:37:45.967Z","session":"default:test:req-maestro-test-wire-true:1-01-flow:attempt-1","ok":true,"durationMs":0}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
file: /tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-pzCEKx/01-flow.yaml
file: /tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-IAQdpt/01-flow.yaml
session: default:test:req-maestro-test-wire-true:1-01-flow:attempt-1
attempt: 1/1
status: passed
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{"type":"replay_test_attempt_start","ts":"2026-09-19T14:32:46.820Z","replayPath":"/tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-pzCEKx/02-flow.yaml","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","requestId":"req-maestro-test-wire-true:test:2:02-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-19T14:32:46.821Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"timedOut":false,"durationMs":1}
{"type":"replay_test_finalize_start","ts":"2026-09-19T14:32:46.821Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-19T14:32:46.821Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-19T14:32:46.821Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-19T14:32:46.821Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_attempt_start","ts":"2026-09-20T20:37:45.968Z","replayPath":"/tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-IAQdpt/02-flow.yaml","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","requestId":"req-maestro-test-wire-true:test:2:02-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-20T20:37:45.968Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"timedOut":false,"durationMs":0}
{"type":"replay_test_finalize_start","ts":"2026-09-20T20:37:45.969Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-20T20:37:45.969Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-20T20:37:45.969Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-20T20:37:45.969Z","session":"default:test:req-maestro-test-wire-true:2-02-flow:attempt-1","ok":true,"durationMs":0}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
file: /tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-pzCEKx/02-flow.yaml
file: /tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-IAQdpt/02-flow.yaml
session: default:test:req-maestro-test-wire-true:2-02-flow:attempt-1
attempt: 1/1
status: passed
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{"type":"replay_test_attempt_start","ts":"2026-09-19T14:32:46.823Z","replayPath":"/tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-Wnbhbp/01-flow.yaml","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","requestId":"req-maestro-test-wire-undefined:test:1:01-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-19T14:32:46.823Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"timedOut":false,"durationMs":0}
{"type":"replay_test_finalize_start","ts":"2026-09-19T14:32:46.823Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-19T14:32:46.823Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-19T14:32:46.823Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-19T14:32:46.823Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_attempt_start","ts":"2026-09-20T20:37:45.971Z","replayPath":"/tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-XmcOFG/01-flow.yaml","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","requestId":"req-maestro-test-wire-undefined:test:1:01-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-20T20:37:45.971Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"timedOut":false,"durationMs":0}
{"type":"replay_test_finalize_start","ts":"2026-09-20T20:37:45.971Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-20T20:37:45.971Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-20T20:37:45.971Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-20T20:37:45.971Z","session":"default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1","ok":true,"durationMs":0}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
file: /tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-Wnbhbp/01-flow.yaml
file: /tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-XmcOFG/01-flow.yaml
session: default:test:req-maestro-test-wire-undefined:1-01-flow:attempt-1
attempt: 1/1
status: passed
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{"type":"replay_test_attempt_start","ts":"2026-09-19T14:32:46.824Z","replayPath":"/tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-Wnbhbp/02-flow.yaml","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","requestId":"req-maestro-test-wire-undefined:test:2:02-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-19T14:32:46.824Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"timedOut":false,"durationMs":0}
{"type":"replay_test_finalize_start","ts":"2026-09-19T14:32:46.824Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-19T14:32:46.824Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_cleanup_start","ts":"2026-09-19T14:32:46.824Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-19T14:32:46.824Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"durationMs":0}
{"type":"replay_test_attempt_start","ts":"2026-09-20T20:37:45.972Z","replayPath":"/tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-XmcOFG/02-flow.yaml","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","requestId":"req-maestro-test-wire-undefined:test:2:02-flow.yaml:attempt:1"}
{"type":"replay_test_attempt_stop","ts":"2026-09-20T20:37:45.972Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"timedOut":false,"durationMs":0}
{"type":"replay_test_finalize_start","ts":"2026-09-20T20:37:45.972Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1"}
{"type":"replay_test_finalize_stop","ts":"2026-09-20T20:37:45.973Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"durationMs":1}
{"type":"replay_test_cleanup_start","ts":"2026-09-20T20:37:45.973Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1"}
{"type":"replay_test_cleanup_stop","ts":"2026-09-20T20:37:45.973Z","session":"default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1","ok":true,"durationMs":0}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
file: /tmp/agent-device-test-run-75313-0YH0p7/agent-device-maestro-remote-test-Wnbhbp/02-flow.yaml
file: /tmp/agent-device-test-run-94227-XxlCsl/agent-device-maestro-remote-test-XmcOFG/02-flow.yaml
session: default:test:req-maestro-test-wire-undefined:2-02-flow:attempt-1
attempt: 1/1
status: passed
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

## Unreleased

- Added (ios): `fold <closed|half-open|open>` and `client.command.fold({ pose })` put a foldable
iPhone simulator (iPhone Duo) into a hinge pose. ADR 0025 recorded that no official host API sets
the pose and left it to the operator; the pose is now set the way the operator did it, by pressing
the pose control in the Xcode Device Hub window through macOS accessibility, and it is confirmed
the way ADR 0025 asked for, by reading the hinge angle back from CoreDevice
(`devicectl device motion hinge-angle`) until it agrees with the request. The response reports
the verified pose, the hinge angle, and the panel the device now lights with its point size, so an
agent can see that its refs and coordinates are stale without another capture. The macOS helper
gained a `device-hub pose` subcommand that finds Device Hub in the process table (LaunchServices
registers the trampolined app with no pid), reopens its window when it shows none, and selects the
simulator through the sidebar row keyed by its UDID so two simulators sharing a name cannot be
confused. Simulator-only; a single-panel simulator refuses with `UNSUPPORTED_OPERATION`, and every
other platform states its own refusal cell.
- Added (limrun): `record start` and `record stop` on Limrun iOS and Android direct sessions. The
runtime declared recording unavailable although the Limrun SDK exposes a server-side recorder.
Start asks the instance to record (`--quality medium` maps to Limrun quality 5, `high` to 8);
Expand Down
Loading
Loading