Skip to content

v20260704-nightly

@gnachman gnachman tagged this 04 Jul 04:45
registrationProviderRequestRegistration(for:_:) was only in a protocol
extension, not a protocol requirement. Calls through an
AIRegistrationProvider existential dispatched statically to the default
implementation, dropping the vendor and substituting
LLMMetadata.effectiveVendor. When the active model's vendor differed,
the resulting Registration failed isValid(for:), so
AITermController.registration stayed nil and handle(.begin) requested
registration forever, overflowing the stack.

Declare the (for:_:) overload as a protocol requirement so dispatch
reaches each conformer's implementation and preserves the vendor. Also
fail gracefully instead of retrying when a stored registration still
doesn't satisfy the getter, so this can never overflow the stack again.
Assets 2
Loading