cask/config: skip runtime sig check on `default` and `canonicalize`
`Cask::Config#default` and `Cask::Config.canonicalize` both have sigs typed against `ConfigHash`, which is a `T::Hash[Symbol, T.any(LazyObject, String, Pathname, T::Array[String])]`. Under recursive runtime type-checking (enabled in CI via `HOMEBREW_SORBET_RECURSIVE=1`) the checker walks the hash values and forces the `LazyObject` wrapping `OS::Mac.languages`, which is undefined under the generic-OS test runner. `self.defaults` already uses `T::Sig::WithoutRuntime.sig` for exactly this reason; apply the same treatment to the two adjacent methods that flow the same hash through. The new line in `Cask::Cask#artifacts_list` walks `Cask::Config#default` to resolve artifact targets, which is what surfaced the issue in CI on the generic-OS run. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
C
Carlo Cabrera committed
af03ab555ead3c7885eb15d34dfab86e8a13b35d
Parent: 726f284
Committed by Carlo Cabrera <30379873+carlocab@users.noreply.github.com>
on 5/19/2026, 5:01:14 PM