---
phase: 04-notifications
plan: 03
type: execute
wave: 3
depends_on:
  - 04-02
files_modified: []
autonomous: true
requirements:
  - NOTF-01
  - NOTF-02

must_haves:
  truths:
    - "dart analyze --fatal-infos passes with zero issues"
    - "All tests pass (72 existing + new notification tests)"
    - "NOTF-01 artifacts exist: NotificationService, DAO queries, AndroidManifest permissions, timezone init"
    - "NOTF-02 artifacts exist: NotificationSettingsNotifier, Settings UI section, toggle, time picker"
    - "Phase 4 requirements are fully addressed"
  artifacts: []
  key_links: []
---

<objective>
Verify all Phase 4 notification work is complete, tests pass, and code is clean before marking the phase done.

Purpose: Quality gate ensuring NOTF-01 and NOTF-02 are fully implemented before phase completion.
Output: Verification confirmation with test counts and analysis results.
</objective>

<execution_context>
@/home/jlmak/.claude/get-shit-done/workflows/execute-plan.md
@/home/jlmak/.claude/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/04-notifications/04-CONTEXT.md
@.planning/phases/04-notifications/04-01-SUMMARY.md
@.planning/phases/04-notifications/04-02-SUMMARY.md
</context>

<tasks>

<task type="auto">
  <name>Task 1: Run full verification suite</name>
  <files></files>
  <action>
    1. Run `dart analyze --fatal-infos` — must produce zero issues.
    2. Run `flutter test` — must produce zero failures. Record total test count.
    3. Verify NOTF-01 requirements by checking file existence and content:
       - `lib/core/notifications/notification_service.dart` exists with `scheduleDailyNotification`, `requestPermission`, `cancelAll`
       - `lib/features/home/data/daily_plan_dao.dart` has `getOverdueAndTodayTaskCount` and `getOverdueTaskCount`
       - `android/app/src/main/AndroidManifest.xml` has `POST_NOTIFICATIONS`, `RECEIVE_BOOT_COMPLETED`, `ScheduledNotificationBootReceiver` with `exported="true"`
       - `android/app/build.gradle.kts` has `isCoreLibraryDesugaringEnabled = true` and `compileSdk = 35`
       - `lib/main.dart` has timezone initialization and `NotificationService().initialize()`
    4. Verify NOTF-02 requirements by checking:
       - `lib/core/notifications/notification_settings_notifier.dart` exists with `setEnabled`, `setTime`
       - `lib/features/settings/presentation/settings_screen.dart` has `SwitchListTile` and `AnimatedSize` for notification section
       - `lib/l10n/app_de.arb` has notification-related keys (`settingsSectionNotifications`, `notificationsEnabledLabel`, etc.)
    5. Verify notification tap navigation:
       - `lib/core/notifications/notification_service.dart` `_onTap` references `router.go('/')`
    6. If any issues found, fix them. If all checks pass, record results.
  </action>
  <verify>
    <automated>cd /home/jlmak/Projects/jlmak/HouseHoldKeaper && dart analyze --fatal-infos && flutter test</automated>
  </verify>
  <done>
    - dart analyze: zero issues
    - flutter test: all tests pass (72 existing + new notification/settings tests)
    - NOTF-01: NotificationService, DAO queries, Android config, timezone init all confirmed present and functional
    - NOTF-02: NotificationSettingsNotifier, Settings UI section, toggle, time picker all confirmed present and functional
    - Phase 4 verification gate passed
  </done>
</task>

</tasks>

<verification>
- `dart analyze --fatal-infos` — zero issues
- `flutter test` — all tests pass
- All NOTF-01 and NOTF-02 artifacts exist and are correctly wired
</verification>

<success_criteria>
- Phase 4 code is clean (no analysis warnings)
- All tests pass
- Both requirements (NOTF-01, NOTF-02) have their artifacts present and correctly implemented
</success_criteria>

<output>
After completion, create `.planning/phases/04-notifications/04-03-SUMMARY.md`
</output>
