From 095d354112bc7b196fdc1c60ea78f8b27807e145 Mon Sep 17 00:00:00 2001 From: zosimovaa Date: Thu, 12 Mar 2026 16:55:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=81=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rag/code_qa_pipeline/diagnostics.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/app/modules/rag/code_qa_pipeline/diagnostics.py b/src/app/modules/rag/code_qa_pipeline/diagnostics.py index cd80f5e..74fe501 100644 --- a/src/app/modules/rag/code_qa_pipeline/diagnostics.py +++ b/src/app/modules/rag/code_qa_pipeline/diagnostics.py @@ -21,6 +21,11 @@ def build_diagnostics_report( evidence_bundle: EvidenceBundle | None, answer_mode: str = "normal", timings_ms: dict[str, int] | None = None, + resolved_target: str | None = None, + answer_policy_branch: str = "", + decision_reason: str = "", + evidence_gate_input: dict[str, Any] | None = None, + post_evidence_gate: dict[str, Any] | None = None, ) -> DiagnosticsReport: """Build full diagnostics: Level 1 summary + Level 2 detail + failure reasons.""" timings = dict(timings_ms or {}) @@ -62,11 +67,16 @@ def build_diagnostics_report( layers_used=layers_used, retrieval_sufficient=retrieval_sufficient, answer_mode=answer_mode, + resolved_target=resolved_target or (bundle.resolved_target if bundle else None), + answer_policy_branch=answer_policy_branch, + decision_reason=decision_reason, router_result=router_result_dict, retrieval_request=retrieval_request_dict, per_layer_outcome=per_layer, empty_layers=empty_layers, evidence_gate_decision=evidence_gate_decision, + evidence_gate_input=dict(evidence_gate_input or {}), + post_evidence_gate=dict(post_evidence_gate or {}), failure_reasons=failure_reasons, timings_ms=timings, ) @@ -80,6 +90,9 @@ def build_level1_summary(report: DiagnosticsReport) -> dict[str, Any]: "layers_used": report.layers_used, "retrieval_sufficient": report.retrieval_sufficient, "answer_mode": report.answer_mode, + "resolved_target": report.resolved_target, + "answer_policy_branch": report.answer_policy_branch, + "decision_reason": report.decision_reason, "failure_reasons": report.failure_reasons, } @@ -91,7 +104,12 @@ def build_level2_detail(report: DiagnosticsReport) -> dict[str, Any]: "retrieval_request": report.retrieval_request, "per_layer_outcome": report.per_layer_outcome, "empty_layers": report.empty_layers, + "resolved_target": report.resolved_target, + "answer_policy_branch": report.answer_policy_branch, + "decision_reason": report.decision_reason, + "evidence_gate_input": report.evidence_gate_input, "evidence_gate_decision": report.evidence_gate_decision, + "post_evidence_gate": report.post_evidence_gate, "failure_reasons": report.failure_reasons, "timings_ms": report.timings_ms, }