From b2e227d24993a4f267c8ba178e75f57bcd3f00e5 Mon Sep 17 00:00:00 2001 From: ygd58 Date: Tue, 16 Jun 2026 11:01:22 +0200 Subject: [PATCH] fix(agent): handle YAML null value in context_length_cache MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _load_context_cache() returned None when context_length_cache.yaml contained 'context_lengths:' (no value) — YAML parses this as {'context_lengths': None} and dict.get(key, default) only returns the default when the key is absent, not when the value is None. This caused AttributeError in every downstream caller (issue #47135). Fix: use 'or {}' instead of default= so both absent key and None value return an empty dict. Fixes #47135 --- agent/model_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/model_metadata.py b/agent/model_metadata.py index dbbcf81b72f..c8b107ae310 100644 --- a/agent/model_metadata.py +++ b/agent/model_metadata.py @@ -1077,7 +1077,7 @@ def _load_context_cache() -> Dict[str, int]: try: with open(path, encoding="utf-8") as f: data = yaml.safe_load(f) or {} - return data.get("context_lengths", {}) + return data.get("context_lengths") or {} except Exception as e: logger.debug("Failed to load context length cache: %s", e) return {}