simdrive v0.3.0a1 — SpecterQA parity round 1 (13 → 27 tools)
First parity sprint after the cutover. simdrive grows from 13 to 27 MCP tools, closing the major gaps that kept Palace's full SpecterQA migration from being a clean cut.
Headline: native performance monitoring on iOS simulators with no XCTest required.
Performance monitoring
- `perf` — CPU%, memory RSS, thread count for the active app
- `perf_baseline` — capture a labeled baseline, stored per-session
- `perf_compare` — diff a current snapshot against a baseline; severity bands (high / medium / low)
- `memory` — detailed memory breakdown (footprint, dirty, clean, reclaimable, peak) via macOS `footprint`
Diagnostics
- `doctor` — environment readiness (Xcode CLT, simctl, runtimes, booted devices, native HID helper)
- `app_state` — foreground / background / suspended / not-running
- `apps` — list installed apps on a sim (handles `simctl listapps` OpenStep plist via `plutil` round-trip)
- `crashes` — `.ips` retrieval from `~/Library/Logs/DiagnosticReports`, filterable by session-start time and bundle id
Robustness
- `dismiss_first_launch_alerts` — taps Allow / Don't Allow on permission alerts. Includes the v0.1 dogfood 1-in-4 alert-race fix: re-observe 200 ms post-tap, retry once if the alert text persists.
- `pre_grant_permissions` — `simctl privacy grant` for camera / photos / location / etc. before launch
- `set_appearance` — light / dark toggle
- `dismiss_sheet` — swipe-down sheet dismissal
- `list_replays` — saved recordings with metadata
- `validate_replay` — structural validation of a recording YAML without execution
Deferred (with rationale)
- `network` — large port (CFNetwork log parsing + nettop merge); needs its own sprint
- `accessibility_audit`, `webview_elements` — XCTest-only; do not fit simdrive's vision-first model
- `app_relaunch` — iOS 26.3 teardown recovery is fragile; deferred to a stability cut
Install
```bash
pip install --pre --upgrade simdrive
```
Numbers
- 27 MCP tools (was 13)
- 73 / 73 unit tests passing (21 new)
- Live smoke verified perf/memory/apps return realistic data on a booted iOS 26.3 sim running Preferences