Commit Graph

576 Commits

Author SHA1 Message Date
Michał Pierzchała 618af90dad fix: improve maestro text tap targets 2026-05-28 18:22:31 +02:00
Michał Pierzchała b2a39d2368 ci: gate PR preview builds (#603)
* ci: gate PR preview builds

* ci: include setup action in preview trigger
2026-05-28 17:10:44 +02:00
Michał Pierzchała 233df070f1 ci: skip platform smoke for docs-only PRs (#604) 2026-05-28 17:06:51 +02:00
Michał Pierzchała 7a2428e5e2 ci: reduce duplicated runner work (#602) 2026-05-28 15:57:58 +02:00
Michał Pierzchała af206140c8 0.16.1 2026-05-28 15:42:36 +02:00
Michał Pierzchała 2212062dbd 0.16.0 2026-05-28 15:42:08 +02:00
Michał Pierzchała ee57e1b114 fix: improve Maestro test suite replay (#601) 2026-05-28 15:40:19 +02:00
Michał Pierzchała 136d313a19 build: enable noUncheckedIndexedAccess (#600)
* build: enable noUncheckedIndexedAccess

* refactor: remove redundant indexed access fallbacks

* fix: address rebased unchecked indexed access

* fix: address unchecked access review feedback

* refactor: simplify replay fill positional typing

* refactor: avoid wait positional assertion

* refactor: prefer value guards for indexed access

* chore: keep fallow baseline for strictness changes
2026-05-28 11:02:43 +02:00
Michał Pierzchała 819d7dc8aa feat: expose structured MCP command tools (#593)
* feat: expose semantic MCP tools

* docs: remove semantic mcp prd

* refactor: deepen semantic command surface

* refactor: add mcp execution seam

* refactor: deepen command grammar

* refactor: remove legacy command definitions

* refactor: collapse semantic cli wrappers

* refactor: remove local mcp placeholders

* refactor: derive semantic cli routing

* refactor: trim mcp status metadata

* refactor: derive semantic input contracts

* refactor: split semantic grammar modules

* refactor: derive batch input schema

* refactor: centralize cli command schema catalog

* refactor: share semantic cli output projections

* refactor: remove legacy cli output paths

* refactor: consolidate command interface surface

* docs: align command contract wording

* refactor: split command projection from cli grammar

* refactor: trim projection exports

* fix: satisfy fallow command contract audit

* refactor: structure public batch steps

* chore: clean batch architecture references

* fix: keep legacy cli batch steps working

* fix: serialize mcp batches

* chore: tighten command surface cleanup

* fix: serialize mcp stdin requests

* chore: keep mcp config out of command contracts

* fix: project structured batch targets

* chore: harden command input typing

* fix: project maestro backend for replay tests

* fix: preserve session mcp request options
2026-05-28 09:20:55 +02:00
Michał Pierzchała a5fffc6e49 feat: add Maestro YAML replay compatibility (#581)
* feat: add Maestro replay compatibility

* fix: harden Maestro replay compatibility

* fix: address Maestro replay review feedback

* fix: finalize Maestro replay compatibility

* refactor: tighten Maestro replay compatibility boundary

* refactor: reduce Maestro replay quality debt

* refactor: satisfy Maestro replay fallow audit

* fix: stabilize Android provider snapshot tests
2026-05-27 21:45:51 +02:00
Michał Pierzchała 25c7ade769 test: remove 151 unit tests fully covered by integration tests (#595)
* test: remove 151 unit tests fully covered by integration tests

Per-test coverage analysis confirmed every statement and branch these
tests exercise is already covered by the provider-integration suite.
Removes 8 fully redundant test files and 132 individual tests from
54 files (2,598 lines). Coverage unchanged at 82.4% statements / 84.5%
lines, both above configured thresholds.

* fix: restore package export-map contract test

This test validates the package.json exports field, not runtime code.
Its Istanbul fingerprint is empty, making it trivially "subsumed" by
the coverage analysis — but no integration test checks the export map.

* fix: remove unused imports left behind by test pruning

* fix: restore snapshot-routing contract test, remove orphaned comment

snapshot-routing.test.ts validates that every command in the snapshot
catalog has a handler — a structural check invisible to Istanbul.
Same false-positive pattern as package-exports.test.ts.
2026-05-27 16:08:58 +02:00
Michał Pierzchała dcc7421892 fix: recover Android app-owned ANRs (#592)
* fix: recover Android app-owned ANRs

* refactor: tidy Android ANR recovery helpers

* fix: satisfy Android ANR fallow audit
2026-05-26 11:07:46 +02:00
Michał Pierzchała bbe7c06fb6 feat: auto-reverse Android localhost opens (#590)
* feat: auto-reverse Android localhost opens

* test: cover Android localhost reverse edge cases

* fix: reduce Android reverse error complexity

* docs: simplify Android Metro reverse guidance

* docs: prefer scripted SkillGym checks

* test: clarify Android Metro SkillGym plan
2026-05-26 10:44:51 +02:00
Michał Pierzchała 87f087ca2b fix: capture Android snapshot timeout evidence (#591)
* fix: capture Android snapshot timeout evidence

* refactor: isolate Android snapshot timeout evidence

* fix: satisfy fallow snapshot timeout checks

* refactor: tighten snapshot timeout evidence payload

* refactor: tighten Android timeout evidence cleanup
2026-05-26 10:44:29 +02:00
Michał Pierzchała ea21793154 feat: support ios transform gesture (#586) 2026-05-26 09:58:33 +02:00
Michał Pierzchała c72cf0e1d2 fix: clarify Android gesture transform behavior (#584)
* fix: clarify Android gesture transform behavior

* fix: stabilize Android transform injection
2026-05-26 09:47:07 +02:00
Michał Pierzchała 93b04b2cbb docs: simplify README overview (#585) 2026-05-25 20:24:23 +02:00
Michał Pierzchała bda96f1b6d fix: allow inventory selectors with session locks (#583)
* fix: allow inventory selectors with session locks

* fix: reduce lock policy complexity

* refactor: simplify lock policy helpers

* refactor: trim lock policy cleanup

* fix: preserve explicit inventory selectors
2026-05-25 18:55:04 +02:00
Michał Pierzchała 47b981c8ad feat: add gesture command coverage (#576)
* feat: add gesture command coverage

* fix: align iOS fling provider fixture

* feat: group gesture commands

* fix: clarify android gesture support

* feat: add android multitouch gestures

* fix: address gesture review feedback

* refactor: simplify gesture plumbing

* fix: keep gesture subcommands internal

* fix: update iOS provider pan transcript
2026-05-22 18:01:58 +02:00
Michał Pierzchała 168de53bee fix: improve Android snapshot fidelity (#580)
* fix: improve Android snapshot fidelity

* fix: address Android snapshot review edge cases

* refactor: simplify Android snapshot cleanup helpers

* test: guard SkillGym external runners in sandbox
2026-05-22 15:14:50 +02:00
Michał Pierzchała 5b63b9b427 fix: make swift helper cache builds concurrent-safe (#579) 2026-05-21 17:44:26 +02:00
Michał Pierzchała 9a6bb6f734 0.15.2 2026-05-21 17:32:10 +02:00
Michał Pierzchała 0bc1b1e927 fix: simplify iOS interactive snapshots (#578) 2026-05-21 16:19:53 +02:00
Michał Pierzchała cd55a6a52a fix: harden iOS simulator recording cleanup (#575) 2026-05-21 15:34:44 +02:00
Michał Pierzchała 67aa89af58 feat: add iOS repro evidence capabilities (#573) 2026-05-21 13:39:52 +02:00
Michał Pierzchała dfd5c71282 perf: speed up hot iOS taps (#572)
* perf: skip fresh iOS tap preflight

* perf: use app root for iOS coordinate taps

* perf: simplify iOS coordinate tap payloads

* fix: tighten hot iOS tap safety window

* chore: trace skipped iOS tap preflights
2026-05-21 12:42:08 +02:00
Michał Pierzchała 6617d523f2 0.15.1 2026-05-20 20:33:50 +02:00
Michał Pierzchała b0e19c9d1e perf: improve recording and interaction flows (#563)
* perf: improve recording and interaction flows

* feat: add React Native overlay dismiss command

* test: cover RedBox overlay dismissal

* fix: simplify React Native overlay snapshot hint

* fix: address daemon and scroll review feedback

* fix: unblock ci after recording polish

* chore: refresh fallow health baseline

* test: stabilize android provider suites

* test: cover rn overlay provider command
2026-05-20 20:32:08 +02:00
Michał Pierzchała f71371ebb8 fix: handle platform alerts (#562)
* fix: handle Android platform alerts

* fix: handle iOS alerts in runner

* chore: type alert metadata

* refactor: colocate Android alert handling
2026-05-20 14:51:17 +02:00
Michał Pierzchała 896adcc625 feat: add maestro replay compatibility (#561) 2026-05-19 20:49:34 +02:00
Michał Pierzchała 840bef56ca fix: tighten env var surface (#560) 2026-05-19 17:11:31 +02:00
Michał Pierzchała 4491efde1d 0.15.0 2026-05-19 11:54:42 +02:00
Michał Pierzchała 094c290703 perf: speed up iOS replay runner (#557)
* perf: speed up iOS replay runner

* fix: harden ios replay fast paths

* fix: address ci validation failures

* refactor: trim unused ios replay surface
2026-05-19 11:36:48 +02:00
Michał Pierzchała 41508d29b1 fix: make mcp discovery-only (#556) 2026-05-18 15:56:36 +02:00
Michał Pierzchała 59d28e8446 refactor: add provider-first device lab tests (#542)
* refactor: add provider-first device lab tests

* refactor: tighten device lab provider seams

* test: cover provider lab contracts

* docs: record device lab harness direction

* ci: run device lab integration tests

* test: move device lab under integration

* test: extract device lab helpers

* refactor: centralize apps filter defaults

* test: drop lab-covered unit tests

* test: fold platform happy paths into device lab

* test: reuse device lab helpers

* test: move device lab to in-process harness

* test: replace session handler cases with device lab

* test: harden device lab scenario contracts

* docs: define unit test retention policy

* test: expand provider device lab coverage

* test: harden provider device lab coverage

* test: cover manifest install and runner session contracts

* chore: remove unused provider cleanup code

* test: split android find device lab scenario

* test: track provider lab architecture progress

* test: clarify provider lab roadmap progress

* test: advance provider lab session coverage

* test: move menubar click routing to device lab

* test: move menubar snapshots to device lab

* refactor: centralize screenshot flag plumbing

* refactor: colocate screenshot flag metadata

* test: cover all public commands in device lab

* test: move macos wait success to device lab

* test: drop redundant perf and diff units

* test: move push payload paths to device lab

* test: move network parsing to device lab

* test: move log cleanup to device lab

* test: move log restart and boot to device lab

* test: move ios physical boot to device lab

* test: cover perf startup in device lab

* test: extract android and ios device lab worlds

* test: trim device lab world surface

* test: split snapshot capture unit coverage

* test: deepen device lab coverage and trim handler units

* test: clean up device lab migration scaffolding

* test: report device lab public command coverage

* refactor: make Apple provider seams semantic

* refactor: tighten device inventory and Linux provider seams

* refactor: tighten request provider scoping

* refactor: add semantic macos host provider

* test: broaden device lab find coverage

* test: cover workflow flags in device lab

* refactor: promote linux input provider seam

* test: clarify device lab flag coverage

* test: classify snapshot force-full progress

* test: enforce device lab progress in ci

* test: stabilize device lab ci

* test: move packaged metro smoke to integration

* test: drop stale provider seam coverage

* test: harden provider scope regression coverage

* refactor: remove stale platform barrels

* refactor: keep linux clipboard and screenshots semantic

* refactor: move macos host tools behind provider

* fix: honor remote artifact output paths

* test: deepen runtime coverage for daemon and runner paths

* test: share loopback test helpers

* refactor: make daemon runtime importable

* fix: honor replay target metadata

* chore: tighten final device lab quality gates

* test: share device lab setup helpers

* test: remove generic apple lab fallback

* test: deduplicate device lab helpers

* chore: tighten fallow duplication signal

* refactor: share apple diagnostic helpers

* fix: detect active android ime during fill verification

* test: consolidate provider-backed integration suite

* ci: fix fallow and iOS smoke setup

* chore: consolidate cleanup after ci fixes

* test: split vitest unit and integration projects

* docs: mention MCP discovery metadata

* docs: add agent skills context pointers

* fix: close provider recording coverage gaps

* fix: restore mcp compatibility smoke

* test: cover provider edge regressions

* test: consolidate loopback helpers

* docs: remove stale provider routing reference

* fix: harden final provider review issues

* chore: defer mcp cleanup from provider refactor
2026-05-18 14:50:52 +02:00
Michał Pierzchała b5cd1c49fe fix: handle busy Android RN snapshots (#554) 2026-05-16 16:55:18 +02:00
Michał Pierzchała dea6c3b1b2 fix: compact unchanged snapshot output (#547) 2026-05-15 19:37:27 +02:00
Michał Pierzchała 068d4c5d0a chore: remove ensure-simulator lifecycle command (#552) 2026-05-15 19:23:45 +02:00
Michał Pierzchała 60f36eff66 feat: add screenshot no-stabilize flag (#553) 2026-05-15 19:21:06 +02:00
Michał Pierzchała 5c6c89e765 docs: update PR guidance (#550) 2026-05-15 19:01:32 +02:00
Michał Pierzchała 8f722c3c5f docs: guide bounded react devtools profiling (#548) 2026-05-15 18:56:05 +02:00
Michał Pierzchała c1550721ce fix: collapse Android snapshot row noise (#545)
* fix: collapse Android snapshot row noise

* docs: clarify agent-facing snapshot text

* fix: preserve semantics when collapsing Android snapshots

* fix: trim redundant Android collapse hints

* fix: collapse passive Android duplicate children

* refactor: drop unused Android snapshot hint code

* docs: clarify Android Metro verification guidance

* test: cover Android Metro reverse planning

* test: fix codex skillgym runner

* fix: satisfy fallow snapshot checks

* docs: clarify PR validation guidance
2026-05-15 18:52:11 +02:00
Michał Pierzchała d268b79af0 fix: report blockers on wait timeout (#546) 2026-05-15 14:54:56 +02:00
Alex d67e988671 fix: ios press idle timeout (#543)
* fix: ios press idle timeout

* fix: preserve ios mutating command recovery

---------

Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
2026-05-15 13:27:05 +02:00
Michał Pierzchała 7e14decce3 fix: improve Android text entry stability (#540)
* fix: improve android text entry stability

* fix: stabilize android daemon diagnostics

* chore: refresh fallow baselines

* refactor: tighten android text fallback

* fix: tighten android input ownership diagnostics

* fix: require settled android fill verification

* test: cover android fill prefix verification
2026-05-15 12:16:06 +02:00
Michał Pierzchała 83efe54407 fix: default apps listing to user-installed (#541) 2026-05-15 11:06:27 +02:00
Michał Pierzchała 1987198fe6 refactor: split session recording modules (#528) 2026-05-14 19:28:21 +02:00
Michał Pierzchała e4e05eceec refactor: add command definition codecs (#527) 2026-05-14 18:57:11 +02:00
Michał Pierzchała 4553f7a3d0 refactor: split platform interactors (#526) 2026-05-14 18:34:55 +02:00
Michał Pierzchała 204a320ef2 perf: fast-path macos device resolution (#525) 2026-05-14 18:25:45 +02:00