.vbw-planning/milestones/polish-and-reliability/phases/04-bug-fixes-and-polish/PLAN-03.md
Investigate why the published column shows "Unpublished" for every item and fix the root cause.
Files: lib/source_monitor/items/item_creator/entry_parser.rb, lib/source_monitor/items/item_creator.rb
extract_timestamp method -- it looks for published then updated on Feedjira entriespublished_at value flows from EntryParser through ItemCreator to the databasepublished_at is in the permitted/assigned attributes during item creationattr_accessible or strong params filter that strips itSourceMonitor::Item.where.not(published_at: nil).count vs SourceMonitor::Item.countThe entry_parser.rb correctly extracts timestamp (line 30: published_at = extract_timestamp), and includes it in the returned hash (line 47: published_at: published_at). So the parser side looks correct. The issue is likely in how ItemCreator uses this hash to create/update the Item record.
Based on investigation:
published_at is being filtered out during item creation, add it to permitted attributespublished for certain feed types, add the missing method mappingFiles: app/views/source_monitor/items/index.html.erb (line 94), app/views/source_monitor/items/_details.html.erb, app/views/source_monitor/sources/_details.html.erb
Regardless of parser fix, add a display fallback. If published_at is nil, show created_at with a subtle visual indicator:
<% if item.published_at %>
<%= item.published_at.strftime("%b %d, %Y %H:%M") %>
<% else %>
<span class="text-slate-400"><%= item.created_at.strftime("%b %d, %Y %H:%M") %></span>
<% end %>
Update all three views that display published_at.