source_monitor 0.3.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/release.md +101 -58
  3. data/.claude/skills/sm-configure/SKILL.md +13 -2
  4. data/.claude/skills/sm-configure/reference/configuration-reference.md +33 -0
  5. data/.claude/skills/sm-host-setup/SKILL.md +18 -2
  6. data/.claude/skills/sm-host-setup/reference/setup-checklist.md +33 -0
  7. data/.claude/skills/sm-job/SKILL.md +1 -1
  8. data/.claude/skills/sm-upgrade/SKILL.md +102 -0
  9. data/.claude/skills/sm-upgrade/reference/upgrade-workflow.md +92 -0
  10. data/.claude/skills/sm-upgrade/reference/version-history.md +68 -0
  11. data/.vbw-planning/SHIPPED.md +35 -0
  12. data/.vbw-planning/config.json +24 -1
  13. data/.vbw-planning/discovery.json +3 -1
  14. data/.vbw-planning/{REQUIREMENTS.md → milestones/generator-enhancements/REQUIREMENTS.md} +22 -0
  15. data/.vbw-planning/milestones/generator-enhancements/ROADMAP.md +125 -0
  16. data/.vbw-planning/milestones/generator-enhancements/SHIPPED.md +40 -0
  17. data/.vbw-planning/milestones/generator-enhancements/STATE.md +43 -0
  18. data/.vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/01-CONTEXT.md +33 -0
  19. data/.vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/01-VERIFICATION.md +86 -0
  20. data/.vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/PLAN-01-SUMMARY.md +61 -0
  21. data/.vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/PLAN-01.md +380 -0
  22. data/.vbw-planning/milestones/generator-enhancements/phases/02-verification/02-VERIFICATION.md +78 -0
  23. data/.vbw-planning/milestones/generator-enhancements/phases/02-verification/PLAN-01-SUMMARY.md +46 -0
  24. data/.vbw-planning/milestones/generator-enhancements/phases/02-verification/PLAN-01.md +500 -0
  25. data/.vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/03-VERIFICATION.md +89 -0
  26. data/.vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/PLAN-01-SUMMARY.md +48 -0
  27. data/.vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/PLAN-01.md +456 -0
  28. data/.vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/04-VERIFICATION.md +129 -0
  29. data/.vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/PLAN-01-SUMMARY.md +70 -0
  30. data/.vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/PLAN-01.md +747 -0
  31. data/.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/05-VERIFICATION.md +156 -0
  32. data/.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-01-SUMMARY.md +69 -0
  33. data/.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-01.md +455 -0
  34. data/.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-02-SUMMARY.md +39 -0
  35. data/.vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-02.md +488 -0
  36. data/.vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/06-VERIFICATION.md +100 -0
  37. data/.vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/PLAN-01-SUMMARY.md +37 -0
  38. data/.vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/PLAN-01.md +345 -0
  39. data/.vbw-planning/milestones/upgrade-assurance/REQUIREMENTS.md +80 -0
  40. data/.vbw-planning/milestones/upgrade-assurance/ROADMAP.md +75 -0
  41. data/.vbw-planning/milestones/upgrade-assurance/STATE.md +29 -0
  42. data/.vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/01-VERIFICATION.md +144 -0
  43. data/.vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/PLAN-01-SUMMARY.md +43 -0
  44. data/.vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/PLAN-01.md +405 -0
  45. data/.vbw-planning/milestones/upgrade-assurance/phases/02-config-deprecation/PLAN-01-SUMMARY.md +27 -0
  46. data/.vbw-planning/milestones/upgrade-assurance/phases/02-config-deprecation/PLAN-01.md +303 -0
  47. data/.vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/03-VERIFICATION.md +380 -0
  48. data/.vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/PLAN-01-SUMMARY.md +36 -0
  49. data/.vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/PLAN-01.md +652 -0
  50. data/CHANGELOG.md +48 -0
  51. data/CLAUDE.md +5 -3
  52. data/Gemfile.lock +1 -1
  53. data/VERSION +1 -1
  54. data/app/assets/builds/source_monitor/application.css +9 -0
  55. data/app/helpers/source_monitor/application_helper.rb +38 -0
  56. data/app/jobs/source_monitor/download_content_images_job.rb +72 -0
  57. data/app/models/source_monitor/item_content.rb +2 -0
  58. data/app/views/source_monitor/dashboard/_recent_activity.html.erb +9 -0
  59. data/app/views/source_monitor/items/_details.html.erb +2 -2
  60. data/app/views/source_monitor/logs/index.html.erb +9 -0
  61. data/app/views/source_monitor/sources/_details.html.erb +2 -2
  62. data/app/views/source_monitor/sources/_row.html.erb +1 -1
  63. data/docs/setup.md +10 -1
  64. data/docs/troubleshooting.md +38 -7
  65. data/docs/upgrade.md +140 -0
  66. data/lib/generators/source_monitor/install/install_generator.rb +101 -0
  67. data/lib/source_monitor/configuration/deprecation_registry.rb +237 -0
  68. data/lib/source_monitor/configuration/http_settings.rb +7 -1
  69. data/lib/source_monitor/configuration/images_settings.rb +37 -0
  70. data/lib/source_monitor/configuration.rb +11 -1
  71. data/lib/source_monitor/dashboard/queries/recent_activity_query.rb +16 -7
  72. data/lib/source_monitor/dashboard/recent_activity.rb +1 -0
  73. data/lib/source_monitor/dashboard/recent_activity_presenter.rb +15 -2
  74. data/lib/source_monitor/fetching/feed_fetcher/entry_processor.rb +13 -0
  75. data/lib/source_monitor/http.rb +23 -0
  76. data/lib/source_monitor/images/content_rewriter.rb +81 -0
  77. data/lib/source_monitor/images/downloader.rb +82 -0
  78. data/lib/source_monitor/logs/table_presenter.rb +25 -0
  79. data/lib/source_monitor/setup/cli.rb +7 -0
  80. data/lib/source_monitor/setup/procfile_patcher.rb +31 -0
  81. data/lib/source_monitor/setup/queue_config_patcher.rb +84 -0
  82. data/lib/source_monitor/setup/skills_installer.rb +1 -0
  83. data/lib/source_monitor/setup/upgrade_command.rb +59 -0
  84. data/lib/source_monitor/setup/verification/pending_migrations_verifier.rb +92 -0
  85. data/lib/source_monitor/setup/verification/recurring_schedule_verifier.rb +102 -0
  86. data/lib/source_monitor/setup/verification/runner.rb +1 -1
  87. data/lib/source_monitor/setup/verification/solid_queue_verifier.rb +1 -1
  88. data/lib/source_monitor/setup/workflow.rb +10 -0
  89. data/lib/source_monitor/version.rb +1 -1
  90. data/lib/source_monitor.rb +11 -0
  91. metadata +51 -2
