From 020d77ee7fc4bd84c6d38dd8fb92b4d5ae4f21e5 Mon Sep 17 00:00:00 2001 From: hconsulting987654321-blip Date: Sat, 11 Apr 2026 22:36:50 +0200 Subject: [PATCH] fix: guard against ZeroDivisionError when response.count is 0 TwitterCountPenalty computed `1 - results_count / response.count` without checking whether response.count is zero first, causing a ZeroDivisionError at runtime. Add an early-continue guard that sets the penalty to 0.0 and skips to the next response when response.count equals zero. --- neurons/validators/penalty/twitter_count_penalty.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/neurons/validators/penalty/twitter_count_penalty.py b/neurons/validators/penalty/twitter_count_penalty.py index 918978ec..ae442d18 100644 --- a/neurons/validators/penalty/twitter_count_penalty.py +++ b/neurons/validators/penalty/twitter_count_penalty.py @@ -34,6 +34,10 @@ async def calculate_penalties( results_count = len(response.results) + if response.count == 0: + penalties[index] = 0.0 + continue + if results_count > response.count: penalties[index] = 0 else: