Files
ss-tools/backend
busya 60674c8639 fix(logging): defensive trace_id seed + falsy error/payload in CotJsonFormatter
log_requests middleware (BaseHTTPMiddleware) showed no-trace
because anyio.create_task_group() in Starlette 0.50.0 does not
always propagate ContextVar from raw ASGI TraceContextMiddleware.

Fix 1: defensive get_trace_id() check at log_requests entry —
        if empty, seed_trace_id() to ensure every request has one.

Fix 2: CotJsonFormatter used 'if error:' and 'if payload:' which
        silently drop empty strings (str(e)='') and empty dicts.
        Changed to 'is not None' checks — preserves all data.

Root cause: 12 EXPLORE-without-error entries from belief_scope's
exception handler where Exception() has empty message.
2026-06-30 17:41:13 +03:00
..
2026-06-01 16:34:07 +03:00
2026-05-20 23:54:53 +03:00