@@ -87,6 +87,11 @@ module SourceMonitor
87
87
  autoload :HealthCheckBroadcaster, "source_monitor/import_sessions/health_check_broadcaster"
88
88
  end
89
89
 
90
+ module Images
91
+ autoload :ContentRewriter, "source_monitor/images/content_rewriter"
92
+ autoload :Downloader, "source_monitor/images/downloader"
93
+ end
94
+
90
95
  module Items
91
96
  autoload :ItemCreator, "source_monitor/items/item_creator"
92
97
  autoload :RetentionPruner, "source_monitor/items/retention_pruner"
@@ -161,14 +166,19 @@ module SourceMonitor
161
166
  autoload :InstallGenerator, "source_monitor/setup/install_generator"
162
167
  autoload :MigrationInstaller, "source_monitor/setup/migration_installer"
163
168
  autoload :InitializerPatcher, "source_monitor/setup/initializer_patcher"
169
+ autoload :ProcfilePatcher, "source_monitor/setup/procfile_patcher"
170
+ autoload :QueueConfigPatcher, "source_monitor/setup/queue_config_patcher"
164
171
  autoload :Workflow, "source_monitor/setup/workflow"
172
+ autoload :UpgradeCommand, "source_monitor/setup/upgrade_command"
165
173
  autoload :CLI, "source_monitor/setup/cli"
166
174
 
167
175
  module Verification
168
176
  autoload :Result, "source_monitor/setup/verification/result"
169
177
  autoload :Summary, "source_monitor/setup/verification/result"
178
+ autoload :PendingMigrationsVerifier, "source_monitor/setup/verification/pending_migrations_verifier"
170
179
  autoload :SolidQueueVerifier, "source_monitor/setup/verification/solid_queue_verifier"
171
180
  autoload :ActionCableVerifier, "source_monitor/setup/verification/action_cable_verifier"
181
+ autoload :RecurringScheduleVerifier, "source_monitor/setup/verification/recurring_schedule_verifier"
172
182
  autoload :Runner, "source_monitor/setup/verification/runner"
173
183
  autoload :Printer, "source_monitor/setup/verification/printer"
