1
0

[loop-cycle-53] refactor: break circular imports between packages (#164) (#193)

This commit is contained in:
2026-03-15 12:52:18 -04:00
parent b3840238cb
commit 4a68f6cb8b
10 changed files with 195 additions and 173 deletions

View File

@@ -22,6 +22,14 @@ logger = logging.getLogger(__name__)
# In-memory dedup cache: hash -> last_seen timestamp
_dedup_cache: dict[str, datetime] = {}
_error_recorder = None
def register_error_recorder(fn):
"""Register a callback for recording errors to session log."""
global _error_recorder
_error_recorder = fn
def _stack_hash(exc: Exception) -> str:
"""Create a stable hash of the exception type + traceback locations.
@@ -220,17 +228,14 @@ def capture_error(
logger.warning("Bug report notification error: %s", exc)
pass
# 4. Record in session logger
try:
from timmy.session_logger import get_session_logger
session_logger = get_session_logger()
session_logger.record_error(
error=f"{type(exc).__name__}: {str(exc)}",
context=source,
)
except Exception as exc:
logger.warning("Bug report session logging error: %s", exc)
pass
# 4. Record in session logger (via registered callback)
if _error_recorder is not None:
try:
_error_recorder(
error=f"{type(exc).__name__}: {str(exc)}",
context=source,
)
except Exception as log_exc:
logger.warning("Bug report session logging error: %s", log_exc)
return task_id