From dce20614911e1d24c0f5a15806068ffb599eacae Mon Sep 17 00:00:00 2001 From: Abhimanyu Saharan Date: Thu, 12 Feb 2026 10:37:10 +0000 Subject: [PATCH] fix(mypy): narrow legacy approval task_id before dict key --- backend/app/services/approval_task_links.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/app/services/approval_task_links.py b/backend/app/services/approval_task_links.py index 6222c8f1..595cabd3 100644 --- a/backend/app/services/approval_task_links.py +++ b/backend/app/services/approval_task_links.py @@ -196,10 +196,11 @@ async def pending_approval_conflicts_by_task( legacy_statement = legacy_statement.where(col(Approval.id) != exclude_approval_id) legacy_rows = list(await session.exec(legacy_statement)) - for legacy_task_id, approval_id, _created_at in legacy_rows: - if legacy_task_id is None: + for legacy_task_id_opt, approval_id, _created_at in legacy_rows: + if legacy_task_id_opt is None: continue - conflicts.setdefault(legacy_task_id, approval_id) + # mypy: SQL rows can include NULL task_id; guard before using as dict[UUID, UUID] key. + conflicts.setdefault(legacy_task_id_opt, approval_id) return conflicts