The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PermissionPilot, reference main (baaaff), with Swift 6.1 for macOS (SPM) on 2 Oct 2026 22:37:25 UTC.

Swift 6 data race errors: 3

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/arpitagarwal1301/PermissionPilot.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/arpitagarwal1301/PermissionPilot
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at baaaff8 Release 0.3.1
Cloned https://github.com/arpitagarwal1301/PermissionPilot.git
Revision (git rev-parse @):
baaaff837052e3f8bec357a8a0dee48fa0364993
SUCCESS checkout https://github.com/arpitagarwal1301/PermissionPilot.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/arpitagarwal1301/PermissionPilot.git
https://github.com/arpitagarwal1301/PermissionPilot.git
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "PermissionPilot",
  "name" : "PermissionPilot",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "PermissionPilotCore",
      "targets" : [
        "PermissionPilotCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilotUI",
      "targets" : [
        "PermissionPilotUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilot",
      "targets" : [
        "PermissionPilot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilotDemo",
      "targets" : [
        "PermissionPilotDemo"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PermissionPilotUI",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotUI",
      "path" : "Sources/PermissionPilotUI",
      "product_memberships" : [
        "PermissionPilotUI",
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotUI/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "AppBundleDragSource.swift",
        "DragToAuthorizeView.swift",
        "FinderReveal.swift",
        "JustInTimePermissionButton.swift",
        "Localization.swift",
        "ManualAddHelper.swift",
        "PPDesign.swift",
        "PermissionChecklist.swift",
        "PermissionGrid.swift",
        "PermissionPilotUI.swift",
        "PermissionRow.swift",
        "PermissionTile.swift",
        "PermissionsView.swift",
        "StepIndicator.swift",
        "Theme.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PermissionPilotTests",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotTests",
      "path" : "Tests/PermissionPilotTests",
      "sources" : [
        "PermissionPilotTests.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore",
        "PermissionPilotUI",
        "PermissionPilot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PermissionPilotDemo",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotDemo",
      "path" : "Example/PermissionPilotDemo",
      "product_memberships" : [
        "PermissionPilotDemo"
      ],
      "sources" : [
        "AppDelegate.swift",
        "DemoContentView.swift",
        "DemoMain.swift",
        "HeroBanner.swift",
        "SnapshotMode.swift"
      ],
      "target_dependencies" : [
        "PermissionPilot"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "PermissionPilotCore",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotCore",
      "path" : "Sources/PermissionPilotCore",
      "product_memberships" : [
        "PermissionPilotCore",
        "PermissionPilotUI",
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "BluetoothAuthorizer.swift",
        "Localization.swift",
        "LocationAuthorizer.swift",
        "NotificationAuthorizer.swift",
        "Permission.swift",
        "PermissionInfo.swift",
        "PermissionManager.swift",
        "PermissionPilotCore.swift",
        "PermissionProbe.swift",
        "PermissionStatus.swift",
        "PermissionStatusMapping.swift",
        "Relauncher.swift",
        "SystemPromptWatch.swift",
        "SystemSettingsLink.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PermissionPilot",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilot",
      "path" : "Sources/PermissionPilot",
      "product_memberships" : [
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilot/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "Localization.swift",
        "OnboardingConfiguration.swift",
        "OnboardingPresenter.swift",
        "OnboardingState.swift",
        "OnboardingView.swift",
        "PermissionPilot.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore",
        "PermissionPilotUI"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/15] Write sources
[0/15] Write PermissionPilotDemo-entitlement.plist
[3/15] Write sources
[4/15] Copying Localizable.strings
[4/15] Copying Info.plist
[7/15] Copying Localizable.strings
[7/15] Copying Info.plist
[7/15] Copying Localizable.strings
[7/15] Write sources
[11/15] Write swift-version-2F0A5646E1D333AE.txt
[13/30] Compiling PermissionPilotCore SystemPromptWatch.swift
[14/31] Compiling PermissionPilotCore Permission.swift
[15/31] Compiling PermissionPilotCore PermissionInfo.swift
[16/31] Compiling PermissionPilotCore SystemSettingsLink.swift
[17/31] Compiling PermissionPilotCore Relauncher.swift
[18/31] Compiling PermissionPilotCore PermissionManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:95:9: warning: cannot access property 'activationObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
 93 |
 94 |     deinit {
 95 |         if let observer = activationObserver {
    |         `- warning: cannot access property 'activationObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
 96 |             NotificationCenter.default.removeObserver(observer) // safe off-thread
 97 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 13 | @class NSString, NSMethodSignature, NSInvocation;
 14 |
 15 | @protocol NSObject
    |           `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 16 |
 17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
  1 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
  2 | import AppKit
  3 | import Combine
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:101:9: warning: cannot access property 'pollTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
 99 |         // scheduled on (main). A `@MainActor` deinit can run off-main, so capture
100 |         // a local and hop to main — unconditionally safe from deinit.
101 |         if let timer = pollTimer {
    |         `- warning: cannot access property 'pollTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
102 |             DispatchQueue.main.async { timer.invalidate() }
103 |         }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[19/31] Compiling PermissionPilotCore PermissionPilotCore.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:95:9: warning: cannot access property 'activationObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
 93 |
 94 |     deinit {
 95 |         if let observer = activationObserver {
    |         `- warning: cannot access property 'activationObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
 96 |             NotificationCenter.default.removeObserver(observer) // safe off-thread
 97 |         }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 13 | @class NSString, NSMethodSignature, NSInvocation;
 14 |
 15 | @protocol NSObject
    |           `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 16 |
 17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
  1 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
  2 | import AppKit
  3 | import Combine
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionManager.swift:101:9: warning: cannot access property 'pollTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
 99 |         // scheduled on (main). A `@MainActor` deinit can run off-main, so capture
100 |         // a local and hop to main — unconditionally safe from deinit.
101 |         if let timer = pollTimer {
    |         `- warning: cannot access property 'pollTimer' with a non-sendable type 'Timer?' from nonisolated deinit; this is an error in the Swift 6 language mode
102 |             DispatchQueue.main.async { timer.invalidate() }
103 |         }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
  |                     `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 |     case none
3 |     case some(Wrapped)
[20/31] Compiling PermissionPilotCore resource_bundle_accessor.swift
[21/31] Compiling PermissionPilotCore PermissionStatusMapping.swift
[22/31] Compiling PermissionPilotCore BluetoothAuthorizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/BluetoothAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// system prompt — we hold it alive until the delegate reports authorization, then
 7 | /// release it. We never scan for peripherals.
 8 | final class BluetoothAuthorizer: NSObject, CBCentralManagerDelegate {
   |             `- note: class 'BluetoothAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = BluetoothAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private var central: CBCentralManager?
[23/31] Compiling PermissionPilotCore Localization.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/BluetoothAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// system prompt — we hold it alive until the delegate reports authorization, then
 7 | /// release it. We never scan for peripherals.
 8 | final class BluetoothAuthorizer: NSObject, CBCentralManagerDelegate {
   |             `- note: class 'BluetoothAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = BluetoothAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private var central: CBCentralManager?
[24/31] Compiling PermissionPilotCore LocationAuthorizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/LocationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// callback. Driven from the main thread (the probe/manager are main-actor driven),
 7 | /// so the manager is created on main and its delegate callbacks arrive there.
 8 | final class LocationAuthorizer: NSObject, CLLocationManagerDelegate {
   |             `- note: class 'LocationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = LocationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let manager = CLLocationManager()
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// asynchronously. `UNUserNotificationCenter.current()` requires a real app bundle,
 7 | /// so we degrade to `.unknown` for unbundled processes (unit tests, `swift run`).
 8 | final class NotificationAuthorizer {
   |             `- note: class 'NotificationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = NotificationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:34:40: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
32 |         guard hasBundle else {
33 |             store(.unknown)
34 |             DispatchQueue.main.async { completion?(.unknown) }
   |                                        |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                        `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
35 |             return
36 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:40:40: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
38 |             let status = PermissionStatus.from(settings.authorizationStatus)
39 |             self?.store(status)
40 |             DispatchQueue.main.async { completion?(status) }
   |                                        |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                        `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 |         }
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:49:66: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
47 |         UNUserNotificationCenter.current()
48 |             .requestAuthorization(options: [.alert, .sound, .badge]) { [weak self] _, _ in
49 |                 guard let self else { DispatchQueue.main.async { completion(.unknown) }; return }
   |                                                                  |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                  `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
50 |                 self.refreshStatus(completion)
51 |             }
[25/31] Compiling PermissionPilotCore NotificationAuthorizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/LocationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// callback. Driven from the main thread (the probe/manager are main-actor driven),
 7 | /// so the manager is created on main and its delegate callbacks arrive there.
 8 | final class LocationAuthorizer: NSObject, CLLocationManagerDelegate {
   |             `- note: class 'LocationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = LocationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let manager = CLLocationManager()
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// asynchronously. `UNUserNotificationCenter.current()` requires a real app bundle,
 7 | /// so we degrade to `.unknown` for unbundled processes (unit tests, `swift run`).
 8 | final class NotificationAuthorizer {
   |             `- note: class 'NotificationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = NotificationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let lock = NSLock()
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:34:40: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
32 |         guard hasBundle else {
33 |             store(.unknown)
34 |             DispatchQueue.main.async { completion?(.unknown) }
   |                                        |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                        `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
35 |             return
36 |         }
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:40:40: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
38 |             let status = PermissionStatus.from(settings.authorizationStatus)
39 |             self?.store(status)
40 |             DispatchQueue.main.async { completion?(status) }
   |                                        |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                        `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
41 |         }
42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:49:66: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
47 |         UNUserNotificationCenter.current()
48 |             .requestAuthorization(options: [.alert, .sound, .badge]) { [weak self] _, _ in
49 |                 guard let self else { DispatchQueue.main.async { completion(.unknown) }; return }
   |                                                                  |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                                                                  `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
50 |                 self.refreshStatus(completion)
51 |             }
[26/31] Emitting module PermissionPilotCore
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/BluetoothAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// system prompt — we hold it alive until the delegate reports authorization, then
 7 | /// release it. We never scan for peripherals.
 8 | final class BluetoothAuthorizer: NSObject, CBCentralManagerDelegate {
   |             `- note: class 'BluetoothAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = BluetoothAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BluetoothAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private var central: CBCentralManager?
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/LocationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// callback. Driven from the main thread (the probe/manager are main-actor driven),
 7 | /// so the manager is created on main and its delegate callbacks arrive there.
 8 | final class LocationAuthorizer: NSObject, CLLocationManagerDelegate {
   |             `- note: class 'LocationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = LocationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'LocationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let manager = CLLocationManager()
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/NotificationAuthorizer.swift:9:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
 6 | /// asynchronously. `UNUserNotificationCenter.current()` requires a real app bundle,
 7 | /// so we degrade to `.unknown` for unbundled processes (unit tests, `swift run`).
 8 | final class NotificationAuthorizer {
   |             `- note: class 'NotificationAuthorizer' does not conform to the 'Sendable' protocol
 9 |     static let shared = NotificationAuthorizer()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'NotificationAuthorizer' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     private let lock = NSLock()
[27/31] Compiling PermissionPilotCore PermissionProbe.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionProbe.swift:153:23: warning: reference to var 'kAXTrustedCheckOptionPrompt' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
151 |             // Prompts at most once per launch (and usually only once per app).
152 |             let baseline = SystemPromptWatch.baseline()
153 |             let key = kAXTrustedCheckOptionPrompt.takeUnretainedValue()
    |                       `- warning: reference to var 'kAXTrustedCheckOptionPrompt' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
154 |             let options = [key: true] as CFDictionary
155 |             let trusted = AXIsProcessTrustedWithOptions(options)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/AXUIElement.h:66:20: note: var declared here
 64 | extern Boolean AXIsProcessTrustedWithOptions (CFDictionaryRef __nullable options) CF_AVAILABLE_MAC(10_9);
 65 |
 66 | extern CFStringRef kAXTrustedCheckOptionPrompt CF_AVAILABLE_MAC(10_9);
    |                    `- note: var declared here
 67 |
 68 | /*!
[28/31] Compiling PermissionPilotCore PermissionStatus.swift
/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/PermissionProbe.swift:153:23: warning: reference to var 'kAXTrustedCheckOptionPrompt' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
151 |             // Prompts at most once per launch (and usually only once per app).
152 |             let baseline = SystemPromptWatch.baseline()
153 |             let key = kAXTrustedCheckOptionPrompt.takeUnretainedValue()
    |                       `- warning: reference to var 'kAXTrustedCheckOptionPrompt' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
154 |             let options = [key: true] as CFDictionary
155 |             let trusted = AXIsProcessTrustedWithOptions(options)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/HIServices.framework/Headers/AXUIElement.h:66:20: note: var declared here
 64 | extern Boolean AXIsProcessTrustedWithOptions (CFDictionaryRef __nullable options) CF_AVAILABLE_MAC(10_9);
 65 |
 66 | extern CFStringRef kAXTrustedCheckOptionPrompt CF_AVAILABLE_MAC(10_9);
    |                    `- note: var declared here
 67 |
 68 | /*!
[29/47] Compiling PermissionPilotUI PermissionGrid.swift
[30/47] Compiling PermissionPilotUI PermissionPilotUI.swift
[31/48] Compiling PermissionPilotUI AppBundleDragSource.swift
[32/48] Compiling PermissionPilotUI DragToAuthorizeView.swift
[33/48] Compiling PermissionPilotUI Theme.swift
[34/48] Compiling PermissionPilotUI Localization.swift
[35/48] Compiling PermissionPilotUI ManualAddHelper.swift
[36/48] Compiling PermissionPilotUI PPDesign.swift
[37/48] Compiling PermissionPilotUI PermissionChecklist.swift
[38/48] Compiling PermissionPilotUI PermissionsView.swift
[39/48] Compiling PermissionPilotUI StepIndicator.swift
[40/48] Compiling PermissionPilotUI FinderReveal.swift
[41/48] Compiling PermissionPilotUI JustInTimePermissionButton.swift
[42/48] Emitting module PermissionPilotUI
[43/48] Compiling PermissionPilotUI PermissionRow.swift
[44/48] Compiling PermissionPilotUI PermissionTile.swift
[45/48] Compiling PermissionPilotUI resource_bundle_accessor.swift
[46/56] Compiling PermissionPilot PermissionPilot.swift
[47/56] Compiling PermissionPilot resource_bundle_accessor.swift
[48/56] Compiling PermissionPilot OnboardingState.swift
[49/56] Compiling PermissionPilot OnboardingPresenter.swift
[50/56] Compiling PermissionPilot OnboardingConfiguration.swift
[51/56] Emitting module PermissionPilot
[52/56] Compiling PermissionPilot OnboardingView.swift
[53/56] Compiling PermissionPilot Localization.swift
[54/62] Compiling PermissionPilotDemo SnapshotMode.swift
[55/62] Compiling PermissionPilotDemo DemoMain.swift
[56/62] Compiling PermissionPilotDemo DemoContentView.swift
[57/62] Compiling PermissionPilotDemo AppDelegate.swift
[58/62] Emitting module PermissionPilotDemo
[59/62] Compiling PermissionPilotDemo HeroBanner.swift
[59/62] Write Objects.LinkFileList
[60/62] Linking PermissionPilotDemo
[61/62] Applying PermissionPilotDemo
Build complete! (17.65s)
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "PermissionPilot",
  "name" : "PermissionPilot",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "PermissionPilotCore",
      "targets" : [
        "PermissionPilotCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilotUI",
      "targets" : [
        "PermissionPilotUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilot",
      "targets" : [
        "PermissionPilot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PermissionPilotDemo",
      "targets" : [
        "PermissionPilotDemo"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PermissionPilotUI",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotUI",
      "path" : "Sources/PermissionPilotUI",
      "product_memberships" : [
        "PermissionPilotUI",
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotUI/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "AppBundleDragSource.swift",
        "DragToAuthorizeView.swift",
        "FinderReveal.swift",
        "JustInTimePermissionButton.swift",
        "Localization.swift",
        "ManualAddHelper.swift",
        "PPDesign.swift",
        "PermissionChecklist.swift",
        "PermissionGrid.swift",
        "PermissionPilotUI.swift",
        "PermissionRow.swift",
        "PermissionTile.swift",
        "PermissionsView.swift",
        "StepIndicator.swift",
        "Theme.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PermissionPilotTests",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotTests",
      "path" : "Tests/PermissionPilotTests",
      "sources" : [
        "PermissionPilotTests.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore",
        "PermissionPilotUI",
        "PermissionPilot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PermissionPilotDemo",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotDemo",
      "path" : "Example/PermissionPilotDemo",
      "product_memberships" : [
        "PermissionPilotDemo"
      ],
      "sources" : [
        "AppDelegate.swift",
        "DemoContentView.swift",
        "DemoMain.swift",
        "HeroBanner.swift",
        "SnapshotMode.swift"
      ],
      "target_dependencies" : [
        "PermissionPilot"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "PermissionPilotCore",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilotCore",
      "path" : "Sources/PermissionPilotCore",
      "product_memberships" : [
        "PermissionPilotCore",
        "PermissionPilotUI",
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilotCore/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "BluetoothAuthorizer.swift",
        "Localization.swift",
        "LocationAuthorizer.swift",
        "NotificationAuthorizer.swift",
        "Permission.swift",
        "PermissionInfo.swift",
        "PermissionManager.swift",
        "PermissionPilotCore.swift",
        "PermissionProbe.swift",
        "PermissionStatus.swift",
        "PermissionStatusMapping.swift",
        "Relauncher.swift",
        "SystemPromptWatch.swift",
        "SystemSettingsLink.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PermissionPilot",
      "module_type" : "SwiftTarget",
      "name" : "PermissionPilot",
      "path" : "Sources/PermissionPilot",
      "product_memberships" : [
        "PermissionPilot",
        "PermissionPilotDemo"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PermissionPilot/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        }
      ],
      "sources" : [
        "Localization.swift",
        "OnboardingConfiguration.swift",
        "OnboardingPresenter.swift",
        "OnboardingState.swift",
        "OnboardingView.swift",
        "PermissionPilot.swift"
      ],
      "target_dependencies" : [
        "PermissionPilotCore",
        "PermissionPilotUI"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.