Skip to content

Leave third-party identifiers out of the rename; dismiss the dialogs covering the Sample wait - #176

Merged
dadachi merged 2 commits into
mainfrom
fix/rename-third-party-and-notification-alert
Oct 27, 2026
Merged

dadachi merged 2 commits into
mainfrom
fix/rename-third-party-and-notification-alert

Conversation

@dadachi

@dadachi dadachi commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two failures from the first /nativeapptemplate-agent:generate-app --visual=2 --tests run of agent 0.4.3 on the Orange Baton spec (2026-10-27), neither caused by 0.4.3 itself:

  • Android build: the planner added Completed → Passed, and rename.rb rewrote the RevenueCat SDK's com.revenuecat.purchases.PurchasesAreCompletedBy (Unresolved reference 'PurchasesArePassedBy') and Solid Queue's completed_jobs column in db/queue_schema.rb / db/queue_migrate/. rename.rb now protects [Pp]urchasesAreCompletedBy like the GitHub links and skips the Solid Queue / Cache / Cable schemas and migrations; Layer 1 mirrors both (protected-references.ts, layer1.ts). A scan of all five substrates found no other third-party identifier containing Completed or Idled.
  • iOS Stage 2: the paid iOS template's notification reason alert (NativeAppTemplate-iOS 5f28d9c, 2026-10-25) covered the list after the walk's optional taps had given up, so wait_for_text "Sample" timed out seeing only 2 elements. wait_for_text takes a dismiss list and taps the first listed button it sees whenever a poll doesn't find the text; the Sample wait uses OK, 許可, Allow, 今はしない, Not Now, Cancel.

Test plan

  • npm run ci: 213 tests pass; the 4 new tests fail with the fixes stashed (rename.rb, protectedSpans + Layer 1 skip, wait_for_text dismiss, the scenario's Sample step).
  • Local node dist/index.js run of the Orange Baton spec, paid substrates, --visual=2 --tests (13m 55s, $0.21): Android now Layer 1–3 green, Stage 2 48/48, tests green; Rails green. (The planner didn't pick Completed → Passed this time, so the rename protection is covered by the unit tests.)
  • iOS still fails the Sample wait, and dismiss cannot help: while the alert is up, the accessibility snapshot holds only the status bar (clock, Wi-Fi — the "2 elements"), with the same result from mobile-mcp's devicekit runner. The alert lives in a UIWindow of its own (NotificationReasonAlert.show), which the snapshot doesn't include. That needs a change in the template (and Orange Baton first); tracked separately. The dismiss list stays: it covers the dialogs the snapshot does show.

🤖 Generated with Claude Code

dadachi and others added 2 commits October 27, 2026 08:55
… out of the rename

A plan that renames the Completed state (Orange Baton, 2026-10-27:
Completed → Passed) rewrote the RevenueCat SDK's
com.revenuecat.purchases.PurchasesAreCompletedBy into an import that
doesn't exist, so the Android build failed, and turned Solid Queue's
completed_jobs column in db/queue_schema.rb into passed_jobs.

rename.rb protects [Pp]urchasesAreCompletedBy like the GitHub links and
skips the Solid Queue / Cache / Cable schemas and migrations; Layer 1
mirrors both.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…e Sample entry

The paid iOS template (2026-10-25) says what notifications are for in an
alert of its own before the OS prompt. It can arrive after the walk's
optional taps have given up, and an alert hides the list from the
accessibility tree, so wait_for_text "Sample" timed out seeing only the
alert's 2 elements (Orange Baton, 2026-10-27).

wait_for_text takes a dismiss list: whenever a poll doesn't find the
text, it taps the first listed button it sees (OK, 許可 / Allow, 今はしない /
Not Now, Cancel) and polls again.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@dadachi
dadachi merged commit 2bac7e1 into main Oct 27, 2026
1 check passed
@dadachi
dadachi deleted the fix/rename-third-party-and-notification-alert branch October 27, 2026 01:14
@dadachi dadachi mentioned this pull request Oct 27, 2026
3 of 4 tasks
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