- factory now looks up Model via provider.GetModel() - switches on model.AdapterType instead of provider name - uses model.Endpoint for adapter configuration - streaming models return clear error (not yet implemented) - empty model falls back to provider default - added tests for streaming and unknown model errors