3.6 KiB
Feature Map
This file maps product areas to code ownership and maintenance notes.
App Shell
Canonical files:
lib/main.dartlib/app/relationship_saver_app.dartlib/app/presentation/app_shell.dartlib/app/navigation/app_destination.dart
Responsibilities:
- app initialization
- auth gate
- global listeners for share intake, notifications, and digest behavior
- responsive navigation
People
Canonical files:
lib/features/people/domain/person_models.dartlib/features/people/presentation/people_view.dartlib/features/people/presentation/people_view_detail.dartlib/features/people/presentation/people_view_dialogs.dartlib/features/people/presentation/people_view_list.dartlib/app/data/relationship_repository_people.dart
Use this slice for profile CRUD, duplicate merge, facts/dates display, and profile-centered history.
Share Intake
Canonical files:
lib/features/share_intake/domain/share_models.dartlib/features/share_intake/domain/share_payload_parser.dartlib/features/share_intake/domain/shared_message_datetime_extractor.dartlib/features/share_intake/presentation/incoming_share_listener.dartlib/features/share_intake/presentation/share_capture_review_sheet.dartlib/features/share_intake/presentation/share_inbox_view.dartlib/app/data/relationship_repository_share.dartios/Share Extension/ios/Save Action/
Use this slice for incoming shared text, URLs, chat snippets, inbox triage, source matching, and structured capture drafts.
AI Digest
Canonical files:
lib/core/llm/lib/features/ai_digest/application/lib/features/ai_digest/data/lib/features/ai_digest/domain/ai_digest_models.dartlib/features/ai_digest/presentation/ai_digest_review_view.dartlib/app/data/relationship_repository_ai_digest.dart
Use this slice for private weekly suggestions, LLM setup, prompt payload construction, response parsing, diagnostics, and review workflows.
Dashboard And Signals
Canonical files:
lib/features/dashboard/domain/dashboard_models.dartlib/features/dashboard/presentation/dashboard_view.dartlib/features/signals/domain/signals_feed_synthesizer.dartlib/features/signals/presentation/signals_view.dart
Dashboard is a dense overview surface. Signals are derived local prompts and should not become another persistence source unless there is a clear product need.
Moments, Ideas, Reminders
Canonical files:
lib/features/moments/domain/moment_models.dartlib/features/ideas/domain/idea_models.dartlib/features/reminders/domain/reminder_models.dartlib/features/reminders/application/reminder_scheduler*.dartlib/app/data/relationship_repository_activity.dart
Reminders are reconciled after local state writes. Scheduler failures should not block local data persistence.
Sync
Canonical files:
lib/features/sync/data/sync_queue_repository.dartlib/features/sync/application/sync_coordinator.dartlib/features/sync/application/sync_auto_trigger_controller.dartlib/features/sync/application/sync_background_runner.dartlib/features/sync/presentation/sync_view.dartlib/integrations/backend/
Sync is scaffolding, diagnostics, and repair flow. Do not assume every local entity maps to the backend contract yet.
Settings
Canonical files:
lib/features/settings/presentation/settings_view.dart
Settings is the main debug and configuration surface. It includes:
- gateway flags
- LLM configuration
- digest toggles
- manual digest run
- AI review entry
- notification permission action
- share simulation
- share diagnostics
Keep debug tools practical and explicit. Avoid hidden state changes.