The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Kubrick, reference 1.0.0 (de9b0d), with Swift 6.0 for macOS (SPM) on 8 Nov 2024 16:29:18 UTC.

Swift 6 data race errors: 23

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
    :
487 |
488 |     queueTask(session: session) {
489 |       guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                    `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 |         logger.jobTrace {
491 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
    :
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
    :
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:45:9: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 43 |
 44 |   struct UserNotificationJobInfo {
 45 |     let future: Future<UNNotificationResponse, Error>
    |         `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 46 |   }
 47 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
 11 | import AsyncObjects
 12 | import Foundation
 13 | import UserNotifications
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
 14 | import OSLog
 15 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 36 |       }
 37 |       catch {
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 31 |           // TODO: log
 32 |           return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 31 |           // TODO: log
 32 |           return
    :
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                                   `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:64:57: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 62 |     }
 63 |
 64 |     let extJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
    |                                                         `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 65 |
 66 |     let request = UNNotificationRequest(identifier: extJobKey.value,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                    `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                    `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:87:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 85 |     guard
 86 |       let externalJobKey = ExternalJobKey(string: notification.request.identifier),
 87 |       externalJobKey.directorId == director.id
    |                                             `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 88 |     else {
 89 |       return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 89 |       return nil
 90 |     }
 91 |     return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                                       `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 92 |   }
 93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
111 |   public func execute() async throws -> ResultValue {
112 |
113 |     let response = try await manager.show(content: content)
    |                                      `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
114 |
115 |     return try await transform(response)
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 50 |
 51 |       if let error {
 52 |         return await future.fulfill(throwing: error)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 53 |       }
 54 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 84 |
 85 |
 86 |       await future.fulfill(producing: (url, response))
    |                    |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                    `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 87 |     }
 88 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 61 |         let httpURL = httpResponse.url
 62 |       else {
 63 |         return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 64 |       }
 65 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 54 |
 55 |       guard let url else {
 56 |         return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 57 |       }
 58 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
103 |
104 |       if let error {
105 |         await future.fulfill(throwing: error)
    |                      |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
106 |         return
107 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
134 |                                            statusCode: httpResponse.statusCode)
135 |
136 |       await future.fulfill(producing: response)
    |                    |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                    `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
137 |     }
138 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
111 |         let httpURL = httpResponse.url
112 |       else {
113 |         await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                      |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
114 |         return
115 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
193 |
194 |       let downloadTask: URLSessionDownloadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:196:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- note: access can happen concurrently
193 |
194 |       let downloadTask: URLSessionDownloadTask
195 |       if
196 |         let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
    |                                                                              |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
197 |         let existingDownloadTask = existingTask as? URLSessionDownloadTask
198 |       {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:209:63: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                                        `- note: access can happen concurrently
193 |
194 |       let downloadTask: URLSessionDownloadTask
    :
207 |       }
208 |       else {
209 |         downloadTask = self.primarySession.downloadTask(with: request)
    |                                                               |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                               `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
210 |         downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
193 |
194 |       let downloadTask: URLSessionDownloadTask
    :
221 |     } as! DownloadTaskJobInfo
222 |
223 |     logger.jobTrace { $0.debug("[\(jobKey)] Waiting on download") }
    |                     `- note: access can happen concurrently
224 |
225 |     if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:319:27: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
317 |     let allSessions = [primarySession] + secondardarySessions
318 |     for session in allSessions {
319 |       if let task = await find(in: session) {
    |                           `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
320 |         return (task, session)
321 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |              `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |              `- warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
228 |
229 |     return try await withTaskCancellationHandler {
230 |       try await taskJobInfo.future.get()
    |                                    |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending 'taskJobInfo'-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and 'taskJobInfo'-isolated uses
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
329 |     logger.info("[\(jobKey)] Cancelling task")
330 |
331 |     try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
    |                                |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'valueIfRegistered(for:)' risks causing data races between actor-isolated and 'self'-isolated uses
332 |   }
333 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
250 |
251 |       let uploadTask: URLSessionUploadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:283:25: warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
281 |
282 |     if let error = taskJobInfo.task.error {
283 |       await taskJobInfo.finish(response: nil, error: error)
    |                         |- warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending 'self.taskJobInfoCache'-isolated 'taskJobInfo' to nonisolated instance method 'finish(response:error:)' risks causing data races between nonisolated and 'self.taskJobInfoCache'-isolated uses
284 |     }
285 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:253:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- note: access can happen concurrently
250 |
251 |       let uploadTask: URLSessionUploadTask
252 |       if
253 |         let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
    |                                                                              |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
254 |         let existingUploadTask = existingTask as? URLSessionUploadTask
255 |       {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:266:78: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                                        `- note: access can happen concurrently
250 |
251 |       let uploadTask: URLSessionUploadTask
    :
264 |       }
265 |       else {
266 |         uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
    |                                                                              |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
267 |         uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
268 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:273:19: warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
271 |         uploadTask.resume()
272 |
273 |         try await onStart?(self.director, uploadTask)
    |                   |- warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: 'self'-isolated 'onProgress' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
274 |       }
275 |
    :
284 |     }
285 |
286 |     return try await withTaskCancellationHandler {
    |                      `- note: access can happen concurrently
287 |       try await taskJobInfo.future.get()
288 |     } onCancel: {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
250 |
251 |       let uploadTask: URLSessionUploadTask
    :
278 |     } as! UploadTaskJobInfo
279 |
280 |     logger.jobTrace { $0.debug("[\(jobKey)] Waiting on upload") }
    |                     `- note: access can happen concurrently
281 |
282 |     if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
274 |       }
275 |
276 |       return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
    |              `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
277 |
278 |     } as! UploadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
285 |
286 |     return try await withTaskCancellationHandler {
287 |       try await taskJobInfo.future.get()
    |                                    |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
299 |       return nil
300 |     }
301 |     return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                               `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
302 |   }
303 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
384 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 |       await owner.director.runAs(jobKey: jobKey) {
    |                            |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
387 |         await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
384 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 |       await owner.director.runAs(jobKey: jobKey) {
    |                            `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
387 |         await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
411 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 |       await owner.director.runAs(jobKey: jobKey) {
    |                            |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
414 |         await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
411 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 |       await owner.director.runAs(jobKey: jobKey) {
    |                            `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
414 |         await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
471 |         logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 |         await downloadTaskJobInfo.future.fulfill(throwing: error)
    |                                          |- warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: sending 'downloadTaskJobInfo'-isolated 'downloadTaskJobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'downloadTaskJobInfo'-isolated uses
474 |       }
475 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:48:26: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
 46 |   @TaskLocal static var currentJobInputResults: JobInputResults?
 47 |
 48 |   public nonisolated let id: ID
    |                          `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
 49 |   public nonisolated let mode: JobDirectorMode
 50 |   public nonisolated let injected: JobInjectValues
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
 89 |       return nil
 90 |     }
 91 |     return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                                       `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
 92 |   }
 93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  |- warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending task-isolated 'response.notification' to actor-isolated instance method 'findJobInfo(notification:)' risks causing data races between actor-isolated and task-isolated uses
 31 |           // TODO: log
 32 |           return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:14: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |              |       |                                 `- note: closure captures non-Sendable 'response'
    |              |       `- note: closure captures non-Sendable 'jobInfo'
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'response' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                      `- note: sending 'self.director'-isolated 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and 'self.director'-isolated uses
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      `- warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending task-isolated 'jobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                                   |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
111 |   public func execute() async throws -> ResultValue {
112 |
113 |     let response = try await manager.show(content: content)
    |                                      |- warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.content' to actor-isolated instance method 'show(content:trigger:)' risks causing data races between actor-isolated and task-isolated uses
114 |
115 |     return try await transform(response)
[379/379] Compiling Kubrick resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:36:9: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
 36 |     let future: Future<Result, Error>
    |         `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 37 |     var url: URL?
 38 |
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:39:5: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 37 |     var url: URL?
 38 |
 39 |     init(task: URLSessionTask, future: Future<Result, Error>, onProgress: OnProgress?) {
    |     `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 40 |       self.task = task
 41 |       self.future = future
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:94:9: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 92 |     let task: URLSessionTask
 93 |     let onProgress: OnProgress?
 94 |     let future: Future<URLSessionJobResponse, Error>
    |         `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 95 |
 96 |     init(task: URLSessionTask, future: Future<URLSessionJobResponse, Error>, onProgress: OnProgress?) {
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:96:5: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |     let future: Future<URLSessionJobResponse, Error>
 95 |
 96 |     init(task: URLSessionTask, future: Future<URLSessionJobResponse, Error>, onProgress: OnProgress?) {
    |     `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 97 |       self.task = task
 98 |       self.onProgress = onProgress
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:361:12: warning: non-final class 'URLSessionJobManagerDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
359 | // MARK: Delegate
360 |
361 | open class URLSessionJobManagerDelegate: NSObject, URLSessionDownloadDelegate {
    |            `- warning: non-final class 'URLSessionJobManagerDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
362 |
363 |   weak var owner: URLSessionJobManager?
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:363:12: warning: stored property 'owner' of 'Sendable'-conforming class 'URLSessionJobManagerDelegate' is mutable; this is an error in the Swift 6 language mode
361 | open class URLSessionJobManagerDelegate: NSObject, URLSessionDownloadDelegate {
362 |
363 |   weak var owner: URLSessionJobManager?
    |            `- warning: stored property 'owner' of 'Sendable'-conforming class 'URLSessionJobManagerDelegate' is mutable; this is an error in the Swift 6 language mode
364 |
365 |   open func urlSession(
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 50 |
 51 |       if let error {
 52 |         return await future.fulfill(throwing: error)
    |                             `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 53 |       }
 54 |
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 54 |
 55 |       guard let url else {
 56 |         return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
    |                             `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 57 |       }
 58 |
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 61 |         let httpURL = httpResponse.url
 62 |       else {
 63 |         return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                             `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 64 |       }
 65 |
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 84 |
 85 |
 86 |       await future.fulfill(producing: (url, response))
    |                    `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 |     }
 88 |   }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
103 |
104 |       if let error {
105 |         await future.fulfill(throwing: error)
    |                      `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
106 |         return
107 |       }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 |         let httpURL = httpResponse.url
112 |       else {
113 |         await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                      `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 |         return
115 |       }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 |                                            statusCode: httpResponse.statusCode)
135 |
136 |       await future.fulfill(producing: response)
    |                    `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |     }
138 |   }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:63: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |                                                               `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
228 |
229 |     return try await withTaskCancellationHandler {
230 |       try await taskJobInfo.future.get()
    |                                    `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
193 |
194 |       let downloadTask: URLSessionDownloadTask
    :
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:210:81: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
208 |       else {
209 |         downloadTask = self.primarySession.downloadTask(with: request)
210 |         downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
    |                                                                                 `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
211 |
212 |         logger.info("[\(jobKey)] Started download task: identifier=\(downloadTask.taskIdentifier)")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:63: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |                                                               `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
228 |
229 |     return try await withTaskCancellationHandler {
230 |       try await taskJobInfo.future.get()
    |                                    `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:29: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
228 |
229 |     return try await withTaskCancellationHandler {
230 |       try await taskJobInfo.future.get()
    |                             `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:232:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
230 |       try await taskJobInfo.future.get()
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
    |                                       `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
233 |     }
234 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:232:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
230 |       try await taskJobInfo.future.get()
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
    |                                       `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
233 |     }
234 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:59: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
274 |       }
275 |
276 |       return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
    |                                                           `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
277 |
278 |     } as! UploadTaskJobInfo
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
285 |
286 |     return try await withTaskCancellationHandler {
287 |       try await taskJobInfo.future.get()
    |                                    `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
250 |
251 |       let uploadTask: URLSessionUploadTask
    :
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:267:79: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
265 |       else {
266 |         uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
267 |         uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
    |                                                                               `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
268 |
269 |         logger.info("[\(jobKey)] Started upload task: identifier=\(uploadTask.taskIdentifier)")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:59: warning: non-sendable type 'Future<URLSessionJobResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
274 |       }
275 |
276 |       return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
    |                                                           `- warning: non-sendable type 'Future<URLSessionJobResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
277 |
278 |     } as! UploadTaskJobInfo
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
285 |
286 |     return try await withTaskCancellationHandler {
287 |       try await taskJobInfo.future.get()
    |                                    `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:289:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 |       try await taskJobInfo.future.get()
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
    |                                       `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
290 |     }
291 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:289:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
287 |       try await taskJobInfo.future.get()
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
    |                                       `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
290 |     }
291 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:297:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
295 |       let taskDescription = task.taskDescription,
296 |       let externalJobKey = ExternalJobKey(string: taskDescription),
297 |       externalJobKey.directorId == director.id
    |                                             `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
298 |     else {
299 |       return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
299 |       return nil
300 |     }
301 |     return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                               `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
302 |   }
303 |
    :
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:305:62: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
303 |
304 |   func findJobTask(jobKey: JobKey) async -> (URLSessionTask, URLSession)? {
305 |     let externalJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
    |                                                              `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
306 |
307 |     func find(in session: URLSession) async -> URLSessionTask? {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: non-sendable type '(any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
329 |     logger.info("[\(jobKey)] Cancelling task")
330 |
331 |     try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
    |                                `- warning: non-sendable type '(any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
332 |   }
333 |
    :
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:377:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
375 |
376 |     queueTask(session: session) {
377 |       guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                         `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
378 |         logger.jobTrace {
379 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:377:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
    :
375 |
376 |     queueTask(session: session) {
377 |       guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                         `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
378 |         logger.jobTrace {
379 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:404:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
402 |
403 |     queueTask(session: session) {
404 |       guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                         `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
405 |         logger.jobTrace {
406 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:404:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
    :
402 |
403 |     queueTask(session: session) {
404 |       guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                         `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
405 |         logger.jobTrace {
406 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
471 |         logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 |         await downloadTaskJobInfo.future.fulfill(throwing: error)
    |                                          `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
474 |       }
475 |     }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:468:49: warning: capture of 'result' with non-sendable type 'ExecuteResult<URL>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
466 |         logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting url to job") }
467 |
468 |         await downloadTaskJobInfo.save(url: try result.get())
    |                                                 `- warning: capture of 'result' with non-sendable type 'ExecuteResult<URL>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
469 |       }
470 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobResult.swift:17:13: note: consider making generic enum 'ExecuteResult' conform to the 'Sendable' protocol
 15 | #if !DISABLE_RESULT_REPLACE
 16 |
 17 | public enum ExecuteResult<Success> {
    |             `- note: consider making generic enum 'ExecuteResult' conform to the 'Sendable' protocol
 18 |   case success(Success)
 19 |   case failure(Error)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:453:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
451 |
452 |     queueTask(session: session) {
453 |       guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                    `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
454 |         logger.jobTrace {
455 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:453:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
    :
451 |
452 |     queueTask(session: session) {
453 |       guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                    `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
454 |         logger.jobTrace {
455 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:35: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
471 |         logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 |         await downloadTaskJobInfo.future.fulfill(throwing: error)
    |                                   `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
474 |       }
475 |     }
    :
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:489:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
487 |
488 |     queueTask(session: session) {
489 |       guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                    `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 |         logger.jobTrace {
491 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:489:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
    |          `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 |   var task: URLSessionTask { get }
    :
487 |
488 |     queueTask(session: session) {
489 |       guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
    |                                                    `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 |         logger.jobTrace {
491 |           $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
    :
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
    |               `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 |   public var url: URL
518 |   public var headers: [String: [String]]
    :
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:45:9: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 43 |
 44 |   struct UserNotificationJobInfo {
 45 |     let future: Future<UNNotificationResponse, Error>
    |         `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 46 |   }
 47 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
 11 | import AsyncObjects
 12 | import Foundation
 13 | import UserNotifications
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
 14 | import OSLog
 15 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 36 |       }
 37 |       catch {
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 31 |           // TODO: log
 32 |           return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 |   public var id: JobID
19 |   public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 31 |           // TODO: log
 32 |           return
    :
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                                   `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:64:57: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 62 |     }
 63 |
 64 |     let extJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
    |                                                         `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 65 |
 66 |     let request = UNNotificationRequest(identifier: extJobKey.value,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 72 |       try await UNUserNotificationCenter.current().add(request)
 73 |
 74 |       return UserNotificationJobInfo(future: Future())
    |                                              `- warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 75 |     }
 76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                    `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                    `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:87:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 85 |     guard
 86 |       let externalJobKey = ExternalJobKey(string: notification.request.identifier),
 87 |       externalJobKey.directorId == director.id
    |                                             `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
 88 |     else {
 89 |       return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 42 |   }
 43 |
 44 |   struct UserNotificationJobInfo {
    |          `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
 45 |     let future: Future<UNNotificationResponse, Error>
 46 |   }
    :
 89 |       return nil
 90 |     }
 91 |     return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                                       `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 92 |   }
 93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
111 |   public func execute() async throws -> ResultValue {
112 |
113 |     let response = try await manager.show(content: content)
    |                                      `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
114 |
115 |     return try await transform(response)
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 1 | @available(macOS 10.14, *)
 2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
   |            `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
 3 |     @NSCopying open var notification: UNNotification { get }
 4 |     open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 50 |
 51 |       if let error {
 52 |         return await future.fulfill(throwing: error)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 53 |       }
 54 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 84 |
 85 |
 86 |       await future.fulfill(producing: (url, response))
    |                    |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                    `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 87 |     }
 88 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 61 |         let httpURL = httpResponse.url
 62 |       else {
 63 |         return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 64 |       }
 65 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
 54 |
 55 |       guard let url else {
 56 |         return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
    |                             |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
 57 |       }
 58 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
103 |
104 |       if let error {
105 |         await future.fulfill(throwing: error)
    |                      |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
106 |         return
107 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
134 |                                            statusCode: httpResponse.statusCode)
135 |
136 |       await future.fulfill(producing: response)
    |                    |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                    `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
137 |     }
138 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
111 |         let httpURL = httpResponse.url
112 |       else {
113 |         await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
    |                      |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
114 |         return
115 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
193 |
194 |       let downloadTask: URLSessionDownloadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:196:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- note: access can happen concurrently
193 |
194 |       let downloadTask: URLSessionDownloadTask
195 |       if
196 |         let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
    |                                                                              |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
197 |         let existingDownloadTask = existingTask as? URLSessionDownloadTask
198 |       {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:209:63: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                                        `- note: access can happen concurrently
193 |
194 |       let downloadTask: URLSessionDownloadTask
    :
207 |       }
208 |       else {
209 |         downloadTask = self.primarySession.downloadTask(with: request)
    |                                                               |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                               `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
210 |         downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
193 |
194 |       let downloadTask: URLSessionDownloadTask
    :
221 |     } as! DownloadTaskJobInfo
222 |
223 |     logger.jobTrace { $0.debug("[\(jobKey)] Waiting on download") }
    |                     `- note: access can happen concurrently
224 |
225 |     if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:319:27: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
317 |     let allSessions = [primarySession] + secondardarySessions
318 |     for session in allSessions {
319 |       if let task = await find(in: session) {
    |                           `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
320 |         return (task, session)
321 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |              `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
217 |       }
218 |
219 |       return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
    |              `- warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
220 |
221 |     } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
228 |
229 |     return try await withTaskCancellationHandler {
230 |       try await taskJobInfo.future.get()
    |                                    |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending 'taskJobInfo'-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and 'taskJobInfo'-isolated uses
231 |     } onCancel: {
232 |       Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
329 |     logger.info("[\(jobKey)] Cancelling task")
330 |
331 |     try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
    |                                |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'valueIfRegistered(for:)' risks causing data races between actor-isolated and 'self'-isolated uses
332 |   }
333 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
250 |
251 |       let uploadTask: URLSessionUploadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:283:25: warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
281 |
282 |     if let error = taskJobInfo.task.error {
283 |       await taskJobInfo.finish(response: nil, error: error)
    |                         |- warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending 'self.taskJobInfoCache'-isolated 'taskJobInfo' to nonisolated instance method 'finish(response:error:)' risks causing data races between nonisolated and 'self.taskJobInfoCache'-isolated uses
284 |     }
285 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:253:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  `- note: access can happen concurrently
250 |
251 |       let uploadTask: URLSessionUploadTask
252 |       if
253 |         let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
    |                                                                              |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
254 |         let existingUploadTask = existingTask as? URLSessionUploadTask
255 |       {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:266:78: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                                        `- note: access can happen concurrently
250 |
251 |       let uploadTask: URLSessionUploadTask
    :
264 |       }
265 |       else {
266 |         uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
    |                                                                              |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                              `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
267 |         uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
268 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:273:19: warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
271 |         uploadTask.resume()
272 |
273 |         try await onStart?(self.director, uploadTask)
    |                   |- warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                   `- note: 'self'-isolated 'onProgress' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
274 |       }
275 |
    :
284 |     }
285 |
286 |     return try await withTaskCancellationHandler {
    |                      `- note: access can happen concurrently
287 |       try await taskJobInfo.future.get()
288 |     } onCancel: {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 |     logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 |     let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
    |                                                  |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
250 |
251 |       let uploadTask: URLSessionUploadTask
    :
278 |     } as! UploadTaskJobInfo
279 |
280 |     logger.jobTrace { $0.debug("[\(jobKey)] Waiting on upload") }
    |                     `- note: access can happen concurrently
281 |
282 |     if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
274 |       }
275 |
276 |       return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
    |              `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
277 |
278 |     } as! UploadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
285 |
286 |     return try await withTaskCancellationHandler {
287 |       try await taskJobInfo.future.get()
    |                                    |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
288 |     } onCancel: {
289 |       Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
299 |       return nil
300 |     }
301 |     return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                               `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
302 |   }
303 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
384 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 |       await owner.director.runAs(jobKey: jobKey) {
    |                            |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
387 |         await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
384 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 |       await owner.director.runAs(jobKey: jobKey) {
    |                            `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
387 |         await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
411 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 |       await owner.director.runAs(jobKey: jobKey) {
    |                            |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
414 |         await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
411 |       logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 |       await owner.director.runAs(jobKey: jobKey) {
    |                            `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
414 |         await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
471 |         logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 |         await downloadTaskJobInfo.future.fulfill(throwing: error)
    |                                          |- warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: sending 'downloadTaskJobInfo'-isolated 'downloadTaskJobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'downloadTaskJobInfo'-isolated uses
474 |       }
475 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
552 |   public func execute() async throws -> ResultValue {
553 |
554 |     let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
    |                                                 |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                                                 `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 |     guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
611 |   public func execute() async throws -> URLSessionJobResponse {
612 |
613 |     let response = try await manager.upload(fromFile: fromFile,
    |                                      |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 |                                             request: request,
615 |                                             onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:48:26: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
 46 |   @TaskLocal static var currentJobInputResults: JobInputResults?
 47 |
 48 |   public nonisolated let id: ID
    |                          `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
 49 |   public nonisolated let mode: JobDirectorMode
 50 |   public nonisolated let injected: JobInjectValues
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 18 | /// persistence, etc.)
 19 | ///
 20 | public struct JobDirectorID: RawRepresentable, Hashable {
    |               `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
 21 |
 22 |   public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
 89 |       return nil
 90 |     }
 91 |     return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
    |                                                                       `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
 92 |   }
 93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
 28 |
 29 |       do {
 30 |         guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
    |                                                  |- warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
    |                                                  `- note: sending task-isolated 'response.notification' to actor-isolated instance method 'findJobInfo(notification:)' risks causing data races between actor-isolated and task-isolated uses
 31 |           // TODO: log
 32 |           return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:14: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |              |       |                                 `- note: closure captures non-Sendable 'response'
    |              |       `- note: closure captures non-Sendable 'jobInfo'
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'response' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 33 |         }
 34 |
 35 |         Task { await jobInfo.future.fulfill(producing: response) }
    |                                     |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 36 |       }
 37 |       catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
    |                                                      `- note: sending 'self.director'-isolated 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and 'self.director'-isolated uses
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 68 |                                         trigger: trigger)
 69 |
 70 |     let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
    |                                                      `- warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 71 |
 72 |       try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 76 |
 77 |     return try await withTaskCancellationHandler {
 78 |       try await jobInfo.future.get()
    |                                |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending task-isolated 'jobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
 78 |       try await jobInfo.future.get()
 79 |     } onCancel: {
 80 |       Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
    |                                   |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
 81 |     }
 82 |   }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
111 |   public func execute() async throws -> ResultValue {
112 |
113 |     let response = try await manager.show(content: content)
    |                                      |- warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: sending task-isolated 'self.content' to actor-isolated instance method 'show(content:trigger:)' risks causing data races between actor-isolated and task-isolated uses
114 |
115 |     return try await transform(response)
Build complete! (74.01s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "asyncobjects",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "2.2.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/SwiftyLab/AsyncObjects.git"
    },
    {
      "identity" : "potentcodables",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.0",
            "upper_bound" : "3.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/outfoxx/potentcodables.git"
    },
    {
      "identity" : "swiftfriendlyid",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.1",
            "upper_bound" : "1.4.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kdubb/SwiftFriendlyId.git"
    },
    {
      "identity" : "iostreams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.2",
            "upper_bound" : "1.5.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/outfoxx/IOStreams.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "1.4.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "Kubrick",
  "name" : "Kubrick",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    }
  ],
  "products" : [
    {
      "name" : "Kubrick",
      "targets" : [
        "Kubrick"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Kubrick",
      "module_type" : "SwiftTarget",
      "name" : "Kubrick",
      "path" : "Sources/Kubrick",
      "product_dependencies" : [
        "AsyncObjects",
        "IOStreams",
        "PotentCodables",
        "FriendlyId"
      ],
      "product_memberships" : [
        "Kubrick"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/Kubrick.docc",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AssistantsWatcher.swift",
        "Base64URL.swift",
        "BatchJob.swift",
        "CatchJob.swift",
        "DirectoryWatcher.swift",
        "DynamicJobDirector.swift",
        "ExecutableJob.swift",
        "ExternalJobKey.swift",
        "FileHandles.swift",
        "Job.swift",
        "JobBinding.swift",
        "JobBuilder.swift",
        "JobCodable.swift",
        "JobDirector.swift",
        "JobDirectorID.swift",
        "JobDirectorMode.swift",
        "JobDirectorStore.swift",
        "JobEnvironment.swift",
        "JobEnvironmentValue.swift",
        "JobError.swift",
        "JobErrorBox.swift",
        "JobExecutionError.swift",
        "JobHashable.swift",
        "JobHasher.swift",
        "JobID.swift",
        "JobInject.swift",
        "JobInjectManagable.swift",
        "JobInput.swift",
        "JobInputDescriptor.swift",
        "JobInputResults.swift",
        "JobKey.swift",
        "JobResult.swift",
        "JobTransferError.swift",
        "JobValue.swift",
        "Logging.swift",
        "MapJob.swift",
        "NoValue.swift",
        "RegEx.swift",
        "RegisterCache.swift",
        "ResultJob.swift",
        "RetryJob.swift",
        "SubmittableJob.swift",
        "SubmittableJobStore.swift",
        "Tasks.swift",
        "TimeDuration.swift",
        "TypeResolvers.swift",
        "URLSessionJobManager.swift",
        "UUIDs.swift",
        "UniqueID.swift",
        "UserNotificationJobManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/outfoxx/kubrick/1.0.0
Repository:               outfoxx/Kubrick
Swift version used:       6.0
    .package(url: "https://github.com/apple/swift-docc-plugin", .upToNextMinor(from: "1.3.0"))
Target:                   Kubrick
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Generating documentation for 'Kubrick'...
Converting documentation...
Conversion complete! (0.37s)
Generated DocC archive at '/Users/admin/builder/spi-builder-workspace/.docs/outfoxx/kubrick/1.0.0'
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit SemanticVersion.swift
[7/53] Compiling SymbolKit AccessControl.swift
[8/53] Compiling SymbolKit Availability.swift
[9/53] Compiling SymbolKit AvailabilityItem.swift
[10/53] Compiling SymbolKit Domain.swift
[11/57] Emitting module SymbolKit
[12/57] Compiling SymbolKit Mixin+Equals.swift
[13/57] Compiling SymbolKit Mixin+Hash.swift
[14/57] Compiling SymbolKit Mixin.swift
[15/57] Compiling SymbolKit LineList.swift
[16/57] Compiling SymbolKit Position.swift
[17/57] Compiling SymbolKit Names.swift
[18/57] Compiling SymbolKit SPI.swift
[19/57] Compiling SymbolKit Snippet.swift
[20/57] Compiling SymbolKit Extension.swift
[21/57] Compiling SymbolKit DeclarationFragments.swift
[22/57] Compiling SymbolKit Fragment.swift
[23/57] Compiling SymbolKit FragmentKind.swift
[24/57] Compiling SymbolKit FunctionParameter.swift
[25/57] Compiling SymbolKit FunctionSignature.swift
[26/57] Compiling SymbolKit GenericConstraint.swift
[27/57] Compiling SymbolKit GenericParameter.swift
[28/57] Compiling SymbolKit Generics.swift
[29/57] Compiling SymbolKit Namespace.swift
[30/57] Compiling SymbolKit Relationship.swift
[31/57] Compiling SymbolKit RelationshipKind.swift
[32/57] Compiling SymbolKit SourceOrigin.swift
[33/57] Compiling SymbolKit GenericConstraints.swift
[34/57] Compiling SymbolKit Swift.swift
[35/57] Compiling SymbolKit Identifier.swift
[36/57] Compiling SymbolKit KindIdentifier.swift
[37/57] Compiling SymbolKit Location.swift
[38/57] Compiling SymbolKit Mutability.swift
[39/57] Compiling SymbolKit SourceRange.swift
[40/57] Compiling SymbolKit Metadata.swift
[41/57] Compiling SymbolKit Module.swift
[42/57] Compiling SymbolKit OperatingSystem.swift
[43/57] Compiling SymbolKit Platform.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets SnippetParser.swift
[54/57] Compiling Snippets Snippet.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.87s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/115] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[3/115] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[4/116] Compiling Atomics Primitives.native.swift
[5/117] Compiling RealModule Real.swift
[6/117] Compiling RealModule Float80+Real.swift
[7/118] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[8/118] Compiling OrderedCollections OrderedDictionary+Elements+SubSequence.swift
[9/118] Compiling RealModule Float16+Real.swift
[10/118] Compiling OrderedCollections _HashTable+Bucket.swift
[11/118] Compiling OrderedCollections _HashTable+BucketIterator.swift
[12/118] Compiling RealModule Float+Real.swift
[13/118] Compiling RealModule ElementaryFunctions.swift
[14/118] Compiling RealModule AugmentedArithmetic.swift
[15/118] Compiling RealModule AlgebraicField.swift
[16/118] Compiling RealModule ApproximateEquality.swift
[17/118] Compiling RealModule Double+Real.swift
[18/118] Compiling RealModule RealFunctions.swift
[19/118] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[22/118] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[23/118] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[24/118] Compiling OrderedCollections OrderedSet+Equatable.swift
[25/118] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[26/118] Compiling OrderedCollections OrderedSet+Hashable.swift
[27/118] Compiling OrderedCollections OrderedSet+Initializers.swift
[28/118] Compiling OrderedCollections OrderedSet+Insertions.swift
[29/123] Emitting module RealModule
[30/123] Emitting module ArgumentParserToolInfo
[31/123] Compiling ArgumentParserToolInfo ToolInfo.swift
[32/123] Compiling DequeModule _UnsafeWrappedBuffer.swift
[33/123] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[35/123] Compiling OrderedCollections OrderedDictionary+CustomStringConvertible.swift
[39/123] Compiling OrderedCollections OrderedDictionary+Elements.swift
[40/123] Compiling OrderedCollections _HashTable+Testing.swift
[41/123] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[44/123] Compiling OrderedCollections OrderedDictionary+Codable.swift
[45/123] Compiling OrderedCollections OrderedDictionary+CustomDebugStringConvertible.swift
[46/123] Compiling OrderedCollections _HashTable.swift
[47/123] Compiling OrderedCollections _Hashtable+Header.swift
[48/123] Compiling Atomics PointerConformances.swift
[49/127] Compiling OrderedCollections OrderedSet+Codable.swift
[50/127] Compiling OrderedCollections OrderedSet+CustomDebugStringConvertible.swift
[51/127] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[52/127] Compiling OrderedCollections OrderedSet+CustomStringConvertible.swift
[53/127] Compiling OrderedCollections OrderedSet+Diffing.swift
[56/127] Compiling OrderedCollections _HashTable+Constants.swift
[57/127] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[58/127] Compiling OrderedCollections OrderedSet+Invariants.swift
[59/127] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[60/127] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[61/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[62/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Operations.swift
[63/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Predicates.swift
[64/127] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[65/127] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[66/127] Compiling OrderedCollections OrderedSet+SubSequence.swift
[67/127] Compiling OrderedCollections OrderedSet+Testing.swift
[68/127] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[69/127] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[70/127] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[71/127] Compiling OrderedCollections OrderedDictionary+Values.swift
[72/127] Compiling OrderedCollections OrderedDictionary.swift
[73/162] Compiling ArgumentParser CompletionKind.swift
[74/162] Compiling ArgumentParser Errors.swift
[75/162] Compiling ArgumentParser Argument.swift
[76/162] Compiling ArgumentParser ArgumentHelp.swift
[77/162] Compiling Atomics IntegerConformances.swift
[78/162] Compiling ArgumentParser ExpressibleByArgument.swift
[79/162] Compiling ArgumentParser ParsableArguments.swift
[80/162] Compiling ArgumentParser ArgumentDecoder.swift
[81/162] Compiling ArgumentParser ArgumentDefinition.swift
[84/164] Compiling ArgumentParser BashCompletionsGenerator.swift
[85/164] Compiling ArgumentParser CompletionsGenerator.swift
[86/164] Compiling ArgumentParser FishCompletionsGenerator.swift
[87/164] Compiling ArgumentParser ZshCompletionsGenerator.swift
[88/164] Compiling ArgumentParser CommandConfiguration.swift
[89/164] Compiling ArgumentParser EnumerableFlag.swift
[96/164] Compiling ArgumentParser Option.swift
[97/164] Compiling ArgumentParser OptionGroup.swift
[98/164] Compiling ArgumentParser Flag.swift
[99/164] Compiling ArgumentParser NameSpecification.swift
[100/164] Compiling ArgumentParser ParsableArgumentsValidation.swift
[101/164] Compiling ArgumentParser ParsableCommand.swift
[104/164] Emitting module DequeModule
[107/164] Emitting module BigInt
[108/164] Compiling Atomics Primitives.shims.swift
[109/164] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[110/164] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[111/164] Compiling OrderedCollections OrderedSet.swift
[112/164] Compiling OrderedCollections RandomAccessCollection+Offsets.swift
[113/164] Compiling OrderedCollections _UnsafeBitset.swift
[114/164] Emitting module Float16
[115/164] Compiling Float16 Concurrency.swift
[116/164] Compiling Float16 Real.swift
[117/164] Compiling Float16 float16.swift
[126/164] Emitting module OrderedCollections
[127/164] Emitting module Atomics
[132/167] Compiling BigInt Subtraction.swift
[133/167] Compiling BigInt Words and Bits.swift
[134/167] Compiling ArgumentParser ArgumentSet.swift
[135/167] Compiling ArgumentParser CommandParser.swift
[136/167] Compiling ArgumentParser InputOrigin.swift
[137/167] Compiling ArgumentParser Name.swift
[138/167] Compiling ArgumentParser Parsed.swift
[139/167] Compiling ArgumentParser ParsedValues.swift
[140/167] Compiling ArgumentParser ParserError.swift
[141/167] Compiling ArgumentParser SplitArguments.swift
[142/167] Compiling ArgumentParser MessageInfo.swift
[143/167] Compiling ArgumentParser UsageGenerator.swift
[144/167] Compiling ArgumentParser CollectionExtensions.swift
[147/167] Compiling ArgumentParser HelpGenerator.swift
[152/167] Emitting module ArgumentParser
[165/209] Compiling Collections Collections.swift
[166/209] Emitting module Collections
[167/230] Compiling IOStreams Stream.swift
[168/231] Compiling ArgumentParser SequenceExtensions.swift
[169/231] Compiling ArgumentParser StringExtensions.swift
[170/231] Compiling ArgumentParser Tree.swift
[171/231] Compiling IOStreams Source.swift
[172/231] Compiling IOStreams IOError.swift
[173/231] Compiling IOStreams Sink.swift
[174/231] Compiling PotentCodables Value.swift
[175/231] Compiling PotentCodables AnyValueEncoder.swift
[176/236] Compiling PotentCodables Refs.swift
[177/236] Compiling PotentCodables TimeZone.swift
[178/236] Compiling PotentCodables AnyValueDecoder.swift
[179/236] Compiling PotentCodables KeyedNestedEncoder.swift
[180/236] Compiling PotentCodables AnyCodingKey.swift
[181/236] Compiling PotentCodables AnyValue.swift
[182/236] Compiling PotentCodables TopLevel.swift
[183/236] Compiling PotentCodables TreeValueDecodingContainer.swift
[184/236] Emitting module IOStreams
[195/238] Compiling PotentCodables DecoderSupport.swift
[196/238] Compiling PotentCodables EncoderSupport.swift
[197/238] Compiling PotentCodables ValueTransformer.swift
[198/238] Compiling PotentCodables Errors.swift
[199/238] Compiling PotentCodables Float16.swift
[200/238] Compiling PotentCodables ValueDecoder.swift
[201/238] Compiling PotentCodables ValueTransformerProviding.swift
[202/238] Compiling PotentCodables KeyStrategy.swift
[203/238] Compiling PotentCodables KeyedNestedDecoder.swift
[204/238] Compiling AsyncObjects ContinuableCollection.swift
[205/238] Compiling AsyncObjects ContinuableCollectionActor.swift
[206/238] Compiling AsyncObjects GlobalContinuation.swift
[207/238] Compiling PotentCodables ValueEncoder.swift
[208/238] Compiling AsyncObjects Future.swift
[213/240] Compiling FriendlyId Id.swift
[214/240] Compiling FriendlyId FriendlyId.swift
[215/240] Compiling FriendlyId BigUints.swift
[216/240] Emitting module AsyncObjects
[217/240] Compiling IOStreams URLSessionStreams.swift
[218/240] Emitting module FriendlyId
[219/240] Compiling FriendlyId Base62.swift
[220/240] Emitting module PotentCodables
[223/240] Compiling AsyncObjects TaskQueue.swift
[224/240] Compiling AsyncObjects TaskTracker.swift
[225/240] Compiling PotentCodables ZonedDate.swift
[226/240] Compiling PotentCodables resource_bundle_accessor.swift
[241/281] Compiling PotentYAML YAMLWriter.swift
[242/281] Compiling PotentYAML YAMLSerialization.swift
[243/281] Compiling PotentJSON JSONWriter.swift
[244/281] Compiling PotentJSON JSONSerialization.swift
[245/281] Compiling PotentASN1 Tagged.swift
[246/281] Compiling PotentASN1 SchemaState.swift
[247/282] Compiling PotentCBOR CBORReader.swift
[248/282] Compiling PotentJSON JSONReader.swift
[249/282] Emitting module PotentJSON
[250/282] Compiling PotentCBOR CBOREncoder.swift
[251/282] Compiling PotentCBOR CBORSerialization.swift
[252/282] Compiling PotentCBOR CBORWriter.swift
[253/282] Compiling PotentCBOR CBORStream.swift
[254/282] Compiling PotentASN1 AnyString.swift
[255/282] Compiling PotentASN1 AnyTime.swift
[256/282] Compiling PotentYAML YAMLReader.swift
[257/282] Compiling PotentYAML YAML.swift
[258/282] Compiling PotentYAML YAMLEncoder.swift
[259/282] Compiling PotentYAML YAMLDecoder.swift
[260/282] Compiling PotentYAML Errors.swift
[261/282] Emitting module PotentYAML
[262/282] Compiling PotentASN1 BigInts.swift
[263/282] Compiling PotentASN1 BitString.swift
[264/282] Compiling PotentASN1 Dates.swift
[265/282] Compiling PotentASN1 ObjectIdentifier.swift
[266/282] Compiling PotentASN1 Schema.swift
[267/282] Compiling PotentASN1 SchemaSpecified.swift
[268/282] Compiling PotentJSON JSONEncoder.swift
[269/282] Compiling PotentJSON JSON.swift
[270/282] Compiling PotentJSON JSONDecoder.swift
[271/282] Compiling PotentJSON Errors.swift
[272/282] Compiling PotentASN1 TaggedValue.swift
[273/282] Compiling PotentASN1 ASN1Encoder.swift
[274/282] Compiling PotentASN1 ASN1Serialization.swift
[275/282] Compiling PotentCBOR CBOR.swift
[276/282] Emitting module PotentCBOR
[277/282] Compiling PotentCBOR CBORDecoder.swift
[278/282] Emitting module PotentASN1
[279/282] Compiling PotentASN1 ASN1.swift
[280/282] Compiling PotentASN1 ASN1DERReader.swift
[281/282] Compiling PotentASN1 ASN1DERWriter.swift
[282/282] Compiling PotentASN1 ASN1Decoder.swift
[283/329] Emitting module Kubrick
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
[284/334] Compiling Kubrick SubmittableJob.swift
[285/334] Compiling Kubrick SubmittableJobStore.swift
[286/334] Compiling Kubrick Tasks.swift
[287/334] Compiling Kubrick TimeDuration.swift
[288/334] Compiling Kubrick TypeResolvers.swift
[289/334] Compiling Kubrick ExecutableJob.swift
[290/334] Compiling Kubrick ExternalJobKey.swift
[291/334] Compiling Kubrick FileHandles.swift
[292/334] Compiling Kubrick Job.swift
[293/334] Compiling Kubrick JobBinding.swift
[294/334] Compiling Kubrick JobResult.swift
[295/334] Compiling Kubrick JobTransferError.swift
[296/334] Compiling Kubrick JobValue.swift
[297/334] Compiling Kubrick Logging.swift
[298/334] Compiling Kubrick MapJob.swift
[299/334] Compiling Kubrick NoValue.swift
[300/334] Compiling Kubrick RegEx.swift
[301/334] Compiling Kubrick RegisterCache.swift
[302/334] Compiling Kubrick ResultJob.swift
[303/334] Compiling Kubrick RetryJob.swift
[304/334] Compiling Kubrick JobDirectorStore.swift
[305/334] Compiling Kubrick JobEnvironment.swift
[306/334] Compiling Kubrick JobEnvironmentValue.swift
[307/334] Compiling Kubrick JobError.swift
[308/334] Compiling Kubrick JobErrorBox.swift
[309/334] Compiling Kubrick AssistantsWatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[310/334] Compiling Kubrick Base64URL.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[311/334] Compiling Kubrick BatchJob.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[312/334] Compiling Kubrick CatchJob.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[313/334] Compiling Kubrick DirectoryWatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[314/334] Compiling Kubrick DynamicJobDirector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
190 |
191 |   public var description: String {
[315/334] Compiling Kubrick JobExecutionError.swift
[316/334] Compiling Kubrick JobHashable.swift
[317/334] Compiling Kubrick JobHasher.swift
[318/334] Compiling Kubrick JobID.swift
[319/334] Compiling Kubrick JobInject.swift
[320/334] Compiling Kubrick JobBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 |     jobTask { [self] in
341 |       do {
342 |         let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
    |                         |                            `- note: property access is 'async'
    |                         `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 |         try jobHandle.lock()
344 |         defer { try? jobHandle.unlock() }
[321/334] Compiling Kubrick JobCodable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 |     jobTask { [self] in
341 |       do {
342 |         let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
    |                         |                            `- note: property access is 'async'
    |                         `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 |         try jobHandle.lock()
344 |         defer { try? jobHandle.unlock() }
[322/334] Compiling Kubrick JobDirector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 |     jobTask { [self] in
341 |       do {
342 |         let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
    |                         |                            `- note: property access is 'async'
    |                         `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 |         try jobHandle.lock()
344 |         defer { try? jobHandle.unlock() }
[323/334] Compiling Kubrick JobDirectorID.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 |     jobTask { [self] in
341 |       do {
342 |         let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
    |                         |                            `- note: property access is 'async'
    |                         `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 |         try jobHandle.lock()
344 |         defer { try? jobHandle.unlock() }
[324/334] Compiling Kubrick JobDirectorMode.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 |     jobTask { [self] in
341 |       do {
342 |         let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
    |                         |                            `- note: property access is 'async'
    |                         `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 |         try jobHandle.lock()
344 |         defer { try? jobHandle.unlock() }
[325/334] Compiling Kubrick JobInjectManagable.swift
[326/334] Compiling Kubrick JobInput.swift
[327/334] Compiling Kubrick JobInputDescriptor.swift
[328/334] Compiling Kubrick JobInputResults.swift
[329/334] Compiling Kubrick JobKey.swift
[330/334] Compiling Kubrick URLSessionJobManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
[331/334] Compiling Kubrick UUIDs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
[332/334] Compiling Kubrick UniqueID.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
[333/334] Compiling Kubrick UserNotificationJobManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
[334/334] Compiling Kubrick resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 28 |   public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
 29 |
 30 |   actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
    |                              `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
 31 |
 32 |     typealias Result = (fileURL: URL, response: URLSessionJobResponse)
 33 |
 34 |     let task: URLSessionTask
 35 |     let onProgress: OnProgress?
    |         `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
 36 |     let future: Future<Result, Error>
 37 |     var url: URL?
    :
350 |
351 |   var task: URLSessionTask { get }
352 |   var onProgress: URLSessionJobManager.OnProgress? { get }
    |       `- note: 'onProgress' declared here
353 |
354 |   func finish(response: URLResponse?, error: Error?) async
Build of target: 'Kubrick' complete! (8.92s)
    1317
11	/Users/admin/builder/spi-builder-workspace/.docs/outfoxx/kubrick/1.0.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/outfoxx/kubrick/1.0.0
File count: 1317
Doc size:   11.0MB
Preparing doc bundle ...
Uploading prod-outfoxx-kubrick-1.0.0-433d1bb1.zip to s3://spi-docs-inbox/prod-outfoxx-kubrick-1.0.0-433d1bb1.zip
Copying... [11%]
Copying... [21%]
Copying... [31%]
Copying... [41%]
Copying... [50%]
Copying... [60%]
Copying... [72%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.