promote_next: tolerate a card another beat already promoted

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UpT7eWzeLhRwuYmsSQnbRb
This commit is contained in:
claude committed 2026-10-11 12:41:12 -07:00
1 parent 750d9a9fad
commit c3d029cab9
1 file changed
+6 -1
+6 -1
View File
@@ -267,7 +267,12 @@ def promote_next() -> int | None:
for card in sorted(queued, key=lambda i: i["number"]):
deps = [int(d) for d in re.findall(r"Depends on #(\d+)", card.get("body") or "")]
if all(gh("GET", f"/repos/{REPO}/issues/{d}")["state"] == "closed" for d in deps):
gh("DELETE", f"/repos/{REPO}/issues/{card['number']}/labels/queued")
try:
gh("DELETE", f"/repos/{REPO}/issues/{card['number']}/labels/queued")
except RuntimeError as e:
if "404" in str(e): # another beat promoted it first
continue
raise
gh("POST", f"/repos/{REPO}/issues/{card['number']}/labels", {"labels": ["ready"]})
return card["number"]
return None