174
184
  autoload :TelemetryLogger, "source_monitor/setup/verification/telemetry_logger"
@@ -187,6 +197,7 @@ module SourceMonitor
187
197
  class << self
188
198
  def configure
189
199
  yield config
200
+ config.check_deprecations!
190
201
  SourceMonitor::ModelExtensions.reload!
191
202
  end
192
203
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: source_monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - dchuk
@@ -333,6 +333,9 @@ files:
333
333
  - ".claude/skills/sm-scraper-adapter/SKILL.md"
334
334
  - ".claude/skills/sm-scraper-adapter/reference/adapter-contract.md"
335
335
  - ".claude/skills/sm-scraper-adapter/reference/example-adapter.md"
336
+ - ".claude/skills/sm-upgrade/SKILL.md"
337
+ - ".claude/skills/sm-upgrade/reference/upgrade-workflow.md"
338
+ - ".claude/skills/sm-upgrade/reference/version-history.md"
336
339
  - ".claude/skills/solid-queue-setup/SKILL.md"
337
340
  - ".claude/skills/tdd-cycle/SKILL.md"
338
341
  - ".claude/skills/viewcomponent-patterns/SKILL.md"
@@ -340,7 +343,6 @@ files:
340
343
  - ".rubocop.yml"
341
344
  - ".ruby-version"
342
345
  - ".vbw-planning/PROJECT.md"
343
- - ".vbw-planning/REQUIREMENTS.md"
344
346
  - ".vbw-planning/SHIPPED.md"
345
347
  - ".vbw-planning/codebase/ARCHITECTURE.md"
346
348
  - ".vbw-planning/codebase/CONCERNS.md"
@@ -387,6 +389,42 @@ files:
387
389
  - ".vbw-planning/milestones/default/phases/04-code-quality-conventions-cleanup/PLAN-02.md"
388
390
  - ".vbw-planning/milestones/default/phases/04-code-quality-conventions-cleanup/PLAN-03-SUMMARY.md"
389
391
  - ".vbw-planning/milestones/default/phases/04-code-quality-conventions-cleanup/PLAN-03.md"
392
+ - ".vbw-planning/milestones/generator-enhancements/REQUIREMENTS.md"
393
+ - ".vbw-planning/milestones/generator-enhancements/ROADMAP.md"
394
+ - ".vbw-planning/milestones/generator-enhancements/SHIPPED.md"
395
+ - ".vbw-planning/milestones/generator-enhancements/STATE.md"
396
+ - ".vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/01-CONTEXT.md"
397
+ - ".vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/01-VERIFICATION.md"
398
+ - ".vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/PLAN-01-SUMMARY.md"
399
+ - ".vbw-planning/milestones/generator-enhancements/phases/01-generator-steps/PLAN-01.md"
400
+ - ".vbw-planning/milestones/generator-enhancements/phases/02-verification/02-VERIFICATION.md"
401
+ - ".vbw-planning/milestones/generator-enhancements/phases/02-verification/PLAN-01-SUMMARY.md"
402
+ - ".vbw-planning/milestones/generator-enhancements/phases/02-verification/PLAN-01.md"
403
+ - ".vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/03-VERIFICATION.md"
404
+ - ".vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/PLAN-01-SUMMARY.md"
405
+ - ".vbw-planning/milestones/generator-enhancements/phases/03-docs-alignment/PLAN-01.md"
406
+ - ".vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/04-VERIFICATION.md"
407
+ - ".vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/PLAN-01-SUMMARY.md"
408
+ - ".vbw-planning/milestones/generator-enhancements/phases/04-dashboard-ux/PLAN-01.md"
409
+ - ".vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/05-VERIFICATION.md"
410
+ - ".vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-01-SUMMARY.md"
411
+ - ".vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-01.md"
412
+ - ".vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-02-SUMMARY.md"
413
+ - ".vbw-planning/milestones/generator-enhancements/phases/05-active-storage-images/PLAN-02.md"
414
+ - ".vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/06-VERIFICATION.md"
415
+ - ".vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/PLAN-01-SUMMARY.md"
416
+ - ".vbw-planning/milestones/generator-enhancements/phases/06-netflix-feed-fix/PLAN-01.md"
417
+ - ".vbw-planning/milestones/upgrade-assurance/REQUIREMENTS.md"
418
+ - ".vbw-planning/milestones/upgrade-assurance/ROADMAP.md"
419
+ - ".vbw-planning/milestones/upgrade-assurance/STATE.md"
420
+ - ".vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/01-VERIFICATION.md"
421
+ - ".vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/PLAN-01-SUMMARY.md"
422
+ - ".vbw-planning/milestones/upgrade-assurance/phases/01-upgrade-command/PLAN-01.md"
423
+ - ".vbw-planning/milestones/upgrade-assurance/phases/02-config-deprecation/PLAN-01-SUMMARY.md"
424
+ - ".vbw-planning/milestones/upgrade-assurance/phases/02-config-deprecation/PLAN-01.md"
425
+ - ".vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/03-VERIFICATION.md"
426
+ - ".vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/PLAN-01-SUMMARY.md"
427
+ - ".vbw-planning/milestones/upgrade-assurance/phases/03-upgrade-skill-docs/PLAN-01.md"
390
428
  - AGENTS.md
