Skip to content

fix(schema): Preserve video fps constraints

8206d7b
Select commit
Loading
Failed to load commit list.
Merged

feat(ui-automation): Add rs/1 runtime automation parity #416

fix(schema): Preserve video fps constraints
8206d7b
Select commit
Loading
Failed to load commit list.
@sentry/warden / warden: xcodebuildmcp-runtime-boundary-review completed May 18, 2026 in 14m 24s

1 issue

xcodebuildmcp-runtime-boundary-review: Found 1 issue (1 medium)

Medium

key_press and key_sequence manifests omit routing.stateful, breaking daemon routing parity for UI automation - `manifests/tools/type_text.yaml:10-11`

manifests/tools/key_press.yaml and manifests/tools/key_sequence.yaml do not declare routing.stateful: true, while every other UI automation tool in the same workflow — tap, swipe, touch, long_press, type_text, batch, snapshot_ui, and wait_for_ui — does. In src/runtime/tool-catalog.ts the catalog reads toolManifest.routing?.stateful ?? false, and src/runtime/tool-invoker.ts uses tool.stateful to decide whether the CLI path routes through the daemon. As a result, CLI invocations of key-press and key-sequence silently fall back to direct in-process invocation, bypassing the daemon session that owns the AXe HID connection used by the sibling tools. This violates the skill guardrails 'Stateful CLI tools route through daemon only when routing.stateful requires it' and 'Avoid silent fallbacks and parallel invocation paths.'


⏱ 14m 1s · 2.1M in / 98.7k out · $3.36

Annotations

Check warning on line 11 in manifests/tools/type_text.yaml

See this annotation in the file changed.

@sentry-warden sentry-warden / warden: xcodebuildmcp-runtime-boundary-review

key_press and key_sequence manifests omit routing.stateful, breaking daemon routing parity for UI automation

`manifests/tools/key_press.yaml` and `manifests/tools/key_sequence.yaml` do not declare `routing.stateful: true`, while every other UI automation tool in the same workflow — `tap`, `swipe`, `touch`, `long_press`, `type_text`, `batch`, `snapshot_ui`, and `wait_for_ui` — does. In `src/runtime/tool-catalog.ts` the catalog reads `toolManifest.routing?.stateful ?? false`, and `src/runtime/tool-invoker.ts` uses `tool.stateful` to decide whether the CLI path routes through the daemon. As a result, CLI invocations of `key-press` and `key-sequence` silently fall back to direct in-process invocation, bypassing the daemon session that owns the AXe HID connection used by the sibling tools. This violates the skill guardrails 'Stateful CLI tools route through daemon only when routing.stateful requires it' and 'Avoid silent fallbacks and parallel invocation paths.'