Feature: ActorConfiguration.load_yaml_text and defensive paths Coverage-boost scenarios targeting uncovered lines in actor/config.py # --- load_yaml_text: JSON null input (lines 50-51) --- Scenario: load_yaml_text returns empty dict for JSON null When I call load_yaml_text with "null" Then the load_yaml_text result should be an empty dict # --- load_yaml_text: JSON non-dict input (lines 52-53) --- Scenario: load_yaml_text raises ValueError for a JSON string When I call load_yaml_text with a JSON string value Then a ValueError with message containing "object" should be raised Scenario: load_yaml_text raises ValueError for a JSON array When I call load_yaml_text with a JSON array value Then a ValueError with message containing "object" should be raised Scenario: load_yaml_text raises ValueError for a JSON integer When I call load_yaml_text with a JSON integer value Then a ValueError with message containing "object" should be raised # --- load_yaml_text: valid JSON dict (line 54) --- Scenario: load_yaml_text returns parsed dict for valid JSON object When I call load_yaml_text with '{"provider": "openai", "model": "gpt-4"}' Then the load_yaml_text result should have key "provider" equal to "openai" And the load_yaml_text result should have key "model" equal to "gpt-4" Scenario: load_yaml_text returns parsed dict for empty JSON object When I call load_yaml_text with '{}' Then the load_yaml_text result should be an empty dict # --- load_yaml_text: YAML fallback path --- Scenario: load_yaml_text falls back to YAML for non-JSON input When I call load_yaml_text with YAML text "provider: openai\nmodel: gpt-4\n" Then the load_yaml_text result should have key "provider" equal to "openai" # --- load_yaml_text: interpolation returns non-dict (line 89) --- Scenario: load_yaml_text raises ValueError when interpolation returns non-dict Given interpolate_env_vars is patched to return a list When I call load_yaml_text with valid YAML via patched interpolation Then a ValueError with message containing "object" should be raised