391
429
  - CHANGELOG.md
392
430
  - CLAUDE.md
@@ -438,6 +476,7 @@ files:
438
476
  - app/helpers/source_monitor/health_badge_helper.rb
439
477
  - app/helpers/source_monitor/table_sort_helper.rb
440
478
  - app/jobs/source_monitor/application_job.rb
479
+ - app/jobs/source_monitor/download_content_images_job.rb
441
480
  - app/jobs/source_monitor/fetch_feed_job.rb
442
481
  - app/jobs/source_monitor/import_opml_job.rb
443
482
  - app/jobs/source_monitor/import_session_health_check_job.rb
@@ -536,6 +575,7 @@ files:
536
575
  - docs/setup-validation-log.md
537
576
  - docs/setup.md
538
577
  - docs/troubleshooting.md
578
+ - docs/upgrade.md
539
579
  - eslint.config.mjs
540
580
  - lib/generators/source_monitor/install/install_generator.rb
541
581
  - lib/generators/source_monitor/install/templates/source_monitor.rb.tt
@@ -547,10 +587,12 @@ files:
547
587
  - lib/source_monitor/assets/bundler.rb
548
588
  - lib/source_monitor/configuration.rb
549
589
  - lib/source_monitor/configuration/authentication_settings.rb
590
+ - lib/source_monitor/configuration/deprecation_registry.rb
550
591
  - lib/source_monitor/configuration/events.rb
551
592
  - lib/source_monitor/configuration/fetching_settings.rb
552
593
  - lib/source_monitor/configuration/health_settings.rb
553
594
  - lib/source_monitor/configuration/http_settings.rb
595
+ - lib/source_monitor/configuration/images_settings.rb
554
596
  - lib/source_monitor/configuration/model_definition.rb
555
597
  - lib/source_monitor/configuration/models.rb
556
598
  - lib/source_monitor/configuration/realtime_settings.rb
@@ -588,6 +630,8 @@ files:
588
630
  - lib/source_monitor/health/source_health_monitor.rb
589
631
  - lib/source_monitor/health/source_health_reset.rb
590
632
  - lib/source_monitor/http.rb
633
+ - lib/source_monitor/images/content_rewriter.rb
634
+ - lib/source_monitor/images/downloader.rb
591
635
  - lib/source_monitor/import_sessions/entry_normalizer.rb
592
636
  - lib/source_monitor/import_sessions/health_check_broadcaster.rb
593
637
  - lib/source_monitor/instrumentation.rb
@@ -641,12 +685,17 @@ files:
641
685
  - lib/source_monitor/setup/install_generator.rb
642
686
  - lib/source_monitor/setup/migration_installer.rb
643
687
  - lib/source_monitor/setup/node_installer.rb
688
+ - lib/source_monitor/setup/procfile_patcher.rb
644
689
  - lib/source_monitor/setup/prompter.rb
690
+ - lib/source_monitor/setup/queue_config_patcher.rb
645
691
  - lib/source_monitor/setup/requirements.rb
646
692
  - lib/source_monitor/setup/shell_runner.rb
647
693
  - lib/source_monitor/setup/skills_installer.rb
694
+ - lib/source_monitor/setup/upgrade_command.rb
648
695
  - lib/source_monitor/setup/verification/action_cable_verifier.rb
696
+ - lib/source_monitor/setup/verification/pending_migrations_verifier.rb
649
697
  - lib/source_monitor/setup/verification/printer.rb
698
+ - lib/source_monitor/setup/verification/recurring_schedule_verifier.rb
650
699
  - lib/source_monitor/setup/verification/result.rb
651
700
  - lib/source_monitor/setup/verification/runner.rb
652
701
  - lib/source_monitor/setup/verification/solid_queue_verifier.rb