Skip to content

fix(schema): Preserve video fps constraints

8206d7b
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
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.
GitHub Actions / warden: xcodebuildmcp-test-boundary-review completed May 18, 2026 in 27m 55s

4 issues

xcodebuildmcp-test-boundary-review: Found 4 issues (1 high, 1 medium, 2 low)

High

Test expects all 3 testCases returned but normalizeTestCases still filters to failures-only - `src/snapshot-tests/__tests__/json-normalize.test.ts:29-36`

The updated test expects the normalized envelope to include all 3 test cases (1 failed + 2 passed), but normalizeTestCases in json-normalize.ts returns failed.length > 0 ? failed : sorted, so only the 1 failed item is returned — the test will fail as written.

Also found at:

  • src/snapshot-tests/__tests__/json-normalize.test.ts:156

Medium

swipe--success snapshot contract removed and replaced with error-only fixture - `src/snapshot-tests/suites/ui-automation-suite.ts:124-136`

The swipe success test case was replaced by error - target not actionable, permanently removing the swipe--success snapshot fixture from the live contract; swipe success behaviour is no longer covered by any snapshot test.

Also found at:

  • src/snapshot-tests/suites/ui-automation-suite.ts:228-242

Low

long_press, swipe, tap, touch drop text-output contract checks — any non-empty string passes - `src/mcp/tools/ui-automation/__tests__/non_streaming_progress.test.ts:163-167`

The four tool cases have no expectedText, so the loop falls through to expect(result.text().trim().length).toBeGreaterThan(0), which accepts any output and won't catch regressions in the rendered success message for those tools.

Bespoke `createBootedScreenshotMockExecutor` duplicates `createCommandMatchingMockExecutor` - `src/mcp/tools/ui-automation/__tests__/screenshot.test.ts:36-50`

Replace the inline createBootedScreenshotMockExecutor with createCommandMatchingMockExecutor, which was purpose-built for multi-command tools and whose JSDoc even cites screenshot: simctl + sips as the canonical example.

Also found at:

  • src/mcp/tools/ui-automation/__tests__/ui-action-test-helpers.ts:58-60

⏱ 26m 15s · 4.0M in / 197.3k out · $7.92

Annotations

Check failure on line 36 in src/snapshot-tests/__tests__/json-normalize.test.ts

See this annotation in the file changed.

@github-actions github-actions / warden: xcodebuildmcp-test-boundary-review

Test expects all 3 testCases returned but normalizeTestCases still filters to failures-only

The updated test expects the normalized envelope to include all 3 test cases (1 failed + 2 passed), but `normalizeTestCases` in `json-normalize.ts` returns `failed.length > 0 ? failed : sorted`, so only the 1 failed item is returned — the test will fail as written.

Check failure on line 156 in src/snapshot-tests/__tests__/json-normalize.test.ts

See this annotation in the file changed.

@github-actions github-actions / warden: xcodebuildmcp-test-boundary-review

[A8W-VQF] Test expects all 3 testCases returned but normalizeTestCases still filters to failures-only (additional location)

The updated test expects the normalized envelope to include all 3 test cases (1 failed + 2 passed), but `normalizeTestCases` in `json-normalize.ts` returns `failed.length > 0 ? failed : sorted`, so only the 1 failed item is returned — the test will fail as written.

Check warning on line 136 in src/snapshot-tests/suites/ui-automation-suite.ts

See this annotation in the file changed.

@github-actions github-actions / warden: xcodebuildmcp-test-boundary-review

swipe--success snapshot contract removed and replaced with error-only fixture

The swipe `success` test case was replaced by `error - target not actionable`, permanently removing the `swipe--success` snapshot fixture from the live contract; swipe success behaviour is no longer covered by any snapshot test.

Check warning on line 242 in src/snapshot-tests/suites/ui-automation-suite.ts

See this annotation in the file changed.

@github-actions github-actions / warden: xcodebuildmcp-test-boundary-review

[8SG-QPS] swipe--success snapshot contract removed and replaced with error-only fixture (additional location)

The swipe `success` test case was replaced by `error - target not actionable`, permanently removing the `swipe--success` snapshot fixture from the live contract; swipe success behaviour is no longer covered by any snapshot test.