adb-ready 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,54 @@ breaking changes.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.6.0] - 2026-09-27
13
+
14
+ ### Added
15
+
16
+ - Add the project-local `bun what` command browser for contributors who want
17
+ to discover and launch repository tasks without scanning `package.json`.
18
+ - Add balanced, fast, and strict semantic UI acquisition profiles with
19
+ observation timing, freshness, stability, filtering, truncation, and
20
+ framework-limitation metadata; reject empty and continuously unstable UI
21
+ hierarchies instead of returning a silent false success.
22
+ - Add bounded `compare_ui` hierarchy diffs for agents, reporting semantic nodes
23
+ that were added, removed, updated, or moved while refusing stale,
24
+ cross-target, partial, differently filtered, or display-incompatible bases.
25
+ - Add capability-detected Unicode, emoji, RTL, CJK, and multiline UI input
26
+ through an already enabled ADBKeyBoard IME, configurable per-code-point
27
+ pacing, exact prior-IME restoration, and explicit pre-mutation failures when
28
+ the target cannot meet the requested input contract.
29
+ - Add protected CLI stdin and MCP environment-variable input so secrets stay
30
+ out of host process arguments, operation plans, terminal output, retained
31
+ results, journals, screenshots, and AI context, with documented Android-side
32
+ trust boundaries.
33
+ - Add guarded keyboard status and dismissal using agreeing InputMethodManager
34
+ and WindowInsets signals, plus exact PermissionController runtime-permission
35
+ inspection and responses with fresh post-action verification across CLI and
36
+ MCP. Unknown or ambiguous system UI now fails closed instead of pressing or
37
+ tapping speculatively.
38
+ - Add decoded and checksum-verified PNG evidence with source-pixel crops,
39
+ proportional dimension limits, capture provenance, and truncation metadata;
40
+ MCP image results now default to a context-safe 1024×1024 and 4 MiB base64 budget
41
+ with an explicit full-resolution opt-in.
42
+ - Add `inspect failures` and `inspect_failures` to correlate bounded,
43
+ package-scoped ApplicationExitInfo, crash-buffer, ANR, React Native, native,
44
+ and permitted DropBox evidence while reporting unavailable Android sources
45
+ and excluding unrelated process failures.
46
+ - Add discoverable `debug`, `session`, `ui`, and backward-compatible `full` MCP
47
+ profiles, a config-independent capabilities tool/resource, and namespaced
48
+ safety, sensitivity, target-binding, and profile metadata generated into the
49
+ public agent contract.
50
+ - Generate and package a version-matched task-first Agent Skill from the real
51
+ MCP tool contract, then install it atomically with project-scoped Codex,
52
+ Claude Code, Cursor, or VS Code setup without overwriting custom content.
53
+ - Document durable start/get/stop development handles as the cross-client
54
+ compatibility path while keeping the MCP Tasks extension unadvertised until
55
+ negotiated interoperability is proven in two supported clients.
56
+ - Add target-locked Maestro and Android CLI verifier adapters, bounded native
57
+ report/screenshot/video/log retention, and structured verifier outcome
58
+ categories without translating either tool's test or Journey format.
59
+
12
60
  ## [0.5.1] - 2026-09-25
13
61
 
14
62
  ### Added
@@ -423,7 +471,8 @@ breaking changes.
423
471
  explainable configuration precedence.
424
472
  - Human, plain, JSON, and NDJSON output across Node, Bun, and Deno entrypoints.
425
473
 
426
- [Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.5.1...HEAD
474
+ [Unreleased]: https://github.com/Adam014/adb-ready/compare/v0.6.0...HEAD
475
+ [0.6.0]: https://github.com/Adam014/adb-ready/compare/v0.5.1...v0.6.0
427
476
  [0.5.1]: https://github.com/Adam014/adb-ready/compare/v0.5.0...v0.5.1
428
477
  [0.5.0]: https://github.com/Adam014/adb-ready/compare/v0.4.1...v0.5.0
429
478
  [0.4.1]: https://github.com/Adam014/adb-ready/compare/v0.4.0...v0.4.1
package/README.md CHANGED
@@ -86,11 +86,12 @@ to reveal an action.
86
86
  - [**Operate the app**](./docs/apps-and-evidence.md#app-lifecycle) — resolve,
87
87
  install, launch, restart, deep-link, and inspect the project app.
88
88
  - [**Verify the UI**](./docs/ui-automation.md) — find semantic elements, act
89
- by intent—including labels inside clickable containers and content-directed
90
- scrolling—assert state, audit effective accessibility labels, and capture the
89
+ by intent—including international text, protected input, keyboard state, and
90
+ runtime-permission dialogs—assert state, audit accessibility, and capture the
91
91
  screen.
92
92
  - [**Debug with evidence**](./docs/logs-and-context.md) — keep focused logs,
93
- session history, screenshots, recordings, and redacted context together.
93
+ correlated crash/ANR/native findings, session history, screenshots,
94
+ recordings, and redacted context together.
94
95
  - [**Automate a real device**](./docs/automation.md#run-one-bounded-verification)
95
96
  — gate a finite command on readiness and return stable results, reports, and
96
97
  artifacts.
@@ -106,16 +107,20 @@ Windsurf, or another MCP client:
106
107
  npx adb-ready agent setup codex
107
108
  ```
108
109
 
110
+ Setup writes the project MCP bridge and a version-matched Agent Skill. Use
111
+ `--mcp-profile debug`, `session`, or `ui` to expose only the tools needed for
112
+ that job; `full` remains the default.
113
+
109
114
  Then ask for the outcome you want:
110
115
 
111
116
  > Start this Expo app on my Android phone, wait until the login screen is
112
117
  > actually ready, verify my change, and keep the failure evidence.
113
118
 
114
119
  The local MCP server gives agents typed tools for target readiness, durable
115
- development sessions, app lifecycle, semantic UI, logs, screenshots, and saved
116
- evidence. Every result is schema-validated and checked against fresh device
117
- state. Agents do not receive a generic shell, unrestricted raw ADB, or app
118
- removal.
120
+ development sessions, app lifecycle, semantic UI, correlated failure evidence,
121
+ screenshots, and saved diagnostics. Every result is schema-validated, annotated
122
+ for safety, and checked against fresh device state. Agents do not receive a
123
+ generic shell, unrestricted raw ADB, or app removal.
119
124
 
120
125
  [Connect an AI agent in minutes →](./docs/agent-integration.md)
121
126
 
@@ -178,12 +183,13 @@ Or make the target and deployment part of the same bounded job:
178
183
 
179
184
  ```bash
180
185
  npx adb-ready run --avd Pixel_9_API_36 --deploy --variant debug -- \
181
- maestro '--device={target.serial}' test .maestro/smoke.yaml
186
+ maestro test .maestro/smoke.yaml
182
187
  ```
183
188
 
184
189
  Each executed run retains a redacted evidence bundle with its result,
185
- timeline, problems, focused logcat, native verifier output, AI context, JUnit
186
- XML, and GitHub step summary. Existing matching emulators are reused; only an
190
+ timeline, problems, focused logcat, native verifier output and artifacts, AI
191
+ context, JUnit XML, and GitHub step summary. Maestro and Android CLI primitives
192
+ are pinned to the leased target automatically. Existing matching emulators are reused; only an
187
193
  emulator started by that run is stopped. Scripts also get deterministic JSON
188
194
  and NDJSON contracts:
189
195