debug: add ctx-diag logging to trace session hydration and message assembly
This commit is contained in:
parent
20c7d7e6b7
commit
9ded11311e
2 changed files with 11 additions and 1 deletions
|
|
@ -383,6 +383,10 @@ class SessionManager:
|
||||||
cached = self.sessions[session_id]
|
cached = self.sessions[session_id]
|
||||||
# Lazy hydrate: metadata-only entries get their messages on first read.
|
# Lazy hydrate: metadata-only entries get their messages on first read.
|
||||||
if not cached.history:
|
if not cached.history:
|
||||||
|
logger.info(
|
||||||
|
"[ctx-diag] lazy hydrating session=%s (history empty, msg_count=%d)",
|
||||||
|
session_id, getattr(cached, "message_count", 0),
|
||||||
|
)
|
||||||
self._load_session_from_db(session_id)
|
self._load_session_from_db(session_id)
|
||||||
|
|
||||||
# Keep model/endpoint metadata fresh. Endpoint deletion can clear the
|
# Keep model/endpoint metadata fresh. Endpoint deletion can clear the
|
||||||
|
|
|
||||||
|
|
@ -751,7 +751,13 @@ async def build_chat_context(
|
||||||
sess.model = norm
|
sess.model = norm
|
||||||
|
|
||||||
# Build messages
|
# Build messages
|
||||||
messages = preface + sess.get_context_messages()
|
_ctx_msgs = sess.get_context_messages()
|
||||||
|
logger.info(
|
||||||
|
"[ctx-diag] session=%s history_len=%d ctx_messages=%d preface=%d roles=%s",
|
||||||
|
session_id, len(sess.history), len(_ctx_msgs), len(preface),
|
||||||
|
[m.get("role") for m in _ctx_msgs[-5:]] if _ctx_msgs else [],
|
||||||
|
)
|
||||||
|
messages = preface + _ctx_msgs
|
||||||
|
|
||||||
# Current date/time — injected as a standalone *user*-role context message
|
# Current date/time — injected as a standalone *user*-role context message
|
||||||
# placed immediately before the latest user turn, NOT folded into the
|
# placed immediately before the latest user turn, NOT folded into the
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue