Loading packages/3gpp-ai/threegpp_ai/cli.py +4 −1 Original line number Diff line number Diff line Loading @@ -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) Loading packages/3gpp-ai/threegpp_ai/operations/summarize.py +3 −3 Original line number Diff line number Diff line Loading @@ -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}'" Loading tests/ai/test_operations_metrics.py +2 −2 Original line number Diff line number Diff line Loading @@ -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() Loading @@ -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"): Loading Loading
packages/3gpp-ai/threegpp_ai/cli.py +4 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
packages/3gpp-ai/threegpp_ai/operations/summarize.py +3 −3 Original line number Diff line number Diff line Loading @@ -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}'" Loading
tests/ai/test_operations_metrics.py +2 −2 Original line number Diff line number Diff line Loading @@ -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() Loading @@ -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"): Loading