The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of FluidAudio, reference main (261276), with Swift 6.1 for macOS (SPM) on 11 Sep 2025 22:21:00 UTC.

Swift 6 data race errors: 17

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

 3 |     var score: Float = 0.0
 4 |     var ySequence: [Int] = []
 5 |     var decState: TdtDecoderState?
   |         `- warning: stored property 'decState' of 'Sendable'-conforming struct 'TdtHypothesis' has non-sendable type 'TdtDecoderState?'; this is an error in the Swift 6 language mode
 6 |     var timestamps: [Int] = []
 7 |     var tokenDurations: [Int] = []
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/TDT/TdtDecoderState.swift:6:8: note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  4 |
  5 | /// Manages LSTM hidden and cell states for the Parakeet decoder
  6 | struct TdtDecoderState {
    |        `- note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  7 |     var hiddenState: MLMultiArray
  8 |     var cellState: MLMultiArray
[19/46] Compiling FluidAudio TdtHypothesis.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/TDT/TdtHypothesis.swift:5:9: warning: stored property 'decState' of 'Sendable'-conforming struct 'TdtHypothesis' has non-sendable type 'TdtDecoderState?'; this is an error in the Swift 6 language mode
 3 |     var score: Float = 0.0
 4 |     var ySequence: [Int] = []
 5 |     var decState: TdtDecoderState?
   |         `- warning: stored property 'decState' of 'Sendable'-conforming struct 'TdtHypothesis' has non-sendable type 'TdtDecoderState?'; this is an error in the Swift 6 language mode
 6 |     var timestamps: [Int] = []
 7 |     var tokenDurations: [Int] = []
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/TDT/TdtDecoderState.swift:6:8: note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  4 |
  5 | /// Manages LSTM hidden and cell states for the Parakeet decoder
  6 | struct TdtDecoderState {
    |        `- note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  7 |     var hiddenState: MLMultiArray
  8 |     var cellState: MLMultiArray
[20/46] Compiling FluidAudio AudioValidation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/TDT/TdtHypothesis.swift:5:9: warning: stored property 'decState' of 'Sendable'-conforming struct 'TdtHypothesis' has non-sendable type 'TdtDecoderState?'; this is an error in the Swift 6 language mode
 3 |     var score: Float = 0.0
 4 |     var ySequence: [Int] = []
 5 |     var decState: TdtDecoderState?
   |         `- warning: stored property 'decState' of 'Sendable'-conforming struct 'TdtHypothesis' has non-sendable type 'TdtDecoderState?'; this is an error in the Swift 6 language mode
 6 |     var timestamps: [Int] = []
 7 |     var tokenDurations: [Int] = []
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/TDT/TdtDecoderState.swift:6:8: note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  4 |
  5 | /// Manages LSTM hidden and cell states for the Parakeet decoder
  6 | struct TdtDecoderState {
    |        `- note: consider making struct 'TdtDecoderState' conform to the 'Sendable' protocol
  7 |     var hiddenState: MLMultiArray
  8 |     var cellState: MLMultiArray
