The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Arbiter, reference v0.2.0 (dcf1e7), with Swift 6.4 for watchOS using Xcode 27.0 on 27 Sep 2026 20:03:33 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme Arbiter -destination generic/platform=watchOS

Build Log

 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 27 |     ///   a transcript-built session with no definitions in its instructions would register
 28 |     ///   executors the model was never told about.
 29 |     static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
    |                 |                                                 `- error: 'Tool' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
 30 |         let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
 31 |         return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:29:89: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 27 |     ///   a transcript-built session with no definitions in its instructions would register
 28 |     ///   executors the model was never told about.
 29 |     static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
    |                 |                                                                       `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
 30 |         let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
 31 |         return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:36:27: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    |                           `- error: 'Transcript' is only available in watchOS 27.0 or newer
 37 |     ) throws -> Transcript.Entry {
 38 |         switch source {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:37:17: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
 37 |     ) throws -> Transcript.Entry {
    |                 `- error: 'Transcript' is only available in watchOS 27.0 or newer
 38 |         switch source {
 39 |         case .instructions(let segments, _):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:75:67: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 73 |     }
 74 |
 75 |     private static func segment(from source: FMSegment) throws -> Transcript.Segment {
    |                         |                                         `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
 76 |         switch source {
 77 |         case .text(let text):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:87:66: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 85 |     }
 86 |
 87 |     private static func generatedContent(json: String) throws -> GeneratedContent {
    |                         |                                        `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
 88 |         do {
 89 |             return try GeneratedContent(json: json)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:97:75: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 95 |     }
 96 |
 97 |     static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
    |                 |                                                         `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
 98 |         GenerationOptions(
 99 |             sampling: settings.sampling.map(samplingMode(from:)),
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:105:71: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
103 |     }
104 |
105 |     private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
    |                         |                                             `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
106 |         switch source {
107 |         case .greedy:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:121:69: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
119 |     /// duplicate type names and undefined references — which is reported as a bad request,
120 |     /// since that is what it is.
121 |     static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
    |                 |                                                   `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
122 |         do {
123 |             return try GenerationSchema(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:134:67: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         |                                         `- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:196:70: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
194 |     /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 |     /// type — there is no protocol tying them together to be generic over.
196 |     private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
    |                         |                                            `- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
197 |         switch (minimum, maximum) {
198 |         case (let low?, let high?) where low <= high: [.range(low...high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:205:76: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
203 |     }
204 |
205 |     private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
    |                         |                                                  `- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
206 |         switch (minimum, maximum) {
207 |         case (let low?, let high?) where low <= high: [.range(low...high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:214:62: error: 'SystemLanguageModel' is unavailable in watchOS
212 |     }
213 |
214 |     static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
    |                                                              `- error: 'SystemLanguageModel' is unavailable in watchOS
215 |         let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 |         case .default: .default
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:246:10: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
242 |     }
243 |
244 |     static func sentiment(
    |                 `- note: add '@available' attribute to enclosing static method
245 |         from source: AppleFMFeedbackSentiment
246 |     ) -> LanguageModelFeedback.Sentiment {
    |          `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
247 |         switch source {
248 |         case .positive: .positive
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:254:61: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
252 |     }
253 |
254 |     static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
    |                 |                                           `- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
255 |         let category: LanguageModelFeedback.Issue.Category = switch source.category {
256 |         case .unhelpful: .unhelpful
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:275:41: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
273 |     /// including them would make every comparison fail, since the forward direction mints
274 |     /// fresh identifiers.
275 |     static func transcript(from source: Transcript) -> FMTranscript {
    |                 |                       `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                 `- note: add '@available' attribute to enclosing static method
276 |         FMTranscript(entries: source.map(entry(from:)))
277 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:279:44: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
277 |     }
278 |
279 |     private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
    |                         |                  `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
280 |         switch source {
281 |         case .instructions(let instructions):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:307:46: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
305 |     }
306 |
307 |     private static func segment(from source: Transcript.Segment) -> FMSegment {
    |                         |                    `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
308 |         switch source {
309 |         case .text(let text):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:9: error: 'SystemLanguageModel' is unavailable in watchOS
 17 |     /// always the live value rather than a hardcoded 4096.
 18 |     static var contextSize: Int {
 19 |         SystemLanguageModel.default.contextSize
    |         `- error: 'SystemLanguageModel' is unavailable in watchOS
 20 |     }
 21 |
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:29: error: 'default' is unavailable in watchOS
 17 |     /// always the live value rather than a hardcoded 4096.
 18 |     static var contextSize: Int {
 19 |         SystemLanguageModel.default.contextSize
    |                             `- error: 'default' is unavailable in watchOS
 20 |     }
 21 |
FoundationModels.SystemLanguageModel.default:5:20: note: 'default' has been explicitly marked unavailable here
3 |   @available(tvOS, unavailable)
4 |   @available(watchOS, unavailable)
5 |   public class var `default`: SystemLanguageModel { get }}
  |                    `- note: 'default' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:19:37: error: 'contextSize' is unavailable in watchOS
 17 |     /// always the live value rather than a hardcoded 4096.
 18 |     static var contextSize: Int {
 19 |         SystemLanguageModel.default.contextSize
    |                                     `- error: 'contextSize' is unavailable in watchOS
 20 |     }
 21 |
FoundationModels.SystemLanguageModel.contextSize:6:20: note: 'contextSize' has been explicitly marked unavailable here
4 |   @available(tvOS, unavailable)
5 |   @available(watchOS, unavailable)
6 |   final public var contextSize: Int { get }}
  |                    `- note: 'contextSize' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:30:39: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 27 |     ///   a transcript-built session with no definitions in its instructions would register
 28 |     ///   executors the model was never told about.
 29 |     static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
    |                 `- note: add '@available' attribute to enclosing static method
 30 |         let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
    |                                       |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                                       `- note: add 'if #available' version check
 31 |         return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:30:50: error: 'init(tool:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 27 |     ///   a transcript-built session with no definitions in its instructions would register
 28 |     ///   executors the model was never told about.
 29 |     static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
    |                 `- note: add '@available' attribute to enclosing static method
 30 |         let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
    |                                                  |- error: 'init(tool:)' is only available in watchOS 27.0 or newer
    |                                                  `- note: add 'if #available' version check
 31 |         return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
 32 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:31:16: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 27 |     ///   a transcript-built session with no definitions in its instructions would register
 28 |     ///   executors the model was never told about.
 29 |     static func transcript(from source: FMTranscript, tools: [any Tool] = []) throws -> Transcript {
    |                 `- note: add '@available' attribute to enclosing static method
 30 |         let definitions = tools.map { Transcript.ToolDefinition(tool: $0) }
 31 |         return Transcript(entries: try source.entries.map { try entry(from: $0, toolDefinitions: definitions) })
    |                |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                `- note: add 'if #available' version check
 32 |     }
 33 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:43:34: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 41 |             // was produced with; what the session needs is the full definition, which only
 42 |             // the bound tools carry.
 43 |             return .instructions(Transcript.Instructions(
    |                                  |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                                  `- note: add 'if #available' version check
 44 |                 segments: try segments.map(segment(from:)),
 45 |                 toolDefinitions: toolDefinitions
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:49:28: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 47 |
 48 |         case .prompt(let segments):
 49 |             return .prompt(Transcript.Prompt(segments: try segments.map(segment(from:))))
    |                            |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                            `- note: add 'if #available' version check
 50 |
 51 |         case .response(let segments):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:49:39: error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 47 |
 48 |         case .prompt(let segments):
 49 |             return .prompt(Transcript.Prompt(segments: try segments.map(segment(from:))))
    |                                       |- error: 'init(id:segments:options:responseFormat:)' is only available in watchOS 27.0 or newer
    |                                       `- note: add 'if #available' version check
 50 |
 51 |         case .response(let segments):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:52:30: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 50 |
 51 |         case .response(let segments):
 52 |             return .response(Transcript.Response(
    |                              |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                              `- note: add 'if #available' version check
 53 |                 assetIDs: [],
 54 |                 segments: try segments.map(segment(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:52:41: error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 50 |
 51 |         case .response(let segments):
 52 |             return .response(Transcript.Response(
    |                                         |- error: 'init(id:assetIDs:segments:)' is only available in watchOS 27.0 or newer
    |                                         `- note: add 'if #available' version check
 53 |                 assetIDs: [],
 54 |                 segments: try segments.map(segment(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:58:31: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 56 |
 57 |         case .toolCalls(let calls):
 58 |             return .toolCalls(Transcript.ToolCalls(try calls.map { call in
    |                               |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                               `- note: add 'if #available' version check
 59 |                 Transcript.ToolCall(
 60 |                     id: call.id,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:59:17: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 57 |         case .toolCalls(let calls):
 58 |             return .toolCalls(Transcript.ToolCalls(try calls.map { call in
 59 |                 Transcript.ToolCall(
    |                 |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                 `- note: add 'if #available' version check
 60 |                     id: call.id,
 61 |                     toolName: call.toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:59:28: error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 57 |         case .toolCalls(let calls):
 58 |             return .toolCalls(Transcript.ToolCalls(try calls.map { call in
 59 |                 Transcript.ToolCall(
    |                            |- error: 'init(id:toolName:arguments:)' is only available in watchOS 27.0 or newer
    |                            `- note: add 'if #available' version check
 60 |                     id: call.id,
 61 |                     toolName: call.toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:67:32: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 32 |     }
 33 |
 34 |     private static func entry(
    |                         `- note: add '@available' attribute to enclosing static method
 35 |         from source: FMTranscriptEntry,
 36 |         toolDefinitions: [Transcript.ToolDefinition]
    :
 65 |
 66 |         case .toolOutput(let id, let toolName, let segments):
 67 |             return .toolOutput(Transcript.ToolOutput(
    |                                |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                                `- note: add 'if #available' version check
 68 |                 id: id,
 69 |                 toolName: toolName,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:78:26: error: 'Transcript' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 73 |     }
 74 |
 75 |     private static func segment(from source: FMSegment) throws -> Transcript.Segment {
    |                         `- note: add '@available' attribute to enclosing static method
 76 |         switch source {
 77 |         case .text(let text):
 78 |             return .text(Transcript.TextSegment(content: text))
    |                          |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                          `- note: add 'if #available' version check
 79 |         case .structured(let source, let json):
 80 |             return .structure(Transcript.StructuredSegment(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:81:25: error: extra argument 'source' in call
 79 |         case .structured(let source, let json):
 80 |             return .structure(Transcript.StructuredSegment(
 81 |                 source: source,
    |                         `- error: extra argument 'source' in call
 82 |                 content: try generatedContent(json: json)
 83 |             ))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:81:31: error: missing argument for parameter 'schemaName' in call
 79 |         case .structured(let source, let json):
 80 |             return .structure(Transcript.StructuredSegment(
 81 |                 source: source,
    |                               `- error: missing argument for parameter 'schemaName' in call
 82 |                 content: try generatedContent(json: json)
 83 |             ))
FoundationModels.Transcript.StructuredSegment.init:4:12: note: 'init(id:schemaName:content:)' declared here
2 |   struct StructuredSegment {
3 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
4 |     public init(id: String = UUID().uuidString, schemaName: String, content: GeneratedContent)  }
  |            `- note: 'init(id:schemaName:content:)' declared here
5 | }
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:89:24: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 85 |     }
 86 |
 87 |     private static func generatedContent(json: String) throws -> GeneratedContent {
    |                         `- note: add '@available' attribute to enclosing static method
 88 |         do {
 89 |             return try GeneratedContent(json: json)
    |                        |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
    |                        `- note: add 'if #available' version check
 90 |         } catch {
 91 |             throw ArbiterError.invalidRequest(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:89:24: error: 'init(json:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 85 |     }
 86 |
 87 |     private static func generatedContent(json: String) throws -> GeneratedContent {
    |                         `- note: add '@available' attribute to enclosing static method
 88 |         do {
 89 |             return try GeneratedContent(json: json)
    |                        |- error: 'init(json:)' is only available in watchOS 27.0 or newer
    |                        `- note: add 'if #available' version check
 90 |         } catch {
 91 |             throw ArbiterError.invalidRequest(
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:98:9: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
 95 |     }
 96 |
 97 |     static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
    |                 `- note: add '@available' attribute to enclosing static method
 98 |         GenerationOptions(
    |         |- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
    |         `- note: add 'if #available' version check
 99 |             sampling: settings.sampling.map(samplingMode(from:)),
100 |             temperature: settings.temperature,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:98:9: error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
 96 |
 97 |     static func generationOptions(from settings: FMGenerationSettings) -> GenerationOptions {
 98 |         GenerationOptions(
    |         `- error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
 99 |             sampling: settings.sampling.map(samplingMode(from:)),
100 |             temperature: settings.temperature,
FoundationModels.GenerationOptions.init:6:10: note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
4 |   @available(tvOS, unavailable)
5 |   @available(watchOS, unavailable)
6 |   public init(sampling: GenerationOptions.SamplingMode?, temperature: Double? = nil, maximumResponseTokens: Int? = nil)}
  |          `- note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:108:14: error: 'greedy' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
103 |     }
104 |
105 |     private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
    |                         `- note: add '@available' attribute to enclosing static method
106 |         switch source {
107 |         case .greedy:
108 |             .greedy
    |              |- error: 'greedy' is only available in watchOS 27.0 or newer
    |              `- note: add 'if #available' version check
109 |         case .randomTop(let k, let seed):
110 |             .random(top: k, seed: seed)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:110:14: error: 'random(top:seed:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
103 |     }
104 |
105 |     private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
    |                         `- note: add '@available' attribute to enclosing static method
106 |         switch source {
107 |         case .greedy:
108 |             .greedy
109 |         case .randomTop(let k, let seed):
110 |             .random(top: k, seed: seed)
    |              |- error: 'random(top:seed:)' is only available in watchOS 27.0 or newer
    |              `- note: add 'if #available' version check
111 |         case .randomThreshold(let probability, let seed):
112 |             .random(probabilityThreshold: probability, seed: seed)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:112:14: error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
103 |     }
104 |
105 |     private static func samplingMode(from source: AppleFMSampling) -> GenerationOptions.SamplingMode {
    |                         `- note: add '@available' attribute to enclosing static method
106 |         switch source {
107 |         case .greedy:
    :
110 |             .random(top: k, seed: seed)
111 |         case .randomThreshold(let probability, let seed):
112 |             .random(probabilityThreshold: probability, seed: seed)
    |              |- error: 'random(probabilityThreshold:seed:)' is only available in watchOS 27.0 or newer
    |              `- note: add 'if #available' version check
113 |         }
114 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:123:24: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
119 |     /// duplicate type names and undefined references — which is reported as a bad request,
120 |     /// since that is what it is.
121 |     static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
    |                 `- note: add '@available' attribute to enclosing static method
122 |         do {
123 |             return try GenerationSchema(
    |                        |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
    |                        `- note: add 'if #available' version check
124 |                 root: dynamicSchema(from: tree.root),
125 |                 dependencies: tree.dependencies.map(dynamicSchema(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:123:24: error: 'init(root:dependencies:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
119 |     /// duplicate type names and undefined references — which is reported as a bad request,
120 |     /// since that is what it is.
121 |     static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
    |                 `- note: add '@available' attribute to enclosing static method
122 |         do {
123 |             return try GenerationSchema(
    |                        |- error: 'init(root:dependencies:)' is only available in watchOS 27.0 or newer
    |                        `- note: add 'if #available' version check
124 |                 root: dynamicSchema(from: tree.root),
125 |                 dependencies: tree.dependencies.map(dynamicSchema(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:127:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
119 |     /// duplicate type names and undefined references — which is reported as a bad request,
120 |     /// since that is what it is.
121 |     static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
    |                 `- note: add '@available' attribute to enclosing static method
122 |         do {
123 |             return try GenerationSchema(
    :
125 |                 dependencies: tree.dependencies.map(dynamicSchema(from:))
126 |             )
127 |         } catch let error as GenerationSchema.SchemaError {
    |                              |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
    |                              `- note: add 'if #available' version check
128 |             throw ArbiterError.invalidRequest(
129 |                 reason: "Apple Foundation Models rejected the schema: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:127:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
119 |     /// duplicate type names and undefined references — which is reported as a bad request,
120 |     /// since that is what it is.
121 |     static func generationSchema(from tree: FMSchemaTree) throws -> GenerationSchema {
    |                 `- note: add '@available' attribute to enclosing static method
122 |         do {
123 |             return try GenerationSchema(
    :
125 |                 dependencies: tree.dependencies.map(dynamicSchema(from:))
126 |             )
127 |         } catch let error as GenerationSchema.SchemaError {
    |                              |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
    |                              `- note: add 'if #available' version check
128 |             throw ArbiterError.invalidRequest(
129 |                 reason: "Apple Foundation Models rejected the schema: \(error.localizedDescription)"
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:137:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
137 |             return DynamicGenerationSchema(
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
138 |                 name: name,
139 |                 description: description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:137:20: error: 'init(name:description:properties:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
137 |             return DynamicGenerationSchema(
    |                    |- error: 'init(name:description:properties:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
138 |                 name: name,
139 |                 description: description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:141:21: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
139 |                 description: description,
140 |                 properties: properties.map {
141 |                     DynamicGenerationSchema.Property(
    |                     |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                     `- note: add 'if #available' version check
142 |                         name: $0.name,
143 |                         description: $0.description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:141:45: error: 'init(name:description:schema:isOptional:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
139 |                 description: description,
140 |                 properties: properties.map {
141 |                     DynamicGenerationSchema.Property(
    |                                             |- error: 'init(name:description:schema:isOptional:)' is only available in watchOS 27.0 or newer
    |                                             `- note: add 'if #available' version check
142 |                         name: $0.name,
143 |                         description: $0.description,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:151:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
149 |
150 |         case .stringEnum(let name, let description, let choices):
151 |             return DynamicGenerationSchema(name: name, description: description, anyOf: choices)
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
152 |
153 |         case .anyOf(let name, let description, let choices):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:151:20: error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
149 |
150 |         case .stringEnum(let name, let description, let choices):
151 |             return DynamicGenerationSchema(name: name, description: description, anyOf: choices)
    |                    |- error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
152 |
153 |         case .anyOf(let name, let description, let choices):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:154:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
152 |
153 |         case .anyOf(let name, let description, let choices):
154 |             return DynamicGenerationSchema(
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
155 |                 name: name, description: description, anyOf: choices.map(dynamicSchema(from:))
156 |             )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:154:20: error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
152 |
153 |         case .anyOf(let name, let description, let choices):
154 |             return DynamicGenerationSchema(
    |                    |- error: 'init(name:description:anyOf:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
155 |                 name: name, description: description, anyOf: choices.map(dynamicSchema(from:))
156 |             )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:159:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
157 |
158 |         case .array(let item, let minimum, let maximum):
159 |             return DynamicGenerationSchema(
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
160 |                 arrayOf: dynamicSchema(from: item),
161 |                 minimumElements: minimum,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:159:20: error: 'init(arrayOf:minimumElements:maximumElements:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
157 |
158 |         case .array(let item, let minimum, let maximum):
159 |             return DynamicGenerationSchema(
    |                    |- error: 'init(arrayOf:minimumElements:maximumElements:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
160 |                 arrayOf: dynamicSchema(from: item),
161 |                 minimumElements: minimum,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:166:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
164 |
165 |         case .reference(let name):
166 |             return DynamicGenerationSchema(referenceTo: name)
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
167 |
168 |         case .string(let constant, let pattern):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:166:20: error: 'init(referenceTo:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
164 |
165 |         case .reference(let name):
166 |             return DynamicGenerationSchema(referenceTo: name)
    |                    |- error: 'init(referenceTo:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
167 |
168 |         case .string(let constant, let pattern):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:169:26: error: 'GenerationGuide' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
167 |
168 |         case .string(let constant, let pattern):
169 |             var guides: [GenerationGuide<String>] = []
    |                          |- error: 'GenerationGuide' is only available in watchOS 27.0 or newer
    |                          `- note: add 'if #available' version check
170 |             if let constant {
171 |                 guides.append(.constant(constant))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:171:32: error: 'constant' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
169 |             var guides: [GenerationGuide<String>] = []
170 |             if let constant {
171 |                 guides.append(.constant(constant))
    |                                |- error: 'constant' is only available in watchOS 27.0 or newer
    |                                `- note: add 'if #available' version check
172 |             } else if let pattern, let regex = try? Regex(pattern) {
173 |                 // The converter already dropped patterns that will not compile; this second
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:175:32: error: 'pattern' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
173 |                 // The converter already dropped patterns that will not compile; this second
174 |                 // attempt is what makes the failure impossible rather than merely unlikely.
175 |                 guides.append(.pattern(regex))
    |                                |- error: 'pattern' is only available in watchOS 27.0 or newer
    |                                `- note: add 'if #available' version check
176 |             }
177 |             return DynamicGenerationSchema(type: String.self, guides: guides)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:177:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
175 |                 guides.append(.pattern(regex))
176 |             }
177 |             return DynamicGenerationSchema(type: String.self, guides: guides)
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
178 |
179 |         case .integer(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:177:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
175 |                 guides.append(.pattern(regex))
176 |             }
177 |             return DynamicGenerationSchema(type: String.self, guides: guides)
    |                    |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
178 |
179 |         case .integer(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:180:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
178 |
179 |         case .integer(let minimum, let maximum):
180 |             return DynamicGenerationSchema(type: Int.self, guides: bounds(minimum, maximum))
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
181 |
182 |         case .number(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:180:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
178 |
179 |         case .integer(let minimum, let maximum):
180 |             return DynamicGenerationSchema(type: Int.self, guides: bounds(minimum, maximum))
    |                    |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
181 |
182 |         case .number(let minimum, let maximum):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:183:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
181 |
182 |         case .number(let minimum, let maximum):
183 |             return DynamicGenerationSchema(type: Double.self, guides: bounds(minimum, maximum))
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
184 |
185 |         case .boolean:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:183:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
181 |
182 |         case .number(let minimum, let maximum):
183 |             return DynamicGenerationSchema(type: Double.self, guides: bounds(minimum, maximum))
    |                    |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
184 |
185 |         case .boolean:
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:186:20: error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
184 |
185 |         case .boolean:
186 |             return DynamicGenerationSchema(type: Bool.self)
    |                    |- error: 'DynamicGenerationSchema' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:186:20: error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
132 |     }
133 |
134 |     private static func dynamicSchema(from node: FMSchemaNode) -> DynamicGenerationSchema {
    |                         `- note: add '@available' attribute to enclosing static method
135 |         switch node {
136 |         case .object(let name, let description, let properties):
    :
184 |
185 |         case .boolean:
186 |             return DynamicGenerationSchema(type: Bool.self)
    |                    |- error: 'init(type:guides:)' is only available in watchOS 27.0 or newer
    |                    `- note: add 'if #available' version check
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:198:57: error: 'range' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
194 |     /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 |     /// type — there is no protocol tying them together to be generic over.
196 |     private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
    |                         `- note: add '@available' attribute to enclosing static method
197 |         switch (minimum, maximum) {
198 |         case (let low?, let high?) where low <= high: [.range(low...high)]
    |                                                         |- error: 'range' is only available in watchOS 27.0 or newer
    |                                                         `- note: add 'if #available' version check
199 |         case (let low?, _): [.minimum(low)]
200 |         case (nil, let high?): [.maximum(high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:199:31: error: 'minimum' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
194 |     /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 |     /// type — there is no protocol tying them together to be generic over.
196 |     private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
    |                         `- note: add '@available' attribute to enclosing static method
197 |         switch (minimum, maximum) {
198 |         case (let low?, let high?) where low <= high: [.range(low...high)]
199 |         case (let low?, _): [.minimum(low)]
    |                               |- error: 'minimum' is only available in watchOS 27.0 or newer
    |                               `- note: add 'if #available' version check
200 |         case (nil, let high?): [.maximum(high)]
201 |         case (nil, nil): []
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:200:34: error: 'maximum' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
194 |     /// Written twice because `GenerationGuide`'s numeric statics are declared per concrete
195 |     /// type — there is no protocol tying them together to be generic over.
196 |     private static func bounds(_ minimum: Int?, _ maximum: Int?) -> [GenerationGuide<Int>] {
    |                         `- note: add '@available' attribute to enclosing static method
197 |         switch (minimum, maximum) {
198 |         case (let low?, let high?) where low <= high: [.range(low...high)]
199 |         case (let low?, _): [.minimum(low)]
200 |         case (nil, let high?): [.maximum(high)]
    |                                  |- error: 'maximum' is only available in watchOS 27.0 or newer
    |                                  `- note: add 'if #available' version check
201 |         case (nil, nil): []
202 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:207:57: error: 'range' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
203 |     }
204 |
205 |     private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
    |                         `- note: add '@available' attribute to enclosing static method
206 |         switch (minimum, maximum) {
207 |         case (let low?, let high?) where low <= high: [.range(low...high)]
    |                                                         |- error: 'range' is only available in watchOS 27.0 or newer
    |                                                         `- note: add 'if #available' version check
208 |         case (let low?, _): [.minimum(low)]
209 |         case (nil, let high?): [.maximum(high)]
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:208:31: error: 'minimum' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
203 |     }
204 |
205 |     private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
    |                         `- note: add '@available' attribute to enclosing static method
206 |         switch (minimum, maximum) {
207 |         case (let low?, let high?) where low <= high: [.range(low...high)]
208 |         case (let low?, _): [.minimum(low)]
    |                               |- error: 'minimum' is only available in watchOS 27.0 or newer
    |                               `- note: add 'if #available' version check
209 |         case (nil, let high?): [.maximum(high)]
210 |         case (nil, nil): []
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:209:34: error: 'maximum' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
203 |     }
204 |
205 |     private static func bounds(_ minimum: Double?, _ maximum: Double?) -> [GenerationGuide<Double>] {
    |                         `- note: add '@available' attribute to enclosing static method
206 |         switch (minimum, maximum) {
207 |         case (let low?, let high?) where low <= high: [.range(low...high)]
208 |         case (let low?, _): [.minimum(low)]
209 |         case (nil, let high?): [.maximum(high)]
    |                                  |- error: 'maximum' is only available in watchOS 27.0 or newer
    |                                  `- note: add 'if #available' version check
210 |         case (nil, nil): []
211 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:215:25: error: 'SystemLanguageModel' is unavailable in watchOS
213 |
214 |     static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
215 |         let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
    |                         `- error: 'SystemLanguageModel' is unavailable in watchOS
216 |         case .default: .default
217 |         case .permissiveContentTransformations: .permissiveContentTransformations
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:216:25: error: 'default' is unavailable in watchOS
214 |     static func model(for options: AppleFMOptions) throws -> SystemLanguageModel {
215 |         let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 |         case .default: .default
    |                         `- error: 'default' is unavailable in watchOS
217 |         case .permissiveContentTransformations: .permissiveContentTransformations
218 |         }
FoundationModels.SystemLanguageModel.Guardrails.default:3:19: note: 'default' has been explicitly marked unavailable here
1 | class SystemLanguageModel {
2 |   struct Guardrails {
3 | public static let `default`: SystemLanguageModel.Guardrails  }
  |                   `- note: 'default' has been explicitly marked unavailable here
4 | }
5 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:217:50: error: 'permissiveContentTransformations' is unavailable in watchOS
215 |         let guardrails: SystemLanguageModel.Guardrails = switch options.guardrails {
216 |         case .default: .default
217 |         case .permissiveContentTransformations: .permissiveContentTransformations
    |                                                  `- error: 'permissiveContentTransformations' is unavailable in watchOS
218 |         }
219 |
FoundationModels.SystemLanguageModel.Guardrails.permissiveContentTransformations:3:19: note: 'permissiveContentTransformations' has been explicitly marked unavailable here
1 | class SystemLanguageModel {
2 |   struct Guardrails {
3 | public static let permissiveContentTransformations: SystemLanguageModel.Guardrails  }
  |                   `- note: 'permissiveContentTransformations' has been explicitly marked unavailable here
4 | }
5 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:221:26: error: 'SystemLanguageModel' is unavailable in watchOS
219 |
220 |         guard let adapterSource = options.adapter else {
221 |             let useCase: SystemLanguageModel.UseCase = switch options.useCase {
    |                          `- error: 'SystemLanguageModel' is unavailable in watchOS
222 |             case .general: .general
223 |             case .contentTagging: .contentTagging
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:225:20: error: 'SystemLanguageModel' is unavailable in watchOS
223 |             case .contentTagging: .contentTagging
224 |             }
225 |             return SystemLanguageModel(useCase: useCase, guardrails: guardrails)
    |                    `- error: 'SystemLanguageModel' is unavailable in watchOS
226 |         }
227 |
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:225:20: error: 'init(useCase:guardrails:)' is unavailable in watchOS
223 |             case .contentTagging: .contentTagging
224 |             }
225 |             return SystemLanguageModel(useCase: useCase, guardrails: guardrails)
    |                    `- error: 'init(useCase:guardrails:)' is unavailable in watchOS
226 |         }
227 |
FoundationModels.SystemLanguageModel.init:5:22: note: 'init(useCase:guardrails:)' has been explicitly marked unavailable here
3 |   @available(tvOS, unavailable)
4 |   @available(watchOS, unavailable)
5 |   public convenience init(useCase: SystemLanguageModel.UseCase = .general, guardrails: SystemLanguageModel.Guardrails = Guardrails.default)}
  |                      `- note: 'init(useCase:guardrails:)' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:230:66: error: incorrect argument label in call (have 'name:', expected 'fileURL:')
228 |         do {
229 |             let adapter = switch adapterSource {
230 |             case .name(let name): try SystemLanguageModel.Adapter(name: name)
    |                                                                  `- error: incorrect argument label in call (have 'name:', expected 'fileURL:')
231 |             case .fileURL(let url): try SystemLanguageModel.Adapter(fileURL: url)
232 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:230:73: error: cannot convert value of type 'String' to expected argument type 'URL'
228 |         do {
229 |             let adapter = switch adapterSource {
230 |             case .name(let name): try SystemLanguageModel.Adapter(name: name)
    |                                                                         `- error: cannot convert value of type 'String' to expected argument type 'URL'
231 |             case .fileURL(let url): try SystemLanguageModel.Adapter(fileURL: url)
232 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:255:23: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
252 |     }
253 |
254 |     static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
    |                 `- note: add '@available' attribute to enclosing static method
255 |         let category: LanguageModelFeedback.Issue.Category = switch source.category {
    |                       |- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
    |                       `- note: add 'if #available' version check
256 |         case .unhelpful: .unhelpful
257 |         case .tooVerbose: .tooVerbose
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:265:16: error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
252 |     }
253 |
254 |     static func issue(from source: AppleFMFeedbackIssue) -> LanguageModelFeedback.Issue {
    |                 `- note: add '@available' attribute to enclosing static method
255 |         let category: LanguageModelFeedback.Issue.Category = switch source.category {
256 |         case .unhelpful: .unhelpful
    :
263 |         case .triggeredGuardrailUnexpectedly: .triggeredGuardrailUnexpectedly
264 |         }
265 |         return LanguageModelFeedback.Issue(category: category, explanation: source.explanation)
    |                |- error: 'LanguageModelFeedback' is only available in watchOS 27.0 or newer
    |                `- note: add 'if #available' version check
266 |     }
267 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:276:38: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
273 |     /// including them would make every comparison fail, since the forward direction mints
274 |     /// fresh identifiers.
275 |     static func transcript(from source: Transcript) -> FMTranscript {
    |                 `- note: add '@available' attribute to enclosing static method
276 |         FMTranscript(entries: source.map(entry(from:)))
    |                                      |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                      `- note: add 'if #available' version check
277 |     }
278 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:280:9: warning: switch must be exhaustive
278 |
279 |     private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
280 |         switch source {
    |         |- warning: switch must be exhaustive
    |         `- note: add missing case: '.reasoning(_)'
281 |         case .instructions(let instructions):
282 |             .instructions(
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMFeedback.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AppleFMFeedback.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMOptions.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AppleFMOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMSessionStore.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AppleFMSessionStore.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFoundationProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AppleFoundationProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AvailabilityChecker.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AvailabilityChecker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMBridge.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMErrorKind.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMErrorKind.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMSchema.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMSchema.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMSessionRunning.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMSessionRunning.swift
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:291:30: error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
277 |     }
278 |
279 |     private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
    |                         `- note: add '@available' attribute to enclosing static method
280 |         switch source {
281 |         case .instructions(let instructions):
    :
289 |             .response(segments: response.segments.map(segment(from:)))
290 |         case .toolCalls(let calls):
291 |             .toolCalls(calls.map {
    |                              |- error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
    |                              `- note: add 'if #available' version check
292 |                 FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
293 |             })
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:292:90: error: 'jsonString' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
277 |     }
278 |
279 |     private static func entry(from source: Transcript.Entry) -> FMTranscriptEntry {
    |                         `- note: add '@available' attribute to enclosing static method
280 |         switch source {
281 |         case .instructions(let instructions):
    :
290 |         case .toolCalls(let calls):
291 |             .toolCalls(calls.map {
292 |                 FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
    |                                                                                          |- error: 'jsonString' is only available in watchOS 27.0 or newer
    |                                                                                          `- note: add 'if #available' version check
293 |             })
294 |         case .toolOutput(let output):
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:312:44: error: value of type 'Transcript.StructuredSegment' has no member 'source'
310 |             .text(text.content)
311 |         case .structure(let structured):
312 |             .structured(source: structured.source, json: structured.content.jsonString)
    |                                            `- error: value of type 'Transcript.StructuredSegment' has no member 'source'
313 |         @unknown default:
314 |             .text("\u{0}unknown-segment-\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMBridge.swift:326:42: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
 13 | /// is also the part with nothing to get wrong.
 14 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 15 | enum FMBridge {
    |      `- note: add '@available' attribute to enclosing enum
 16 |     /// The model's context window. `contextSize` is back-deployed to OS 26.0, so this is
 17 |     /// always the live value rather than a hardcoded 4096.
    :
321 |     /// it is never awaited here — the refusal's context description is used instead.
322 |     /// `CancellationError` is returned as `nil` so callers rethrow it untouched.
323 |     static func errorKind(for error: any Error) -> FMErrorKind? {
    |                 `- note: add '@available' attribute to enclosing static method
324 |         if error is CancellationError { return nil }
325 |
326 |         if let toolCallError = error as? LanguageModelSession.ToolCallError {
    |                                          |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
    |                                          `- note: add 'if #available' version check
327 |             // Apple wraps whatever the executor threw, cancellation included. Unwrapped
328 |             // first, or a tool that was cancelled would be reported as a bad request and
SwiftCompile normal arm64_32 Compiling\ OpenAIResponsesMapper.swift,\ CapabilityMatcher.swift,\ ConnectivityMonitor.swift,\ CostTracker.swift,\ DeviceAssessor.swift,\ LexicalSignals.swift,\ PIIDetector.swift,\ PrivacyGuard.swift,\ PrivacyReport.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIResponsesMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CapabilityMatcher.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ConnectivityMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CostTracker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/DeviceAssessor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/LexicalSignals.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PIIDetector.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyGuard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyReport.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIResponsesMapper.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OpenAIResponsesMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CapabilityMatcher.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CapabilityMatcher.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ConnectivityMonitor.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConnectivityMonitor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/CostTracker.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile CostTracker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/DeviceAssessor.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile DeviceAssessor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/LexicalSignals.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LexicalSignals.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PIIDetector.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PIIDetector.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyGuard.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PrivacyGuard.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/PrivacyReport.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile PrivacyReport.swift
SwiftCompile normal arm64_32 Compiling\ SecureKeyStorage.swift,\ SpendingGuard.swift,\ ConversationSession.swift,\ ArbiterChatView.swift,\ ArbiterLifecycleModifier.swift,\ ProviderPicker.swift,\ RoutingDebugView.swift,\ UsageDashboard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SecureKeyStorage.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SpendingGuard.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Session/ConversationSession.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterChatView.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterLifecycleModifier.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ProviderPicker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/RoutingDebugView.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/UsageDashboard.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SecureKeyStorage.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SecureKeyStorage.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Security/SpendingGuard.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SpendingGuard.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Session/ConversationSession.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ConversationSession.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterChatView.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ArbiterChatView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ArbiterLifecycleModifier.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ArbiterLifecycleModifier.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/ProviderPicker.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderPicker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/RoutingDebugView.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RoutingDebugView.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/UI/UsageDashboard.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UsageDashboard.swift
SwiftExplicitDependencyGeneratePcm arm64 /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules/SwiftUI-E6XJI4PF1Q2HPTXKL91GWARU6.pcm
SwiftCompile normal arm64_32 Compiling\ LoggingMiddleware.swift,\ RequestSanitiserMiddleware.swift,\ ProviderFactory.swift,\ AnthropicImageResolver.swift,\ AnthropicMapper.swift,\ AnthropicModels.swift,\ AnthropicOptions.swift,\ AnthropicProvider.swift,\ AppleFMAvailability.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/LoggingMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/RequestSanitiserMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/ProviderFactory.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicImageResolver.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMAvailability.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/LoggingMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LoggingMiddleware.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/RequestSanitiserMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RequestSanitiserMiddleware.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/ProviderFactory.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderFactory.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicImageResolver.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AnthropicImageResolver.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicMapper.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AnthropicMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicModels.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AnthropicModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicOptions.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AnthropicOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Anthropic/AnthropicProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AnthropicProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/AppleFMAvailability.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AppleFMAvailability.swift
SwiftCompile normal arm64_32 Compiling\ MLXModelRegistry.swift,\ MLXProvider.swift,\ OllamaMapper.swift,\ OllamaOptions.swift,\ OllamaProvider.swift,\ OpenAIMapper.swift,\ OpenAIModels.swift,\ OpenAIOptions.swift,\ OpenAIProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXModelRegistry.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIProvider.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXModelRegistry.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MLXModelRegistry.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MLXProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaMapper.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OllamaMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaOptions.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OllamaOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Ollama/OllamaProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OllamaProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIMapper.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OpenAIMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIModels.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OpenAIModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIOptions.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OpenAIOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/OpenAI/OpenAIProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile OpenAIProvider.swift
SwiftCompile normal arm64_32 Compiling\ FMToolAdapter.swift,\ FMTranscript.swift,\ FMTranscriptBuilder.swift,\ LiveFMSession.swift,\ GeminiMapper.swift,\ GeminiModels.swift,\ GeminiOptions.swift,\ GeminiProvider.swift,\ MLXChatText.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscript.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscriptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiMapper.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiModels.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiProvider.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXChatText.swift (in target 'Arbiter' from project 'Arbiter')
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:19:27: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
   |        `- note: add '@available' attribute to enclosing struct
19 |     typealias Arguments = GeneratedContent
   |               |           `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
   |               `- note: add '@available' attribute to enclosing type alias
20 |     typealias Output = String
21 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:24:21: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
   |        `- note: add '@available' attribute to enclosing struct
19 |     typealias Arguments = GeneratedContent
20 |     typealias Output = String
   :
22 |     let name: String
23 |     let description: String
24 |     let parameters: GenerationSchema
   |                     `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
25 |
26 |     private let execute: @Sendable (JSONValue) async throws -> String
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:43:26: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
   |        `- note: add '@available' attribute to enclosing struct
19 |     typealias Arguments = GeneratedContent
20 |     typealias Output = String
   :
41 |     /// keeps generating from. A throw here reaches Arbiter as `ToolCallError`, which maps to
42 |     /// `ArbiterError.invalidRequest` naming the tool.
43 |     func call(arguments: GeneratedContent) async throws -> String {
   |          |               `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
   |          `- note: add '@available' attribute to enclosing instance method
44 |         try await execute(Self.jsonValue(from: arguments))
45 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:52:49: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
   |        `- note: add '@available' attribute to enclosing struct
19 |     typealias Arguments = GeneratedContent
20 |     typealias Output = String
   :
50 |     /// bridging gap, and handing the executor an empty argument set lets it report the
51 |     /// problem in terms its caller understands.
52 |     private static func jsonValue(from content: GeneratedContent) -> JSONValue {
   |                         |                       `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
   |                         `- note: add '@available' attribute to enclosing static method
53 |         guard let data = content.jsonString.data(using: .utf8),
54 |               let value = try? JSONDecoder().decode(JSONValue.self, from: data)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:65:67: error: 'Tool' is only available in watchOS 27.0 or newer
61 |
62 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
63 | extension FMBoundTool {
   | `- note: add '@available' attribute to enclosing extension
64 |     /// Builds the tool list a session is constructed with.
65 |     static func tools(for options: AppleFMOptions) throws -> [any Tool] {
   |                 |                                                 `- error: 'Tool' is only available in watchOS 27.0 or newer
   |                 `- note: add '@available' attribute to enclosing static method
66 |         try options.tools.map { try FMBoundTool(binding: $0) }
67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift:53:34: error: 'jsonString' is only available in watchOS 27.0 or newer
16 | /// let the model pass anything at all.
17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
18 | struct FMBoundTool: Tool {
   |        `- note: add '@available' attribute to enclosing struct
19 |     typealias Arguments = GeneratedContent
20 |     typealias Output = String
   :
50 |     /// bridging gap, and handing the executor an empty argument set lets it report the
51 |     /// problem in terms its caller understands.
52 |     private static func jsonValue(from content: GeneratedContent) -> JSONValue {
   |                         `- note: add '@available' attribute to enclosing static method
53 |         guard let data = content.jsonString.data(using: .utf8),
   |                                  |- error: 'jsonString' is only available in watchOS 27.0 or newer
   |                                  `- note: add 'if #available' version check
54 |               let value = try? JSONDecoder().decode(JSONValue.self, from: data)
55 |         else {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:22:26: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
 21 |     // `SystemLanguageModel`, which is `Sendable`. This type adds no mutable state of its own.
 22 |     private let session: LanguageModelSession
    |                          `- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
 23 |     /// Kept because `tokenCount(for:)` is declared on the *model*, not the session, and
 24 |     /// token accounting needs the same model this session was built against — a session
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:26:24: error: 'SystemLanguageModel' is unavailable in watchOS
 24 |     /// token accounting needs the same model this session was built against — a session
 25 |     /// running a custom adapter does not tokenise like the stock one.
 26 |     private let model: SystemLanguageModel
    |                        `- error: 'SystemLanguageModel' is unavailable in watchOS
 27 |
 28 |     init(transcript: FMTranscript, options: AppleFMOptions) throws {
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
  |                    `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 |     @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:205:37: error: 'Transcript' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
203 |
204 |     @available(iOS 26.4, macOS 26.4, visionOS 26.4, *)
205 |     private func count(of entries: [Transcript.Entry]) async throws -> Int {
    |                  |                  `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                  `- note: add '@available' attribute to enclosing instance method
206 |         // Short-circuited rather than asked: `tokenCount(for:)` charges 1 token for an
207 |         // empty collection, which is framing, not content.
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:212:61: error: 'Transcript' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
210 |
211 |     /// Reads the tool calls out of the entries a turn appended.
212 |     private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
    |                         |                                   `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
213 |         entries.flatMap { entry -> [FMToolCall] in
214 |             guard case .toolCalls(let calls) = entry else { return [] }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:212:61: error: 'Transcript' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
210 |
211 |     /// Reads the tool calls out of the entries a turn appended.
212 |     private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
    |                         |                                   `- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add '@available' attribute to enclosing static method
213 |         entries.flatMap { entry -> [FMToolCall] in
214 |             guard case .toolCalls(let calls) = entry else { return [] }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:238:27: error: 'Generable' is only available in watchOS 27.0 or newer
235 | /// session cache and error mapping still apply, and a test double simply does not conform.
236 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
237 | protocol FMGenerableRunning: FMSessionRunning {
    |          `- note: add '@available' attribute to enclosing protocol
238 |     func respond<Content: Generable>(
    |          |                `- error: 'Generable' is only available in watchOS 27.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
239 |         to prompt: String,
240 |         generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:248:26: error: 'Generable' is only available in watchOS 27.0 or newer
235 | /// session cache and error mapping still apply, and a test double simply does not conform.
236 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
237 | protocol FMGenerableRunning: FMSessionRunning {
    |          `- note: add '@available' attribute to enclosing protocol
238 |     func respond<Content: Generable>(
239 |         to prompt: String,
    :
246 |     ///   partial value out through an `AsyncThrowingStream` needs the conformance spelled
247 |     ///   out. The `@Generable` macro provides it; a hand-rolled conformance may not.
248 |     func stream<Content: Generable>(
    |          |               `- error: 'Generable' is only available in watchOS 27.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
249 |         to prompt: String,
250 |         generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:258:27: error: 'Generable' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
    | `- note: add '@available' attribute to enclosing extension
258 |     func respond<Content: Generable>(
    |          |                `- error: 'Generable' is only available in watchOS 27.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
259 |         to prompt: String,
260 |         generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:275:26: error: 'Generable' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
    | `- note: add '@available' attribute to enclosing extension
258 |     func respond<Content: Generable>(
259 |         to prompt: String,
    :
273 |     }
274 |
275 |     func stream<Content: Generable>(
    |          |               `- error: 'Generable' is only available in watchOS 27.0 or newer
    |          `- note: add '@available' attribute to enclosing instance method
276 |         to prompt: String,
277 |         generating type: Content.Type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:32:19: error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 26 |     private let model: SystemLanguageModel
 27 |
 28 |     init(transcript: FMTranscript, options: AppleFMOptions) throws {
    |     `- note: add '@available' attribute to enclosing initializer
 29 |         let model = try FMBridge.model(for: options)
 30 |         self.model = model
 31 |         let tools = try FMBoundTool.tools(for: options)
 32 |         session = LanguageModelSession(
    |                   |- error: 'LanguageModelSession' is only available in watchOS 27.0 or newer
    |                   `- note: add 'if #available' version check
 33 |             model: model,
 34 |             tools: tools,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:32:19: error: 'init(model:tools:transcript:)' is unavailable in watchOS
 30 |         self.model = model
 31 |         let tools = try FMBoundTool.tools(for: options)
 32 |         session = LanguageModelSession(
    |                   `- error: 'init(model:tools:transcript:)' is unavailable in watchOS
 33 |             model: model,
 34 |             tools: tools,
FoundationModels.LanguageModelSession.init:2:20: note: 'init(model:tools:transcript:)' has been explicitly marked unavailable here
1 | class LanguageModelSession {
2 | public convenience init(model: SystemLanguageModel = .default, tools: [any Tool] = [], transcript: Transcript)}
  |                    `- note: 'init(model:tools:transcript:)' has been explicitly marked unavailable here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:41:63: error: 'Prompt' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 26 |     private let model: SystemLanguageModel
 27 |
 28 |     init(transcript: FMTranscript, options: AppleFMOptions) throws {
    |     `- note: add '@available' attribute to enclosing initializer
 29 |         let model = try FMBridge.model(for: options)
 30 |         self.model = model
    :
 39 |
 40 |         if options.prewarm {
 41 |             let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
    |                                                               |- error: 'Prompt' is only available in watchOS 27.0 or newer
    |                                                               `- note: add 'if #available' version check
 42 |             session.prewarm(promptPrefix: prefix)
 43 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:41:63: error: 'init(_:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 26 |     private let model: SystemLanguageModel
 27 |
 28 |     init(transcript: FMTranscript, options: AppleFMOptions) throws {
    |     `- note: add '@available' attribute to enclosing initializer
 29 |         let model = try FMBridge.model(for: options)
 30 |         self.model = model
    :
 39 |
 40 |         if options.prewarm {
 41 |             let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
    |                                                               |- error: 'init(_:)' is only available in watchOS 27.0 or newer
    |                                                               `- note: add 'if #available' version check
 42 |             session.prewarm(promptPrefix: prefix)
 43 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:42:21: error: 'prewarm(promptPrefix:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 26 |     private let model: SystemLanguageModel
 27 |
 28 |     init(transcript: FMTranscript, options: AppleFMOptions) throws {
    |     `- note: add '@available' attribute to enclosing initializer
 29 |         let model = try FMBridge.model(for: options)
 30 |         self.model = model
    :
 40 |         if options.prewarm {
 41 |             let prefix = options.promptPrefixForPrewarm.map { Prompt($0) }
 42 |             session.prewarm(promptPrefix: prefix)
    |                     |- error: 'prewarm(promptPrefix:)' is only available in watchOS 27.0 or newer
    |                     `- note: add 'if #available' version check
 43 |         }
 44 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:46:38: error: 'isResponding' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 44 |     }
 45 |
 46 |     var isResponding: Bool { session.isResponding }
    |         |                            |- error: 'isResponding' is only available in watchOS 27.0 or newer
    |         |                            `- note: add 'if #available' version check
    |         `- note: add '@available' attribute to enclosing property
 47 |
 48 |     var transcriptFingerprint: String {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:57:43: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
 55 |             // Everything this turn adds — the prompt entry the framework appends, any tool
 56 |             // round trips, the answer — lives past this mark.
 57 |             let mark = session.transcript.count
    |                                           |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                           `- note: add 'if #available' version check
 58 |             guard let tree = settings.schema else {
 59 |                 let response = try await session.respond(to: prompt, options: options)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:59:50: error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 57 |             let mark = session.transcript.count
 58 |             guard let tree = settings.schema else {
 59 |                 let response = try await session.respond(to: prompt, options: options)
    |                                                  |- error: 'respond(to:options:)' is only available in watchOS 27.0 or newer
    |                                                  `- note: add 'if #available' version check
 60 |                 return FMRunResult(
 61 |                     text: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:59:21: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 57 |             let mark = session.transcript.count
 58 |             guard let tree = settings.schema else {
 59 |                 let response = try await session.respond(to: prompt, options: options)
    |                     |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
    |                     `- note: add 'if #available' version check
 60 |                 return FMRunResult(
 61 |                     text: response.content,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:61:36: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 59 |                 let response = try await session.respond(to: prompt, options: options)
 60 |                 return FMRunResult(
 61 |                     text: response.content,
    |                                    |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
    |                                    `- note: add 'if #available' version check
 62 |                     toolCalls: Self.toolCalls(in: response.transcriptEntries),
 63 |                     usage: await usage(after: mark, settings: settings)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:62:60: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 60 |                 return FMRunResult(
 61 |                     text: response.content,
 62 |                     toolCalls: Self.toolCalls(in: response.transcriptEntries),
    |                                                            |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
    |                                                            `- note: add 'if #available' version check
 63 |                     usage: await usage(after: mark, settings: settings)
 64 |                 )
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:71:46: error: 'respond(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 69 |             // which is the caller's minus the keywords Apple cannot express — see
 70 |             // `FMSchemaConverter` for exactly what is dropped.
 71 |             let response = try await session.respond(
    |                                              |- error: 'respond(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
    |                                              `- note: add 'if #available' version check
 72 |                 to: prompt,
 73 |                 schema: try FMBridge.generationSchema(from: tree),
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:78:40: error: 'jsonString' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 50 |     }
 51 |
 52 |     func respond(to prompt: String, settings: FMGenerationSettings) async throws -> FMRunResult {
    |          `- note: add '@available' attribute to enclosing instance method
 53 |         do {
 54 |             let options = FMBridge.generationOptions(from: settings)
    :
 76 |             )
 77 |             return FMRunResult(
 78 |                 text: response.content.jsonString,
    |                                        |- error: 'jsonString' is only available in watchOS 27.0 or newer
    |                                        `- note: add 'if #available' version check
 79 |                 toolCalls: Self.toolCalls(in: response.transcriptEntries),
 80 |                 usage: await usage(after: mark, settings: settings)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:96:51: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
 94 |                     // Everything the session appends during this turn — including the tool
 95 |                     // calls it makes on the way — lives past this mark.
 96 |                     let mark = session.transcript.count
    |                                                   |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                                   `- note: add 'if #available' version check
 97 |                     let options = FMBridge.generationOptions(from: settings)
 98 |                     var latest = ""
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:102:59: error: 'streamResponse(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
100 |                     if let tree = settings.schema {
101 |                         let schema = try FMBridge.generationSchema(from: tree)
102 |                         for try await snapshot in session.streamResponse(
    |                                                           |- error: 'streamResponse(to:schema:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
    |                                                           `- note: add 'if #available' version check
103 |                             to: prompt,
104 |                             schema: schema,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:111:55: error: 'jsonString' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
109 |                             // A partial structure serialises as partial JSON, which is what a
110 |                             // caller streaming a structured answer expects to accumulate.
111 |                             latest = snapshot.content.jsonString
    |                                                       |- error: 'jsonString' is only available in watchOS 27.0 or newer
    |                                                       `- note: add 'if #available' version check
112 |                             continuation.yield(FMStreamSnapshot(content: latest))
113 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:115:59: error: 'streamResponse(to:options:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
113 |                         }
114 |                     } else {
115 |                         for try await snapshot in session.streamResponse(to: prompt, options: options) {
    |                                                           |- error: 'streamResponse(to:options:)' is only available in watchOS 27.0 or newer
    |                                                           `- note: add 'if #available' version check
116 |                             try Task.checkCancellation()
117 |                             latest = snapshot.content
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:117:47: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
115 |                         for try await snapshot in session.streamResponse(to: prompt, options: options) {
116 |                             try Task.checkCancellation()
117 |                             latest = snapshot.content
    |                                               |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
    |                                               `- note: add 'if #available' version check
118 |                             continuation.yield(FMStreamSnapshot(content: latest))
119 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:126:38: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
124 |                     // cost. Yielded as one final snapshot with unchanged content, so it adds
125 |                     // a record without adding text.
126 |                     let calls = Self.toolCalls(in: session.transcript.dropFirst(mark))
    |                                      |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                      `- note: add 'if #available' version check
127 |                     let measured = await usage(after: mark, settings: settings)
128 |                     if !calls.isEmpty || measured != nil {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:126:71: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
124 |                     // cost. Yielded as one final snapshot with unchanged content, so it adds
125 |                     // a record without adding text.
126 |                     let calls = Self.toolCalls(in: session.transcript.dropFirst(mark))
    |                                                                       |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                                                       `- note: add 'if #available' version check
127 |                     let measured = await usage(after: mark, settings: settings)
128 |                     if !calls.isEmpty || measured != nil {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:102:25: error: for-in loop requires 'LanguageModelSession.ResponseStream<GeneratedContent>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
100 |                     if let tree = settings.schema {
101 |                         let schema = try FMBridge.generationSchema(from: tree)
102 |                         for try await snapshot in session.streamResponse(
    |                         |- error: for-in loop requires 'LanguageModelSession.ResponseStream<GeneratedContent>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
    |                         `- note: add 'if #available' version check
103 |                             to: prompt,
104 |                             schema: schema,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:115:25: error: for-in loop requires 'LanguageModelSession.ResponseStream<String>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
 85 |     }
 86 |
 87 |     func stream(
    |          `- note: add '@available' attribute to enclosing instance method
 88 |         to prompt: String,
 89 |         settings: FMGenerationSettings
    :
113 |                         }
114 |                     } else {
115 |                         for try await snapshot in session.streamResponse(to: prompt, options: options) {
    |                         |- error: for-in loop requires 'LanguageModelSession.ResponseStream<String>' to conform to 'AsyncSequence', which is only available in watchOS 27.0 or newer
    |                         `- note: add 'if #available' version check
116 |                             try Task.checkCancellation()
117 |                             latest = snapshot.content
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:146:17: error: 'logFeedbackAttachment(sentiment:issues:desiredOutput:)' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
140 |     }
141 |
142 |     func feedbackAttachment(
    |          `- note: add '@available' attribute to enclosing instance method
143 |         sentiment: AppleFMFeedbackSentiment?,
144 |         issues: [AppleFMFeedbackIssue]
145 |     ) -> Data {
146 |         session.logFeedbackAttachment(
    |                 |- error: 'logFeedbackAttachment(sentiment:issues:desiredOutput:)' is only available in watchOS 27.0 or newer
    |                 `- note: add 'if #available' version check
147 |             sentiment: sentiment.map(FMBridge.sentiment(from:)),
148 |             issues: issues.map(FMBridge.issue(from:))
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:19: error: 'Transcript' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
182 |         }
183 |
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
    |                   |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                   `- note: add 'if #available' version check
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:39: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
182 |         }
183 |
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
    |                                       |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                       `- note: add 'if #available' version check
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:184:64: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
182 |         }
183 |
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
    |                                                                |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                                                `- note: add 'if #available' version check
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:185:25: error: 'Transcript' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
183 |
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 |         var generated: [Transcript.Entry] = []
    |                         |- error: 'Transcript' is only available in watchOS 27.0 or newer
    |                         `- note: add 'if #available' version check
186 |         for entry in session.transcript.dropFirst(mark) {
187 |             switch entry {
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:41: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
    |                                         |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |                                         `- note: add 'if #available' version check
187 |             switch entry {
188 |             case .response, .toolCalls: generated.append(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:9: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
    |         |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |         `- note: add 'if #available' version check
187 |             switch entry {
188 |             case .response, .toolCalls: generated.append(entry)
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMToolAdapter.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMToolAdapter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscript.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMTranscript.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/FMTranscriptBuilder.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FMTranscriptBuilder.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LiveFMSession.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiMapper.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeminiMapper.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiModels.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeminiModels.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiOptions.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeminiOptions.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/Gemini/GeminiProvider.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile GeminiProvider.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/MLX/MLXChatText.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile MLXChatText.swift
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:186:9: error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
174 |     /// Never throws: usage is reporting, and losing a completed answer because counting it
175 |     /// failed would be absurd. A failure yields `nil`, which the router already handles.
176 |     private func usage(after mark: Int, settings: FMGenerationSettings) async -> TokenUsage? {
    |                  `- note: add '@available' attribute to enclosing instance method
177 |         guard settings.reportTokenUsage else { return nil }
178 |         guard #available(iOS 26.4, macOS 26.4, visionOS 26.4, *) else {
    :
184 |         var fed: [Transcript.Entry] = Array(session.transcript.prefix(mark))
185 |         var generated: [Transcript.Entry] = []
186 |         for entry in session.transcript.dropFirst(mark) {
    |         |- error: conformance of 'Transcript' to 'Collection' is only available in watchOS 27.0 or newer
    |         `- note: add 'if #available' version check
187 |             switch entry {
188 |             case .response, .toolCalls: generated.append(entry)
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:208:47: error: 'tokenCount(for:)' is unavailable in watchOS
206 |         // Short-circuited rather than asked: `tokenCount(for:)` charges 1 token for an
207 |         // empty collection, which is framing, not content.
208 |         entries.isEmpty ? 0 : try await model.tokenCount(for: entries)
    |                                               `- error: 'tokenCount(for:)' is unavailable in watchOS
209 |     }
210 |
FoundationModels.SystemLanguageModel.tokenCount:5:45: note: 'tokenCount(for:)' has been explicitly marked unavailable here
3 |   @available(tvOS, unavailable)
4 |   @available(watchOS, unavailable)
5 |   nonisolated(nonsending) final public func tokenCount(for transcriptEntries: some Collection<Transcript.Entry>) async throws -> Int}
  |                                             `- note: 'tokenCount(for:)' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:215:26: error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
210 |
211 |     /// Reads the tool calls out of the entries a turn appended.
212 |     private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
    |                         `- note: add '@available' attribute to enclosing static method
213 |         entries.flatMap { entry -> [FMToolCall] in
214 |             guard case .toolCalls(let calls) = entry else { return [] }
215 |             return calls.map {
    |                          |- error: conformance of 'Transcript.ToolCalls' to 'Collection' is only available in watchOS 27.0 or newer
    |                          `- note: add 'if #available' version check
216 |                 FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
217 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:216:90: error: 'jsonString' is only available in watchOS 27.0 or newer
 16 | /// stays testable with a double.
 17 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
 18 | final class LiveFMSession: FMSessionRunning, @unchecked Sendable {
    |             `- note: add '@available' attribute to enclosing class
 19 |     // @unchecked: the stored properties are `LanguageModelSession`, which Apple declares
 20 |     // `@unchecked Sendable` itself and which serialises its own generation state, and
    :
210 |
211 |     /// Reads the tool calls out of the entries a turn appended.
212 |     private static func toolCalls(in entries: some Sequence<Transcript.Entry>) -> [FMToolCall] {
    |                         `- note: add '@available' attribute to enclosing static method
213 |         entries.flatMap { entry -> [FMToolCall] in
214 |             guard case .toolCalls(let calls) = entry else { return [] }
215 |             return calls.map {
216 |                 FMToolCall(id: $0.id, toolName: $0.toolName, argumentsJSON: $0.arguments.jsonString)
    |                                                                                          |- error: 'jsonString' is only available in watchOS 27.0 or newer
    |                                                                                          `- note: add 'if #available' version check
217 |             }
218 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:264:38: error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
    | `- note: add '@available' attribute to enclosing extension
258 |     func respond<Content: Generable>(
    |          `- note: add '@available' attribute to enclosing instance method
259 |         to prompt: String,
260 |         generating type: Content.Type,
    :
262 |     ) async throws -> Content {
263 |         do {
264 |             return try await session.respond(
    |                                      |- error: 'respond(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
    |                                      `- note: add 'if #available' version check
265 |                 to: prompt,
266 |                 generating: type,
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Providers/AppleFoundation/LiveFMSession.swift:284:55: error: 'streamResponse(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
255 |
256 | @available(iOS 26.0, macOS 26.0, visionOS 26.0, *)
257 | extension LiveFMSession: FMGenerableRunning {
    | `- note: add '@available' attribute to enclosing extension
258 |     func respond<Content: Generable>(
259 |         to prompt: String,
    :
273 |     }
274 |
275 |     func stream<Content: Generable>(
    |          `- note: add '@available' attribute to enclosing instance method
276 |         to prompt: String,
277 |         generating type: Content.Type,
    :
282 |             let task = Task {
283 |                 do {
284 |                     for try await snapshot in session.streamResponse(
    |                                                       |- error: 'streamResponse(to:generating:includeSchemaInPrompt:options:)' is only available in watchOS 27.0 or newer
    |                                                       `- note: add 'if #available' version check
285 |                         to: prompt,
286 |                         generating: type,
SwiftCompile normal arm64_32 Compiling\ ProviderHealthMonitor.swift,\ ProviderPerformanceTracker.swift,\ RequestAnalyser.swift,\ RoutingDecision.swift,\ RoutingPolicy.swift,\ SmartRouter.swift,\ ArbiterRun.swift,\ ArbiterTool.swift,\ ExecutionPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderHealthMonitor.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderPerformanceTracker.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RequestAnalyser.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingDecision.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingPolicy.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/SmartRouter.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterRun.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterTool.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ExecutionPolicy.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderHealthMonitor.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderHealthMonitor.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/ProviderPerformanceTracker.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderPerformanceTracker.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RequestAnalyser.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RequestAnalyser.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingDecision.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RoutingDecision.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/RoutingPolicy.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RoutingPolicy.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Router/SmartRouter.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SmartRouter.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterRun.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ArbiterRun.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ArbiterTool.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ArbiterTool.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ExecutionPolicy.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ExecutionPolicy.swift
SwiftCompile normal arm64_32 Compiling\ FallbackChain.swift,\ LifecycleManager.swift,\ ResponseCache.swift,\ ResponseValidator.swift,\ RetryEngine.swift,\ ToolApproval.swift,\ ToolLoop.swift,\ UsageAnalytics.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/FallbackChain.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseCache.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseValidator.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/RetryEngine.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolApproval.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolLoop.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/UsageAnalytics.swift (in target 'Arbiter' from project 'Arbiter')
/Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift:65:19: error: 'UIApplication' is unavailable in watchOS
 63 |             self,
 64 |             selector: #selector(onMemoryWarning),
 65 |             name: UIApplication.didReceiveMemoryWarningNotification,
    |                   `- error: 'UIApplication' is unavailable in watchOS
 66 |             object: nil
 67 |         )
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:85:12: note: 'UIApplication' has been explicitly marked unavailable here
 83 |
 84 | UIKIT_EXTERN API_AVAILABLE(ios(2.0)) API_UNAVAILABLE(watchos) NS_SWIFT_UI_ACTOR
 85 | @interface UIApplication : UIResponder
    |            `- note: 'UIApplication' has been explicitly marked unavailable here
 86 |
 87 | @property(class, nonatomic, readonly) UIApplication *sharedApplication NS_EXTENSION_UNAVAILABLE_IOS("Use view controller based solutions where appropriate instead.");
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/FallbackChain.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile FallbackChain.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/LifecycleManager.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile LifecycleManager.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseCache.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ResponseCache.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ResponseValidator.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ResponseValidator.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/RetryEngine.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RetryEngine.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolApproval.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ToolApproval.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/ToolLoop.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ToolLoop.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Runtime/UsageAnalytics.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile UsageAnalytics.swift
SwiftCompile normal arm64_32 Compiling\ JSONValue.swift,\ Message.swift,\ ProviderCapabilities.swift,\ ProviderID.swift,\ RequestTag.swift,\ SchemaProbe.swift,\ StructuredOutput.swift,\ TokenBudgetPlanner.swift,\ AIMiddleware.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/JSONValue.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/Message.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderCapabilities.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderID.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/RequestTag.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/SchemaProbe.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/StructuredOutput.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/TokenBudgetPlanner.swift /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/AIMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/JSONValue.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile JSONValue.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/Message.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile Message.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderCapabilities.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderCapabilities.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/ProviderID.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile ProviderID.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/RequestTag.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile RequestTag.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/SchemaProbe.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile SchemaProbe.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/StructuredOutput.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile StructuredOutput.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Core/TokenBudgetPlanner.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile TokenBudgetPlanner.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/Arbiter/Middleware/AIMiddleware.swift (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
    builtin-SwiftPerFileCompile AIMiddleware.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ Arbiter (in target 'Arbiter' from project 'Arbiter')
SwiftCompile normal arm64 (in target 'Arbiter' from project 'Arbiter')
    cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode

PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
2026-09-27 16:03:31.210 xcodebuild[1629:9018] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
	SwiftCompile normal arm64_32 (in target 'Arbiter' from project 'Arbiter')
	SwiftEmitModule normal arm64_32 Emitting\ module\ for\ Arbiter (in target 'Arbiter' from project 'Arbiter')
	Building workspace Arbiter with scheme Arbiter
(3 failures)
BUILD FAILURE 6.4 watchOS