- draft_service: GeminiService is now passed as a required parameter
to analyzeDraft/analyzeAllDrafts instead of being directly instantiated,
ensuring consistent Riverpod-managed injection
- gemini_provider: correct misleading comment (rate limiting is due to
static field, not Provider; Provider enables future safe refactoring)
- analysis_cache_service: cleanupExpired now also removes orphaned brand
index entries from _brandIndexBox after deleting expired _box entries
- analysis_cache_service: keysToDelete type corrected from List<dynamic>
to List<String>, removing unnecessary as String cast
- analysis_cache_service: _normalizeBrandName comment clarified to note
that .toLowerCase() only affects ASCII characters, not Japanese text
- camera_screen: add explicit ignore comment with rationale for
showDialog after async gap (mounted check immediately precedes it)
- camera_screen: remove leaked Cursor instruction comment from line 96
Made-with: Cursor