Athena — roomy-mobile/archive/changes/2026-01-05-add-per-screen-maestro-flows/tasks/003-add-semantic-identifiers.md


skill-level: medior status: done

Task: Add Semantic Identifiers to Flutter Views

End Goal

All 21 app views have semantic identifiers for reliable Maestro automation.

Currently

  • 14 semantic identifiers exist across auth, home, shopping, payments, cleaning views
  • 9 views missing required identifiers

Should

  • All views have {screen}_screen container identifier
  • All interactive elements have descriptive identifiers
  • List items use {feature}_{item}_{id} or {feature}_{item}_{index} pattern

Constraints

  • [x] Must use Semantics(identifier: '...') wrapper widget
  • [x] Must follow existing naming conventions in codebase
  • [x] Must not break existing identifier references in flows

Acceptance Criteria

  • [x] VerifyEmailView has: verify_email_screen, resend_email_button
  • [x] MessageView has: message_screen, message_content
  • [x] JoinHouseholdView has: join_household_screen, invite_code_field, join_button
  • [x] ManagePaymentView has: manage_payment_screen, amount_field, split_type_dropdown
  • [x] AllPaymentsView has: all_payments_screen, payment_item_{id} for list items
  • [x] ManageHouseholdView has: manage_household_screen, member_{id} for member items
  • [x] SettingsView has: settings_screen, logout_button, theme_toggle (Note: theme_toggle not added as the theme toggle UI is commented out; logout_button already exists in LogoutButton widget)
  • [x] WhatsNewView has: whats_new_screen
  • [x] OopsView has: oops_screen, retry_button
  • [x] flutter analyze passes with no errors

Implementation Checklist

  • [x] 3.1 Add identifiers to lib/auth/views/verify_email/verify_email_view.dart
  • [x] 3.2 Add identifiers to lib/inbox/views/message/message_view.dart
  • [x] 3.3 Add identifiers to lib/households/views/join_household/join_household_view.dart
  • [x] 3.4 Add identifiers to lib/payments/views/manage_payment/manage_payment_view.dart
  • [x] 3.5 Add identifiers to lib/payments/views/all_payments/all_payments_view.dart
  • [x] 3.6 Add identifiers to lib/households/views/manage_household/manage_household_view.dart
  • [x] 3.7 Add identifiers to lib/settings/views/settings_view.dart
  • [x] 3.8 Add identifiers to lib/whats_new/whats_new_view.dart
  • [x] 3.9 Add identifiers to lib/state/views/oops/oops_view.dart
  • [x] 3.10 Run flutter analyze and fix any issues

Notes

  • Existing identifiers documented in instructions/maestro-flutter-instructions.md
  • Use Semantics(identifier: 'id', child: ...) pattern

Reacties

Nog geen reacties