diff --git a/app/jobs/email_digest_job.py b/app/jobs/email_digest_job.py index 6274231..a2814a5 100644 --- a/app/jobs/email_digest_job.py +++ b/app/jobs/email_digest_job.py @@ -184,7 +184,12 @@ async def run() -> None: written = 0 for u in fresh: tone = (u.digest_tone or "INTERMEDIATE").upper() - content = variants.get(tone) or variants.get("INTERMEDIATE") + # Fall back to INTERMEDIATE first (the more common tone) and then + # to whatever variant succeeded, so an asymmetric LLM failure + # doesn't silently skip the user. + content = (variants.get(tone) + or variants.get("INTERMEDIATE") + or next(iter(variants.values()), None)) if content is None: continue await _send_one(u, kind, content, date_str, session)