From fdee28ad3c58a72463c2cb90b1723cb784a3adcf Mon Sep 17 00:00:00 2001 From: Jonathan Jackson Date: Tue, 19 May 2026 19:40:05 -0400 Subject: [PATCH] =?UTF-8?q?docs(app-test-cases):=20refresh=20Maestro=20fea?= =?UTF-8?q?ture-compat=20=E2=80=94=20local=20+=20cloud=20both=20on=20v2.5.?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "cloud emulator's bundled Maestro (1.36-ish per its CLI banner)" note was stale — the AMI has been on Maestro v2.5.1 since the 2026-05-12-2142 bake (pinned in infra/mobile-ami/scripts/30-maestro.sh in ace-web). Local was just upgraded to v2.5.1 to match. Lag table preserved as drift-prevention reference (re-baseline if versions ever diverge again) and the leep visibilityPercentage origin story is kept for context — but flagged as historically inactive on the current AMI. Co-Authored-By: Claude Opus 4.7 (1M context) --- .claude-plugin/marketplace.json | 4 ++-- .claude-plugin/plugin.json | 2 +- VERSION | 2 +- package-lock.json | 4 ++-- package.json | 2 +- skills/app-test-cases/SKILL.md | 28 ++++++++++++++-------------- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index d44b267..30cac2c 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,13 +6,13 @@ "url": "https://github.com/jjackson" }, "metadata": { - "version": "0.13.283" + "version": "0.13.284" }, "plugins": [ { "name": "ace", "source": "./", - "version": "0.13.283", + "version": "0.13.284", "description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout" } ] diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index d61556b..ece17ce 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ace", - "version": "0.13.283", + "version": "0.13.284", "description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout", "author": { "name": "Jonathan Jackson", diff --git a/VERSION b/VERSION index bb1a178..eebd50f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.13.283 +0.13.284 diff --git a/package-lock.json b/package-lock.json index 1a92259..224a139 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ace", - "version": "0.13.283", + "version": "0.13.284", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ace", - "version": "0.13.283", + "version": "0.13.284", "license": "ISC", "dependencies": { "@anthropic-ai/sdk": "^0.94.0", diff --git a/package.json b/package.json index f91a284..53c2768 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ace", - "version": "0.13.283", + "version": "0.13.284", "description": "AI Connect Engine - orchestrator for building Connect Opps using AI", "type": "module", "scripts": { diff --git a/skills/app-test-cases/SKILL.md b/skills/app-test-cases/SKILL.md index 375206a..0949841 100644 --- a/skills/app-test-cases/SKILL.md +++ b/skills/app-test-cases/SKILL.md @@ -257,31 +257,31 @@ tapOn:` model, the live `tapOn` never found a target, and the recipes failed with selector-miss errors — even though the emulator + Maestro + cloud-stack were healthy. -#### Maestro feature-compat — cloud-backend lag +#### Maestro feature-compat — local vs cloud parity -The cloud emulator's bundled Maestro (1.36-ish per its CLI banner) -is older than what the local-AVD backend ships. Some Maestro -properties are scalar-form-only or unsupported on cloud: +As of 2026-05-19, **both backends run Maestro on the v2.x line** +(local: v2.5.1 via the official installer; cloud AMI: v2.5.1 pinned +in `infra/mobile-ami/scripts/30-maestro.sh`). The lag table below +documents the historical drift class — it's NOT currently active. +Re-baseline if the versions ever diverge again (track local via +`maestro --version`, cloud via `ACE_MOBILE_AMI_VERSION`): | Property | Local AVD | Cloud | |---|---|---| -| `visibilityPercentage` | works | **rejects with `Unknown Property`** | +| `visibilityPercentage` | works | **historically rejected with `Unknown Property` on the v1.36-era AMI** | | `point: "x,y"` | works | works | | `id:` matcher | works | works | | `text:` matcher | works | works | | `index:` for multi-match | works | works | | `optional: true` (under mapping form) | works | works | -When in doubt, omit Maestro version-specific properties — the -default substring + visibility threshold is usually enough. -Re-baseline this table when the cloud AMI gets a Maestro version -bump (track via `ACE_MOBILE_AMI_VERSION`). - -Caught in vivo on leep Phase 5 attempt 10 — `connect-claim-opp.yaml` -shipped with `visibilityPercentage: 30`, the cloud Maestro rejected +Origin: leep Phase 5 attempt 10 — `connect-claim-opp.yaml` shipped +with `visibilityPercentage: 30`, the v1.36-era cloud Maestro rejected the whole recipe with `Unknown Property` before the first step -executed. Property removed in 0.13.194; this table is the prevention -for the future class of bug. +executed. Property removed in 0.13.194; AMI bumped past the drift in +the 2026-05-12-2142 bake. Keep the prevention discipline regardless: +when in doubt, omit version-specific properties — the default +substring + visibility threshold is usually enough. #### Selector placeholder gate — STRICT