ProviderConfig.thinking_style defaults to None (Optional field), but create_dynamic_spec expects a string. Coalesce None to "" at all call sites (factory.py, settings_api.py) and fix the test assertion to expect None from the config default.