.vbw-planning/milestones/generator-enhancements/ROADMAP.md
Milestone: generator-enhancements Goal: Make the install generator and verification suite catch the two most common host-app setup failures: missing Procfile.dev jobs entry and missing recurring_schedule dispatcher wiring.
Goal: Add two new idempotent steps to the install generator: (a) patch Procfile.dev with a jobs: entry for Solid Queue, and (b) patch the queue config dispatcher with recurring_schedule: config/recurring.yml.
Requirements: REQ-16, REQ-17, REQ-18
Success Criteria:
bin/rails generate source_monitor:install patches Procfile.dev when present (idempotent, skip if entry exists)bin/rails generate source_monitor:install patches queue.yml dispatcher with recurring_schedule (idempotent)Setup::Workflow for the guided installerbin/rails test passes, RuboCop cleanGoal: Add a RecurringScheduleVerifier to the verification suite that checks whether recurring tasks are actually registered with Solid Queue dispatchers, and enhance the existing SolidQueueVerifier to suggest Procfile.dev when workers aren't detected.
Requirements: REQ-19, REQ-20
Success Criteria:
bin/source_monitor verify checks that recurring tasks are registered (not just that workers heartbeat)bin/dev usersbin/rails test passes, RuboCop cleanGoal: Update all sm-* skills and docs to reflect that the generator now automatically handles Procfile.dev and recurring_schedule wiring. Remove manual steps that are now automated.
Requirements: REQ-21
Success Criteria:
Goal: Show source URLs in fetch log entries for both successes and failures on the dashboard, and make links to sources and items clickable (opening in a new tab).
Requirements: REQ-22, REQ-23
Success Criteria:
bin/rails test passes, RuboCop cleanGoal: Add a configurable option to download inline images from feed items to Active Storage instead of loading them directly from the source URL. This prevents broken images when sources go offline and improves page load performance.
Requirements: REQ-24
Success Criteria:
config.images.download_to_active_storage or similar) defaults to falsebin/rails test passes, RuboCop cleanGoal: Investigate and fix the failing fetch for https://netflixtechblog.com/feed. Determine whether the issue is in the feed parser, HTTP client configuration, or content format, and apply appropriate fixes.
Requirements: REQ-25
Success Criteria:
bin/rails test passes, RuboCop clean| Phase | Status | Plans |
|---|---|---|
| 0 | Complete | - |
| 1 | Complete | PLAN-01 (5 tasks, 4 commits) |
| 2 | Complete | PLAN-01 (5 tasks, 1 commit) |
| 3 | Complete | PLAN-01 (5 tasks, 1 commit) |
| 4 | Complete | PLAN-01 (5 tasks, 5 commits) |
| 5 | Complete | PLAN-01 (4 tasks, 5 commits) + PLAN-02 (4 tasks, 4 commits) |
| 6 | Complete | PLAN-01 (5 tasks, 5 commits) |
| REQ | Phase | Description |
|---|---|---|
| REQ-16 | 1 | Generator patches Procfile.dev with jobs: entry |
| REQ-17 | 1 | Generator patches queue config with recurring_schedule |
| REQ-18 | 1 | Guided workflow integrates both new steps |
| REQ-19 | 2 | RecurringScheduleVerifier checks recurring task registration |
| REQ-20 | 2 | SolidQueueVerifier remediation mentions Procfile.dev |
| REQ-21 | 3 | Skills and docs reflect automated setup |
| REQ-22 | 4 | Fetch logs show source URL on dashboard |
| REQ-23 | 4 | Dashboard links clickable in new tab |
| REQ-24 | 5 | Download inline images to Active Storage |
| REQ-25 | 6 | Fix Netflix Tech Blog feed fetch |