.vbw-planning/milestones/polish-and-reliability/phases/02-favicon-support/PLAN-01-SUMMARY.md
has_one_attached :favicon with if defined?(ActiveStorage) guardlib/source_monitor/configuration/favicons_settings.rb -- new settings class with defaults and enabled?lib/source_monitor/configuration.rb -- added favicons_settings require, attr_reader, initializationapp/models/source_monitor/source.rb -- has_one_attached :favicon with ActiveStorage guardlib/source_monitor/favicons/discoverer.rb -- multi-strategy favicon discovery with HTML parsing and validationapp/jobs/source_monitor/favicon_fetch_job.rb -- background job with cooldown tracking via metadata JSONBlib/source_monitor.rb -- Favicons module autoload declarationtest/lib/source_monitor/configuration/favicons_settings_test.rb -- 13 tests for settingstest/models/source_monitor/source_favicon_test.rb -- 3 tests for model attachmenttest/lib/source_monitor/favicons/discoverer_test.rb -- 16 tests for discovery cascadetest/jobs/source_monitor/favicon_fetch_job_test.rb -- 10 tests for job guards and behavior