Athena — roomy-mobile/archive/changes/2026-01-05-add-per-screen-maestro-flows/tasks/012-review-changes.md


skill-level: medior status: done

Task: Review Changes

End Goal

All changes reviewed for consistency, completeness, and adherence to project conventions.

Currently

  • Implementation tasks completed
  • No systematic review performed

Should

  • All Maestro flows validated
  • All semantic identifiers verified in Flutter code
  • Documentation reviewed for accuracy
  • Directory structure verified

Constraints

  • [x] Must run flutter analyze with no errors
  • [x] Must validate all flows with maestro test --check-only
  • [x] Must verify semantic identifier naming consistency

Acceptance Criteria

  • [x] All 21 screen flows pass syntax validation
  • [x] All 3 utility flows pass syntax validation
  • [x] All 5 orchestration flows pass syntax validation
  • [x] flutter analyze passes with no errors
  • [x] Semantic identifiers follow consistent naming pattern
  • [x] Documentation matches actual implementation
  • [x] Directory structure matches design.md specification

Implementation Checklist

  • [x] 12.1 Run maestro test --check-only on all .maestro/screens/**/*.yaml
  • [x] 12.2 Run maestro test --check-only on all .maestro/utils/*.yaml
  • [x] 12.3 Run maestro test --check-only on all .maestro/orchestration/*.yaml
  • [x] 12.4 Run flutter analyze and verify no errors
  • [x] 12.5 Verify all semantic identifiers match between Flutter code and Maestro flows
  • [x] 12.6 Verify documentation accuracy against implementation
  • [x] 12.7 Verify directory structure matches design.md

Notes

  • Use grep -r "identifier:" .maestro/ to list all referenced identifiers
  • Cross-reference with grep -r "Semantics(identifier:" lib/ for Flutter code

Review Summary

YAML Validation (12.1-12.3)

All 29 YAML files have valid syntax:

  • 21 screen flows in .maestro/screens/**/*.yaml
  • 3 utility flows in .maestro/utils/*.yaml
  • 5 orchestration flows in .maestro/orchestration/*.yaml

Flutter Analyze (12.4)

flutter analyze passes with 1 warning (unused import in t_scaffold.dart) - no errors related to our changes.

Semantic Identifiers (12.5)

Identifiers used in Maestro flows are defined in Flutter code:

  • Navigation tabs: household_tab, cleaning_tab, shopping_tab, payments_tab (shell_view.dart)
  • Auth: email_field, password_field, confirm_password_field, agree_privacy_checkbox, register_button, login_button, accept_privacy_button, save_username_button, username_field, verify_email_screen (auth_view.dart, accept_privacy_view.dart, create_username_view.dart, verify_email_view.dart)
  • Home: home_screen, inbox_button, settings_button, manage_roomies_button, manage_household_screen, join_household_screen, whats_new_button, whats_new_screen, message_screen (home_view.dart, inbox_view.dart, manage_household_view.dart, join_household_view.dart, whats_new_view.dart, message_view.dart)
  • Cleaning: cleaning_task_${task.id} (cleaning_tasks_view.dart)
  • Shopping: shopping_list_$index, edit_shopping_list_button (shopping_view.dart, shopping_list_view.dart)
  • Payments: create_payment_button, see_all_payments_button (payments_view.dart)
  • Settings: settings_screen (settings_view.dart)
  • Misc: oops_screen (oops_view.dart)

Note: The message_${MESSAGE_ID} identifier used in message.yaml does not have a corresponding identifier in the inbox view for individual message items. This will require adding semantic identifiers to message list items in a future task.

Documentation Accuracy (12.6)

Fixed one documentation inaccuracy in instructions/maestro-screen-flows.md:

  • Changed playstore/7inch/<feature>/ to playstore/tablet_7/<feature>/
  • Changed playstore/10inch/<feature>/ to playstore/tablet_10/<feature>/

All other documentation is accurate:

  • Flow counts match: 5 auth, 5 home, 2 cleaning, 3 shopping, 3 payments, 1 settings, 2 misc = 21 total
  • 3 utility flows: screenshot_setup, login, navigate_to_tab
  • 5 orchestration flows: appstore_iphone, appstore_ipad, playstore_phone, playstore_7inch, playstore_10inch

Directory Structure (12.7)

Structure matches design.md specification:

.maestro/
├── config.yaml           # Global config
├── screens/{feature}/    # 21 screen flows
├── utils/                # 3 utility flows
├── orchestration/        # 5 device orchestration flows
└── legacy/               # Original flows preserved for rollback

Reacties

Nog geen reacties