Фикс состояния

This commit is contained in:
2026-03-12 16:55:30 +03:00
parent 6ba0a18ac9
commit 095d354112

View File

@@ -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,
}