The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Extentos, reference main (d61f70), with Swift 6.3 for macOS (SPM) on 3 Sep 2026 05:23:28 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64

Build Log

 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:250:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 248 |
 249 |     func start() async throws {
 250 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:251:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 249 |     func start() async throws {
 250 |         stateLock.lock()
 251 |         if started { stateLock.unlock(); return }
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 252 |         started = true
 253 |         stateLock.unlock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:253:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 251 |         if started { stateLock.unlock(); return }
 252 |         started = true
 253 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 254 |
 255 |         // Ears: the SDK's own transcription stream (baseline segmenter —
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:313:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 311 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 312 |             if let self {
 313 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:315:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 313 |                 self.stateLock.lock()
 314 |                 self.brainWarmed = true
 315 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 316 |             }
 317 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:334:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 332 |
 333 |     func connect() async throws {
 334 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:337:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 335 |         let already = connected
 336 |         connected = true
 337 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 338 |         if already { return }
 339 |         feed(.start)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:351:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 349 |             await brain.prefillPrefix(instructions: instructions, tools: tools)
 350 |             if let self {
 351 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:353:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 351 |                 self.stateLock.lock()
 352 |                 self.brainWarmed = true
 353 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 354 |             }
 355 |         }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:359:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 357 |
 358 |     func disconnect() async {
 359 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 360 |         connected = false
 361 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:361:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 359 |         stateLock.lock()
 360 |         connected = false
 361 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 362 |         feed(.stop)
 363 |     }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:366:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 364 |
 365 |     func stop() async {
 366 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 367 |         let wasStarted = started
 368 |         started = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:370:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 368 |         started = false
 369 |         connected = false
 370 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 371 |         guard wasStarted else { return }
 372 |         EarsActivityHub.shared.setListener(nil)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:378:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 376 |         inferenceTask?.cancel()
 377 |         speakPump?.cancel()
 378 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 379 |         speechQueue.removeAll()
 380 |         currentSegment = ""
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:384:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 382 |         for (_, t) in timers { t.cancel() }
 383 |         timers.removeAll()
 384 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 385 |         endAudio() // a stop mid-sentence still closes the audio pair
 386 |         onAssistantEvent(.sessionEnded(reason: .user, message: nil))
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:732:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 730 |             guard let self else { return }
 731 |             while !Task.isCancelled {
 732 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 733 |                 guard !self.speechQueue.isEmpty else {
 734 |                     self.pumpRunning = false
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:736:36: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 734 |                     self.pumpRunning = false
 735 |                     self.speakingStartMs = 0
 736 |                     self.stateLock.unlock()
     |                                    `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 737 |                     // Queue drained and every segment has played out — the
 738 |                     // assistant has genuinely stopped talking.
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:744:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 742 |                 let segment = self.speechQueue.removeFirst()
 743 |                 self.currentSegment = segment
 744 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:746:32: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 744 |                 self.stateLock.unlock()
 745 |                 await self.speakSegment(segment)
 746 |                 self.stateLock.lock()
     |                                `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:748:32: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 746 |                 self.stateLock.lock()
 747 |                 self.currentSegment = ""
 748 |                 self.stateLock.unlock()
     |                                `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 749 |                 if Task.isCancelled { return }
 750 |                 self.feed(.speechCompleted)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:912:19: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 910 |         // post-greeting prefix warm still readies the cache for turn one.
 911 |         let tools = brainTools()
 912 |         stateLock.lock()
     |                   `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Impl/LocalRealtimeProvider.swift:914:19: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 912 |         stateLock.lock()
 913 |         let warmed = brainWarmed
 914 |         stateLock.unlock()
     |                   `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
 915 |         if !warmed {
 916 |             trace.record("greeting: brain still warming — instant canned ack")
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
[559/694] Compiling fence.cpp
[560/756] Compiling hadamard.cpp
[561/766] Compiling indexing.cpp
[562/766] Compiling event.cpp
[564/775] Compiling SwiftDiagnostics GroupedDiagnostics.swift
[565/775] Compiling SwiftDiagnostics Message.swift
[566/775] Compiling SwiftDiagnostics FixIt.swift
[567/776] Compiling SwiftDiagnostics DiagnosticDecorator.swift
[568/776] Compiling SwiftDiagnostics ANSIDiagnosticDecorator.swift
[569/776] Compiling SwiftDiagnostics BasicDiagnosticDecorator.swift
[570/776] Compiling SwiftDiagnostics Diagnostic.swift
[571/776] Emitting module SwiftDiagnostics
[572/776] Compiling SwiftDiagnostics Convenience.swift
[573/776] Compiling SwiftDiagnostics DiagnosticsFormatter.swift
[574/776] Compiling SwiftBasicFormat Trivia+FormatExtensions.swift
[575/776] Compiling SwiftBasicFormat SyntaxProtocol+Formatted.swift
[576/776] Compiling SwiftBasicFormat Syntax+Extensions.swift
[577/776] Compiling SwiftDiagnostics Note.swift
[578/781] Compiling Tokenizers String+PreTokenization.swift
[579/781] Compiling Tokenizers Normalizer.swift
[580/781] Compiling SwiftParser Attributes.swift
[581/781] Compiling SwiftParser Availability.swift
[582/781] Compiling SwiftParser CharacterInfo.swift
[583/781] Compiling SwiftParser CollectionNodes+Parsable.swift
[584/781] Compiling Tokenizers PreTokenizer.swift
[585/781] Compiling Tokenizers TokenLattice.swift
[586/781] Compiling Tokenizers Trie.swift
[587/782] Compiling Tokenizers Tokenizer.swift
[588/782] Compiling Tokenizers PostProcessor.swift
[589/782] Emitting module Tokenizers
[590/782] Compiling SwiftBasicFormat InferIndentation.swift
[591/782] Compiling SwiftBasicFormat Indenter.swift
[592/782] Emitting module SwiftBasicFormat
[593/782] Compiling SwiftBasicFormat BasicFormat.swift
[594/782] Compiling SwiftParser TokenConsumer.swift
[595/782] Compiling SwiftParser TokenPrecedence.swift
[596/782] Compiling SwiftParser TokenSpec.swift
[597/782] Compiling SwiftParser TokenSpecSet.swift
[602/788] Compiling SwiftParser CompilerFiles.swift
[603/788] Compiling SwiftParser StringLiterals.swift
[604/788] Compiling SwiftParser SwiftParserCompatibility.swift
[605/788] Compiling SwiftParser SwiftVersion.swift
[606/788] Compiling SwiftParser SyntaxUtils.swift
[607/788] Compiling SwiftParser RegexLiteralLexer.swift
[608/788] Compiling SwiftParser UnicodeScalarExtensions.swift
[609/788] Compiling SwiftParser Lookahead.swift
[610/788] Compiling SwiftParser LoopProgressCondition.swift
[611/788] Compiling SwiftParser Modifiers.swift
[612/788] Compiling SwiftParser Names.swift
[613/788] Compiling SwiftParser Nominals.swift
[614/788] Compiling SwiftParser Parameters.swift
[615/788] Compiling SwiftParser ParseSourceFile.swift
[616/788] Compiling SwiftParser Parser.swift
[617/788] Emitting module SwiftParser
[618/788] Compiling SwiftParser Patterns.swift
[619/788] Compiling SwiftParser Recovery.swift
[620/788] Compiling SwiftParser Specifiers.swift
[621/788] Compiling SwiftParser Statements.swift
[622/788] Compiling SwiftParser StringLiteralRepresentedLiteralValue.swift
[623/788] Compiling Tokenizers UnigramTokenizer.swift
[624/788] Compiling SwiftParser TopLevel.swift
[625/788] Compiling SwiftParser TriviaParser.swift
[626/788] Compiling SwiftParser Types.swift
[627/788] Compiling SwiftParser ExperimentalFeatures.swift
[628/788] Compiling SwiftParser IsValidIdentifier.swift
[629/788] Compiling SwiftParser Cursor.swift
[630/788] Compiling SwiftParser Lexeme.swift
[631/788] Compiling SwiftParser LexemeSequence.swift
[632/788] Compiling SwiftParser Lexer.swift
[632/788] Compiling eval.cpp
[633/788] Compiling distributed.cpp
[635/790] Compiling GlassesLocalVoice KokoroModelDownload.swift
[636/790] Emitting module GlassesLocalVoice
[637/790] Compiling GlassesLocalVoice KokoroModelManifest.swift
[638/790] Compiling GlassesLocalVoice KokoroSynthesizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:168:21: warning: 'SherpaOnnxOfflineTtsGenerateWithCallbackWithArg' is deprecated: Use SherpaOnnxOfflineTtsGenerateWithConfig() instead [#DeprecatedDeclaration]
166 |                 let arg = Unmanaged.passRetained(box).toOpaque()
167 |                 let audio = text.withCString { cText in
168 |                     SherpaOnnxOfflineTtsGenerateWithCallbackWithArg(
    |                     `- warning: 'SherpaOnnxOfflineTtsGenerateWithCallbackWithArg' is deprecated: Use SherpaOnnxOfflineTtsGenerateWithConfig() instead [#DeprecatedDeclaration]
169 |                         tts, cText, self.speakerId, 1.0, kokoroChunkCallback, arg
170 |                     )
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:181:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
179 |             }
180 |         }
181 |         box.lock.lock()
    |                  `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
182 |         let cancelled = box.cancelled
183 |         box.lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:183:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
181 |         box.lock.lock()
182 |         let cancelled = box.cancelled
183 |         box.lock.unlock()
    |                  `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
184 |         guard !cancelled, totalSamples > 0 else { return nil }
185 |         return Double(totalSamples) / Double(rate)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:169:25: warning: capture of 'tts' with non-Sendable type 'OpaquePointer' in a '@Sendable' closure [#SendableClosureCaptures]
167 |                 let audio = text.withCString { cText in
168 |                     SherpaOnnxOfflineTtsGenerateWithCallbackWithArg(
169 |                         tts, cText, self.speakerId, 1.0, kokoroChunkCallback, arg
    |                         `- warning: capture of 'tts' with non-Sendable type 'OpaquePointer' in a '@Sendable' closure [#SendableClosureCaptures]
170 |                     )
171 |                 }
Swift.OpaquePointer:1:23: note: struct 'OpaquePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct OpaquePointer {
  |                       `- note: struct 'OpaquePointer' does not conform to the 'Sendable' protocol
2 | }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:190:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
188 |     public func cancel() async {
189 |         guard let box = currentBox else { return }
190 |         box.lock.lock()
    |                  `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
191 |         box.cancelled = true
192 |         box.lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
  |           `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroSynthesizer.swift:192:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
190 |         box.lock.lock()
191 |         box.cancelled = true
192 |         box.lock.unlock()
    |                  `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
193 |     }
194 | }
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
  |           `- note: 'unlock()' declared here
3 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[639/790] Compiling GlassesLocalVoice KokoroServingProbe.swift
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocalVoice/KokoroServingProbe.swift:125:45: warning: 'SherpaOnnxOfflineTtsGenerate' is deprecated: Use SherpaOnnxOfflineTtsGenerateWithConfig() instead [#DeprecatedDeclaration]
123 |                                         let t0 = Date()
124 |                                         guard let audio = text.withCString({ c in
125 |                                             SherpaOnnxOfflineTtsGenerate(tts, c, 0, 1.0)
    |                                             `- warning: 'SherpaOnnxOfflineTtsGenerate' is deprecated: Use SherpaOnnxOfflineTtsGenerateWithConfig() instead [#DeprecatedDeclaration]
126 |                                         }) else {
127 |                                             parts.append("synthFAIL")
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[639/790] Compiling fft.cpp
[640/790] Compiling device_info.cpp
[642/790] Compiling SwiftParser Declarations.swift
[643/790] Compiling SwiftParser Directives.swift
[644/790] Compiling SwiftParser ExpressionInterpretedAsVersionTuple.swift
[645/790] Compiling SwiftParser Expressions.swift
[646/790] Compiling SwiftParser IncrementalParseTransition.swift
[647/790] Compiling SwiftParser IsLexerClassified.swift
[648/790] Compiling SwiftParser LayoutNodes+Parsable.swift
[649/790] Compiling SwiftParser Parser+TokenSpecSet.swift
[650/790] Compiling SwiftParser TokenSpecStaticMembers.swift
[651/790] Compiling GlassesLifecycle ListeningModifier.swift
[652/790] Emitting module GlassesLifecycle
[653/790] Compiling GlassesTesting FakeExtentosGlasses.swift
[654/790] Emitting module GlassesTesting
[655/790] Emitting module GlassesDebug
[656/790] Compiling GlassesDebug ExtentosDebugPanel.swift
[657/813] Compiling SwiftOperators PrecedenceGroup.swift
[658/814] Compiling SwiftOperators PrecedenceGraph.swift
[659/814] Compiling SwiftOperators OperatorTable.swift
[660/814] Compiling SwiftOperators SyntaxSynthesis.swift
[661/814] Compiling SwiftOperators OperatorTable+Semantics.swift
[662/814] Compiling SwiftOperators OperatorTable+Defaults.swift
[663/814] Emitting module SwiftOperators
[664/814] Compiling SwiftOperators Operator.swift
[665/814] Compiling SwiftOperators OperatorError+Diagnostics.swift
[666/814] Compiling SwiftOperators OperatorError.swift
[667/814] Compiling SwiftOperators OperatorTable+Folding.swift
[668/814] Compiling SwiftParserDiagnostics Utils.swift
[669/814] Compiling SwiftParserDiagnostics SyntaxKindNameForDiagnostics.swift
[670/814] Compiling SwiftParserDiagnostics ChildNameForDiagnostics.swift
[671/815] Compiling SwiftParserDiagnostics TokenNameForDiagnostics.swift
[672/815] Compiling SwiftParserDiagnostics SyntaxExtensions.swift
[673/815] Compiling SwiftParserDiagnostics PresenceUtils.swift
[674/815] Compiling SwiftParserDiagnostics ParserDiagnosticMessages.swift
[675/815] Compiling GlassesUI ExtentosTheme.swift
[676/815] Compiling GlassesUI ExtentosPairingScreen.swift
[677/815] Compiling GlassesUI EscapeHatch.swift
[678/815] Compiling GlassesUI ConnectionPageJsonConfig.swift
[679/815] Compiling GlassesUI Appearance.swift
[680/815] Emitting module GlassesUI
[681/815] Compiling GlassesUI ExtentosConnectionPage.swift
/Users/admin/builder/spi-builder-workspace/Sources/GlassesUI/ExtentosConnectionPage.swift:475:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
473 |         .clipShape(appearance.shapes.card)
474 |         .hairlineBorder(appearance.shapes.card)
475 |         .onChange(of: toggle.value) { newValue in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
476 |             localValue = newValue
477 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[681/815] Compiling copy.cpp
[682/815] Compiling compiled.cpp
[684/815] Compiling SwiftParserDiagnostics MissingNodesError.swift
[685/815] Compiling SwiftParserDiagnostics MissingTokenError.swift
[686/815] Compiling SwiftParserDiagnostics DiagnosticExtensions.swift
[687/815] Compiling SwiftParserDiagnostics LexerDiagnosticMessages.swift
[688/815] Emitting module SwiftParserDiagnostics
[689/815] Compiling SwiftParserDiagnostics MultiLineStringLiteralDiagnosticsGenerator.swift
[690/815] Compiling SwiftParserDiagnostics ParseDiagnosticsGenerator.swift
[690/815] Compiling conv.cpp
[691/815] Compiling device.cpp
[692/815] Compiling slicing.cpp
[693/815] Compiling threefry.cpp
[694/830] Compiling custom_kernel.cpp
[695/830] Compiling allocator.cpp
[696/830] Compiling binary.cpp
[698/830] Compiling SwiftSyntaxBuilder RenamedChildrenBuilderCompatibility.swift
[699/830] Compiling SwiftSyntaxBuilder BuildableNodes.swift
[700/830] Compiling SwiftSyntaxBuilder WithTrailingCommaSyntax+EnsuringTrailingComma.swift
[701/830] Compiling SwiftSyntaxBuilder SyntaxParsable+ExpressibleByStringInterpolation.swift
[702/830] Compiling SwiftSyntaxBuilder ValidatingSyntaxNodes.swift
[703/830] Compiling SwiftSyntaxBuilder ResultBuilders.swift
[703/831] Compiling no_cuda.cpp
[705/831] Compiling SwiftSyntaxBuilder ResultBuilderExtensions.swift
[706/831] Compiling SwiftSyntaxBuilder SwiftSyntaxBuilderCompatibility.swift
[707/831] Compiling SwiftSyntaxBuilder Indenter.swift
[708/831] Compiling SwiftSyntaxBuilder ListBuilder.swift
[709/831] Compiling SwiftSyntaxBuilder ConvenienceInitializers.swift
[710/831] Compiling SwiftSyntaxBuilder DeclSyntaxParseable.swift
[711/831] Emitting module SwiftSyntaxBuilder
[712/831] Compiling SwiftSyntaxBuilder Syntax+StringInterpolation.swift
[713/831] Compiling SwiftSyntaxBuilder SyntaxNodeWithBody.swift
[713/831] Compiling copy.cpp
[714/831] Compiling primitives.cpp
[716/831] Compiling SwiftSyntaxBuilder SyntaxExpressibleByStringInterpolationConformances.swift
[716/831] Compiling softmax.cpp
[717/846] Compiling select.cpp
[719/846] Compiling SwiftIfConfig SyntaxLiteralUtils.swift
[720/846] Compiling SwiftIfConfig VersionTuple+Parsing.swift
[721/846] Compiling SwiftIfConfig SyntaxProtocol+IfConfig.swift
[722/847] Compiling SwiftIfConfig IfConfigFunctions.swift
[723/847] Compiling SwiftIfConfig IfConfigRegionState.swift
[724/847] Compiling SwiftIfConfig StaticBuildConfiguration.swift
[724/847] Compiling svd.cpp
[726/847] Compiling SwiftIfConfig VersionTuple.swift
[727/847] Compiling SwiftIfConfig ConfiguredRegions.swift
[728/847] Compiling SwiftIfConfig IfConfigDecl+IfConfig.swift
[729/847] Compiling SwiftIfConfig ActiveClauseEvaluator.swift
[730/847] Compiling SwiftIfConfig ActiveSyntaxRewriter.swift
[731/847] Compiling SwiftIfConfig ActiveSyntaxVisitor.swift
[732/847] Compiling SwiftIfConfig BuildConfiguration.swift
[733/847] Emitting module SwiftIfConfig
[734/847] Compiling SwiftIfConfig IfConfigDiagnostic.swift
[735/847] Compiling SwiftIfConfig IfConfigEvaluation.swift
[735/847] Compiling scan.cpp
[736/860] Compiling primitives.cpp
[738/865] Compiling SwiftSyntaxMacros PreambleMacro.swift
[739/866] Compiling SwiftSyntaxMacros Macro.swift
[740/866] Compiling SwiftSyntaxMacros MemberAttributeMacro.swift
[741/866] Compiling SwiftSyntaxMacros MemberMacro.swift
[742/866] Compiling SwiftSyntaxMacros PeerMacro.swift
[743/866] Compiling SwiftSyntaxMacros ExpressionMacro.swift
[744/866] Compiling SwiftSyntaxMacros ExtensionMacro.swift
[745/866] Compiling SwiftSyntaxMacros CodeItemMacro.swift
[746/866] Compiling SwiftSyntaxMacros DeclarationMacro.swift
[747/866] Compiling SwiftSyntaxMacros AttachedMacro.swift
[748/866] Compiling SwiftSyntaxMacros BodyMacro.swift
[749/866] Compiling SwiftSyntaxMacros FreestandingMacro.swift
[750/866] Compiling SwiftSyntaxMacros Macro+Format.swift
[751/866] Compiling SwiftSyntaxMacros MacroExpansionDiagnosticMessages.swift
[752/866] Compiling SwiftSyntaxMacros AccessorMacro.swift
[753/866] Emitting module SwiftSyntaxMacros
[754/866] Compiling SwiftSyntaxMacros AbstractSourceLocation.swift
[755/866] Compiling SwiftSyntaxMacros MacroExpansionContext.swift
[756/866] Compiling SwiftSyntaxMacros Syntax+LexicalContext.swift
[756/866] Compiling sort.cpp
[757/876] Compiling quantized.cpp
[758/876] Compiling unary.cpp
[759/876] Compiling qrf.cpp
[761/876] Compiling SwiftSyntaxMacroExpansion MacroReplacement.swift
[762/876] Compiling SwiftSyntaxMacroExpansion MacroSpec.swift
[763/876] Compiling SwiftSyntaxMacroExpansion MacroExpansionDiagnosticMessages.swift
[764/876] Compiling SwiftSyntaxMacroExpansion MacroExpansion.swift
[765/876] Compiling SwiftSyntaxMacroExpansion MacroArgument.swift
[766/876] Compiling SwiftSyntaxMacroExpansion IndentationUtils.swift
[767/876] Compiling SwiftSyntaxMacroExpansion FunctionParameterUtils.swift
[768/876] Compiling SwiftSyntaxMacroExpansion BasicMacroExpansionContext.swift
[769/876] Emitting module SwiftSyntaxMacroExpansion
[770/876] Compiling SwiftSyntaxMacroExpansion MacroSystem.swift
[770/876] Compiling jit_compiler.cpp
[771/876] Compiling reduce.cpp
[772/888] Compiling matmul.cpp
[774/888] Compiling SwiftCompilerPluginMessageHandling LRUCache.swift
[775/888] Compiling SwiftCompilerPluginMessageHandling PluginMessageCompatibility.swift
[776/888] Compiling SwiftCompilerPluginMessageHandling PluginMacroExpansionContext.swift
[777/888] Compiling SwiftCompilerPluginMessageHandling Macros.swift
[778/888] Compiling SwiftCompilerPluginMessageHandling JSONEncoding.swift
[779/888] Compiling SwiftCompilerPluginMessageHandling JSONDecoding.swift
[780/888] Compiling SwiftCompilerPluginMessageHandling CodingUtilities.swift
[781/888] Compiling SwiftCompilerPluginMessageHandling JSON.swift
[782/888] Compiling SwiftCompilerPluginMessageHandling CompilerPluginMessageHandler.swift
[783/888] Compiling SwiftCompilerPluginMessageHandling Diagnostics.swift
[784/888] Emitting module SwiftCompilerPluginMessageHandling
[785/888] Compiling SwiftCompilerPluginMessageHandling PluginMessages.swift
[785/889] Compiling hadamard.cpp
[785/889] Compiling logsumexp.cpp
[788/889] Compiling SwiftCompilerPluginMessageHandling StandardIOMessageConnection.swift
[788/889] Compiling masked_mm.cpp
[789/889] Compiling luf.cpp
[791/891] Emitting module SwiftCompilerPlugin
[792/891] Compiling SwiftCompilerPlugin CompilerPlugin.swift
[792/891] Compiling inverse.cpp
[793/893] Compiling cblas.cpp
[794/893] Compiling encoder.cpp
[795/893] Compiling bnns.cpp
[797/893] Emitting module MLXHuggingFaceMacros
[798/893] Compiling MLXHuggingFaceMacros HuggingFaceIntegrationMacros.swift
[798/893] Compiling eval.cpp
[799/893] Write Objects.LinkFileList
[800/893] Compiling device_info.cpp
[801/893] Compiling fft.cpp
[802/893] Compiling distributed.cpp
[803/893] Compiling indexing.cpp
[804/893] Linking MLXHuggingFaceMacros-tool
[805/893] Compiling eigh.cpp
[806/893] Compiling eig.cpp
[807/893] Compiling utils.cpp
[808/893] Compiling slicing.cpp
[809/893] Compiling arg_reduce.cpp
[810/893] Compiling reduce.cpp
[811/893] Compiling cholesky.cpp
[812/893] Compiling utils.cpp
[813/893] Compiling unary_ops.cpp
[814/893] Compiling unary.cpp
[815/893] Compiling ternary_ops.cpp
[816/893] Compiling ternary.cpp
[817/893] Compiling steel_gemm_splitk_nax.cpp
[818/893] Compiling steel_gemm_splitk.cpp
[819/893] Compiling steel_gemm_segmented.cpp
[820/893] Compiling steel_gemm_masked.cpp
[821/893] Compiling steel_gemm_gather_nax.cpp
[822/893] Compiling steel_gemm_gather.cpp
[823/893] Compiling steel_gemm_fused_nax.cpp
[824/893] Compiling steel_gemm_fused.cpp
[825/893] Compiling steel_conv_general.cpp
[826/893] Compiling steel_conv_3d.cpp
[827/893] Compiling steel_conv.cpp
[828/893] Compiling conv.cpp
[829/893] Compiling steel_attention_nax.cpp
[830/893] Compiling steel_attention.cpp
[831/893] Compiling sort.cpp
[832/893] Compiling softmax.cpp
[833/893] Compiling scatter_axis.cpp
[834/893] Compiling scatter.cpp
[835/893] Compiling scan.cpp
[836/893] Compiling reduce_utils.cpp
[837/893] Compiling reduce.cpp
[837/893] Compiling quantized_utils.cpp
[839/893] Compiling quantized_nax.cpp
[840/893] Compiling masked_scatter.cpp
[841/893] Compiling quantized.cpp
[842/893] Compiling logsumexp.cpp
[843/893] Compiling hadamard.cpp
[844/893] Compiling gemv_masked.cpp
[845/893] Compiling gemm_nax.cpp
[846/893] Compiling gemm.cpp
[847/893] Compiling gather_front.cpp
[848/893] Compiling load.cpp
[849/893] Compiling gather_axis.cpp
[850/893] Compiling gather.cpp
[851/893] Compiling fp_quantized_nax.cpp
[852/893] Compiling fp_quantized.cpp
[853/893] Compiling fft.cpp
[854/893] Compiling broadcasting.cpp
[855/893] Compiling copy.cpp
[856/893] Compiling conv.cpp
[857/893] Compiling binary_two.cpp
[858/893] Compiling compiled_preamble.cpp
[859/893] Compiling binary_ops.cpp
[860/893] Compiling binary.cpp
[861/893] Compiling arange.cpp
[862/893] Compiling compiled.cpp
[863/893] Compiling common.cpp
[864/893] Compiling copy.cpp
[865/893] Compiling array.cpp
[866/893] Compiling version.cpp
[867/893] Compiling transforms_impl.cpp
[868/893] Compiling transforms.cpp
[869/893] Compiling vector.cpp
[870/893] Compiling string.cpp
[871/893] Compiling stream.cpp
[872/893] Compiling compiled_conditional.cpp
[873/893] Compiling random.cpp
[874/893] Compiling ops.cpp
[875/893] Compiling metal.cpp
[876/893] Compiling memory.cpp
[877/893] Compiling linalg.cpp
[878/893] Compiling io_types.cpp
[879/893] Compiling map.cpp
[880/893] Compiling io.cpp
[881/893] Compiling error.cpp
[882/893] Compiling fft.cpp
[883/893] Compiling fast.cpp
[884/893] Compiling export.cpp
[885/893] Compiling device.cpp
[886/893] Compiling cuda.cpp
[887/893] Compiling compile.cpp
[888/893] Compiling format.cc
[889/893] Compiling closure.cpp
[890/893] Compiling binary.cpp
[891/893] Compiling Cmlx.m
[892/893] Compiling array.cpp
[894/930] Compiling MLX Transforms+Compile.swift
[895/930] Compiling MLX Transforms+CompileOverloads.swift
[896/930] Compiling MLX Transforms+Eval.swift
[897/930] Compiling MLX Transforms+Grad.swift
[898/934] Compiling MLX ArrayAt.swift
[899/934] Compiling MLX Cmlx+Util.swift
[900/934] Compiling MLX DType.swift
[901/934] Compiling MLX Device.swift
[902/934] Compiling MLX Protocols.swift
[903/934] Compiling MLX Random.swift
[904/934] Compiling MLX State.swift
[905/934] Compiling MLX Stream.swift
[906/934] Compiling MLX MLXCustomFunction.swift
[907/934] Compiling MLX MLXFast.swift
[908/934] Compiling MLX MLXFastKernel.swift
[909/934] Compiling MLX Memory.swift
[910/934] Compiling MLX ErrorHandler.swift
[911/934] Compiling MLX Export.swift
[912/934] Compiling MLX FFT.swift
[913/934] Compiling MLX Factory.swift
[914/934] Emitting module MLX
[915/934] Compiling MLX MLXArray+Normalizer.swift
[916/934] Compiling MLX MLXArray+Ops.swift
[917/934] Compiling MLX MLXArray+maskFill.swift
[918/934] Compiling MLX MLXArray.swift
[919/934] Compiling MLX Foundation+Util.swift
[920/934] Compiling MLX GPU+Metal.swift
[921/934] Compiling MLX IO.swift
[922/934] Compiling MLX Linalg.swift
[923/934] Compiling MLX Transforms+Internal.swift
[924/934] Compiling MLX Transforms+Vmap.swift
[925/934] Compiling MLX Transforms.swift
[926/934] Compiling MLX WiredMemory.swift
[927/934] Compiling MLX Nested.swift
[928/934] Compiling MLX Ops+Array.swift
[929/934] Compiling MLX Ops.swift
[930/934] Compiling MLX ParameterTypes.swift
[931/934] Compiling MLX MLXArray+Bytes.swift
[932/934] Compiling MLX MLXArray+Indexing.swift
[933/934] Compiling MLX MLXArray+Init.swift
[934/934] Compiling MLX MLXArray+Metal.swift
[935/952] Compiling MLXNN Containers.swift
[936/952] Compiling MLXNN Convolution.swift
[937/952] Compiling MLXNN Embedding.swift
[938/952] Compiling MLXNN Linear.swift
[939/952] Compiling MLXNN Normalization.swift
[940/952] Compiling MLXNN Pooling.swift
[941/952] Compiling MLXNN Activations.swift
[942/952] Compiling MLXNN Cache.swift
[943/952] Compiling MLXNN Losses.swift
[944/952] Compiling MLXNN Module.swift
[945/952] Compiling MLXNN ConvolutionTransposed.swift
[946/952] Compiling MLXNN Dropout.swift
[947/952] Compiling MLXNN Upsample.swift
[948/952] Compiling MLXNN PositionalEncoding.swift
[949/952] Compiling MLXNN Quantized.swift
[950/952] Compiling MLXNN Recurrent.swift
[951/952] Compiling MLXNN Transformer.swift
[952/952] Emitting module MLXNN
[953/953] Compiling MLXNN ValueAndGrad.swift
[954/956] Emitting module MLXOptimizers
[955/956] Compiling MLXOptimizers Optimizers.swift
[956/956] Compiling MLXOptimizers Schedulers.swift
[957/1018] Compiling MLXLMCommon DoRA+Layers.swift
[958/1018] Compiling MLXLMCommon LoRA+Layers.swift
[959/1018] Compiling MLXLMCommon LoRAContainer.swift
[960/1018] Compiling MLXLMCommon LoRAModel.swift
[961/1018] Compiling MLXLMCommon PEFTAdapter.swift
[962/1018] Compiling MLXLMCommon ModelAdapter.swift
[963/1018] Compiling MLXLMCommon ModelAdapterFactory.swift
[964/1024] Emitting module MLXLMCommon
[965/1024] Compiling MLXLMCommon RotateQuantizedLinear.swift
[966/1024] Compiling MLXLMCommon AbstractModelRegistry.swift
[967/1024] Compiling MLXLMCommon ModelTypeRegistry.swift
[968/1024] Compiling MLXLMCommon ProcessorTypeRegistry.swift
[969/1024] Compiling MLXLMCommon RoPEApplication.swift
[970/1024] Compiling MLXLMCommon RoPEUtils.swift
[971/1024] Compiling MLXLMCommon SpeculativeDecoding.swift
[972/1024] Compiling MLXLMCommon ModelAdapterTypeRegistry.swift
[973/1024] Compiling MLXLMCommon AttentionUtils.swift
[974/1024] Compiling MLXLMCommon BaseConfiguration.swift
[975/1024] Compiling MLXLMCommon BidirectionalMasks.swift
[976/1024] Compiling MLXLMCommon Chat.swift
[977/1024] Compiling MLXLMCommon ChatSession.swift
[978/1024] Compiling MLXLMCommon Downloader.swift
[979/1024] Compiling MLXLMCommon Value.swift
[980/1024] Compiling MLXLMCommon UserInput+Audio.swift
[981/1024] Compiling MLXLMCommon UserInput.swift
[982/1024] Compiling MLXLMCommon SerialAccessContainer.swift
[983/1024] Compiling MLXLMCommon WiredMemoryPolicies.swift
[984/1024] Compiling MLXLMCommon WiredMemoryUtils.swift
[985/1024] Compiling MLXLMCommon SuScaledRoPE.swift
[986/1024] Compiling MLXLMCommon SwitchLayers.swift
[987/1024] Compiling MLXLMCommon Tokenizer.swift
[988/1024] Compiling MLXLMCommon TokenizerLoader.swift
[989/1024] Compiling MLXLMCommon GLM4ToolCallParser.swift
[990/1024] Compiling MLXLMCommon GemmaFunctionParser.swift
[991/1024] Compiling MLXLMCommon JSONToolCallParser.swift
[992/1024] Compiling MLXLMCommon ModelContainer.swift
[993/1024] Compiling MLXLMCommon ModelConversion.swift
[994/1024] Compiling MLXLMCommon ModelFactory.swift
[995/1024] Compiling MLXLMCommon Gemma.swift
[996/1024] Compiling MLXLMCommon Gemma4.swift
[997/1024] Compiling MLXLMCommon Module+Extensions.swift
[998/1024] Compiling MLXLMCommon ParoQuantLoader.swift
[999/1024] Compiling MLXLMCommon KimiK2ToolCallParser.swift
[1000/1024] Compiling MLXLMCommon Llama3ToolCallParser.swift
[1001/1024] Compiling MLXLMCommon MiniMaxM2ToolCallParser.swift
[1002/1024] Compiling MLXLMCommon MistralToolCallParser.swift
[1003/1024] Compiling MLXLMCommon ParserUtilities.swift
[1004/1024] Compiling MLXLMCommon PythonicToolCallParser.swift
[1005/1024] Compiling MLXLMCommon XMLFunctionParser.swift
[1006/1024] Compiling MLXLMCommon Tool.swift
[1007/1024] Compiling MLXLMCommon ToolCall.swift
[1008/1024] Compiling MLXLMCommon ToolCallFormat.swift
[1009/1024] Compiling MLXLMCommon ToolCallProcessor.swift
[1010/1024] Compiling MLXLMCommon ToolParameter.swift
[1011/1024] Compiling MLXLMCommon Evaluate.swift
[1012/1024] Compiling MLXLMCommon Encodable+toolResult.swift
[1013/1024] Compiling MLXLMCommon JSONDecoder+JSON5.swift
[1014/1024] Compiling MLXLMCommon GatedDelta.swift
[1015/1024] Compiling MLXLMCommon GenerationConfigFile.swift
[1016/1024] Compiling MLXLMCommon InterpolationUtils.swift
[1017/1024] Compiling MLXLMCommon JSONDecodingTypes.swift
[1018/1024] Compiling MLXLMCommon KVCache.swift
[1019/1024] Compiling MLXLMCommon LanguageModel.swift
[1020/1024] Compiling MLXLMCommon Load.swift
[1021/1024] Compiling MLXLMCommon MTPDrafterModel.swift
[1022/1024] Compiling MLXLMCommon MTPDrafterModelFactory.swift
[1023/1024] Compiling MLXLMCommon MTPSpeculativeTokenIterator.swift
[1024/1024] Compiling MLXLMCommon ModelConfiguration.swift
[1025/1081] Compiling MLXHuggingFace Macros.swift
[1026/1081] Emitting module MLXHuggingFace
[1027/1081] Compiling MLXLLM LLMModel.swift
[1028/1081] Compiling MLXLLM LLMModelFactory.swift
[1029/1081] Compiling MLXLLM Lora+Data.swift
[1030/1081] Compiling MLXLLM LoraTrain.swift
[1031/1081] Compiling MLXLLM ModelConversion.swift
[1032/1081] Compiling MLXLLM AfMoE.swift
[1033/1086] Emitting module MLXLLM
[1034/1086] Compiling MLXLLM Phi3.swift
[1035/1086] Compiling MLXLLM PhiMoE.swift
[1036/1086] Compiling MLXLLM Qwen2.swift
[1037/1086] Compiling MLXLLM Qwen3.swift
[1038/1086] Compiling MLXLLM Qwen35.swift
[1039/1086] Compiling MLXLLM Qwen35MoE.swift
[1040/1086] Compiling MLXLLM GPTOSS.swift
[1041/1086] Compiling MLXLLM Gemma.swift
[1042/1086] Compiling MLXLLM Gemma2.swift
[1043/1086] Compiling MLXLLM Gemma3Text.swift
[1044/1086] Compiling MLXLLM Gemma3nText.swift
[1045/1086] Compiling MLXLLM Gemma4.swift
[1046/1086] Compiling MLXLLM Apertus.swift
[1047/1086] Compiling MLXLLM BaichuanM1.swift
[1048/1086] Compiling MLXLLM BailingMoe.swift
[1049/1086] Compiling MLXLLM Bitnet.swift
[1050/1086] Compiling MLXLLM Cohere.swift
[1051/1086] Compiling MLXLLM DeepseekV3.swift
[1052/1086] Compiling MLXLLM MiniCPM.swift
[1053/1086] Compiling MLXLLM MiniMax.swift
[1054/1086] Compiling MLXLLM Mistral3Text.swift
[1055/1086] Compiling MLXLLM Mixtral.swift
[1056/1086] Compiling MLXLLM NanoChat.swift
[1057/1086] Compiling MLXLLM NemotronH.swift
[1058/1086] Compiling MLXLLM LFM2MoE.swift
[1059/1086] Compiling MLXLLM Lille130m.swift
[1060/1086] Compiling MLXLLM Llama.swift
[1061/1086] Compiling MLXLLM Mamba2.swift
[1062/1086] Compiling MLXLLM MiMo.swift
[1063/1086] Compiling MLXLLM MiMoV2Flash.swift
[1064/1086] Compiling MLXLLM Ernie4_5.swift
[1065/1086] Compiling MLXLLM Exaone4.swift
[1066/1086] Compiling MLXLLM FalconH1.swift
[1067/1086] Compiling MLXLLM GLM4.swift
[1068/1086] Compiling MLXLLM GLM4MOE.swift
[1069/1086] Compiling MLXLLM GLM4MOELite.swift
[1070/1086] Compiling MLXLLM NemotronLabsDiffusion.swift
[1071/1086] Compiling MLXLLM Olmo2.swift
[1072/1086] Compiling MLXLLM Olmo3.swift
[1073/1086] Compiling MLXLLM OlmoE.swift
[1074/1086] Compiling MLXLLM OpenELM.swift
[1075/1086] Compiling MLXLLM Phi.swift
[1076/1086] Compiling MLXLLM Gemma4Text.swift
[1077/1086] Compiling MLXLLM Granite.swift
[1078/1086] Compiling MLXLLM GraniteMoeHybrid.swift
[1079/1086] Compiling MLXLLM Internlm2.swift
[1080/1086] Compiling MLXLLM Jamba.swift
[1081/1086] Compiling MLXLLM LFM2.swift
[1082/1086] Compiling MLXLLM Qwen3MoE.swift
[1083/1086] Compiling MLXLLM Qwen3Next.swift
[1084/1086] Compiling MLXLLM SSM.swift
[1085/1086] Compiling MLXLLM SmolLM3.swift
[1086/1086] Compiling MLXLLM Starcoder2.swift
[1087/1090] Compiling GlassesLocal LocalBrain.swift
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:513:74: warning: type 'any KVCache' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
511 |         let modelIdIn = config.modelId
512 |         traceCache("prefix warm begin")
513 |         let result: ([KVCache]?, [Int], String?)? = try? await container.perform {
    |                                                                          `- warning: type 'any KVCache' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
514 |             context -> ([KVCache]?, [Int], String?) in
515 |             let lmInput = try await context.processor.prepare(input: input)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/KVCache.swift:46:17: note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  44 | ///
  45 | /// See ``LanguageModel/newCache(parameters:)``
  46 | public protocol KVCache: Evaluatable {
     |                 `- note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  47 |     /// get the current offset
  48 |     var offset: Int { get }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:515:70: warning: capture of 'input' with non-Sendable type 'UserInput' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
513 |         let result: ([KVCache]?, [Int], String?)? = try? await container.perform {
514 |             context -> ([KVCache]?, [Int], String?) in
515 |             let lmInput = try await context.processor.prepare(input: input)
    |                                                                      `- warning: capture of 'input' with non-Sendable type 'UserInput' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
516 |             let fullTokens = lmInput.text.tokens.asArray(Int.self)
517 |             var cache = cacheIn
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/UserInput.swift:14:15: note: struct 'UserInput' does not conform to the 'Sendable' protocol
 12 | /// A ``UserInputProcessor`` can convert this to ``LMInput``.
 13 | /// See also ``ModelContext``.
 14 | public struct UserInput {
    |               `- note: struct 'UserInput' does not conform to the 'Sendable' protocol
 15 |
 16 |     /// Representation of a prompt or series of messages (conversation).
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:517:25: warning: capture of 'cacheIn' with non-Sendable type '[any KVCache]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
515 |             let lmInput = try await context.processor.prepare(input: input)
516 |             let fullTokens = lmInput.text.tokens.asArray(Int.self)
517 |             var cache = cacheIn
    |                         `- warning: capture of 'cacheIn' with non-Sendable type '[any KVCache]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
518 |             var fed = fedIn
519 |             var stateNote: String? = nil
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/KVCache.swift:46:17: note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  44 | ///
  45 | /// See ``LanguageModel/newCache(parameters:)``
  46 | public protocol KVCache: Evaluatable {
     |                 `- note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  47 |     /// get the current offset
  48 |     var offset: Int { get }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:747:105: warning: type 'any KVCache' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
745 |             let resetReasonIn = lastResetReason
746 |             traceCache("gen begin: history=\(history.count) cached=\(fedIn.count) tok")
747 |             let (text, toolCalls, cacheOut, fedOut, alignment, resetNote, spoken) = try await container.perform {
    |                                                                                                         `- warning: type 'any KVCache' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
748 |                 context -> (String, [ToolCall], [KVCache]?, [Int], String, String?, String) in
749 |                 let lmInput = try await context.processor.prepare(input: input)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/KVCache.swift:46:17: note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  44 | ///
  45 | /// See ``LanguageModel/newCache(parameters:)``
  46 | public protocol KVCache: Evaluatable {
     |                 `- note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  47 |     /// get the current offset
  48 |     var offset: Int { get }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:749:74: warning: capture of 'input' with non-Sendable type 'UserInput' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
747 |             let (text, toolCalls, cacheOut, fedOut, alignment, resetNote, spoken) = try await container.perform {
748 |                 context -> (String, [ToolCall], [KVCache]?, [Int], String, String?, String) in
749 |                 let lmInput = try await context.processor.prepare(input: input)
    |                                                                          `- warning: capture of 'input' with non-Sendable type 'UserInput' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
750 |                 let fullTokens = lmInput.text.tokens.asArray(Int.self)
751 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/UserInput.swift:14:15: note: struct 'UserInput' does not conform to the 'Sendable' protocol
 12 | /// A ``UserInputProcessor`` can convert this to ``LMInput``.
 13 | /// See also ``ModelContext``.
 14 | public struct UserInput {
    |               `- note: struct 'UserInput' does not conform to the 'Sendable' protocol
 15 |
 16 |     /// Representation of a prompt or series of messages (conversation).
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/LocalBrain.swift:753:29: warning: capture of 'cacheIn' with non-Sendable type '[any KVCache]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
751 |
752 |                 // ── Prompt-cache alignment (invariant: cache == fed) ──
753 |                 var cache = cacheIn
    |                             `- warning: capture of 'cacheIn' with non-Sendable type '[any KVCache]?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#SendableClosureCaptures]
754 |                 var fed = fedIn
755 |                 var disposition = "warm"
/Users/admin/builder/spi-builder-workspace/.build/checkouts/mlx-swift-lm/Libraries/MLXLMCommon/KVCache.swift:46:17: note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  44 | ///
  45 | /// See ``LanguageModel/newCache(parameters:)``
  46 | public protocol KVCache: Evaluatable {
     |                 `- note: protocol 'KVCache' does not conform to the 'Sendable' protocol
  47 |     /// get the current offset
  48 |     var offset: Int { get }
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[1088/1090] Compiling GlassesLocal ExtentosLocalTier.swift
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/ExtentosLocalTier.swift:153:20: warning: stored property 'cloudReason' of 'Sendable'-conforming struct 'AutoChoice' contains non-Sendable type 'CloudFallbackReason'; this is an error in the Swift 6 language mode
151 |         /// the text worked on one platform and silently never matched on the
152 |         /// other. Switch on it; the wording shown to a user is the app's.
153 |         public let cloudReason: CloudFallbackReason?
    |                    `- warning: stored property 'cloudReason' of 'Sendable'-conforming struct 'AutoChoice' contains non-Sendable type 'CloudFallbackReason'; this is an error in the Swift 6 language mode
154 |         public let downloadTarget: String?
155 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Generated/extentos_core.swift:11120:13: note: enum 'CloudFallbackReason' does not conform to the 'Sendable' protocol
11118 |  */
11119 |
11120 | public enum CloudFallbackReason {
      |             `- note: enum 'CloudFallbackReason' does not conform to the 'Sendable' protocol
11121 |
11122 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/ExtentosLocalTier.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GlassesCore'
 11 |
 12 | import Foundation
 13 | import GlassesCore
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GlassesCore'
 14 | import HuggingFace
 15 | import os
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/ExtentosLocalTier.swift:397:20: warning: conditional cast from '[String : Any]' to '[String : any Sendable]' always succeeds
395 |             let obj = try? JSONSerialization.jsonObject(with: data) as? [String: Any]
396 |         else { return [:] }
397 |         return obj as? [String: any Sendable] ?? [:]
    |                    `- warning: conditional cast from '[String : Any]' to '[String : any Sendable]' always succeeds
398 |     }
399 | }
[1089/1090] Emitting module GlassesLocal
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/ExtentosLocalTier.swift:153:20: warning: stored property 'cloudReason' of 'Sendable'-conforming struct 'AutoChoice' contains non-Sendable type 'CloudFallbackReason'; this is an error in the Swift 6 language mode
151 |         /// the text worked on one platform and silently never matched on the
152 |         /// other. Switch on it; the wording shown to a user is the app's.
153 |         public let cloudReason: CloudFallbackReason?
    |                    `- warning: stored property 'cloudReason' of 'Sendable'-conforming struct 'AutoChoice' contains non-Sendable type 'CloudFallbackReason'; this is an error in the Swift 6 language mode
154 |         public let downloadTarget: String?
155 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GlassesCore/Generated/extentos_core.swift:11120:13: note: enum 'CloudFallbackReason' does not conform to the 'Sendable' protocol
11118 |  */
11119 |
11120 | public enum CloudFallbackReason {
      |             `- note: enum 'CloudFallbackReason' does not conform to the 'Sendable' protocol
11121 |
11122 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/GlassesLocal/ExtentosLocalTier.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GlassesCore'
 11 |
 12 | import Foundation
 13 | import GlassesCore
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'GlassesCore'
 14 | import HuggingFace
 15 | import os
[1090/1090] Compiling GlassesLocal AutoModelSelection.swift
Build complete! (75.40s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "meta-wearables-dat-ios",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.8.0",
            "upper_bound" : "0.9.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/facebook/meta-wearables-dat-ios"
    },
    {
      "identity" : "mlx-swift-lm",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.31.4",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ml-explore/mlx-swift-lm.git"
    },
    {
      "identity" : "swift-huggingface",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.1.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/huggingface/swift-huggingface.git"
    },
    {
      "identity" : "swift-transformers",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/huggingface/swift-transformers.git"
    }
  ],
  "manifest_display_name" : "Extentos",
  "name" : "Extentos",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "17.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "GlassesCore",
      "targets" : [
        "GlassesCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesUI",
      "targets" : [
        "GlassesUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesDebug",
      "targets" : [
        "GlassesDebug"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesLifecycle",
      "targets" : [
        "GlassesLifecycle"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesTesting",
      "targets" : [
        "GlassesTesting"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesLocal",
      "targets" : [
        "GlassesLocal"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GlassesLocalVoice",
      "targets" : [
        "GlassesLocalVoice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "sherpaOnnxFFI",
      "module_type" : "BinaryTarget",
      "name" : "sherpaOnnxFFI",
      "path" : "remote/archive/sherpaOnnxFFI.xcframework.zip",
      "product_memberships" : [
        "GlassesLocalVoice"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "onnxruntimeFFI",
      "module_type" : "BinaryTarget",
      "name" : "onnxruntimeFFI",
      "path" : "remote/archive/onnxruntimeFFI.xcframework.zip",
      "product_memberships" : [
        "GlassesLocalVoice"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "extentos_coreFFI",
      "module_type" : "BinaryTarget",
      "name" : "extentos_coreFFI",
      "path" : "remote/archive/extentos_coreFFI.xcframework.zip",
      "product_memberships" : [
        "GlassesCore",
        "GlassesUI",
        "GlassesDebug",
        "GlassesLifecycle",
        "GlassesTesting",
        "GlassesLocal",
        "GlassesLocalVoice"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SherpaOnnxC",
      "module_type" : "ClangTarget",
      "name" : "SherpaOnnxC",
      "path" : "Sources/SherpaOnnxC",
      "product_memberships" : [
        "GlassesLocalVoice"
      ],
      "sources" : [
        "shim.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesUI",
      "module_type" : "SwiftTarget",
      "name" : "GlassesUI",
      "path" : "Sources/GlassesUI",
      "product_memberships" : [
        "GlassesUI"
      ],
      "sources" : [
        "Appearance.swift",
        "ConnectionPageJsonConfig.swift",
        "EscapeHatch.swift",
        "ExtentosConnectionPage.swift",
        "ExtentosPairingScreen.swift",
        "ExtentosTheme.swift"
      ],
      "target_dependencies" : [
        "GlassesCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesTesting",
      "module_type" : "SwiftTarget",
      "name" : "GlassesTesting",
      "path" : "Sources/GlassesTesting",
      "product_memberships" : [
        "GlassesTesting"
      ],
      "sources" : [
        "FakeExtentosGlasses.swift"
      ],
      "target_dependencies" : [
        "GlassesCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesLocalVoice",
      "module_type" : "SwiftTarget",
      "name" : "GlassesLocalVoice",
      "path" : "Sources/GlassesLocalVoice",
      "product_memberships" : [
        "GlassesLocalVoice"
      ],
      "sources" : [
        "KokoroModelDownload.swift",
        "KokoroModelManifest.swift",
        "KokoroServingProbe.swift",
        "KokoroSynthesizer.swift"
      ],
      "target_dependencies" : [
        "GlassesCore",
        "SherpaOnnxC",
        "sherpaOnnxFFI",
        "onnxruntimeFFI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesLocal",
      "module_type" : "SwiftTarget",
      "name" : "GlassesLocal",
      "path" : "Sources/GlassesLocal",
      "product_dependencies" : [
        "MLXLLM",
        "MLXLMCommon",
        "MLXHuggingFace",
        "HuggingFace",
        "Tokenizers"
      ],
      "product_memberships" : [
        "GlassesLocal"
      ],
      "sources" : [
        "AutoModelSelection.swift",
        "ExtentosLocalTier.swift",
        "LocalBrain.swift"
      ],
      "target_dependencies" : [
        "GlassesCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesLifecycle",
      "module_type" : "SwiftTarget",
      "name" : "GlassesLifecycle",
      "path" : "Sources/GlassesLifecycle",
      "product_memberships" : [
        "GlassesLifecycle"
      ],
      "sources" : [
        "ListeningModifier.swift"
      ],
      "target_dependencies" : [
        "GlassesCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesDebug",
      "module_type" : "SwiftTarget",
      "name" : "GlassesDebug",
      "path" : "Sources/GlassesDebug",
      "product_memberships" : [
        "GlassesDebug"
      ],
      "sources" : [
        "ExtentosDebugPanel.swift"
      ],
      "target_dependencies" : [
        "GlassesCore"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GlassesCore",
      "module_type" : "SwiftTarget",
      "name" : "GlassesCore",
      "path" : "Sources/GlassesCore",
      "product_dependencies" : [
        "MWDATCore",
        "MWDATCamera",
        "MWDATDisplay"
      ],
      "product_memberships" : [
        "GlassesCore",
        "GlassesUI",
        "GlassesDebug",
        "GlassesLifecycle",
        "GlassesTesting",
        "GlassesLocal",
        "GlassesLocalVoice"
      ],
      "sources" : [
        "Assistant/AssistantClient.swift",
        "Assistant/AssistantConfig.swift",
        "Assistant/AssistantEvent.swift",
        "Assistant/AssistantProvider.swift",
        "Assistant/Tool.swift",
        "Assistant/Turn.swift",
        "AudioClient.swift",
        "CameraClient.swift",
        "Conformances.swift",
        "ConnectionClient.swift",
        "Device.swift",
        "DisplayClient.swift",
        "Errors.swift",
        "Events/EventLogger.swift",
        "Extentos.swift",
        "ExtentosConfig.swift",
        "ExtentosSceneObserver.swift",
        "Generated/extentos_core.swift",
        "Impl/AssistantConfigClient.swift",
        "Impl/AssistantTransportBridge.swift",
        "Impl/AttestClient.swift",
        "Impl/DefaultAssistantClient.swift",
        "Impl/DefaultAudioClient.swift",
        "Impl/DefaultCameraClient.swift",
        "Impl/DefaultConnectionClient.swift",
        "Impl/DefaultDisplayClient.swift",
        "Impl/DefaultExtentosGlasses.swift",
        "Impl/DefaultObservabilityClient.swift",
        "Impl/DefaultRuntimeClient.swift",
        "Impl/DefaultTelemetryClient.swift",
        "Impl/DefaultToggleClient.swift",
        "Impl/DefaultVoiceClient.swift",
        "Impl/DeviceInstallStore.swift",
        "Impl/EnvironmentClassifier.swift",
        "Impl/HostedLocalBrain.swift",
        "Impl/LocalRealtimeProvider.swift",
        "Impl/LocalTierDiagnostics.swift",
        "Impl/LocalVoiceRegistry.swift",
        "Impl/MediaDelivery.swift",
        "Impl/MockAssistantProvider.swift",
        "Impl/MutableState.swift",
        "Impl/PersistentMemoryStore.swift",
        "Impl/RealtimeCoreProvider.swift",
        "Impl/StoreProof.swift",
        "Impl/TelemetryBridge.swift",
        "Impl/VoiceTransportBridge.swift",
        "JSONValue.swift",
        "LibraryVersion.swift",
        "MigratedCoreTypes.swift",
        "ObservabilityClient.swift",
        "ObservableState.swift",
        "PhotoExtensions.swift",
        "PushToTalkSession.swift",
        "Runtime/AudioCaptureSession.swift",
        "Runtime/EarsMeter.swift",
        "Runtime/EarsTape.swift",
        "Runtime/EarsTuning.swift",
        "Runtime/Mp4Structure.swift",
        "Runtime/PlatformSttEngine.swift",
        "Runtime/SharedAudioInput.swift",
        "Runtime/VideoCaptureSession.swift",
        "Runtime/WakeLedger.swift",
        "RuntimeClient.swift",
        "TelemetryClient.swift",
        "ToggleClient.swift",
        "Transport/Brilliant/BleAudioInput.swift",
        "Transport/Brilliant/BrilliantTransport.swift",
        "Transport/Brilliant/CoreBluetoothBleBridge.swift",
        "Transport/Brilliant/ExtentosBrilliant.swift",
        "Transport/BrowserSimTransport.swift",
        "Transport/GlassesTransport.swift",
        "Transport/LocalSimTransport.swift",
        "Transport/MWDATBridge.swift",
        "Transport/MetaDisplayTranslation.swift",
        "Transport/MetaHardwareBridge.swift",
        "Transport/RealMetaTransport.swift",
        "Transport/SpeechDelegateBox.swift",
        "Transport/SystemAudioBridge.swift",
        "Transport/SystemAudioHardwareBridge.swift",
        "Transport/SystemAudioTransport.swift",
        "Transport/VendorTransports.swift",
        "Transport/YuvPacking.swift",
        "UiState.swift",
        "VoiceClient.swift"
      ],
      "target_dependencies" : [
        "extentos_coreFFI"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.