Notechondria

Version: 0.1.59 Build Date: 2026-04-22T22:00

What's Changed

Per-concern extensions for planner_app (mirrors 0.1.53)

  • All planner_app/lib files now comply with AGENTS.md §1.5. Same per-concern extension pattern editor_app shipped in 0.1.53, layered on top of the shared-mixin consumption from 0.1.57.

  • planner_app/lib/app_shell.dart 3513 → 899 (split into 18 per-concern extensions). core/client.dart 1065 → 829 (HTTP internals moved to core/http_client_internals.dart). modules/learner.dart 1645 → 708 (note editor extracted to modules/learner_note_editor.dart). modules/activity.dart 1438 → 376 (week-calendar pieces split into modules/activity_week.dart and modules/activity_calendar.dart).

  • New core/ partials: auth_flows, calendar, course_helpers, draft_helpers, draft_sync, http_client_internals, initial_data, load_local_state, local_course_builders, local_persist, local_starter, logout, maintenance_actions, note_crud, note_loading, note_sessions, planner_builders, settings_actions, settings_comparers, settings_helpers, snapshot. New modules/ partials: learner_note_editor, activity_week, activity_calendar.

  • All extensions follow the established _AppShellState pattern with mutations routed through refreshState(). Smoke test passes.

Files Changed

  • 30 files in frontend/planner_app/lib/ — extraction sweep.
  • frontend/planner_app/lib/main.dartpart directives expanded for all the new partials.