From 28b25329b32dbb7b1437f67f34475fca73b525ec Mon Sep 17 00:00:00 2001 From: m3taversal Date: Thu, 16 Apr 2026 14:17:20 +0100 Subject: [PATCH] fix: remove FIRST early return that also blocked re-extraction There were TWO `if not unprocessed: return 0, 0` gates. The previous fix (c763c99) only addressed the second one. The first at line 746 fires before the re-extraction query even runs. Replace with a comment explaining why we don't early-return there. Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/extract.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/extract.py b/lib/extract.py index 1da8515..378cd11 100644 --- a/lib/extract.py +++ b/lib/extract.py @@ -743,8 +743,8 @@ async def extract_cycle(conn, max_workers=None) -> tuple[int, int]: except Exception: logger.debug("Failed to read source %s", f, exc_info=True) - if not unprocessed: - return 0, 0 + # Don't early-return here — re-extraction sources may exist even when queue is empty + # (the re-extraction check runs after open-PR filtering below) # Filter out sources that already have open extraction PRs open_pr_slugs = set()