From 803237371e3d0f9652c7103f7acdff721a7af598 Mon Sep 17 00:00:00 2001 From: Jim Lancaster <40281233+zoltan57@users.noreply.github.com> Date: Sun, 23 Aug 2026 18:55:33 -0500 Subject: [PATCH] fix: log omitted OpenRouter request manifests Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- src/transcription/providers/openrouter.py | 1 + tests/providers/test_openrouter.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/transcription/providers/openrouter.py b/src/transcription/providers/openrouter.py index b31da72..768451d 100644 --- a/src/transcription/providers/openrouter.py +++ b/src/transcription/providers/openrouter.py @@ -345,6 +345,7 @@ class OpenRouterTranscriptionProvider: top_p: float | None, ) -> RequestManifest | None: if source_reference is None: + logger.warning("OpenRouter request manifest omitted because source evidence reference is missing.") return None request_payload = request.model_dump(mode="json", exclude_none=True) sanitized_request = self._replace_embedded_media(request_payload, source_reference=source_reference) diff --git a/tests/providers/test_openrouter.py b/tests/providers/test_openrouter.py index 89d1dc5..592f8f4 100644 --- a/tests/providers/test_openrouter.py +++ b/tests/providers/test_openrouter.py @@ -1,6 +1,7 @@ """Tests for transcription.providers.openrouter.""" import asyncio +import logging from types import SimpleNamespace from typing import cast @@ -226,3 +227,21 @@ class TestOpenRouterProviderTranscribe: assert result.text == "Transcript text" assert result.metadata_payload() is None assert result.raw_api_response == response + + @pytest.mark.asyncio + async def test_logs_when_request_manifest_is_omitted_without_source_reference(self, caplog): + response = {"model": "vendor/model-a", "choices": [{"message": {"content": "Transcript text"}}]} + provider = OpenRouterTranscriptionProvider( + settings=Settings(openrouter_api_key="test-key"), + client=_fake_client(response=response), + ) + + with caplog.at_level(logging.WARNING): + result = await provider.transcribe( + prompt_text="Prompt body", + image_bytes=b"img-bytes", + mime_type="image/png", + ) + + assert result.request_manifest is None + assert "request manifest omitted" in caplog.text.lower()