capabilitiesFor
Returns the capabilities for model, never throwing.
Resolution order:
exact match against the explicit catalog;
substring pattern match against the pattern table, inferring a ModelType and returning conservative defaults for that type;
a chat-model default if nothing matches.
Steps 2 and 3 emit a warning so callers can notice catalog drift.