Build Information
Successful build of FluidAudio, reference main (ddee66), with Swift 6.1 for macOS (SPM) on 15 Dec 2025 19:24:12 UTC.
Swift 6 data race errors: 33
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 InferSendableFromCapturesBuild Log
185 | queue.sync(flags: .barrier) {
186 | self.callback = { (chunk: [Float], timestamp: TimeInterval) -> Void in
187 | Task.detached(priority: priority) {
| `- 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
188 | await callback(C(chunk), timestamp)
| `- note: closure captures 'callback' which is accessible to code in the current task
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/MLModel+Prediction.swift:17:34: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
15 | do {
16 | let result = try prediction(from: input, options: options)
17 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
18 | } catch {
19 | continuation.resume(throwing: error)
[62/71] Compiling FluidAudio StreamingAudioSourceFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioStream.swift:169:51: 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
167 | queue.sync(flags: .barrier) {
168 | self.callback = { (chunk: [Float], timestamp: TimeInterval) -> Void in
169 | Task.detached(priority: priority) {
| `- 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
170 | await callback(chunk, timestamp)
| `- note: closure captures 'callback' which is accessible to code in the current task
171 | }
172 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/AudioStream.swift:187:51: 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
185 | queue.sync(flags: .barrier) {
186 | self.callback = { (chunk: [Float], timestamp: TimeInterval) -> Void in
187 | Task.detached(priority: priority) {
| `- 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
188 | await callback(C(chunk), timestamp)
| `- note: closure captures 'callback' which is accessible to code in the current task
189 | }
190 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/Shared/MLModel+Prediction.swift:17:34: warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
15 | do {
16 | let result = try prediction(from: input, options: options)
17 | continuation.resume(returning: result)
| |- warning: sending 'result' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'result' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
18 | } catch {
19 | continuation.resume(throwing: error)
[63/71] Compiling FluidAudio ANEOptimizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[64/71] Compiling FluidAudio AsrManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[65/71] Compiling FluidAudio AsrModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[66/71] Compiling FluidAudio AsrTranscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[67/71] Compiling FluidAudio AsrTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[68/71] Compiling FluidAudio AudioBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrManager.swift:124: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
122 |
123 | // Use ANE-aligned array from cache
124 | 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
125 | shape: [1, audioLength] as [NSNumber],
126 | 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:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import AVFoundation
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import Foundation
4 | import OSLog
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/AsrModels.swift:31: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
29 | public let version: AsrModelVersion
30 |
31 | 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
32 |
33 | 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.
[69/89] Compiling FluidAudioTTS TtsManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsManager.swift:77:26: warning: sending 'models' risks causing data races; this is an error in the Swift 6 language mode
75 | self.ttsModels = models
76 |
77 | await modelCache.registerPreloadedModels(models)
| |- warning: sending 'models' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'models' to actor-isolated instance method 'registerPreloadedModels' risks causing data races between actor-isolated and task-isolated uses
78 | try await prepareLexiconAssetsIfNeeded()
79 | try await preloadVoiceEmbeddings(preloadVoices)
[70/90] Compiling FluidAudioTTS TtsModels.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsModels.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 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
9 | private static let logger = AppLogger(category: "TtsModels")
| `- 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 | public init(models: [ModelNames.TTS.Variant: MLModel]) {
/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/FluidAudioTTS/TextToSpeech/TtsModels.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import CoreML
2 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
3 | import Foundation
4 | import OSLog
:
7 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
9 | private static let logger = AppLogger(category: "TtsModels")
| |- 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 | public init(models: [ModelNames.TTS.Variant: MLModel]) {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsModels.swift:62:57: 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
60 | try await withThrowingTaskGroup(of: (ModelNames.TTS.Variant, TimeInterval).self) { group in
61 | for (variant, model) in loaded {
62 | group.addTask(priority: .userInitiated) {
| `- 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
63 | let warmUpStart = Date()
64 | await warmUpModel(model, variant: variant)
| `- note: closure captures 'model' which is accessible to code in the current task
65 | let warmUpDuration = Date().timeIntervalSince(warmUpStart)
66 | return (variant, warmUpDuration)
[71/90] Compiling FluidAudioTTS TtsCustomLexicon.swift
[72/90] Compiling FluidAudioTTS TtsConstants.swift
[73/90] Compiling FluidAudioTTS KokoroSynthesizer+Memory.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+ModelUtils.swift:30:32: warning: non-sendable result type 'MLModel' cannot be sent from actor-isolated context in call to instance method 'model(for:)'; this is an error in the Swift 6 language mode
28 | static func model(for variant: ModelNames.TTS.Variant) async throws -> MLModel {
29 | let cache = try currentModelCache()
30 | return try await cache.model(for: variant)
| `- warning: non-sendable result type 'MLModel' cannot be sent from actor-isolated context in call to instance method 'model(for:)'; this is an error in the Swift 6 language mode
31 | }
32 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h:28:12: note: class 'MLModel' does not conform to the 'Sendable' protocol
26 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
27 | ML_EXPORT
28 | @interface MLModel : NSObject
| `- note: class 'MLModel' does not conform to the 'Sendable' protocol
29 |
30 | /// A model holds a description of its required inputs and expected outputs.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+ModelUtils.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 FluidAudio
3 | import Foundation
[74/90] Compiling FluidAudioTTS KokoroSynthesizer+ModelUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+ModelUtils.swift:30:32: warning: non-sendable result type 'MLModel' cannot be sent from actor-isolated context in call to instance method 'model(for:)'; this is an error in the Swift 6 language mode
28 | static func model(for variant: ModelNames.TTS.Variant) async throws -> MLModel {
29 | let cache = try currentModelCache()
30 | return try await cache.model(for: variant)
| `- warning: non-sendable result type 'MLModel' cannot be sent from actor-isolated context in call to instance method 'model(for:)'; this is an error in the Swift 6 language mode
31 | }
32 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreML.framework/Headers/MLModel.h:28:12: note: class 'MLModel' does not conform to the 'Sendable' protocol
26 | API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0))
27 | ML_EXPORT
28 | @interface MLModel : NSObject
| `- note: class 'MLModel' does not conform to the 'Sendable' protocol
29 |
30 | /// A model holds a description of its required inputs and expected outputs.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+ModelUtils.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 FluidAudio
3 | import Foundation
[75/90] Compiling FluidAudioTTS PhonemeMapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:6: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
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| `- 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 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import OSLog
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| |- 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
7 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
[76/90] Compiling FluidAudioTTS TtsTextPreprocessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:6: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
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| `- 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 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import OSLog
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| |- 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
7 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
[77/90] Compiling FluidAudioTTS KokoroModelCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroModelCache.swift:30:55: warning: non-sendable result type 'TtsModels' cannot be sent from nonisolated context in call to static method 'download(variants:from:progressHandler:)'; this is an error in the Swift 6 language mode
28 |
29 | if !variantsNeedingDownload.isEmpty {
30 | let newlyDownloaded = try await TtsModels.download(variants: Set(variantsNeedingDownload))
| `- warning: non-sendable result type 'TtsModels' cannot be sent from nonisolated context in call to static method 'download(variants:from:progressHandler:)'; this is an error in the Swift 6 language mode
31 | for (variant, model) in newlyDownloaded.modelsByVariant {
32 | downloadedModels[variant] = model
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsModels.swift:6:15: note: consider making struct 'TtsModels' conform to the 'Sendable' protocol
4 | import OSLog
5 |
6 | public struct TtsModels {
| `- note: consider making struct 'TtsModels' conform to the 'Sendable' protocol
7 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
[78/90] Compiling FluidAudioTTS KokoroSynthesizer+LexiconCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroModelCache.swift:30:55: warning: non-sendable result type 'TtsModels' cannot be sent from nonisolated context in call to static method 'download(variants:from:progressHandler:)'; this is an error in the Swift 6 language mode
28 |
29 | if !variantsNeedingDownload.isEmpty {
30 | let newlyDownloaded = try await TtsModels.download(variants: Set(variantsNeedingDownload))
| `- warning: non-sendable result type 'TtsModels' cannot be sent from nonisolated context in call to static method 'download(variants:from:progressHandler:)'; this is an error in the Swift 6 language mode
31 | for (variant, model) in newlyDownloaded.modelsByVariant {
32 | downloadedModels[variant] = model
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsModels.swift:6:15: note: consider making struct 'TtsModels' conform to the 'Sendable' protocol
4 | import OSLog
5 |
6 | public struct TtsModels {
| `- note: consider making struct 'TtsModels' conform to the 'Sendable' protocol
7 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
[79/90] Compiling FluidAudioTTS KokoroSynthesizer+Types.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:22: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
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| `- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import NaturalLanguage
:
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| |- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
[80/90] Compiling FluidAudioTTS KokoroChunker.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:22: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
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| `- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import NaturalLanguage
:
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| |- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
[81/90] Compiling FluidAudioTTS LexiconAssetManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.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 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| `- 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 | /// Download a voice embedding JSON file from HuggingFace
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 |
:
5 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| |- 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 | /// Download a voice embedding JSON file from HuggingFace
[82/90] Compiling FluidAudioTTS TtsResourceDownloader.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.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 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| `- 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 | /// Download a voice embedding JSON file from HuggingFace
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 |
:
5 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| |- 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 | /// Download a voice embedding JSON file from HuggingFace
[83/90] Compiling FluidAudioTTS EspeakG2P.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:31:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
5 | /// Thread-safe wrapper around eSpeak NG C API to get IPA phonemes for a word.
6 | /// Uses espeak_TextToPhonemes with IPA mode.
7 | final class EspeakG2P {
| `- note: class 'EspeakG2P' does not conform to the 'Sendable' protocol
8 | enum EspeakG2PError: Error, LocalizedError {
9 | case frameworkBundleMissing
:
29 | }
30 |
31 | static let shared = EspeakG2P()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | private let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
33 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:110:24: warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| `- warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
111 |
112 | @discardableResult
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import ESpeakNG
2 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
3 | import Foundation
4 |
:
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| |- note: add '@MainActor' to make static property 'staticLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/KokoroVocabulary.swift:91:43: warning: sending 'self.logger' risks causing data races; this is an error in the Swift 6 language mode
89 |
90 | do {
91 | _ = try await AssetDownloader.ensure(descriptor, logger: logger)
| |- warning: sending 'self.logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.logger' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
92 | } catch {
93 | logger.error("Failed to download vocabulary: \(error.localizedDescription)")
[84/90] Compiling FluidAudioTTS KokoroVocabulary.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:31:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
5 | /// Thread-safe wrapper around eSpeak NG C API to get IPA phonemes for a word.
6 | /// Uses espeak_TextToPhonemes with IPA mode.
7 | final class EspeakG2P {
| `- note: class 'EspeakG2P' does not conform to the 'Sendable' protocol
8 | enum EspeakG2PError: Error, LocalizedError {
9 | case frameworkBundleMissing
:
29 | }
30 |
31 | static let shared = EspeakG2P()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | private let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
33 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:110:24: warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| `- warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
111 |
112 | @discardableResult
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import ESpeakNG
2 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
3 | import Foundation
4 |
:
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| |- note: add '@MainActor' to make static property 'staticLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/KokoroVocabulary.swift:91:43: warning: sending 'self.logger' risks causing data races; this is an error in the Swift 6 language mode
89 |
90 | do {
91 | _ = try await AssetDownloader.ensure(descriptor, logger: logger)
| |- warning: sending 'self.logger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.logger' to nonisolated callee risks causing data races between nonisolated and 'self'-isolated uses
92 | } catch {
93 | logger.error("Failed to download vocabulary: \(error.localizedDescription)")
[85/90] Emitting module FluidAudioTTS
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:31:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
5 | /// Thread-safe wrapper around eSpeak NG C API to get IPA phonemes for a word.
6 | /// Uses espeak_TextToPhonemes with IPA mode.
7 | final class EspeakG2P {
| `- note: class 'EspeakG2P' does not conform to the 'Sendable' protocol
8 | enum EspeakG2PError: Error, LocalizedError {
9 | case frameworkBundleMissing
:
29 | }
30 |
31 | static let shared = EspeakG2P()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'EspeakG2P' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | private let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
33 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:110:24: warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| `- warning: static property 'staticLogger' is not concurrency-safe because non-'Sendable' type 'AppLogger' may have shared mutable state; this is an error in the Swift 6 language mode
111 |
112 | @discardableResult
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import ESpeakNG
2 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
3 | import Foundation
4 |
:
108 | }
109 |
110 | private static let staticLogger = AppLogger(subsystem: "com.fluidaudio.tts", category: "EspeakG2P")
| |- note: add '@MainActor' to make static property 'staticLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 |
112 | @discardableResult
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.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 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| `- 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 | /// Download a voice embedding JSON file from HuggingFace
/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/FluidAudioTTS/TextToSpeech/Kokoro/Assets/TtsResourceDownloader.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 |
:
5 | public enum TtsResourceDownloader {
6 |
7 | private static let logger = AppLogger(category: "TtsResourceDownloader")
| |- 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 | /// Download a voice embedding JSON file from HuggingFace
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:22: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
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| `- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import NaturalLanguage
:
20 | /// token capacity before synthesis.
21 | enum KokoroChunker {
22 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "KokoroChunker")
| |- 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
23 | private static let decimalDigits = CharacterSet.decimalDigits
24 | private static let apostropheCharacters: Set<Character> = ["'", "’", "ʼ", "‛", "‵", "′"]
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:6: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
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| `- 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 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import Foundation
3 | import OSLog
4 |
5 | enum PhonemeMapper {
6 | private static let logger = AppLogger(subsystem: "com.fluidaudio.tts", category: "PhonemeMapper")
| |- 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
7 |
8 | /// Map a sequence of IPA tokens to Kokoro vocabulary tokens, filtering to `allowed`.
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:13:16: 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 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| `- 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
14 |
15 | static let lexiconCache = LexiconCache()
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import Accelerate
2 | import CoreML
3 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
4 | import Foundation
5 | import OSLog
:
11 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| |- 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
14 |
15 | static let lexiconCache = LexiconCache()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:73:16: warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | }
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
| |- warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingPayloads' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingPayloads' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
75 | static let voiceEmbeddingLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:74:16: warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
| |- warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingVectors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingVectors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static let voiceEmbeddingLock = NSLock()
76 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/TtsModels.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 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
9 | private static let logger = AppLogger(category: "TtsModels")
| `- 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 | public init(models: [ModelNames.TTS.Variant: MLModel]) {
/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/FluidAudioTTS/TextToSpeech/TtsModels.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import CoreML
2 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
3 | import Foundation
4 | import OSLog
:
7 | private let kokoroModels: [ModelNames.TTS.Variant: MLModel]
8 |
9 | private static let logger = AppLogger(category: "TtsModels")
| |- 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 | public init(models: [ModelNames.TTS.Variant: MLModel]) {
[86/90] Compiling FluidAudioTTS KokoroSynthesizer+VoiceEmbeddings.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:13:16: 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 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| `- 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
14 |
15 | static let lexiconCache = LexiconCache()
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import Accelerate
2 | import CoreML
3 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
4 | import Foundation
5 | import OSLog
:
11 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| |- 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
14 |
15 | static let lexiconCache = LexiconCache()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:73:16: warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | }
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
| |- warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingPayloads' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingPayloads' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
75 | static let voiceEmbeddingLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:74:16: warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
| |- warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingVectors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingVectors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static let voiceEmbeddingLock = NSLock()
76 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:261:49: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
259 |
260 | let refShape: [NSNumber] = [1, NSNumber(value: referenceVector.count)]
261 | let refStyle = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
262 | shape: refShape,
263 | 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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import Accelerate
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import FluidAudio
4 | import Foundation
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:288:51: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
286 | let inputShape: [NSNumber] = [1, NSNumber(value: targetTokens)]
287 | let phasesShape: [NSNumber] = [1, 9]
288 | let inputArray = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
289 | shape: inputShape,
290 | dataType: .int32,
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:293:54: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
291 | zeroFill: false
292 | )
293 | let attentionMask = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
294 | shape: inputShape,
295 | dataType: .int32,
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:298:52: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
296 | zeroFill: false
297 | )
298 | let phasesArray = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
299 | shape: phasesShape,
300 | 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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:305:34: warning: sending 'phasesArray' risks causing data races; this is an error in the Swift 6 language mode
303 |
304 | func recycleModelArrays() async {
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
| |- warning: sending 'phasesArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'phasesArray' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:306:34: warning: sending 'attentionMask' risks causing data races; this is an error in the Swift 6 language mode
304 | func recycleModelArrays() async {
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
| |- warning: sending 'attentionMask' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'attentionMask' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:307:34: warning: sending 'inputArray' risks causing data races; this is an error in the Swift 6 language mode
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
| |- warning: sending 'inputArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'inputArray' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
309 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:308:34: warning: sending 'refStyle' risks causing data races; this is an error in the Swift 6 language mode
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
| |- warning: sending 'refStyle' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'refStyle' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
309 | }
310 |
[87/90] Compiling FluidAudioTTS KokoroSynthesizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:13:16: 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 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| `- 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
14 |
15 | static let lexiconCache = LexiconCache()
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import Accelerate
2 | import CoreML
3 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
4 | import Foundation
5 | import OSLog
:
11 | /// Supports both 5s and 15s variants with US English phoneme lexicons
12 | public struct KokoroSynthesizer {
13 | static let logger = AppLogger(category: "KokoroSynthesizer")
| |- 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
14 |
15 | static let lexiconCache = LexiconCache()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:73:16: warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
71 | }
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
| |- warning: static property 'voiceEmbeddingPayloads' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingPayloads' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingPayloads' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
75 | static let voiceEmbeddingLock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:74:16: warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | static var voiceEmbeddingPayloads: [String: VoiceEmbeddingPayload] = [:]
74 | static var voiceEmbeddingVectors: [VoiceEmbeddingCacheKey: [Float]] = [:]
| |- warning: static property 'voiceEmbeddingVectors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'voiceEmbeddingVectors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'voiceEmbeddingVectors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | static let voiceEmbeddingLock = NSLock()
76 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:261:49: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
259 |
260 | let refShape: [NSNumber] = [1, NSNumber(value: referenceVector.count)]
261 | let refStyle = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
262 | shape: refShape,
263 | 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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
1 | import Accelerate
2 | import CoreML
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreML'
3 | import FluidAudio
4 | import Foundation
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:288:51: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
286 | let inputShape: [NSNumber] = [1, NSNumber(value: targetTokens)]
287 | let phasesShape: [NSNumber] = [1, 9]
288 | let inputArray = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
289 | shape: inputShape,
290 | dataType: .int32,
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:293:54: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
291 | zeroFill: false
292 | )
293 | let attentionMask = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
294 | shape: inputShape,
295 | dataType: .int32,
/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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:298:52: warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
296 | zeroFill: false
297 | )
298 | let phasesArray = try await multiArrayPool.rent(
| `- warning: non-sendable result type 'MLMultiArray' cannot be sent from actor-isolated context in call to instance method 'rent(shape:dataType:zeroFill:)'; this is an error in the Swift 6 language mode
299 | shape: phasesShape,
300 | 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/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:305:34: warning: sending 'phasesArray' risks causing data races; this is an error in the Swift 6 language mode
303 |
304 | func recycleModelArrays() async {
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
| |- warning: sending 'phasesArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'phasesArray' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:306:34: warning: sending 'attentionMask' risks causing data races; this is an error in the Swift 6 language mode
304 | func recycleModelArrays() async {
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
| |- warning: sending 'attentionMask' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'attentionMask' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:307:34: warning: sending 'inputArray' risks causing data races; this is an error in the Swift 6 language mode
305 | await multiArrayPool.recycle(phasesArray, zeroFill: true)
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
| |- warning: sending 'inputArray' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'inputArray' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
309 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioTTS/TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift:308:34: warning: sending 'refStyle' risks causing data races; this is an error in the Swift 6 language mode
306 | await multiArrayPool.recycle(attentionMask, zeroFill: false)
307 | await multiArrayPool.recycle(inputArray, zeroFill: false)
308 | await multiArrayPool.recycle(refStyle, zeroFill: false)
| |- warning: sending 'refStyle' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'refStyle' to actor-isolated instance method 'recycle(_:zeroFill:)' risks causing data races between actor-isolated and task-isolated uses
309 | }
310 |
[88/111] Emitting module FluidAudioCLI
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:180: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
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | 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 |
:
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.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 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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 |
:
7 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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: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 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | 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 |
6 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:6:5: warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | import Foundation
5 |
6 | var standardError = FileHandle.standardError
| |- warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'standardError' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'standardError' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// Handler for the 'process' command - processes a single audio file
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.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 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | 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 | import Foundation
5 |
:
8 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/TTSCommand.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 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| `- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/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/TTSCommand.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import FluidAudioTTS
3 | import Foundation
:
5 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| |- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| `- 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 | private struct Options {
/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/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| |- 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 | private struct Options {
/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 {
[89/113] 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
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:80:9: 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() {
:
76 | }
77 |
78 | func logPeakMemoryUsage() {
| `- note: add '@MainActor' to make global function 'logPeakMemoryUsage()' part of global actor 'MainActor'
79 | guard let peakBytes = fetchPeakMemoryUsageBytes() else {
80 | cliLogger.error("Unable to determine peak memory usage")
| `- warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
81 | return
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:86: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() {
:
76 | }
77 |
78 | func logPeakMemoryUsage() {
| `- note: add '@MainActor' to make global function 'logPeakMemoryUsage()' part of global actor 'MainActor'
79 | guard let peakBytes = fetchPeakMemoryUsageBytes() else {
80 | cliLogger.error("Unable to determine peak memory usage")
:
84 | let peakGigabytes = Double(peakBytes) / 1024.0 / 1024.0 / 1024.0
85 | let formatted = String(format: "%.3f", peakGigabytes)
86 | 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
87 | "Peak memory usage (process-wide): \(formatted) GB"
88 | )
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:106:22: warning: sending 'cliLogger' risks causing data races; this is an error in the Swift 6 language mode
104 | // Log system information once at application startup
105 | Task {
106 | await SystemInfo.logOnce(using: cliLogger)
| |- warning: sending 'cliLogger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'cliLogger' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
107 | }
108 |
[90/113] Compiling FluidAudioCLI resource_bundle_accessor.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
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:80:9: 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() {
:
76 | }
77 |
78 | func logPeakMemoryUsage() {
| `- note: add '@MainActor' to make global function 'logPeakMemoryUsage()' part of global actor 'MainActor'
79 | guard let peakBytes = fetchPeakMemoryUsageBytes() else {
80 | cliLogger.error("Unable to determine peak memory usage")
| `- warning: main actor-isolated let 'cliLogger' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
81 | return
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:86: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() {
:
76 | }
77 |
78 | func logPeakMemoryUsage() {
| `- note: add '@MainActor' to make global function 'logPeakMemoryUsage()' part of global actor 'MainActor'
79 | guard let peakBytes = fetchPeakMemoryUsageBytes() else {
80 | cliLogger.error("Unable to determine peak memory usage")
:
84 | let peakGigabytes = Double(peakBytes) / 1024.0 / 1024.0 / 1024.0
85 | let formatted = String(format: "%.3f", peakGigabytes)
86 | 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
87 | "Peak memory usage (process-wide): \(formatted) GB"
88 | )
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/main.swift:106:22: warning: sending 'cliLogger' risks causing data races; this is an error in the Swift 6 language mode
104 | // Log system information once at application startup
105 | Task {
106 | await SystemInfo.logOnce(using: cliLogger)
| |- warning: sending 'cliLogger' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'cliLogger' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
107 | }
108 |
[91/113] 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
[92/113] 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
[93/113] Compiling FluidAudioCLI TextNormalizer.swift
[94/113] Compiling FluidAudioCLI WERCalculator.swift
[95/113] Compiling FluidAudioCLI MultiStreamCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.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 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | 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 |
6 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:6:5: warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | import Foundation
5 |
6 | var standardError = FileHandle.standardError
| |- warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'standardError' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'standardError' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// Handler for the 'process' command - processes a single audio file
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.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 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | 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 | import Foundation
5 |
:
8 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:226:26: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
224 | chunkBuffer.frameLength = AVAudioFrameCount(chunkSize)
225 |
226 | 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
227 |
228 | position += chunkSize
[96/113] Compiling FluidAudioCLI ProcessCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.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 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | 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 |
6 | /// Command to demonstrate multi-stream ASR with shared model loading
7 | enum MultiStreamCommand {
8 | 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
9 |
10 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.swift:6:5: warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
4 | import Foundation
5 |
6 | var standardError = FileHandle.standardError
| |- warning: var 'standardError' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'standardError' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'standardError' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
7 |
8 | /// Handler for the 'process' command - processes a single audio file
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ProcessCommand.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 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | 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 | import Foundation
5 |
:
8 | /// Handler for the 'process' command - processes a single audio file
9 | enum ProcessCommand {
10 | 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
11 | static func run(arguments: [String]) async {
12 | guard !arguments.isEmpty else {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/MultiStreamCommand.swift:226:26: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
224 | chunkBuffer.frameLength = AVAudioFrameCount(chunkSize)
225 |
226 | 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
227 |
228 | position += chunkSize
[97/113] 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 {
[98/113] 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 {
[99/113] Compiling FluidAudioCLI TTSCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/TTSCommand.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 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| `- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/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/TTSCommand.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import FluidAudioTTS
3 | import Foundation
:
5 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| |- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| `- 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 | private struct Options {
/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/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| |- 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 | private struct Options {
[100/113] Compiling FluidAudioCLI VadAnalyzeCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/TTSCommand.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 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| `- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/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/TTSCommand.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
1 | import FluidAudio
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'FluidAudio'
2 | import FluidAudioTTS
3 | import Foundation
:
5 | public struct TTS {
6 |
7 | private static let logger = AppLogger(category: "TTSCommand")
| |- 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 | private static let artifactsDirectoryName = "fluidaudio_cli"
9 |
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| `- 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 | private struct Options {
/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/VadAnalyzeCommand.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 | /// CLI command that surfaces VadManager's segmentation and streaming APIs.
7 | enum VadAnalyzeCommand {
8 | private static let logger = AppLogger(category: "VadAnalyze")
| |- 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 | private struct Options {
[101/113] Compiling FluidAudioCLI DiarizationMetrics.swift
[102/113] Compiling FluidAudioCLI RTTMParser.swift
[103/113] Compiling FluidAudioCLI ResultsFormatter.swift
[104/113] Compiling FluidAudioCLI TerminalUI.swift
[105/113] Compiling FluidAudioCLI AsrBenchmark.swift
[106/113] Compiling FluidAudioCLI AsrBenchmarkTypes.swift
[107/113] Compiling FluidAudioCLI FleursBenchmark.swift
[108/113] Compiling FluidAudioCLI TranscribeCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:180: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
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | 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 |
:
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.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 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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 |
:
7 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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/ASR/TranscribeCommand.swift:472:36: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
470 |
471 | // Stream the chunk immediately - no waiting
472 | 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
473 |
474 | position += chunkSize
[109/113] Compiling FluidAudioCLI DiarizationBenchmark.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:180: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
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | 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 |
:
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.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 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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 |
:
7 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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/ASR/TranscribeCommand.swift:472:36: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
470 |
471 | // Stream the chunk immediately - no waiting
472 | 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
473 |
474 | position += chunkSize
[110/113] Compiling FluidAudioCLI DownloadCommand.swift
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/ASR/TranscribeCommand.swift:180: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
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | 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 |
:
178 | /// Command to transcribe audio files using batch or streaming mode
179 | enum TranscribeCommand {
180 | 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
181 |
182 | static func run(arguments: [String]) async {
/Users/admin/builder/spi-builder-workspace/Sources/FluidAudioCLI/Commands/DiarizationBenchmark.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 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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 |
:
7 | /// Uses first-occurrence speaker mapping for true streaming evaluation
8 | enum StreamDiarizationBenchmark {
9 | 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
10 |
11 | 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/ASR/TranscribeCommand.swift:472:36: warning: sending 'chunkBuffer' risks causing data races; this is an error in the Swift 6 language mode
470 |
471 | // Stream the chunk immediately - no waiting
472 | 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
473 |
474 | position += chunkSize
[110/113] Write Objects.LinkFileList
[111/113] Linking fluidaudio
[112/113] Applying fluidaudio
Build complete! (17.12s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/ContextBiasing': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/CtcModels.swift': File not found.
Build complete.
{
"cxx_language_standard" : "c++17",
"dependencies" : [
],
"manifest_display_name" : "FluidAudio",
"name" : "FluidAudio",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
},
{
"name" : "ios",
"version" : "17.0"
}
],
"products" : [
{
"name" : "FluidAudio",
"targets" : [
"FluidAudio"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "FluidAudioTTS",
"targets" : [
"FluidAudioTTS"
],
"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",
"AudioStreamTests.swift",
"BasicInitializationTests.swift",
"CITests.swift",
"ChunkMergeTests.swift",
"ChunkProcessorEdgeCaseTests.swift",
"ChunkProcessorTests.swift",
"DecoderStateTests.swift",
"DiarizerMemoryTests.swift",
"EmbeddingExtractorMemoryTests.swift",
"FrameworkLinkTests.swift",
"KokoroChunkerTests.swift",
"MLArrayCacheTests.swift",
"ModelRegistryTests.swift",
"OfflineModuleTests.swift",
"RandomAccessCollectionTests.swift",
"SegmentationProcessorEdgeCaseTests.swift",
"SegmentationProcessorTests.swift",
"SendableTests.swift",
"SpeakerManagerTests.swift",
"SpeakerOperationsTests.swift",
"SpeakerTests.swift",
"StreamingAsrManagerTests.swift",
"StreamingAsrSessionTests.swift",
"StressTests.swift",
"TTSManagerTests.swift",
"TdtConfigTests.swift",
"TdtDecoderChunkTests.swift",
"TdtDecoderStateV3Tests.swift",
"TdtDecoderTests.swift",
"TdtDecoderV2Tests.swift",
"TestHelpers/VadTestHelpers.swift",
"TtsCustomLexiconTests.swift",
"VadSegmentationTests.swift",
"VadStreamingTests.swift",
"VadTests.swift"
],
"target_dependencies" : [
"FluidAudio",
"FluidAudioTTS"
],
"type" : "test"
},
{
"c99name" : "FluidAudioTTS",
"module_type" : "SwiftTarget",
"name" : "FluidAudioTTS",
"path" : "Sources/FluidAudioTTS",
"product_memberships" : [
"FluidAudioTTS",
"fluidaudio"
],
"sources" : [
"TextToSpeech/Kokoro/Assets/Lexicon/EspeakG2P.swift",
"TextToSpeech/Kokoro/Assets/Lexicon/KokoroVocabulary.swift",
"TextToSpeech/Kokoro/Assets/Lexicon/LexiconAssetManager.swift",
"TextToSpeech/Kokoro/Assets/TtsResourceDownloader.swift",
"TextToSpeech/Kokoro/Pipeline/Postprocess/KokoroSynthesizer+Types.swift",
"TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroChunker.swift",
"TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroModelCache.swift",
"TextToSpeech/Kokoro/Pipeline/Preprocess/KokoroSynthesizer+LexiconCache.swift",
"TextToSpeech/Kokoro/Pipeline/Preprocess/PhonemeMapper.swift",
"TextToSpeech/Kokoro/Pipeline/Preprocess/TtsTextPreprocessor.swift",
"TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+Memory.swift",
"TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+ModelUtils.swift",
"TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer+VoiceEmbeddings.swift",
"TextToSpeech/Kokoro/Pipeline/Synthesize/KokoroSynthesizer.swift",
"TextToSpeech/Kokoro/TtsCustomLexicon.swift",
"TextToSpeech/TtsConstants.swift",
"TextToSpeech/TtsManager.swift",
"TextToSpeech/TtsModels.swift"
],
"target_dependencies" : [
"FluidAudio",
"ESpeakNG"
],
"type" : "library"
},
{
"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/TTSCommand.swift",
"Commands/VadAnalyzeCommand.swift",
"Commands/VadBenchmark.swift",
"DatasetParsers/AMIParser.swift",
"DatasetParsers/DatasetDownloader.swift",
"Models/CLIModels.swift",
"Utils/DiarizationMetrics.swift",
"Utils/RTTMParser.swift",
"Utils/ResultsFormatter.swift",
"Utils/TerminalUI.swift",
"Utils/TextNormalizer.swift",
"Utils/WERCalculator.swift",
"main.swift"
],
"target_dependencies" : [
"FluidAudio",
"FluidAudioTTS"
],
"type" : "executable"
},
{
"c99name" : "FluidAudio",
"module_type" : "SwiftTarget",
"name" : "FluidAudio",
"path" : "Sources/FluidAudio",
"product_memberships" : [
"FluidAudio",
"FluidAudioTTS",
"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/BlasIndex.swift",
"ASR/TDT/EncoderFrameView.swift",
"ASR/TDT/TdtConfig.swift",
"ASR/TDT/TdtDecoderState.swift",
"ASR/TDT/TdtDecoderV2.swift",
"ASR/TDT/TdtDecoderV3.swift",
"ASR/TDT/TdtHypothesis.swift",
"Diarizer/Clustering/SpeakerManager.swift",
"Diarizer/Clustering/SpeakerOperations.swift",
"Diarizer/Clustering/SpeakerTypes.swift",
"Diarizer/Core/DiarizerManager.swift",
"Diarizer/Core/DiarizerModels.swift",
"Diarizer/Core/DiarizerTypes.swift",
"Diarizer/Extraction/EmbeddingExtractor.swift",
"Diarizer/Offline/Clustering/AHCClustering.swift",
"Diarizer/Offline/Clustering/VBxClustering.swift",
"Diarizer/Offline/Core/OfflineDiarizerManager.swift",
"Diarizer/Offline/Core/OfflineDiarizerModels.swift",
"Diarizer/Offline/Core/OfflineDiarizerTypes.swift",
"Diarizer/Offline/Extraction/OfflineEmbeddingExtractor.swift",
"Diarizer/Offline/Extraction/PLDATransform.swift",
"Diarizer/Offline/Extraction/WeightInterpolation.swift",
"Diarizer/Offline/Segmentation/OfflineSegmentationProcessor.swift",
"Diarizer/Offline/Utils/OfflineReconstruction.swift",
"Diarizer/Offline/Utils/VDSPOperations.swift",
"Diarizer/Segmentation/AudioValidation.swift",
"Diarizer/Segmentation/SegmentationProcessor.swift",
"Diarizer/Segmentation/SlidingWindow.swift",
"DownloadUtils.swift",
"FluidAudioSwift.swift",
"ModelNames.swift",
"ModelRegistry.swift",
"Shared/ANEMemoryOptimizer.swift",
"Shared/ANEMemoryUtils.swift",
"Shared/ASRConstants.swift",
"Shared/AppLogger.swift",
"Shared/AssetDownloader.swift",
"Shared/AudioConverter.swift",
"Shared/AudioStream.swift",
"Shared/MLModel+Prediction.swift",
"Shared/ModelWarmup.swift",
"Shared/StreamingAudioSampleSource.swift",
"Shared/StreamingAudioSourceFactory.swift",
"Shared/SystemInfo.swift",
"VAD/VadManager+SpeechSegmentation.swift",
"VAD/VadManager+Streaming.swift",
"VAD/VadManager.swift",
"VAD/VadTypes.swift"
],
"target_dependencies" : [
"FastClusterWrapper"
],
"type" : "library"
},
{
"c99name" : "FastClusterWrapper",
"module_type" : "ClangTarget",
"name" : "FastClusterWrapper",
"path" : "Sources/FastClusterWrapper",
"product_memberships" : [
"FluidAudio",
"FluidAudioTTS",
"fluidaudio"
],
"sources" : [
"FastClusterWrapper.cpp"
],
"type" : "library"
},
{
"c99name" : "ESpeakNG",
"module_type" : "BinaryTarget",
"name" : "ESpeakNG",
"path" : "Frameworks/ESpeakNG.xcframework",
"product_memberships" : [
"FluidAudioTTS",
"fluidaudio"
],
"sources" : [
],
"type" : "binary"
}
],
"tools_version" : "5.10"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/CtcModels.swift': File not found.
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Sources/FluidAudio/ASR/ContextBiasing': File not found.
Done.