feat: add more logging

This commit is contained in:
h
2026-05-22 22:48:12 +02:00
parent b8ac545a51
commit 33eece331a
3 changed files with 89 additions and 3 deletions
@@ -571,7 +571,24 @@ class MarkdownFrontend(Frontend):
conv, conv_external_id, stored_msgs = await self._resolve_conversation(
runtime=runtime, metadata=parsed.metadata, agent_name=agent.name
)
_log.info(
"chat/stream: file=%s conv_external_id=%s conv_id=%d "
"stored_msgs=%d incoming_turns=%d",
filename,
conv_external_id,
conv.id or -1,
len(stored_msgs),
len(parsed.turns),
)
outcome = diff_and_fork(stored=stored_msgs, incoming=parsed.turns)
_log.info(
"chat/stream: file=%s diff_and_fork divergence=%s "
"backend_msgs=%d persist_msgs=%d",
filename,
outcome.divergence_index,
len(outcome.messages),
len(outcome.persist_messages),
)
capture: TurnCapture | None = (
TurnCapture() if isinstance(backend, ClaudeCodeBackendAdapter) else None
)
@@ -579,6 +596,12 @@ class MarkdownFrontend(Frontend):
kwargs: dict[str, Any] = {}
if capture is not None:
kwargs["capture"] = capture
_log.info(
"chat/stream: file=%s calling backend.complete agent=%s capture=%s",
filename,
agent.name,
capture is not None,
)
events = backend.complete(
agent=agent, messages=outcome.messages, system=None, **kwargs
)
@@ -791,10 +814,30 @@ class MarkdownFrontend(Frontend):
conv = await load_conversation(
session, frontend="markdown", external_id=lookup_id
)
if conv is None:
_log.info(
"_resolve_conversation: frontmatter conv_id=%s "
"not found in DB, will mint new",
lookup_id,
)
else:
_log.info(
"_resolve_conversation: LOADED existing conv "
"id=%d external_id=%s",
conv.id or -1,
conv.external_id,
)
if conv is None:
conv = await mint_conversation(
session, frontend="markdown", agent_name=agent_name
)
_log.info(
"_resolve_conversation: MINTED new conv "
"id=%d external_id=%s agent=%s",
conv.id or -1,
conv.external_id,
agent_name,
)
if conv.id is None:
msg = "conversation row missing primary key after commit"
raise RuntimeError(msg)
@@ -824,10 +867,21 @@ class MarkdownFrontend(Frontend):
else _fallback_synthesized(message)
)
canonical = [*persist_messages, new_user_msg, *synthesized]
_log.info(
"_persist_canonical_history: conv_id=%d writing %d msgs "
"(prior=%d + new_user + synth=%d)",
conversation_id,
len(canonical),
len(persist_messages),
len(synthesized),
)
async with runtime.db.session() as session:
await rewrite_messages(
session, conversation_id=conversation_id, messages=canonical
)
_log.info(
"_persist_canonical_history: conv_id=%d DB committed", conversation_id
)
def _resolve_path(self, filename: str) -> Path:
"""Resolve ``filename`` under the vault; reject escapes."""