From 7c282e0a5bd5241b23a322491efdb0484cf1af44 Mon Sep 17 00:00:00 2001 From: Jake LoRocco Date: Thu, 30 Apr 2026 21:31:23 -0400 Subject: [PATCH 1/3] fix: issues introduced by intrinsic changes Signed-off-by: Jake LoRocco Assisted-by: CLAUDE:OPUS --- mellea/formatters/granite/base/util.py | 4 +++- test/backends/test_huggingface.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mellea/formatters/granite/base/util.py b/mellea/formatters/granite/base/util.py index 3ca3587aa..79af3ff76 100644 --- a/mellea/formatters/granite/base/util.py +++ b/mellea/formatters/granite/base/util.py @@ -162,9 +162,11 @@ def chat_completion_request_to_transformers_inputs( tokenizer_input = { "conversation": request["messages"], "add_generation_prompt": True, - "tools": request["tools"], } + if request.get("tools") is not None: + tokenizer_input["tools"] = request["tools"] + # pylint: disable=unsupported-membership-test if ( request.get("extra_body") is not None diff --git a/test/backends/test_huggingface.py b/test/backends/test_huggingface.py index 864dc0dcc..f2f264544 100644 --- a/test/backends/test_huggingface.py +++ b/test/backends/test_huggingface.py @@ -776,7 +776,7 @@ async def test_intrinsic_no_adapter_raises(backend) -> None: """Calling an intrinsic with no registered adapter raises ValueError.""" ctx = ChatContext().add(Message("user", "test")) - with pytest.raises(ValueError, match="has no adapter"): + with pytest.raises(ValueError, match="Unknown intrinsic name"): await mfuncs.aact( Intrinsic("nonexistent_intrinsic"), ctx, backend, strategy=None ) From f45680432c27464fc105cf6e12b8c6b630c227ab Mon Sep 17 00:00:00 2001 From: Jake LoRocco Date: Fri, 1 May 2026 08:16:20 -0400 Subject: [PATCH 2/3] test: add test for unloaded intrinsic adapter Signed-off-by: Jake LoRocco --- test/backends/test_huggingface.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/test/backends/test_huggingface.py b/test/backends/test_huggingface.py index f2f264544..97bd6b4d4 100644 --- a/test/backends/test_huggingface.py +++ b/test/backends/test_huggingface.py @@ -772,8 +772,8 @@ async def test_intrinsic_streaming_raises(backend) -> None: ) -async def test_intrinsic_no_adapter_raises(backend) -> None: - """Calling an intrinsic with no registered adapter raises ValueError.""" +async def test_unknown_intrinsic_no_adapter_raises(backend) -> None: + """Calling an unknown intrinsic with no registered adapter raises ValueError.""" ctx = ChatContext().add(Message("user", "test")) with pytest.raises(ValueError, match="Unknown intrinsic name"): @@ -782,6 +782,20 @@ async def test_intrinsic_no_adapter_raises(backend) -> None: ) +async def test_known_intrinsic_no_adapter_raises(backend) -> None: + """Calling an intrinsic with no registered adapter raises ValueError.""" + ctx = ChatContext().add(Message("user", "test")) + + with pytest.raises(ValueError, match="has no adapter"): + await mfuncs.aact( + # Explicitly pass in a known Intrinsic that isn't loaded. + Intrinsic("uncertainty"), + ctx, + backend, + strategy=None, + ) + + async def test_intrinsic_no_system_prompt(backend) -> None: """No system message prepended when SYSTEM_PROMPT is absent.""" captured: dict = {} From 150cdc2d96a063eb1c120013e09f72bee642fca2 Mon Sep 17 00:00:00 2001 From: Jake LoRocco Date: Fri, 1 May 2026 09:54:38 -0400 Subject: [PATCH 3/3] fix: pin xgrammar at 0.1.33 Signed-off-by: Jake LoRocco --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b13604a1b..5cf8f122c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ hf = [ "peft>=0.18.1", # Native aLoRA support added in PEFT 0.18.0 "transformers>=4.53.2,<5", "trl==0.19.1", - "xgrammar", # Necessary for granite_common intrinsics. + "xgrammar==0.1.33", # Necessary for granite_common intrinsics. Pinned due to Issue 990. "huggingface-hub>=0.33.4", ]