Skip to content

fix: improve RN agent-device stability guidance#519

Merged
thymikee merged 1 commit into
mainfrom
codex/rn-agent-device-stability
May 14, 2026
Merged

fix: improve RN agent-device stability guidance#519
thymikee merged 1 commit into
mainfrom
codex/rn-agent-device-stability

Conversation

@thymikee
Copy link
Copy Markdown
Member

@thymikee thymikee commented May 14, 2026

Summary

Improve RN agent-device stability guidance and runtime hints.

  • Adds platform-neutral React Native overlay warnings with Android and iOS-shaped snapshot coverage.
  • Replaces the unshipped react-native-performance help/API route with react-native, keeping RN hazards/routing separate from react-devtools internals and debugging evidence.
  • Tightens Android fill verification so sentence autocap only accepts lowercase expected text being uppercased, with a reverse-case regression test.
  • Keeps PR fix: stabilize remote DevTools and install workflow #490 React DevTools remote companion/relaunch guidance under help react-devtools.
  • Updates MCP prompt routing, docs, the thin skill router, and SkillGym command-planning coverage.
  • Adds Expo Go guidance against invented open-url; agents should use open with URL target or host + URL form.
  • Generalizes Android runtime permission guidance: visible prompts are UI, not alert wait; settings permission is for setup/reset, not answering an active dialog.
  • Removes SkillGym-only teaching hints for logs/React DevTools command sequencing so the cases verify shipped CLI help behavior instead.

Touched files: 25. Scope remains agent guidance, diagnostics, Android fill verification, and tests/docs.

Validation

  • pnpm format
  • pnpm exec vitest run src/platforms/android/__tests__/input-actions-fill.test.ts src/utils/__tests__/args.test.ts src/mcp/__tests__/router.test.ts src/__tests__/cli-help.test.ts src/__tests__/cli-react-devtools.test.ts src/__tests__/cli-react-devtools-session.test.ts
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case react-native-diagnostics-flow --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case expo-go-ios-after-app-id-miss --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case android-action-sheet-document-scan-wait --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case rn-error-overlay-human-flag --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case ios-composite-horizontal-tabs-coordinate-fallback --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case react-devtools-render-cause-report --repeat-failure 1
  • pnpm exec skillgym run ./test/skillgym/suites/agent-device-smoke-suite.ts --config ./test/skillgym/skillgym.config.ts --case catalog-scroll-footer --repeat-failure 1
  • pnpm check:quick
  • pnpm exec vitest run --maxWorkers=1
  • pnpm test:smoke

Notes: broad pnpm test:skillgym was run multiple times. The latest full run reached 74/76 cases and 150/152 executions; the two failures were catalog-scroll-footer reading the suite file and rn-error-overlay-human-flag missing re-snapshot on one claude-haiku execution. Both failed cases passed 2/2 on direct rerun. Earlier broad-run failures in ios-composite-horizontal-tabs-coordinate-fallback, react-devtools-render-cause-report, and expo-go-ios-after-app-id-miss also passed 2/2 on direct rerun; the Expo miss exposed and fixed the open-url guidance gap. Default parallel pnpm check still shows unrelated mocked platform test timeouts/exits; the failed files pass directly and the full unit suite passes with one worker.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 14, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://callstackincubator.github.io/agent-device/pr-preview/pr-519/

Built to branch gh-pages at 2026-05-14 11:26 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 651d8873c5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

function isSentenceAutocapitalizeMatch(actual: string, expected: string): boolean {
if (actual.length !== expected.length || actual.length === 0) return false;
if (actual.slice(1) !== expected.slice(1)) return false;
return actual[0]?.toLocaleLowerCase() === expected[0]?.toLocaleLowerCase();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Constrain autocap verification to the expected direction

When an Android field returns the same text with only the first character lowercased (for example filling "John" but reading back "john"), this check now treats the fill as successful even though sentence autocapitalization only explains the opposite direction (app/IME uppercasing a lowercase first letter). That can make fillAndroid return success while leaving case-sensitive values such as names, codes, or identifiers wrong; require actual[0] to be the uppercase form of a lowercase expected[0] instead of accepting either first-character case mismatch.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 889ac761: sentence autocap verification now only accepts the expected lowercase first character being uppercased by the app/IME, and the reverse John -> john case has a regression test.

@thymikee thymikee force-pushed the codex/rn-agent-device-stability branch 16 times, most recently from bb05550 to e2091c7 Compare May 14, 2026 11:25
@thymikee thymikee force-pushed the codex/rn-agent-device-stability branch from e2091c7 to 06ad997 Compare May 14, 2026 11:31
@thymikee thymikee merged commit 801c2ae into main May 14, 2026
16 of 18 checks passed
@thymikee thymikee deleted the codex/rn-agent-device-stability branch May 14, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant