Actually, this is close to how dyld already works with SDK-set checks and availability.
Judging from various publicly available documents, open-source code, and implementation details that have surfaced over the years, Apple seems to have had similar cross-platform availability abstractions internally for quite a long time. So I don’t think the limitation is primarily technical.
For example:
sdk 0x07E8_0000 (2024.00.00)
-> macOS 15.0, iOS 18.0, watchOS 11.0, ...
-> anyAppleOS 24
sdk 0x07E4_0601 (2020.06.01)
-> macOS 10.15.4, iOS 13.6, watchOS 6.2,
tvOS 13.4, bridgeOS 4.1, DriverKit 19.0
-> hypothetically anyAppleOS 19.x
(the SDK-set encoding is 20, but these are still 2019-era OS releases)
sdk 0x07E3_0902 (2019.09.02)
-> macOS 10.15, iOS 13.1, watchOS 6.0,
tvOS 13.0, bridgeOS 4.0, DriverKit 19.0
-> hypothetically anyAppleOS 19.x
(though calling this 19.1 also does not feel quite right)
sdk 0x07E3_0901 (2019.09.01)
-> macOS 10.15, iOS 13.0, watchOS 6.0,
tvOS 13.0, bridgeOS 4.0, DriverKit 19.0
-> hypothetically anyAppleOS 19.0
You can learn more information about dyld and AvailabilityVersions here
This is the kind of mapping I was referring to: a single SDK-set version can correspond to concrete release versions across Apple platforms.
My guess is that this is more of an API design decision. The current design keeps anyAppleOS focused on the new unified versioning model introduced with OS 26+, while extending it to historical releases would introduce additional edge cases around minor-version alignment and platform-specific release schedules. For example, not every platform ships the same set of x.y releases, so a single historical anyAppleOS minor version may not have an obvious or stable meaning.
That may simply not fit the direction the (Apple) Swift team wants for this feature IMO.