Commit d14386b9 authored by Jan Reimes's avatar Jan Reimes
Browse files

🐛 fix(3gpp-ai): balanced quality policy warns on failed status instead of blocking

parent eaebc5ba
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -598,6 +598,9 @@ def ai_summarize(
        return

    console.print(f"## Summary for {document_id}")
    if not result.summary or not result.summary.strip():
        console.print("[No summary content available — the document may have insufficient extractable text.]")
    else:
        console.print(result.summary)


+3 −3
Original line number Diff line number Diff line
@@ -59,9 +59,9 @@ def _enforce_quality_policy(
        return status, "summarize continuing with degraded extraction quality (partial status)"

    if status == "failed":
        if allow_failed_quality:
            return status, "summarize override enabled for failed extraction quality status"
        if policy_mode == "strict" and not allow_failed_quality:
            raise ValueError("summarize blocked: extraction quality is failed (use explicit override to proceed)")
        return status, "summarize continuing with failed extraction quality (results may be incomplete)"

    return status, f"summarize continuing with unrecognized extraction status '{status}'"

+2 −2
Original line number Diff line number Diff line
@@ -143,7 +143,7 @@ def test_summarize_tdoc_records_summarization_metric(monkeypatch: pytest.MonkeyP


def test_summarize_tdoc_blocks_failed_quality_without_override(monkeypatch: pytest.MonkeyPatch) -> None:
    """Failed extraction quality blocks summarize by default."""
    """Failed extraction quality blocks summarize under strict policy without override."""
    tracker = get_metrics_tracker()
    tracker.clear()

@@ -156,7 +156,7 @@ def test_summarize_tdoc_blocks_failed_quality_without_override(monkeypatch: pyte
    monkeypatch.setattr(
        summarize_ops,
        "AiConfig",
        lambda: SimpleNamespace(llm_model="test-model", quality_policy_mode="balanced", allow_failed_quality=False),
        lambda: SimpleNamespace(llm_model="test-model", quality_policy_mode="strict", allow_failed_quality=False),
    )

    with pytest.raises(ValueError, match="quality is failed"):