Build Information
Successful build of SynheartCore, reference main (0b1711), with Swift 6.1 for macOS (SPM) on 18 Oct 2026 02:19:57 UTC.
Swift 6 data race errors: 18
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
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1357/1362] Compiling SynheartCore WearSourceHandler.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1358/1362] Compiling SynheartCore WearableEventProcessor.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1359/1362] Compiling SynheartCore Synheart+Parity.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1360/1362] Compiling SynheartCore Synheart.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1361/1362] Compiling SynheartCore SynheartInstance.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
[1362/1362] Compiling SynheartCore Version.swift
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| `- warning: non-sendable result type '[String : Any]?' cannot be sent from nonisolated context in call to static method 'run'; this is an error in the Swift 6 language mode
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:173:24: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
171 | // MARK: - ISO 8601 Helpers
172 |
173 | private static let isoFormatter: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 | let f = ISO8601DateFormatter()
175 | f.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:179:24: warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
177 | }()
178 |
179 | private static let isoFormatterNoFrac: ISO8601DateFormatter = {
| |- warning: static property 'isoFormatterNoFrac' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatterNoFrac' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
180 | let f = ISO8601DateFormatter()
181 | f.formatOptions = [.withInternetDateTime]
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Wear/WearableEventProcessor.swift:191:16: warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
189 | // MARK: - Event Mapping Registry
190 |
191 | static let eventMappings: [String: EventMapping] = [
| |- warning: static property 'eventMappings' is not concurrency-safe because non-'Sendable' type '[String : EventMapping]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'eventMappings' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
192 | // WHOOP events
193 | "whoop:recovery.updated": EventMapping(
:
332 |
333 | /// Configuration for mapping a RAMEN event type to a canonical event.
334 | public struct EventMapping {
| `- note: consider making struct 'EventMapping' conform to the 'Sendable' protocol
335 | public let canonicalType: String
336 | public let observedAtKey: String?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:58:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' may have shared mutable state; this is an error in the Swift 6 language mode
55 | * ```
56 | */
57 | public class Synheart {
| `- note: class 'Synheart' does not conform to the 'Sendable' protocol
58 | public static let shared = Synheart()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Synheart' 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
59 |
60 | /// Version of the public Swift SDK surface.
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:64:23: warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
62 |
63 | /// Latest typed baseline envelope per supported baseline kind.
64 | public static let baselineSnapshots = BaselineSnapshots()
| |- warning: static property 'baselineSnapshots' is not concurrency-safe because non-'Sendable' type 'BaselineSnapshots' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'baselineSnapshots' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 | var coreRuntime: SynheartCoreShim?
/Users/admin/builder/spi-builder-workspace/SynheartCore/Artifacts/BaselineEnvelope.swift:275:20: note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
273 |
274 | /// Thread-safe last-write-wins cache for the latest baseline of each kind.
275 | public final class BaselineSnapshots {
| `- note: class 'BaselineSnapshots' does not conform to the 'Sendable' protocol
276 | private let lock = NSLock()
277 | private var cacheByKind: [BaselineKind: BaselineEnvelope] = [:]
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:12:24: warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | private static let registryLock = NSLock()
12 | private static var activeDirectories = Set<String>()
| |- warning: static property 'activeDirectories' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeDirectories' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeDirectories' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | private let stateLock = NSLock()
/Users/admin/builder/spi-builder-workspace/SynheartCore/SynheartInstance.swift:29:65: warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
27 | do {
28 | continuation.resume(
29 | returning: try SynheartInstance(config: config, dataDirectory: dataDirectory)
| `- warning: capture of 'config' with non-sendable type 'SynheartConfig' in a '@Sendable' closure
30 | )
31 | } catch {
/Users/admin/builder/spi-builder-workspace/SynheartCore/Config/SynheartConfig.swift:63:15: note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
61 |
62 | /// Main configuration for Synheart SDK
63 | public struct SynheartConfig {
| `- note: consider making struct 'SynheartConfig' conform to the 'Sendable' protocol
64 | public let appId: String
65 | public let subjectId: String
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Session/SessionModule.swift:75:25: 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
73 | }
74 |
75 | pumpTask = Task { [weak self] in
| `- 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
76 | for await event in stream {
| `- note: closure captures non-Sendable 'stream'
77 | guard let self = self else { return }
| `- note: closure captures non-Sendable 'self'
78 | subject.send(event)
| `- note: closure captures non-Sendable 'subject'
79 |
80 | // Auto-cleanup on terminal events
:
82 | case .sessionSummary, .sessionError:
83 | SynheartLogger.log(
84 | "[SessionModule] Session \(config.sessionId) ended"
| `- note: closure captures non-Sendable 'config'
85 | )
86 | self.cleanup()
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:168:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
166 | let data = try JSONSerialization.data(withJSONObject: request)
167 | let requestJson = String(decoding: data, as: UTF8.self)
168 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniChat(requestJson: requestJson) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
169 | throw SyniServiceError(code: .unsupported, message: "Syni service requires Core Runtime 0.21.0 or newer", rawError: nil)
170 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:178:50: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
176 |
177 | public func listSessions(limit: Int32 = 0) async throws -> [SyniServiceSession] {
178 | let response = await RuntimeWorkExecutor.run { self.bridge.syniListSessions(limit: limit) }
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
179 | guard let response else { throw Self.unsupported() }
180 | try Self.throwRuntimeError(response)
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:186:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
184 | public func getSession(_ sessionId: String) async throws -> SyniServiceSession {
185 | try Self.validateSessionId(sessionId)
186 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniGetSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
187 | throw Self.unsupported()
188 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:195:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
193 | public func messages(_ sessionId: String, limit: Int32 = 0) async throws -> SyniServiceMessagesPage {
194 | try Self.validateSessionId(sessionId)
195 | guard let response = await RuntimeWorkExecutor.run({
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
196 | self.bridge.syniGetSessionMessages(sessionId: sessionId, limit: limit)
197 | }) else { throw Self.unsupported() }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Modules/Syni/SyniService.swift:204:56: warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
202 | public func closeSession(_ sessionId: String) async throws {
203 | try Self.validateSessionId(sessionId)
204 | guard let response = await RuntimeWorkExecutor.run({ self.bridge.syniCloseSession(sessionId: sessionId) }) else {
| |- warning: sending value of non-Sendable type '() -> [String : Any]?' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated value of non-Sendable type '() -> [String : Any]?' to nonisolated callee risks causing races in between 'self'-isolated and nonisolated uses
205 | throw Self.unsupported()
206 | }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2188:22: 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
2186 | case .wear:
2187 | if isOperational && wearModule?.status != .running {
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2190:22: 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
2188 | Task { do { try await wearModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start wear module: \(error)") } }
2189 | } else if !isOperational && wearModule?.status == .running {
2190 | Task { do { try await wearModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop wear module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2191 | }
2192 | case .behavior:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2194:22: 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
2192 | case .behavior:
2193 | if isOperational && behaviorModule?.status != .running {
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2196:22: 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
2194 | Task { do { try await behaviorModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start behavior module: \(error)") } }
2195 | } else if !isOperational && behaviorModule?.status == .running {
2196 | Task { do { try await behaviorModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop behavior module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2197 | }
2198 | case .phoneContext:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2200:22: 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
2198 | case .phoneContext:
2199 | if isOperational && phoneModule?.status != .running {
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:2202:22: 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
2200 | Task { do { try await phoneModule?.start() } catch { SynheartLogger.log("[Synheart] Failed to start phone module: \(error)") } }
2201 | } else if !isOperational && phoneModule?.status == .running {
2202 | Task { do { try await phoneModule?.stop() } catch { SynheartLogger.log("[Synheart] Failed to stop phone module: \(error)") } }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
2203 | }
2204 | case .cloud, .synsync, .syni:
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:955:38: warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
953 |
954 | private func _registerDevice(force: Bool) async -> DeviceRegistrationResult {
955 | await deviceRegistrationGate.run { [weak self] in
| |- warning: sending value of non-Sendable type '() async -> DeviceRegistrationResult' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async -> DeviceRegistrationResult' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
956 | guard let self else {
957 | return DeviceRegistrationResult(
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1064:45: warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
1062 | let resolvedUserId = userId ?? config?.subjectId ?? ""
1063 | let appKey = config?.appId ?? "default"
1064 | try await shared.initializationGate.run {
| |- warning: sending value of non-Sendable type '() async throws -> ()' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated value of non-Sendable type '() async throws -> ()' to actor-isolated instance method 'run' risks causing races in between task-isolated and actor-isolated uses
1065 | try await shared._initialize(
1066 | userId: resolvedUserId,
/Users/admin/builder/spi-builder-workspace/SynheartCore/Synheart.swift:1455:38: 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
1453 | guard let self = self else { return }
1454 | if self.isRunning {
1455 | Task { try? await self._stopSession() }
| | `- note: closure captures 'self' which is accessible to code in the current task
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
1456 | SynheartLogger.log("[Synheart] Main session ended (duration or stream closed)")
1457 | }
Build complete! (118.19s)
Fetching https://github.com/synheart-ai/synheart-session-swift
Fetching https://github.com/synheart-ai/synheart-behavior-swift
Fetching https://github.com/synheart-ai/synheart-wear-swift
Fetching https://github.com/synheart-ai/synheart-auth-swift
[3/214] Fetching synheart-auth-swift
[10/564] Fetching synheart-auth-swift, synheart-behavior-swift
[14/674] Fetching synheart-auth-swift, synheart-behavior-swift, synheart-session-swift
[122/1024] Fetching synheart-auth-swift, synheart-behavior-swift, synheart-session-swift, synheart-wear-swift
Fetched https://github.com/synheart-ai/synheart-wear-swift from cache (8.79s)
Fetched https://github.com/synheart-ai/synheart-auth-swift from cache (8.79s)
Fetched https://github.com/synheart-ai/synheart-session-swift from cache (8.79s)
Fetched https://github.com/synheart-ai/synheart-behavior-swift from cache (8.79s)
Computing version for https://github.com/synheart-ai/synheart-wear-swift
Computed https://github.com/synheart-ai/synheart-wear-swift at 0.4.1 (9.30s)
Fetching https://github.com/grpc/grpc-swift.git
Fetching https://github.com/apple/swift-protobuf.git from cache
[1/51604] Fetching grpc-swift
Fetched https://github.com/grpc/grpc-swift.git from cache (4.80s)
Fetched https://github.com/apple/swift-protobuf.git from cache (10.89s)
Computing version for https://github.com/synheart-ai/synheart-session-swift
Computed https://github.com/synheart-ai/synheart-session-swift at 0.3.0 (11.42s)
Computing version for https://github.com/synheart-ai/synheart-behavior-swift
Computed https://github.com/synheart-ai/synheart-behavior-swift at 0.5.0 (0.48s)
Computing version for https://github.com/synheart-ai/synheart-auth-swift
Computed https://github.com/synheart-ai/synheart-auth-swift at 0.1.3 (0.50s)
Computing version for https://github.com/grpc/grpc-swift.git
Computed https://github.com/grpc/grpc-swift.git at 1.27.6 (3.38s)
Fetching https://github.com/apple/swift-nio-ssl.git from cache
Fetching https://github.com/apple/swift-log.git from cache
Fetching https://github.com/apple/swift-atomics.git from cache
Fetching https://github.com/apple/swift-collections.git from cache
Fetching https://github.com/apple/swift-nio-http2.git from cache
Fetching https://github.com/apple/swift-nio-extras.git from cache
Fetching https://github.com/apple/swift-nio-transport-services.git from cache
Fetched https://github.com/apple/swift-atomics.git from cache (0.80s)
Fetching https://github.com/apple/swift-nio.git from cache
Fetched https://github.com/apple/swift-nio-transport-services.git from cache (1.13s)
Fetched https://github.com/apple/swift-nio-ssl.git from cache (1.58s)
Fetched https://github.com/apple/swift-log.git from cache (1.61s)
Fetched https://github.com/apple/swift-nio-http2.git from cache (2.59s)
Fetched https://github.com/apple/swift-nio-extras.git from cache (2.59s)
Fetched https://github.com/apple/swift-collections.git from cache (2.66s)
Fetched https://github.com/apple/swift-nio.git from cache (3.20s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (4.56s)
Computing version for https://github.com/apple/swift-nio-transport-services.git
Computed https://github.com/apple/swift-nio-transport-services.git at 1.28.0 (0.51s)
Computing version for https://github.com/apple/swift-nio-http2.git
Computed https://github.com/apple/swift-nio-http2.git at 1.46.0 (0.54s)
Computing version for https://github.com/apple/swift-protobuf.git
Computed https://github.com/apple/swift-protobuf.git at 1.39.0 (0.58s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.6.0 (0.65s)
Computing version for https://github.com/apple/swift-nio-extras.git
Computed https://github.com/apple/swift-nio-extras.git at 1.35.1 (0.70s)
Fetching https://github.com/apple/swift-certificates.git
Fetching https://github.com/swift-server/swift-service-lifecycle.git
Fetching https://github.com/apple/swift-async-algorithms.git
Fetching https://github.com/apple/swift-http-structured-headers.git from cache
Fetching https://github.com/apple/swift-asn1.git from cache
Fetching https://github.com/apple/swift-algorithms.git from cache
Fetching https://github.com/apple/swift-http-types.git from cache
[1/2874] Fetching swift-service-lifecycle
[2/10475] Fetching swift-service-lifecycle, swift-certificates
[3/17296] Fetching swift-service-lifecycle, swift-certificates, swift-async-algorithms
Fetched https://github.com/apple/swift-http-types.git from cache (0.95s)
Fetched https://github.com/apple/swift-asn1.git from cache (1.40s)
Fetched https://github.com/swift-server/swift-service-lifecycle.git from cache (1.45s)
Fetched https://github.com/apple/swift-certificates.git from cache (1.45s)
Fetched https://github.com/apple/swift-async-algorithms.git from cache (1.45s)
Fetched https://github.com/apple/swift-http-structured-headers.git from cache (1.46s)
Fetched https://github.com/apple/swift-algorithms.git from cache (1.47s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (4.17s)
Fetching https://github.com/apple/swift-numerics.git from cache
Fetched https://github.com/apple/swift-numerics.git from cache (1.03s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (1.55s)
Computing version for https://github.com/apple/swift-http-structured-headers.git
Computed https://github.com/apple/swift-http-structured-headers.git at 1.7.0 (0.52s)
Computing version for https://github.com/apple/swift-http-types.git
Computed https://github.com/apple/swift-http-types.git at 1.8.0 (0.54s)
Computing version for https://github.com/swift-server/swift-service-lifecycle.git
Computed https://github.com/swift-server/swift-service-lifecycle.git at 2.12.1 (0.49s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.15.1 (0.52s)
Computing version for https://github.com/apple/swift-async-algorithms.git
Computed https://github.com/apple/swift-async-algorithms.git at 1.1.7 (0.53s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.62s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.37.5 (0.57s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.104.0 (0.68s)
Fetching https://github.com/apple/swift-system.git from cache
Fetched https://github.com/apple/swift-system.git from cache (2.51s)
Computing version for https://github.com/apple/swift-certificates.git
Computed https://github.com/apple/swift-certificates.git at 1.21.0 (3.18s)
Fetching https://github.com/apple/swift-crypto.git from cache
Fetched https://github.com/apple/swift-crypto.git from cache (2.21s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (2.79s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.2 (1.10s)
Creating working copy for https://github.com/apple/swift-nio-transport-services.git
Working copy of https://github.com/apple/swift-nio-transport-services.git resolved at 1.28.0
Creating working copy for https://github.com/synheart-ai/synheart-wear-swift
Working copy of https://github.com/synheart-ai/synheart-wear-swift resolved at 0.4.1
Creating working copy for https://github.com/apple/swift-certificates.git
Working copy of https://github.com/apple/swift-certificates.git resolved at 1.21.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.104.0
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Creating working copy for https://github.com/apple/swift-nio-extras.git
Working copy of https://github.com/apple/swift-nio-extras.git resolved at 1.35.1
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-async-algorithms.git
Working copy of https://github.com/apple/swift-async-algorithms.git resolved at 1.1.7
Creating working copy for https://github.com/apple/swift-nio-http2.git
Working copy of https://github.com/apple/swift-nio-http2.git resolved at 1.46.0
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.2
Creating working copy for https://github.com/apple/swift-http-structured-headers.git
Working copy of https://github.com/apple/swift-http-structured-headers.git resolved at 1.7.0
Creating working copy for https://github.com/apple/swift-protobuf.git
Working copy of https://github.com/apple/swift-protobuf.git resolved at 1.39.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.15.1
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.37.5
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.6.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/synheart-ai/synheart-behavior-swift
Working copy of https://github.com/synheart-ai/synheart-behavior-swift resolved at 0.5.0
Creating working copy for https://github.com/apple/swift-http-types.git
Working copy of https://github.com/apple/swift-http-types.git resolved at 1.8.0
Creating working copy for https://github.com/grpc/grpc-swift.git
Working copy of https://github.com/grpc/grpc-swift.git resolved at 1.27.6
Creating working copy for https://github.com/synheart-ai/synheart-session-swift
Working copy of https://github.com/synheart-ai/synheart-session-swift resolved at 0.3.0
Creating working copy for https://github.com/synheart-ai/synheart-auth-swift
Working copy of https://github.com/synheart-ai/synheart-auth-swift resolved at 0.1.3
Creating working copy for https://github.com/swift-server/swift-service-lifecycle.git
Working copy of https://github.com/swift-server/swift-service-lifecycle.git resolved at 2.12.1
Build complete.
{
"dependencies" : [
{
"identity" : "synheart-wear-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/synheart-ai/synheart-wear-swift"
},
{
"identity" : "synheart-behavior-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.4.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/synheart-ai/synheart-behavior-swift"
},
{
"identity" : "synheart-session-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.2.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/synheart-ai/synheart-session-swift"
},
{
"identity" : "synheart-auth-swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/synheart-ai/synheart-auth-swift"
}
],
"manifest_display_name" : "SynheartCore",
"name" : "SynheartCore",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "SynheartCore",
"targets" : [
"SynheartCore"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SynheartCoreTests",
"module_type" : "SwiftTarget",
"name" : "SynheartCoreTests",
"path" : "Tests/SynheartCoreTests",
"sources" : [
"AppleXmlBackfillSinkTests.swift",
"BaselinesTests.swift",
"BehaviorEventInputTests.swift",
"BehaviorRuntimeIngestionTests.swift",
"BreathingComplianceResultTests.swift",
"CapabilityModuleHardeningTests.swift",
"Cloud/AuthProviderTests.swift",
"CloudConsentLogicTests.swift",
"ConfigValidationTests.swift",
"ConsentGateTests.swift",
"ConsentModelsTests.swift",
"ConsentRuntimeCoordinatorTests.swift",
"ContextEventInputTests.swift",
"DeletionOutcomeTests.swift",
"DeviceAuthCallbacksTests.swift",
"DeviceIdentityLifecycleTests.swift",
"DeviceRegistrationGateTests.swift",
"EdgeIngestTests.swift",
"HSIDeliveryDeduplicatorTests.swift",
"HSIStateTests.swift",
"HealthKitRuntimeSinkTests.swift",
"IngestionDiagnosticsTests.swift",
"InitializationGateTests.swift",
"IntegrationTests.swift",
"MobileHostSurfaceTests.swift",
"ModuleLifecycleHardeningTests.swift",
"ParityModelsTests.swift",
"PhoneRuntimeIngestionTests.swift",
"RawMotionResolutionTests.swift",
"RuntimeCompatTests.swift",
"RuntimeConfigBuilderTests.swift",
"RuntimeDataDirectoryTests.swift",
"RuntimeStoragePayloadTests.swift",
"RuntimeSymbolDiagnosticsTests.swift",
"RuntimeSyncPayloadTests.swift",
"RuntimeWorkExecutorTests.swift",
"ScoringModelsTests.swift",
"SessionBufferTests.swift",
"SessionStartHardeningTests.swift",
"SessionStopCoordinatorTests.swift",
"SynheartInstanceCreateAsyncTests.swift",
"SynheartNativeErrorTests.swift",
"SynheartPriorityTests.swift",
"SynheartResilienceTests.swift",
"SynheartSessionLifecycleFacadeTests.swift",
"SyniModuleTests.swift",
"UploadModelsTests.swift"
],
"target_dependencies" : [
"SynheartCore"
],
"type" : "test"
},
{
"c99name" : "SynheartCore",
"module_type" : "SwiftTarget",
"name" : "SynheartCore",
"path" : "SynheartCore",
"product_dependencies" : [
"SynheartWear",
"SynheartBehavior",
"SynheartSession",
"SynheartAuth"
],
"product_memberships" : [
"SynheartCore"
],
"sources" : [
"Artifacts/ArtifactHeader.swift",
"Artifacts/BaselineEnvelope.swift",
"Artifacts/BaselineSnapshot.swift",
"Artifacts/HSIWindow.swift",
"Artifacts/SessionSummary.swift",
"Artifacts/Tombstone.swift",
"Config/ActivationManager.swift",
"Config/ApiEndpoints.swift",
"Config/HostDeclarations.swift",
"Config/LabIngestConfig.swift",
"Config/RuntimeConfigBuilder.swift",
"Config/ServiceEndpointResolver.swift",
"Config/SynheartConfig.swift",
"Config/SynheartDefaults.swift",
"Config/SynheartErrors.swift",
"Config/SynheartFeature.swift",
"Config/SynheartMode.swift",
"Config/SynheartNativeError.swift",
"Core/ConsentRuntimeCoordinator.swift",
"Core/DeletionOutcome.swift",
"Core/DeviceIdentityResponse.swift",
"Core/DeviceRegistrationGate.swift",
"Core/InitializationGate.swift",
"Core/RuntimeOperationQueue.swift",
"Core/RuntimeWorkExecutor.swift",
"Core/SessionStartPolicy.swift",
"Core/SessionStopCoordinator.swift",
"Core/SynheartLogger.swift",
"CoreRuntime/AppleXmlBackfillSink.swift",
"CoreRuntime/CoreRuntimeBridge+Parity.swift",
"CoreRuntime/CoreRuntimeBridge.swift",
"CoreRuntime/DeviceAuthCallbacks.swift",
"CoreRuntime/HSIDeliveryDeduplicator.swift",
"CoreRuntime/RuntimeCompat.swift",
"CoreRuntime/RuntimeDataDirectory.swift",
"CoreRuntime/RuntimePayloadDecoder.swift",
"CoreRuntime/RuntimeSymbolDiagnostics.swift",
"CoreRuntime/SynheartCoreShim.swift",
"CoreRuntime/SynheartPriority.swift",
"CoreRuntime/SynheartResilience.swift",
"CoreRuntime/SynheartRuntimeError.swift",
"Models/AccelPlacement.swift",
"Models/Behavior.swift",
"Models/BehaviorEventInput.swift",
"Models/CanonicalWearableEvent.swift",
"Models/ConsentModels.swift",
"Models/Context.swift",
"Models/ContextEventInput.swift",
"Models/CoreModels.swift",
"Models/DataDeletion.swift",
"Models/DeviceInfo.swift",
"Models/HSIExport.swift",
"Models/HSIState.swift",
"Models/Hsv.swift",
"Models/IngestionDiagnostics.swift",
"Models/MetaState.swift",
"Models/MetricEvent.swift",
"Models/Personalization.swift",
"Models/Physiology.swift",
"Models/Preprocessed/PreprocessedWindow.swift",
"Models/ProvenanceInfo.swift",
"Models/ReadinessScore.swift",
"Models/RecoveryScore.swift",
"Models/RuntimeStream.swift",
"Models/SessionHandle.swift",
"Models/SleepQuestionnaire.swift",
"Models/SleepScore.swift",
"Models/StateQuality.swift",
"Models/SyncReadiness.swift",
"Modules/Backfill/HealthKitRuntimeSink.swift",
"Modules/Base/ModuleManager.swift",
"Modules/Base/SynheartModule.swift",
"Modules/Baselines/Baselines.swift",
"Modules/Baselines/BaselinesSnapshot.swift",
"Modules/Behavior/BehaviorEventStream.swift",
"Modules/Behavior/BehaviorEvents.swift",
"Modules/Behavior/BehaviorModule.swift",
"Modules/Behavior/BehaviorRuntime.swift",
"Modules/Behavior/SynheartBehaviorCollector.swift",
"Modules/Behavior/WindowAggregator.swift",
"Modules/Breathing/BreathingComplianceResult.swift",
"Modules/Breathing/BreathingGuidanceCopy.swift",
"Modules/Breathing/BreathingModule.swift",
"Modules/Capabilities/CapabilityModule.swift",
"Modules/Capabilities/CapabilityToken.swift",
"Modules/Cloud/CloudExceptions.swift",
"Modules/Cloud/DeviceAuthProvider.swift",
"Modules/Cloud/UploadModels.swift",
"Modules/Consent/CloudConsentLogic.swift",
"Modules/Consent/ConsentModule.swift",
"Modules/Consent/ConsentProfile.swift",
"Modules/Consent/ConsentToken.swift",
"Modules/Consent/ConsentTokenStorage.swift",
"Modules/Consent/ConsentUIManager.swift",
"Modules/Edge/EdgeIngest.swift",
"Modules/Edge/EdgeIngestSessionAdapter.swift",
"Modules/Interfaces/AuthProvider.swift",
"Modules/Interfaces/CapabilityProvider.swift",
"Modules/Interfaces/ConsentProvider.swift",
"Modules/Interfaces/FeatureProviders.swift",
"Modules/Interfaces/RawDataProvider.swift",
"Modules/LabIngest/LabIngestResponse.swift",
"Modules/Phone/PhoneCache.swift",
"Modules/Phone/PhoneCollectors.swift",
"Modules/Phone/PhoneModule.swift",
"Modules/Phone/PhoneRuntime.swift",
"Modules/SRM/LongitudinalSrmModule.swift",
"Modules/Session/BehaviorModuleAdapter.swift",
"Modules/Session/SessionModule.swift",
"Modules/Session/WearModuleBiosignalAdapter.swift",
"Modules/Syni/SyniModule.swift",
"Modules/Syni/SyniService.swift",
"Modules/Wear/WearCache.swift",
"Modules/Wear/WearModule.swift",
"Modules/Wear/WearSourceHandler.swift",
"Modules/Wear/WearableEventProcessor.swift",
"Synheart+Parity.swift",
"Synheart.swift",
"SynheartInstance.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.