From 1e1c92abc343d40e2254b5f2dd578226841a535d Mon Sep 17 00:00:00 2001 From: anti Date: Thu, 30 Apr 2026 21:17:26 -0400 Subject: [PATCH] fix(bodies): type make_body_with_llm persona parameter via TYPE_CHECKING The persona arg was typed Any to avoid a circular import. Added a TYPE_CHECKING guard to import EmailPersona annotation-only so mypy has the type without a runtime import cycle. --- decnet/realism/bodies.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/decnet/realism/bodies.py b/decnet/realism/bodies.py index 0dda9616..12b7ac72 100644 --- a/decnet/realism/bodies.py +++ b/decnet/realism/bodies.py @@ -25,11 +25,14 @@ from __future__ import annotations import asyncio import secrets from datetime import datetime, timezone -from typing import Callable, Optional +from typing import TYPE_CHECKING, Callable, Optional from decnet.logging import get_logger from decnet.realism.taxonomy import ContentClass +if TYPE_CHECKING: + from decnet.realism.personas import EmailPersona + log = get_logger("realism.bodies") @@ -242,7 +245,7 @@ def make_body( async def make_body_with_llm( content_class: ContentClass, - persona, # EmailPersona — typed loosely to avoid an import cycle + persona: "EmailPersona", *, llm=None, # LLMBackend | None breaker=None, # LLMCircuitBreaker | None