From 97045279a3f0b73a9d3b413674b64ce47a0cf4f8 Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 24 Sep 2026 23:19:23 -0400 Subject: [PATCH] fix: a never-checked source still reports no next check while its first backfill is armed Every new source is created with a backfill armed, so e5bdcd2's backfill branch in compute_next_check_at answered "now" for sources that have never been checked, where the contract (test_create_response_includes_fc3d_fields) is None. The never-checked case comes first again. Scheduling is unaffected: select_due_sources already treats never-checked sources as due. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LVjrnpQjRgHdvq95rASoiR --- backend/app/services/scheduler_service.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/app/services/scheduler_service.py b/backend/app/services/scheduler_service.py index b24a6fe..0127d42 100644 --- a/backend/app/services/scheduler_service.py +++ b/backend/app/services/scheduler_service.py @@ -194,10 +194,10 @@ def compute_next_check_at( source: Source, artist: Artist, settings: ImportSettings, ) -> datetime | None: """Return the projected datetime of the next check, or None if never checked.""" - if backfill_ready(source): - return datetime.now(UTC) if source.last_checked_at is None: return None + if backfill_ready(source): + return datetime.now(UTC) interval = compute_effective_interval(source, artist, settings) return source.last_checked_at + timedelta(seconds=interval)