log refactor

This commit is contained in:
2026-05-12 19:30:15 +03:00
parent 3a6a0be95a
commit 623cad065d
82 changed files with 2594 additions and 1686 deletions

View File

@@ -23,7 +23,8 @@ from dataclasses import dataclass, field
from datetime import datetime
from typing import List, Optional
from src.core.logger import belief_scope, logger
from src.core.cot_logger import MarkerLogger
from src.core.logger import belief_scope
from src.models.auth import User
from src.models.dataset_review import (
AnswerKind,
@@ -52,6 +53,8 @@ from src.services.dataset_review.clarification_pkg._helpers import (
derive_recommended_action,
)
log = MarkerLogger("ClarificationEngine")
# [DEF:ClarificationQuestionPayload:Class]
# @COMPLEXITY: 2
@@ -130,7 +133,7 @@ class ClarificationEngine:
with belief_scope("ClarificationEngine.build_question_payload"):
clarification_session = self._get_latest_clarification_session(session)
if clarification_session is None:
logger.reason("No clarification session found", extra={"session_id": session.session_id})
log.reason("No clarification session found", payload={"session_id": session.session_id})
return None
active_questions = [
@@ -146,7 +149,7 @@ class ClarificationEngine:
if session.current_phase == SessionPhase.CLARIFICATION:
session.current_phase = SessionPhase.REVIEW
self.repository.db.commit()
logger.reflect("No unresolved clarification question remains", extra={"session_id": session.session_id})
log.reflect("No unresolved clarification question remains", payload={"session_id": session.session_id})
return None
selected_question = active_questions[0]
@@ -156,7 +159,7 @@ class ClarificationEngine:
session.recommended_action = RecommendedAction.ANSWER_NEXT_QUESTION
session.current_phase = SessionPhase.CLARIFICATION
logger.reason("Selected active clarification question", extra={"session_id": session.session_id, "question_id": selected_question.question_id, "priority": selected_question.priority})
log.reason("Selected active clarification question", payload={"session_id": session.session_id, "question_id": selected_question.question_id, "priority": selected_question.priority})
self.repository.db.commit()
payload = ClarificationQuestionPayload(
@@ -173,7 +176,7 @@ class ClarificationEngine:
for o in sorted(selected_question.options, key=lambda item: (item.display_order, item.label, item.option_id))
],
)
logger.reflect("Clarification payload built", extra={"session_id": session.session_id, "question_id": payload.question_id, "option_count": len(payload.options)})
log.reflect("Clarification payload built", payload={"session_id": session.session_id, "question_id": payload.question_id, "option_count": len(payload.options)})
return payload
# [/DEF:build_question_payload:Function]
@@ -189,25 +192,25 @@ class ClarificationEngine:
session = command.session
clarification_session = self._get_latest_clarification_session(session)
if clarification_session is None:
logger.explore("Cannot record clarification answer because no clarification session exists", extra={"session_id": session.session_id})
log.explore("Cannot record clarification answer because no clarification session exists", payload={"session_id": session.session_id}, error="No clarification session found")
raise ValueError("Clarification session not found")
question = self._find_question(clarification_session, command.question_id)
if question is None:
logger.explore("Cannot record clarification answer for foreign or missing question", extra={"session_id": session.session_id, "question_id": command.question_id})
log.explore("Cannot record clarification answer for foreign or missing question", payload={"session_id": session.session_id, "question_id": command.question_id}, error="Question not found in clarification session")
raise ValueError("Clarification question not found")
if question.answer is not None:
logger.explore("Rejected duplicate clarification answer submission", extra={"session_id": session.session_id, "question_id": command.question_id})
log.explore("Rejected duplicate clarification answer submission", payload={"session_id": session.session_id, "question_id": command.question_id}, error="Question already answered")
raise ValueError("Clarification question already answered")
if clarification_session.current_question_id and clarification_session.current_question_id != question.question_id:
logger.explore("Rejected answer for non-active clarification question", extra={"session_id": session.session_id, "question_id": question.question_id, "current_question_id": clarification_session.current_question_id})
log.explore("Rejected answer for non-active clarification question", payload={"session_id": session.session_id, "question_id": question.question_id, "current_question_id": clarification_session.current_question_id}, error="Only active question can be answered")
raise ValueError("Only the active clarification question can be answered")
normalized_answer_value = normalize_answer_value(command.answer_kind, command.answer_value, question)
logger.reason("Persisting clarification answer before state advancement", extra={"session_id": session.session_id, "question_id": question.question_id, "answer_kind": command.answer_kind.value})
log.reason("Persisting clarification answer before state advancement", payload={"session_id": session.session_id, "question_id": question.question_id, "answer_kind": command.answer_kind.value})
persisted_answer = ClarificationAnswer(
question_id=question.question_id,
answer_kind=command.answer_kind,
@@ -254,7 +257,7 @@ class ClarificationEngine:
self.repository.db.commit()
self.repository.db.refresh(session)
logger.reflect("Clarification answer recorded and session advanced", extra={"session_id": session.session_id, "question_id": question.question_id, "next_question_id": clarification_session.current_question_id, "readiness_state": session.readiness_state.value, "remaining_count": clarification_session.remaining_count})
log.reflect("Clarification answer recorded and session advanced", payload={"session_id": session.session_id, "question_id": question.question_id, "next_question_id": clarification_session.current_question_id, "readiness_state": session.readiness_state.value, "remaining_count": clarification_session.remaining_count})
return ClarificationStateResult(
clarification_session=clarification_session,