From fa36f8d1847457b1f0c2dc60e2469794c48688cc Mon Sep 17 00:00:00 2001 From: tcpsyn Date: Sat, 21 Mar 2026 03:38:47 -0600 Subject: [PATCH] =?UTF-8?q?Dynamic=20returning=20caller=20count=20?= =?UTF-8?q?=E2=80=94=20need=203+=20eligible=20for=20variety?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Only inject 2 returners if pool has 3+ eligible (so it's not the same every show). With 2 eligible, inject 1. With 1 or 0, inject none. Co-Authored-By: Claude Opus 4.6 (1M context) --- backend/main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/main.py b/backend/main.py index eb1d6fc..44d8979 100644 --- a/backend/main.py +++ b/backend/main.py @@ -187,7 +187,10 @@ def _randomize_callers(): # Get returning callers first so we can exclude their names from random pool returning = [] try: - returning = regular_caller_service.get_returning_callers(2) + # Only inject returning callers if pool is large enough for variety + eligible = regular_caller_service.get_returning_callers(10) # get all eligible + inject_count = min(2, max(0, len(eligible) - 1)) # need 3+ eligible to inject 2, 2+ for 1 + returning = eligible[:inject_count] except Exception as e: print(f"[Regulars] Failed to get returning callers: {e}")