[21/46] Compiling FluidAudio DiarizerManager.swift
[22/46] Compiling FluidAudio DiarizerModels.swift
[23/46] Compiling FluidAudio DiarizerTypes.swift
[24/46] Compiling FluidAudio EmbeddingExtractor.swift
[25/46] Compiling FluidAudio ANEOptimizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:121:55: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
119 |
120 |         // Use ANE-aligned array from cache
121 |         let audioArray = try await sharedMLArrayCache.getArray(
    |                                                       `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
122 |             shape: [1, audioLength] as [NSNumber],
123 |             dataType: .float32
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h:49:12: note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 47 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
 48 | ML_EXPORT
 49 | @interface MLMultiArray : NSObject <NSSecureCoding>
    |            `- note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 50 |
 51 | /// Unsafe pointer to underlying buffer holding the data
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  1 | import CoreML
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 16 |     public let vocabulary: [Int: String]
 17 |
 18 |     private static let logger = AppLogger(category: "AsrModels")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:228:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
226 |         configuration: MLModelConfiguration
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
    |                                    |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:229:79: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
    |                                                                               |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:230:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:231:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:232:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:233:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
235 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                           |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:84: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                                                                                    |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                    `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
[26/46] Compiling FluidAudio AsrManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:121:55: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
119 |
120 |         // Use ANE-aligned array from cache
121 |         let audioArray = try await sharedMLArrayCache.getArray(
    |                                                       `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
122 |             shape: [1, audioLength] as [NSNumber],
123 |             dataType: .float32
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h:49:12: note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 47 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
 48 | ML_EXPORT
 49 | @interface MLMultiArray : NSObject <NSSecureCoding>
    |            `- note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 50 |
 51 | /// Unsafe pointer to underlying buffer holding the data
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  1 | import CoreML
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 16 |     public let vocabulary: [Int: String]
 17 |
 18 |     private static let logger = AppLogger(category: "AsrModels")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:228:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
226 |         configuration: MLModelConfiguration
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
    |                                    |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:229:79: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
    |                                                                               |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:230:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:231:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:232:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:233:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
235 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                           |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:84: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                                                                                    |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                    `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
[27/46] Compiling FluidAudio AsrModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:121:55: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
119 |
120 |         // Use ANE-aligned array from cache
121 |         let audioArray = try await sharedMLArrayCache.getArray(
    |                                                       `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
122 |             shape: [1, audioLength] as [NSNumber],
123 |             dataType: .float32
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h:49:12: note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 47 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
 48 | ML_EXPORT
 49 | @interface MLMultiArray : NSObject <NSSecureCoding>
    |            `- note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 50 |
 51 | /// Unsafe pointer to underlying buffer holding the data
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  1 | import CoreML
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 16 |     public let vocabulary: [Int: String]
 17 |
 18 |     private static let logger = AppLogger(category: "AsrModels")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:228:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
226 |         configuration: MLModelConfiguration
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
    |                                    |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:229:79: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
    |                                                                               |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:230:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:231:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:232:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:233:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
235 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                           |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:84: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                                                                                    |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                    `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
[28/46] Compiling FluidAudio AsrTranscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:121:55: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
119 |
120 |         // Use ANE-aligned array from cache
121 |         let audioArray = try await sharedMLArrayCache.getArray(
    |                                                       `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'getArray(shape:dataType:)'; this is an error in the Swift 6 language mode
122 |             shape: [1, audioLength] as [NSNumber],
123 |             dataType: .float32
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLMultiArray.h:49:12: note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 47 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
 48 | ML_EXPORT
 49 | @interface MLMultiArray : NSObject <NSSecureCoding>
    |            `- note: class 'MLMultiArray' does not conform to the 'Sendable' protocol
 50 |
 51 | /// Unsafe pointer to underlying buffer holding the data
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  1 | import CoreML
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 16 |     public let vocabulary: [Int: String]
 17 |
 18 |     private static let logger = AppLogger(category: "AsrModels")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:228:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
226 |         configuration: MLModelConfiguration
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
    |                                    |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:229:79: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
227 |     ) async throws -> (melspectrogram: MLModel, encoder: MLModel, decoder: MLModel, joint: MLModel) {
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
    |                                                                               |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                               `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:230:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
228 |         async let melspectrogram = loadModel(
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:231:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
229 |             path: melspectrogramPath, name: "mel-spectrogram", configuration: configuration)
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:232:29: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
230 |         async let encoder = loadModel(
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
    |                             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:233:64: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
231 |             path: encoderPath, name: "encoder", configuration: configuration)
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
    |                                                                |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
235 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:27: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                           |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                           `- note: sending task-isolated 'self' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:234:84: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
232 |         async let decoder = loadModel(
233 |             path: decoderPath, name: "decoder", configuration: configuration)
234 |         async let joint = loadModel(path: jointPath, name: "joint", configuration: configuration)
    |                                                                                    |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                    `- note: sending task-isolated 'configuration' into async let risks causing data races between nonisolated and task-isolated uses
235 |
236 |         return try await (melspectrogram, encoder, decoder, joint)
[29/46] Compiling FluidAudio SegmentationProcessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | public enum SpeakerUtilities {
  9 |
 10 |     private static let logger = AppLogger(category: "SpeakerUtilities")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |
 12 |     // MARK: - Configuration
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:33:27: warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 31 |         }
 32 |
 33 |         public static let macOS = AssignmentConfig(
    |                           |- warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'macOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |             maxDistanceForAssignment: 0.65,
 35 |             maxDistanceForUpdate: 0.45,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:40:27: warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 38 |         )
 39 |
 40 |         public static let iOS = AssignmentConfig(
    |                           |- warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'iOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |             maxDistanceForAssignment: 0.55,
 42 |             maxDistanceForUpdate: 0.45,
[30/46] Compiling FluidAudio SlidingWindow.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | public enum SpeakerUtilities {
  9 |
 10 |     private static let logger = AppLogger(category: "SpeakerUtilities")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |
 12 |     // MARK: - Configuration
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:33:27: warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 31 |         }
 32 |
 33 |         public static let macOS = AssignmentConfig(
    |                           |- warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'macOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |             maxDistanceForAssignment: 0.65,
 35 |             maxDistanceForUpdate: 0.45,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:40:27: warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 38 |         )
 39 |
 40 |         public static let iOS = AssignmentConfig(
    |                           |- warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'iOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |             maxDistanceForAssignment: 0.55,
 42 |             maxDistanceForUpdate: 0.45,
[31/46] Compiling FluidAudio SpeakerManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | public enum SpeakerUtilities {
  9 |
 10 |     private static let logger = AppLogger(category: "SpeakerUtilities")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |
 12 |     // MARK: - Configuration
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:33:27: warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 31 |         }
 32 |
 33 |         public static let macOS = AssignmentConfig(
    |                           |- warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'macOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |             maxDistanceForAssignment: 0.65,
 35 |             maxDistanceForUpdate: 0.45,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:40:27: warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 38 |         )
 39 |
 40 |         public static let iOS = AssignmentConfig(
    |                           |- warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'iOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |             maxDistanceForAssignment: 0.55,
 42 |             maxDistanceForUpdate: 0.45,
[32/46] Compiling FluidAudio SpeakerOperations.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 | public enum SpeakerUtilities {
  9 |
 10 |     private static let logger = AppLogger(category: "SpeakerUtilities")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |
 12 |     // MARK: - Configuration
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:33:27: warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 31 |         }
 32 |
 33 |         public static let macOS = AssignmentConfig(
    |                           |- warning: static property 'macOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'macOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |             maxDistanceForAssignment: 0.65,
 35 |             maxDistanceForUpdate: 0.45,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Diarizer/SpeakerOperations.swift:40:27: warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |
 14 |     /// Platform-specific configuration for speaker assignment
 15 |     public struct AssignmentConfig {
    |                   `- note: consider making struct 'AssignmentConfig' conform to the 'Sendable' protocol
 16 |         public let maxDistanceForAssignment: Float
 17 |         public let maxDistanceForUpdate: Float
    :
 38 |         )
 39 |
 40 |         public static let iOS = AssignmentConfig(
    |                           |- warning: static property 'iOS' is not concurrency-safe because non-'Sendable' type 'SpeakerUtilities.AssignmentConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'iOS' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 |             maxDistanceForAssignment: 0.55,
 42 |             maxDistanceForUpdate: 0.45,
[33/46] Compiling FluidAudio AppLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:9:23: warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
  9 |     public static var defaultSubsystem: String = "com.fluidinference"
    |                       |- warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubsystem' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     public enum Level: Int {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |              |                                                                `- note: closure captures 'minimumLevel' which is accessible to code in the current task
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:40: warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |                                        |- warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: sending task-isolated 'minimumLevel' to actor-isolated instance method 'update(enabled:minimumLevel:)' risks causing data races between actor-isolated and task-isolated uses
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:74:43: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 72 |     // MARK: - Console Mirroring
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
    |                                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                                  |                `- note: closure captures non-Sendable 'self'
    |                                                  `- note: closure captures non-Sendable 'level'
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:75:37: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                     |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'level' to actor-isolated instance method 'write(level:category:message:)' risks causing data races between actor-isolated and task-isolated uses
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:58: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                          |              `- note: access can happen concurrently
    |                                                          |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                          `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:100: warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                                                                    |- warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                    `- note: 'self'-isolated 'format' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
    |                         `- note: access can happen concurrently
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
 45 |
    :
 54 |
 55 |         // Calculate output buffer size
 56 |         let sampleRateRatio = format.sampleRate / inputFormat.sampleRate
    |                                      `- note: access can happen concurrently
 57 |         let scaledFrameLength = Double(buffer.frameLength) * sampleRateRatio
 58 |         let frameCapacity = AVAudioFrameCount(scaledFrameLength.rounded(.up))
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:26:65: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 24 |
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
    |                                                                 |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                 `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                `- note: access can happen concurrently
 28 |         {
 29 |             return extractFloatArray(from: buffer)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:27:16: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 28 |         {
 29 |             return extractFloatArray(from: buffer)
    |                    `- note: access can happen concurrently
 30 |         }
 31 |
 32 |         // Convert to target format
 33 |         let convertedBuffer = try convertBuffer(buffer, to: targetFormat)
    |                                   `- note: access can happen concurrently
 34 |         return extractFloatArray(from: convertedBuffer)
 35 |     }
[34/46] Compiling FluidAudio AudioConverter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:9:23: warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
  9 |     public static var defaultSubsystem: String = "com.fluidinference"
    |                       |- warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubsystem' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     public enum Level: Int {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |              |                                                                `- note: closure captures 'minimumLevel' which is accessible to code in the current task
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:40: warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |                                        |- warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: sending task-isolated 'minimumLevel' to actor-isolated instance method 'update(enabled:minimumLevel:)' risks causing data races between actor-isolated and task-isolated uses
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:74:43: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 72 |     // MARK: - Console Mirroring
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
    |                                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                                  |                `- note: closure captures non-Sendable 'self'
    |                                                  `- note: closure captures non-Sendable 'level'
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:75:37: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                     |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'level' to actor-isolated instance method 'write(level:category:message:)' risks causing data races between actor-isolated and task-isolated uses
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:58: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                          |              `- note: access can happen concurrently
    |                                                          |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                          `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:100: warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                                                                    |- warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                    `- note: 'self'-isolated 'format' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
    |                         `- note: access can happen concurrently
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
 45 |
    :
 54 |
 55 |         // Calculate output buffer size
 56 |         let sampleRateRatio = format.sampleRate / inputFormat.sampleRate
    |                                      `- note: access can happen concurrently
 57 |         let scaledFrameLength = Double(buffer.frameLength) * sampleRateRatio
 58 |         let frameCapacity = AVAudioFrameCount(scaledFrameLength.rounded(.up))
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:26:65: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 24 |
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
    |                                                                 |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                 `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                `- note: access can happen concurrently
 28 |         {
 29 |             return extractFloatArray(from: buffer)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:27:16: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 28 |         {
 29 |             return extractFloatArray(from: buffer)
    |                    `- note: access can happen concurrently
 30 |         }
 31 |
 32 |         // Convert to target format
 33 |         let convertedBuffer = try convertBuffer(buffer, to: targetFormat)
    |                                   `- note: access can happen concurrently
 34 |         return extractFloatArray(from: convertedBuffer)
 35 |     }
[35/46] Compiling FluidAudio VadAudioProcessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:9:23: warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
  9 |     public static var defaultSubsystem: String = "com.fluidinference"
    |                       |- warning: static property 'defaultSubsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultSubsystem' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultSubsystem' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     public enum Level: Int {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |              |                                                                `- note: closure captures 'minimumLevel' which is accessible to code in the current task
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:39:40: warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
 37 |
 38 |     public static func enableConsoleOutput(_ enabled: Bool = true, minimumLevel: Level = .debug) {
 39 |         Task { await LogConsole.shared.update(enabled: enabled, minimumLevel: minimumLevel) }
    |                                        |- warning: sending 'minimumLevel' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: sending task-isolated 'minimumLevel' to actor-isolated instance method 'update(enabled:minimumLevel:)' risks causing data races between actor-isolated and task-isolated uses
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:74:43: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 72 |     // MARK: - Console Mirroring
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
    |                                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                                  |                `- note: closure captures non-Sendable 'self'
    |                                                  `- note: closure captures non-Sendable 'level'
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:75:37: warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
 73 |     private func logToConsole(_ level: Level, _ message: String) {
 74 |         Task.detached(priority: .utility) {
 75 |             await LogConsole.shared.write(level: level, category: category, message: message)
    |                                     |- warning: sending 'level' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'level' to actor-isolated instance method 'write(level:category:message:)' risks causing data races between actor-isolated and task-isolated uses
 76 |         }
 77 |     }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:58: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                          |              `- note: access can happen concurrently
    |                                                          |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                          `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:42:100: warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
 40 |
 41 |         // Create or update converter if needed
 42 |         if converter == nil || converter?.inputFormat != inputFormat || converter?.outputFormat != format {
    |                                                                                                    |- warning: sending 'format' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                    `- note: 'self'-isolated 'format' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 43 |             converter = AVAudioConverter(from: inputFormat, to: format)
    |                         `- note: access can happen concurrently
 44 |             converter?.primeMethod = .none  // Avoid timestamp drift
 45 |
    :
 54 |
 55 |         // Calculate output buffer size
 56 |         let sampleRateRatio = format.sampleRate / inputFormat.sampleRate
    |                                      `- note: access can happen concurrently
 57 |         let scaledFrameLength = Double(buffer.frameLength) * sampleRateRatio
 58 |         let frameCapacity = AVAudioFrameCount(scaledFrameLength.rounded(.up))
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:26:65: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 24 |
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
    |                                                                 |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                 `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                `- note: access can happen concurrently
 28 |         {
 29 |             return extractFloatArray(from: buffer)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioConverter.swift:27:16: warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
 25 |         // If already in target format, just extract samples
 26 |         if inputFormat.sampleRate == targetFormat.sampleRate && inputFormat.channelCount == targetFormat.channelCount
 27 |             && inputFormat.commonFormat == targetFormat.commonFormat
    |                |- warning: sending 'inputFormat' risks causing data races; this is an error in the Swift 6 language mode
    |                `- note: 'self'-isolated 'inputFormat' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
 28 |         {
 29 |             return extractFloatArray(from: buffer)
    |                    `- note: access can happen concurrently
 30 |         }
 31 |
 32 |         // Convert to target format
 33 |         let convertedBuffer = try convertBuffer(buffer, to: targetFormat)
    |                                   `- note: access can happen concurrently
 34 |         return extractFloatArray(from: convertedBuffer)
 35 |     }
[36/46] Compiling FluidAudio SpeakerTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public class DownloadUtils {
  7 |
  8 |     private static let logger = AppLogger(category: "DownloadUtils")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     public static let sharedSession: URLSession = {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:96:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |
 88 |     /// Download configuration
 89 |     public struct DownloadConfig {
    |                   `- note: consider making struct 'DownloadConfig' conform to the 'Sendable' protocol
 90 |         public let timeout: TimeInterval
 91 |
    :
 94 |         }
 95 |
 96 |         public static let `default` = DownloadConfig()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 97 |     }
 98 |
[37/46] Compiling FluidAudio DownloadUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public class DownloadUtils {
  7 |
  8 |     private static let logger = AppLogger(category: "DownloadUtils")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     public static let sharedSession: URLSession = {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:96:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |
 88 |     /// Download configuration
 89 |     public struct DownloadConfig {
    |                   `- note: consider making struct 'DownloadConfig' conform to the 'Sendable' protocol
 90 |         public let timeout: TimeInterval
 91 |
    :
 94 |         }
 95 |
 96 |         public static let `default` = DownloadConfig()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 97 |     }
 98 |
[38/46] Compiling FluidAudio FluidAudioSwift.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public class DownloadUtils {
  7 |
  8 |     private static let logger = AppLogger(category: "DownloadUtils")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     public static let sharedSession: URLSession = {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:96:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |
 88 |     /// Download configuration
 89 |     public struct DownloadConfig {
    |                   `- note: consider making struct 'DownloadConfig' conform to the 'Sendable' protocol
 90 |         public let timeout: TimeInterval
 91 |
    :
 94 |         }
 95 |
 96 |         public static let `default` = DownloadConfig()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 97 |     }
 98 |
[39/46] Compiling FluidAudio ModelNames.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | public class DownloadUtils {
  7 |
  8 |     private static let logger = AppLogger(category: "DownloadUtils")
    |                        |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     public static let sharedSession: URLSession = {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: consider making struct 'AppLogger' conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/DownloadUtils.swift:96:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
 87 |
 88 |     /// Download configuration
 89 |     public struct DownloadConfig {
    |                   `- note: consider making struct 'DownloadConfig' conform to the 'Sendable' protocol
 90 |         public let timeout: TimeInterval
 91 |
    :
 94 |         }
 95 |
 96 |         public static let `default` = DownloadConfig()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DownloadUtils.DownloadConfig' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 97 |     }
 98 |
[40/46] Compiling FluidAudio PerformanceMetrics.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:55:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 36 |
 37 |     /// Track performance for a processing session
 38 |     public func trackSession<T>(
    |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 39 |         operation: String,
 40 |         audioLengthSeconds: Float,
    :
 53 |
 54 |         // Execute the operation
 55 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 56 |
 57 |         let totalTime = Date().timeIntervalSince(startTime)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:88:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 78 |
 79 |     /// Track a specific component's execution time
 80 |     public func trackComponent<T>(
    |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 81 |         _ component: String,
 82 |         block: () async throws -> T
    :
 86 |
 87 |         let startTime = Date()
 88 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 89 |         let time = Date().timeIntervalSince(startTime)
 90 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:103:13: warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
101 |             logger.info("Recognition task started, waiting for audio...")
102 |
103 |             for await pcmBuffer in self.inputSequence {
    |             `- warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
104 |                 do {
105 |                     // Convert to 16kHz mono
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:168:38: warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
166 |
167 |         if let monitor = monitor {
168 |             return try await monitor.trackSession(
    |                                      |- warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated value of non-Sendable type '() async throws -> ASRResult' to actor-isolated instance method 'trackSession(operation:audioLengthSeconds:block:)' risks causing races in between task-isolated and actor-isolated uses
169 |                 operation: "Transcription",
170 |                 audioLengthSeconds: audioLengthSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:87:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 85 |         // Initialize ASR manager with provided models
 86 |         asrManager = AsrManager(config: config.asrConfig)
 87 |         try await asrManager?.initialize(models: models)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 88 |
 89 |         // Reset decoder state for the specific source
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:90:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 88 |
 89 |         // Reset decoder state for the specific source
 90 |         try await asrManager?.resetDecoderState(for: source)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 91 |
 92 |         // Reset sliding window state
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:445:38: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
443 |         if let asrManager = asrManager {
444 |             do {
445 |                 try await asrManager.resetDecoderState(for: audioSource)
    |                                      |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
446 |                 logger.info("Successfully reset decoder state during error recovery")
447 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:312:77: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
310 |
311 |             // Call AsrManager directly with deduplication
312 |             let (tokens, timestamps, confidences, _) = try await asrManager.transcribeStreamingChunk(
    |                                                                             |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                             `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
313 |                 windowSamples,
314 |                 source: audioSource,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:130:22: warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
128 |     /// - Parameter buffer: Audio buffer in any format (will be converted to 16kHz mono)
129 |     public func streamAudio(_ buffer: AVAudioPCMBuffer) {
130 |         inputBuilder.yield(buffer)
    |                      |- warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: 'self'-isolated 'buffer' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
131 |     }
132 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:195:34: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
193 |         // Reset decoder state for the current audio source
194 |         if let asrManager = asrManager {
195 |             try await asrManager.resetDecoderState(for: audioSource)
    |                                  |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
196 |         }
197 |
[41/46] Compiling FluidAudio StreamingAsrManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:55:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 36 |
 37 |     /// Track performance for a processing session
 38 |     public func trackSession<T>(
    |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 39 |         operation: String,
 40 |         audioLengthSeconds: Float,
    :
 53 |
 54 |         // Execute the operation
 55 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 56 |
 57 |         let totalTime = Date().timeIntervalSince(startTime)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:88:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 78 |
 79 |     /// Track a specific component's execution time
 80 |     public func trackComponent<T>(
    |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 81 |         _ component: String,
 82 |         block: () async throws -> T
    :
 86 |
 87 |         let startTime = Date()
 88 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 89 |         let time = Date().timeIntervalSince(startTime)
 90 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:103:13: warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
101 |             logger.info("Recognition task started, waiting for audio...")
102 |
103 |             for await pcmBuffer in self.inputSequence {
    |             `- warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
104 |                 do {
105 |                     // Convert to 16kHz mono
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:168:38: warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
166 |
167 |         if let monitor = monitor {
168 |             return try await monitor.trackSession(
    |                                      |- warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated value of non-Sendable type '() async throws -> ASRResult' to actor-isolated instance method 'trackSession(operation:audioLengthSeconds:block:)' risks causing races in between task-isolated and actor-isolated uses
169 |                 operation: "Transcription",
170 |                 audioLengthSeconds: audioLengthSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:87:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 85 |         // Initialize ASR manager with provided models
 86 |         asrManager = AsrManager(config: config.asrConfig)
 87 |         try await asrManager?.initialize(models: models)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 88 |
 89 |         // Reset decoder state for the specific source
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:90:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 88 |
 89 |         // Reset decoder state for the specific source
 90 |         try await asrManager?.resetDecoderState(for: source)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 91 |
 92 |         // Reset sliding window state
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:445:38: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
443 |         if let asrManager = asrManager {
444 |             do {
445 |                 try await asrManager.resetDecoderState(for: audioSource)
    |                                      |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
446 |                 logger.info("Successfully reset decoder state during error recovery")
447 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:312:77: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
310 |
311 |             // Call AsrManager directly with deduplication
312 |             let (tokens, timestamps, confidences, _) = try await asrManager.transcribeStreamingChunk(
    |                                                                             |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                             `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
313 |                 windowSamples,
314 |                 source: audioSource,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:130:22: warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
128 |     /// - Parameter buffer: Audio buffer in any format (will be converted to 16kHz mono)
129 |     public func streamAudio(_ buffer: AVAudioPCMBuffer) {
130 |         inputBuilder.yield(buffer)
    |                      |- warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: 'self'-isolated 'buffer' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
131 |     }
132 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:195:34: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
193 |         // Reset decoder state for the current audio source
194 |         if let asrManager = asrManager {
195 |             try await asrManager.resetDecoderState(for: audioSource)
    |                                  |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
196 |         }
197 |
[42/46] Compiling FluidAudio StreamingAsrSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:55:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 36 |
 37 |     /// Track performance for a processing session
 38 |     public func trackSession<T>(
    |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 39 |         operation: String,
 40 |         audioLengthSeconds: Float,
    :
 53 |
 54 |         // Execute the operation
 55 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 56 |
 57 |         let totalTime = Date().timeIntervalSince(startTime)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:88:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 78 |
 79 |     /// Track a specific component's execution time
 80 |     public func trackComponent<T>(
    |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 81 |         _ component: String,
 82 |         block: () async throws -> T
    :
 86 |
 87 |         let startTime = Date()
 88 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 89 |         let time = Date().timeIntervalSince(startTime)
 90 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:103:13: warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
101 |             logger.info("Recognition task started, waiting for audio...")
102 |
103 |             for await pcmBuffer in self.inputSequence {
    |             `- warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
104 |                 do {
105 |                     // Convert to 16kHz mono
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:168:38: warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
166 |
167 |         if let monitor = monitor {
168 |             return try await monitor.trackSession(
    |                                      |- warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated value of non-Sendable type '() async throws -> ASRResult' to actor-isolated instance method 'trackSession(operation:audioLengthSeconds:block:)' risks causing races in between task-isolated and actor-isolated uses
169 |                 operation: "Transcription",
170 |                 audioLengthSeconds: audioLengthSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:87:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 85 |         // Initialize ASR manager with provided models
 86 |         asrManager = AsrManager(config: config.asrConfig)
 87 |         try await asrManager?.initialize(models: models)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 88 |
 89 |         // Reset decoder state for the specific source
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:90:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 88 |
 89 |         // Reset decoder state for the specific source
 90 |         try await asrManager?.resetDecoderState(for: source)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 91 |
 92 |         // Reset sliding window state
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:445:38: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
443 |         if let asrManager = asrManager {
444 |             do {
445 |                 try await asrManager.resetDecoderState(for: audioSource)
    |                                      |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
446 |                 logger.info("Successfully reset decoder state during error recovery")
447 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:312:77: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
310 |
311 |             // Call AsrManager directly with deduplication
312 |             let (tokens, timestamps, confidences, _) = try await asrManager.transcribeStreamingChunk(
    |                                                                             |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                             `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
313 |                 windowSamples,
314 |                 source: audioSource,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:130:22: warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
128 |     /// - Parameter buffer: Audio buffer in any format (will be converted to 16kHz mono)
129 |     public func streamAudio(_ buffer: AVAudioPCMBuffer) {
130 |         inputBuilder.yield(buffer)
    |                      |- warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: 'self'-isolated 'buffer' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
131 |     }
132 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:195:34: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
193 |         // Reset decoder state for the current audio source
194 |         if let asrManager = asrManager {
195 |             try await asrManager.resetDecoderState(for: audioSource)
    |                                  |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
196 |         }
197 |
[43/46] Compiling FluidAudio TdtConfig.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:55:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 36 |
 37 |     /// Track performance for a processing session
 38 |     public func trackSession<T>(
    |                              `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 39 |         operation: String,
 40 |         audioLengthSeconds: Float,
    :
 53 |
 54 |         // Execute the operation
 55 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 56 |
 57 |         let totalTime = Date().timeIntervalSince(startTime)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:88:32: warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 78 |
 79 |     /// Track a specific component's execution time
 80 |     public func trackComponent<T>(
    |                                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 81 |         _ component: String,
 82 |         block: () async throws -> T
    :
 86 |
 87 |         let startTime = Date()
 88 |         let result = try await block()
    |                                `- warning: non-sendable result type 'T' cannot be sent from nonisolated context in call to parameter 'block'; this is an error in the Swift 6 language mode
 89 |         let time = Date().timeIntervalSince(startTime)
 90 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:103:13: warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
101 |             logger.info("Recognition task started, waiting for audio...")
102 |
103 |             for await pcmBuffer in self.inputSequence {
    |             `- warning: non-sendable result type 'AVAudioPCMBuffer?' cannot be sent from nonisolated context in call to instance method 'next()'; this is an error in the Swift 6 language mode
104 |                 do {
105 |                     // Convert to 16kHz mono
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioBuffer.h:67:12: note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 65 | */
 66 | API_AVAILABLE(macos(10.10), ios(8.0), watchos(2.0), tvos(9.0))
 67 | @interface AVAudioPCMBuffer : AVAudioBuffer
    |            `- note: class 'AVAudioPCMBuffer' does not conform to the 'Sendable' protocol
 68 |
 69 | /*!	@method initWithPCMFormat:frameCapacity:
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  1 | import AVFoundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFAudio'
  2 | import Foundation
  3 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/PerformanceMetrics.swift:168:38: warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
166 |
167 |         if let monitor = monitor {
168 |             return try await monitor.trackSession(
    |                                      |- warning: sending value of non-Sendable type '() async throws -> ASRResult' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated value of non-Sendable type '() async throws -> ASRResult' to actor-isolated instance method 'trackSession(operation:audioLengthSeconds:block:)' risks causing races in between task-isolated and actor-isolated uses
169 |                 operation: "Transcription",
170 |                 audioLengthSeconds: audioLengthSeconds
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:87:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 85 |         // Initialize ASR manager with provided models
 86 |         asrManager = AsrManager(config: config.asrConfig)
 87 |         try await asrManager?.initialize(models: models)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 88 |
 89 |         // Reset decoder state for the specific source
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:90:31: warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
 88 |
 89 |         // Reset decoder state for the specific source
 90 |         try await asrManager?.resetDecoderState(for: source)
    |                               |- warning: sending 'self.asrManager.some' risks causing data races; this is an error in the Swift 6 language mode
    |                               `- note: sending 'self'-isolated 'self.asrManager.some' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
 91 |
 92 |         // Reset sliding window state
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:445:38: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
443 |         if let asrManager = asrManager {
444 |             do {
445 |                 try await asrManager.resetDecoderState(for: audioSource)
    |                                      |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
446 |                 logger.info("Successfully reset decoder state during error recovery")
447 |             } catch {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:312:77: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
310 |
311 |             // Call AsrManager directly with deduplication
312 |             let (tokens, timestamps, confidences, _) = try await asrManager.transcribeStreamingChunk(
    |                                                                             |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                             `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
313 |                 windowSamples,
314 |                 source: audioSource,
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:130:22: warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
128 |     /// - Parameter buffer: Audio buffer in any format (will be converted to 16kHz mono)
129 |     public func streamAudio(_ buffer: AVAudioPCMBuffer) {
130 |         inputBuilder.yield(buffer)
    |                      |- warning: sending 'buffer' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: 'self'-isolated 'buffer' is passed as a 'sending' parameter; Uses in callee may race with later 'self'-isolated uses
131 |     }
132 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/Streaming/StreamingAsrManager.swift:195:34: warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
193 |         // Reset decoder state for the current audio source
194 |         if let asrManager = asrManager {
195 |             try await asrManager.resetDecoderState(for: audioSource)
    |                                  |- warning: sending 'asrManager' risks causing data races; this is an error in the Swift 6 language mode
    |                                  `- note: sending 'self'-isolated 'asrManager' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
196 |         }
197 |
[44/65] Compiling FluidAudioCLI VadBenchmark.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
[45/65] Compiling FluidAudioCLI AMIParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
[46/65] Compiling FluidAudioCLI TextNormalizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:9:5: warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
  4 | import Foundation
  5 |
  6 | let cliLogger = AppLogger(category: "Main")
    |     `- note: let declared here
  7 |
  8 | func printUsage() {
    |      `- note: add '@MainActor' to make global function 'printUsage()' part of global actor 'MainActor'
  9 |     cliLogger.info(
    |     `- warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 10 |         """
 11 |         FluidAudio CLI
[47/65] Compiling FluidAudioCLI main.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:9:5: warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
  4 | import Foundation
  5 |
  6 | let cliLogger = AppLogger(category: "Main")
    |     `- note: let declared here
  7 |
  8 | func printUsage() {
    |      `- note: add '@MainActor' to make global function 'printUsage()' part of global actor 'MainActor'
  9 |     cliLogger.info(
    |     `- warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 10 |         """
 11 |         FluidAudio CLI
[48/65] Compiling FluidAudioCLI StreamingUI.swift
[49/65] Compiling FluidAudioCLI TerminalUI.swift
[50/66] Compiling FluidAudioCLI resource_bundle_accessor.swift
[51/66] Compiling FluidAudioCLI AudioProcessor.swift
[52/66] Compiling FluidAudioCLI ResultsFormatter.swift
[53/66] Compiling FluidAudioCLI FleursBenchmark.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:50:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:320:36: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
318 |
319 |                 // Stream the chunk immediately - no waiting
320 |                 await streamingAsr.streamAudio(chunkBuffer)
    |                                    |- warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
    |                                    |- note: sending 'chunkBuffer' to actor-isolated instance method 'streamAudio' risks causing data races between actor-isolated and local nonisolated uses
    |                                    `- note: access can happen concurrently
321 |
322 |                 // Update progress with actual processing time
[54/66] Compiling FluidAudioCLI TranscribeCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:50:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:320:36: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
318 |
319 |                 // Stream the chunk immediately - no waiting
320 |                 await streamingAsr.streamAudio(chunkBuffer)
    |                                    |- warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
    |                                    |- note: sending 'chunkBuffer' to actor-isolated instance method 'streamAudio' risks causing data races between actor-isolated and local nonisolated uses
    |                                    `- note: access can happen concurrently
321 |
322 |                 // Update progress with actual processing time
[55/66] Compiling FluidAudioCLI DatasetDownloader.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  2 | import AVFoundation
  3 | import Foundation
  4 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  5 |
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
[56/66] Compiling FluidAudioCLI CLIModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  2 | import AVFoundation
  3 | import Foundation
  4 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  5 |
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
[57/66] Compiling FluidAudioCLI AsrBenchmark.swift
[58/66] Compiling FluidAudioCLI AsrBenchmarkTypes.swift
[59/66] Emitting module FluidAudioCLI
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:50:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
 48 | @available(macOS 13.0, *)
 49 | enum TranscribeCommand {
 50 |     private static let logger = AppLogger(category: "Transcribe")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 51 |
 52 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   1 | #if os(macOS)
   2 | import AVFoundation
   3 | import FluidAudio
     | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   4 | import Foundation
   5 |
     :
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:9:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 |
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
  6 | /// VAD benchmark implementation
  7 | struct VadBenchmark {
  8 |     private static let logger = AppLogger(category: "VAD")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     static func runVadBenchmark(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/AMIParser.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// AMI annotation parser and ground truth handling
  6 | struct AMIParser {
  7 |     private static let logger = AppLogger(category: "AMIParser")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |
  9 |     /// Get ground truth speaker count from AMI meetings.xml
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:8:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/DatasetParsers/DatasetDownloader.swift:4:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  2 | import AVFoundation
  3 | import Foundation
  4 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  5 |
  6 | /// Dataset downloading functionality for AMI and VAD datasets
  7 | struct DatasetDownloader {
  8 |     private static let logger = AppLogger(category: "Dataset")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |
 10 |     enum AMIVariant: String, CaseIterable {
[60/66] Compiling FluidAudioCLI DiarizationBenchmark.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   1 | #if os(macOS)
   2 | import AVFoundation
   3 | import FluidAudio
     | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   4 | import Foundation
   5 |
     :
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
[61/66] Compiling FluidAudioCLI DownloadCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:10:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   1 | #if os(macOS)
   2 | import AVFoundation
   3 | import FluidAudio
     | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
   4 | import Foundation
   5 |
     :
   8 | @available(macOS 13.0, *)
   9 | enum StreamDiarizationBenchmark {
  10 |     private static let logger = AppLogger(category: "DiarizationBench")
     |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  11 |
  12 |     struct BenchmarkResult {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DownloadCommand.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  3 | import Foundation
  4 |
  5 | /// Handler for the 'download' command - downloads benchmark datasets
  6 | enum DownloadCommand {
  7 |     private static let logger = AppLogger(category: "Download")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         var dataset = "all"
[62/66] Compiling FluidAudioCLI MultiStreamCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:9:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 |
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:227:26: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
225 |             chunkBuffer.frameLength = AVAudioFrameCount(chunkSize)
226 |
227 |             await stream.streamAudio(chunkBuffer)
    |                          |- warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: sending task-isolated 'chunkBuffer' to actor-isolated instance method 'streamAudio' risks causing data races between actor-isolated and task-isolated uses
228 |
229 |             position += chunkSize
[63/66] Compiling FluidAudioCLI ProcessCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:9:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 | import Foundation
  5 |
    :
  7 | @available(macOS 13.0, *)
  8 | enum MultiStreamCommand {
  9 |     private static let logger = AppLogger(category: "MultiStream")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 10 |
 11 |     static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:7:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        `- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AppLogger.swift:6:15: note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  4 | /// Lightweight logger that writes to Unified Logging and, optionally, to console.
  5 | /// Use this instead of `OSLog.Logger` so CLI runs can surface logs without `print`.
  6 | public struct AppLogger {
    |               `- note: struct 'AppLogger' does not conform to the 'Sendable' protocol
  7 |     /// Default subsystem for all loggers in FluidAudio.
  8 |     /// Keep this consistent; categories should vary per component.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  1 | #if os(macOS)
  2 | import AVFoundation
  3 | import FluidAudio
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
  4 |
  5 | /// Handler for the 'process' command - processes a single audio file
  6 | enum ProcessCommand {
  7 |     private static let logger = AppLogger(category: "Process")
    |                        |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  8 |     static func run(arguments: [String]) async {
  9 |         guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:227:26: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
225 |             chunkBuffer.frameLength = AVAudioFrameCount(chunkSize)
226 |
227 |             await stream.streamAudio(chunkBuffer)
    |                          |- warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: sending task-isolated 'chunkBuffer' to actor-isolated instance method 'streamAudio' risks causing data races between actor-isolated and task-isolated uses
228 |
229 |             position += chunkSize
[63/66] Write Objects.LinkFileList
[64/66] Linking fluidaudio
[65/66] Applying fluidaudio
Build complete! (13.12s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FluidAudio",
  "name" : "FluidAudio",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "FluidAudio",
      "targets" : [
        "FluidAudio"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "fluidaudio",
      "targets" : [
        "FluidAudioCLI"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FluidAudioTests",
      "module_type" : "SwiftTarget",
      "name" : "FluidAudioTests",
      "path" : "Tests/FluidAudioTests",
      "sources" : [
        "ANEMemoryOptimizerTests.swift",
        "ANEMemoryUtilsEdgeCaseTests.swift",
        "ANEOptimizerTests.swift",
        "ASRConstantsTests.swift",
        "ArraySliceTests.swift",
        "AsrManagerExtensionTests.swift",
        "AsrManagerTests.swift",
        "AsrModelsTests.swift",
        "AsrTranscriptionTests.swift",
        "AudioConverterTests.swift",
        "AudioSourceTests.swift",
        "BasicInitializationTests.swift",
        "CITests.swift",
        "ChunkProcessorEdgeCaseTests.swift",
        "ChunkProcessorTests.swift",
        "DecoderStateTests.swift",
        "DiarizerMemoryTests.swift",
        "EmbeddingExtractorMemoryTests.swift",
        "MLArrayCacheTests.swift",
        "RandomAccessCollectionTests.swift",
        "SegmentationProcessorEdgeCaseTests.swift",
        "SegmentationProcessorTests.swift",
        "SendableTests.swift",
        "SpeakerManagerTests.swift",
        "SpeakerOperationsTests.swift",
        "SpeakerTests.swift",
        "StreamingAsrManagerTests.swift",
        "StreamingAsrSessionTests.swift",
        "TdtConfigTests.swift",
        "TdtDecoderChunkTests.swift",
        "TdtDecoderStateV3Tests.swift",
        "TdtDecoderTests.swift",
        "TdtTimeJumpIntegrationTests.swift",
        "VadTests.swift"
      ],
      "target_dependencies" : [
        "FluidAudio"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FluidAudioCLI",
      "module_type" : "SwiftTarget",
      "name" : "FluidAudioCLI",
      "path" : "Sources/FluidAudioCLI",
      "product_memberships" : [
        "fluidaudio"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Utils/english.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Commands/ASR/AsrBenchmark.swift",
        "Commands/ASR/AsrBenchmarkTypes.swift",
        "Commands/ASR/FleursBenchmark.swift",
        "Commands/ASR/TranscribeCommand.swift",
        "Commands/DiarizationBenchmark.swift",
        "Commands/DownloadCommand.swift",
        "Commands/MultiStreamCommand.swift",
        "Commands/ProcessCommand.swift",
        "Commands/VadBenchmark.swift",
        "DatasetParsers/AMIParser.swift",
        "DatasetParsers/DatasetDownloader.swift",
        "Models/CLIModels.swift",
        "Utils/AudioProcessor.swift",
        "Utils/ResultsFormatter.swift",
        "Utils/StreamingUI.swift",
        "Utils/TerminalUI.swift",
        "Utils/TextNormalizer.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "FluidAudio"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "FluidAudio",
      "module_type" : "SwiftTarget",
      "name" : "FluidAudio",
      "path" : "Sources/FluidAudio",
      "product_memberships" : [
        "FluidAudio",
        "fluidaudio"
      ],
      "sources" : [
        "ASR/ANEOptimizer.swift",
        "ASR/AsrManager.swift",
        "ASR/AsrModels.swift",
        "ASR/AsrTranscription.swift",
        "ASR/AsrTypes.swift",
        "ASR/AudioBuffer.swift",
        "ASR/ChunkProcessor.swift",
        "ASR/MLArrayCache.swift",
        "ASR/PerformanceMetrics.swift",
        "ASR/Streaming/StreamingAsrManager.swift",
        "ASR/Streaming/StreamingAsrSession.swift",
        "ASR/TDT/TdtConfig.swift",
        "ASR/TDT/TdtDecoder.swift",
        "ASR/TDT/TdtDecoderState.swift",
        "ASR/TDT/TdtHypothesis.swift",
        "Diarizer/AudioValidation.swift",
        "Diarizer/DiarizerManager.swift",
        "Diarizer/DiarizerModels.swift",
        "Diarizer/DiarizerTypes.swift",
        "Diarizer/EmbeddingExtractor.swift",
        "Diarizer/SegmentationProcessor.swift",
        "Diarizer/SlidingWindow.swift",
        "Diarizer/SpeakerManager.swift",
        "Diarizer/SpeakerOperations.swift",
        "Diarizer/SpeakerTypes.swift",
        "DownloadUtils.swift",
        "FluidAudioSwift.swift",
        "ModelNames.swift",
        "Shared/ANEMemoryOptimizer.swift",
        "Shared/ANEMemoryUtils.swift",
        "Shared/ASRConstants.swift",
        "Shared/AppLogger.swift",
        "Shared/AudioConverter.swift",
        "VAD/VadAudioProcessor.swift",
        "VAD/VadManager.swift",
        "VAD/VadModelProcessor.swift",
        "VAD/VadTypes.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.10"
}
Done.