Commit 2ef5ef9
docs(stories): Maestro-adoption epic — 12 implementation stories (#381)
* docs(plan): #370 keyboard-occlusion guard Phase 2 plan (multi-LLM reviewed + amended)
TDD plan for the in-runner live-tap keyboard-occlusion guard (iOS + Android),
amended per the Claude+Codex plan review: pure predicate in a dependency-free
file, guard at the command handler (not tapAt), Android FLAG_RETRIEVE_INTERACTIVE_WINDOWS,
containment predicate, destructive-back safety, off-device tests.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(keyboard-guard): resolveKeyboardGuard(env) (#370)
* feat(keyboard-guard): thread guardKeyboard into iOS+Android tap/longPress commands (#370)
* feat(ios-runner): pure KeyboardGuard.shouldDismiss containment predicate (#370)
* feat(ios-runner): dismiss occluding keyboard before .tap/.longPress; telemetry (#370)
* fix(ios-runner): decode guardKeyboard (var, not let-with-default) so the TS opt-out reaches iOS (#370)
* feat(android-runner): pure KeyboardGuard predicate + JVM test (#370)
* test(android-runner): explicit Assert imports + exclusive-boundary pins for KeyboardGuard (#370)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* feat(android-runner): FLAG_RETRIEVE_INTERACTIVE_WINDOWS + IME-occlusion guard for live taps (#370)
* feat(keyboard-guard): surface meta.keyboardGuard from runner outcomes on press/longpress (#370)
* docs(stories): Maestro-adoption epic — 12 implementation stories
Comparative deep-dive of mobile-dev-inc/maestro (iOS XCTest runner,
core/Android orchestration, MCP server design) vs this plugin,
distilled into an epic README + 12 stories with problem/evidence,
Maestro reference mechanics, design, implementation steps, acceptance
criteria, test plans, and risks:
01 prebuilt runner artifacts 07 native-first action replay (#317)
02 runner protocol versioning 08 token-efficient outputs
03 quiescence bypass 09 Android parity + shared core
04 two-tier settle engine 10 text-input reliability
05 self-healing taps 11 failure evidence + debt
06 native-runner CI + evals 12 tool-surface consolidation
Logged as D1289 in the workspace ledger.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(stories): postpone Story 07 (native-first replay); add Story 13 — seamless maestro-runner (Go) integration (D1290)
Maintainer call: replay stays on the Go maestro-runner engine. Story 07
keeps the recorded effort assessment and becomes the documented
escalation path. Story 13 closes the integration seams instead:
version pinning + compat gate, proactive blind-probe (skip the 40s
doomed WDA attempt on iOS 26), wider CDP fallback grammar (absorbs
#334, incl. optional x-rn hybrid asserts), host-side keyboard seam
(B223), single-step iteration mode (absorbs #240).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(stories): renumber postponement ADR ref D1290 -> D1291 (duplicate-ID fix in workspace DECISIONS.md)
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent e8e8067 commit 2ef5ef9
14 files changed
Lines changed: 1039 additions & 0 deletions
File tree
- docs/stories
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
0 commit comments