The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SyncField, reference main (11efd7), with Swift 6.3 for Wasm on 9 May 2026 18:48:58 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/OpenGraphLabs/syncfield-swift.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/OpenGraphLabs/syncfield-swift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 11efd79 fix(insta360): unblock SDK-linked build, harden Wi-Fi lifecycle, support multi-camera (#7)
Cloned https://github.com/OpenGraphLabs/syncfield-swift.git
Revision (git rev-parse @):
11efd79a0c116550fdffc151448279d24f561524
SUCCESS checkout https://github.com/OpenGraphLabs/syncfield-swift.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/OpenGraphLabs/syncfield-swift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Building for debugging...
[0/6] Copying PrivacyInfo.xcprivacy
[2/6] Write sources
[5/6] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/37] Emitting module SyncField
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:10:27: error: cannot find type 'mach_timebase_info_data_t' in scope
 8 | /// plus a wall-clock anchor captured once at session start.
 9 | public final class SessionClock: @unchecked Sendable {
10 |     private let timebase: mach_timebase_info_data_t
   |                           `- error: cannot find type 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:25: error: cannot find 'DispatchQueue' in scope
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                         `- error: cannot find 'DispatchQueue' in scope
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:72: error: cannot infer contextual base in reference to member 'userInitiated'
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:6:56: error: cannot find type 'OperationQueue' in scope
  4 | #endif
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
    |                                                        `- error: cannot find type 'OperationQueue' in scope
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:22:26: error: cannot find type 'OperationQueue' in scope
 20 |     private var writer: SensorWriter?
 21 |     private var writerPump: SensorWriterPump?
 22 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
 23 |     private var frameCount = 0
 24 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:123:26: error: cannot find type 'OperationQueue' in scope
121 |     private var writer: SensorWriter?
122 |     private var writerPump: SensorWriterPump?
123 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
124 |     private var frameCount = 0
125 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:224:26: error: cannot find type 'OperationQueue' in scope
222 |     private var writer: SensorWriter?
223 |     private var writerPump: SensorWriterPump?
224 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
225 |     private var frameCount = 0
226 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriter.swift:9:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 7 |
 8 |     public init(url: URL) throws {
 9 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
10 |         self.handle = try FileHandle(forWritingTo: url)
11 |     }
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:11:24: error: cannot find type 'DispatchQueue' in scope
 9 | /// a deterministic drain point.
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
   |                        `- error: cannot find type 'DispatchQueue' in scope
12 |     private let group = DispatchGroup()
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:12:25: error: cannot find 'DispatchGroup' in scope
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
12 |     private let group = DispatchGroup()
   |                         `- error: cannot find 'DispatchGroup' in scope
13 |
14 |     init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/SessionLogWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |         self.isoFormatter = ISO8601DateFormatter()
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |     }
[8/41] Compiling SyncField AVAudioEngineChirpPlayer.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:23:14: error: cannot find 'mach_timebase_info_data_t' in scope
21 | @inline(__always)
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
   |              `- error: cannot find 'mach_timebase_info_data_t' in scope
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:24:5: error: cannot find 'mach_timebase_info' in scope
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
   |     `- error: cannot find 'mach_timebase_info' in scope
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
26 | }
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:25:12: error: cannot find 'mach_absolute_time' in scope
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
   |            `- error: cannot find 'mach_absolute_time' in scope
26 | }
27 |
[9/41] Compiling SyncField ChirpPlayer.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:23:14: error: cannot find 'mach_timebase_info_data_t' in scope
21 | @inline(__always)
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
   |              `- error: cannot find 'mach_timebase_info_data_t' in scope
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:24:5: error: cannot find 'mach_timebase_info' in scope
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
   |     `- error: cannot find 'mach_timebase_info' in scope
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
26 | }
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:25:12: error: cannot find 'mach_absolute_time' in scope
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
   |            `- error: cannot find 'mach_absolute_time' in scope
26 | }
27 |
[10/41] Compiling SyncField ChirpSynthesis.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:23:14: error: cannot find 'mach_timebase_info_data_t' in scope
21 | @inline(__always)
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
   |              `- error: cannot find 'mach_timebase_info_data_t' in scope
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:24:5: error: cannot find 'mach_timebase_info' in scope
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
   |     `- error: cannot find 'mach_timebase_info' in scope
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
26 | }
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:25:12: error: cannot find 'mach_absolute_time' in scope
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
   |            `- error: cannot find 'mach_absolute_time' in scope
26 | }
27 |
[11/41] Compiling SyncField ChirpTypes.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:23:14: error: cannot find 'mach_timebase_info_data_t' in scope
21 | @inline(__always)
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
   |              `- error: cannot find 'mach_timebase_info_data_t' in scope
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:24:5: error: cannot find 'mach_timebase_info' in scope
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
   |     `- error: cannot find 'mach_timebase_info' in scope
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
26 | }
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:25:12: error: cannot find 'mach_absolute_time' in scope
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
   |            `- error: cannot find 'mach_absolute_time' in scope
26 | }
27 |
[12/41] Compiling SyncField Errors.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:23:14: error: cannot find 'mach_timebase_info_data_t' in scope
21 | @inline(__always)
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
   |              `- error: cannot find 'mach_timebase_info_data_t' in scope
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:24:5: error: cannot find 'mach_timebase_info' in scope
22 | func currentMonotonicNs() -> UInt64 {
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
   |     `- error: cannot find 'mach_timebase_info' in scope
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
26 | }
/host/spi-builder-workspace/Sources/SyncField/Audio/ChirpPlayer.swift:25:12: error: cannot find 'mach_absolute_time' in scope
23 |     var tb = mach_timebase_info_data_t()
24 |     mach_timebase_info(&tb)
25 |     return mach_absolute_time() &* UInt64(tb.numer) / UInt64(tb.denom)
   |            `- error: cannot find 'mach_absolute_time' in scope
26 | }
27 |
[13/41] Compiling SyncField SessionState.swift
[14/41] Compiling SyncField StreamCapabilities.swift
[15/41] Compiling SyncField TactileBLEClient.swift
[16/41] Compiling SyncField TactilePacketParser.swift
[17/41] Compiling SyncField TactileStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:111:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
109 |
110 |     public func connect(context: StreamConnectContext) async throws {
111 |         self.healthBus = context.healthBus
    |              `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
112 |         #if canImport(AVFoundation)
113 |         try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:15: error: cannot find 'healthBus' in scope
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |               `- error: cannot find 'healthBus' in scope
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:35: error: cannot infer contextual base in reference to member 'streamConnected'
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |                                   `- error: cannot infer contextual base in reference to member 'streamConnected'
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:315:40: error: cannot find 'frameCount' in scope
313 |         StreamIngestReport(streamId: streamId,
314 |                            filePath: "\(streamId).mp4",
315 |                            frameCount: frameCount)
    |                                        `- error: cannot find 'frameCount' in scope
316 |     }
317 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:15: error: cannot find 'healthBus' in scope
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |               `- error: cannot find 'healthBus' in scope
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |                                   `- error: cannot infer contextual base in reference to member 'streamDisconnected'
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:25: error: cannot find 'DispatchQueue' in scope
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                         `- error: cannot find 'DispatchQueue' in scope
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:72: error: cannot infer contextual base in reference to member 'userInitiated'
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
 14 |
 15 |     private var writer: SensorWriter?
[18/41] Compiling SyncField TactileTypes.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:111:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
109 |
110 |     public func connect(context: StreamConnectContext) async throws {
111 |         self.healthBus = context.healthBus
    |              `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
112 |         #if canImport(AVFoundation)
113 |         try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:15: error: cannot find 'healthBus' in scope
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |               `- error: cannot find 'healthBus' in scope
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:35: error: cannot infer contextual base in reference to member 'streamConnected'
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |                                   `- error: cannot infer contextual base in reference to member 'streamConnected'
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:315:40: error: cannot find 'frameCount' in scope
313 |         StreamIngestReport(streamId: streamId,
314 |                            filePath: "\(streamId).mp4",
315 |                            frameCount: frameCount)
    |                                        `- error: cannot find 'frameCount' in scope
316 |     }
317 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:15: error: cannot find 'healthBus' in scope
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |               `- error: cannot find 'healthBus' in scope
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |                                   `- error: cannot infer contextual base in reference to member 'streamDisconnected'
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:25: error: cannot find 'DispatchQueue' in scope
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                         `- error: cannot find 'DispatchQueue' in scope
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:72: error: cannot infer contextual base in reference to member 'userInitiated'
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
 14 |
 15 |     private var writer: SensorWriter?
[19/41] Compiling SyncField iPhoneCameraStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:111:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
109 |
110 |     public func connect(context: StreamConnectContext) async throws {
111 |         self.healthBus = context.healthBus
    |              `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
112 |         #if canImport(AVFoundation)
113 |         try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:15: error: cannot find 'healthBus' in scope
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |               `- error: cannot find 'healthBus' in scope
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:35: error: cannot infer contextual base in reference to member 'streamConnected'
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |                                   `- error: cannot infer contextual base in reference to member 'streamConnected'
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:315:40: error: cannot find 'frameCount' in scope
313 |         StreamIngestReport(streamId: streamId,
314 |                            filePath: "\(streamId).mp4",
315 |                            frameCount: frameCount)
    |                                        `- error: cannot find 'frameCount' in scope
316 |     }
317 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:15: error: cannot find 'healthBus' in scope
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |               `- error: cannot find 'healthBus' in scope
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |                                   `- error: cannot infer contextual base in reference to member 'streamDisconnected'
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:25: error: cannot find 'DispatchQueue' in scope
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                         `- error: cannot find 'DispatchQueue' in scope
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:72: error: cannot infer contextual base in reference to member 'userInitiated'
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
 14 |
 15 |     private var writer: SensorWriter?
[20/41] Compiling SyncField iPhoneMotionStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:111:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
109 |
110 |     public func connect(context: StreamConnectContext) async throws {
111 |         self.healthBus = context.healthBus
    |              `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
112 |         #if canImport(AVFoundation)
113 |         try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:15: error: cannot find 'healthBus' in scope
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |               `- error: cannot find 'healthBus' in scope
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:116:35: error: cannot infer contextual base in reference to member 'streamConnected'
114 |         captureSession.startRunning()
115 |         #endif
116 |         await healthBus?.publish(.streamConnected(streamId: streamId))
    |                                   `- error: cannot infer contextual base in reference to member 'streamConnected'
117 |     }
118 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:315:40: error: cannot find 'frameCount' in scope
313 |         StreamIngestReport(streamId: streamId,
314 |                            filePath: "\(streamId).mp4",
315 |                            frameCount: frameCount)
    |                                        `- error: cannot find 'frameCount' in scope
316 |     }
317 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:15: error: cannot find 'healthBus' in scope
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |               `- error: cannot find 'healthBus' in scope
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:323:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
321 |         selectedVideoDevice = nil
322 |         #endif
323 |         await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
    |                                   `- error: cannot infer contextual base in reference to member 'streamDisconnected'
324 |     }
325 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:25: error: cannot find 'DispatchQueue' in scope
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                         `- error: cannot find 'DispatchQueue' in scope
 14 |
 15 |     private var writer: SensorWriter?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneMotionStream.swift:13:72: error: cannot infer contextual base in reference to member 'userInitiated'
 11 |
 12 |     private let rateHz: Double
 13 |     private let queue = DispatchQueue(label: "syncfield.motion", qos: .userInitiated)
    |                                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
 14 |
 15 |     private var writer: SensorWriter?
[21/41] Compiling SyncField SessionLogWriter.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/SessionLogWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |         self.isoFormatter = ISO8601DateFormatter()
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |     }
[22/41] Compiling SyncField StreamWriter.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/SessionLogWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |         self.isoFormatter = ISO8601DateFormatter()
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |     }
[23/41] Compiling SyncField WriterFactory.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/SessionLogWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |         self.isoFormatter = ISO8601DateFormatter()
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |     }
[24/41] Compiling SyncField resource_bundle_accessor.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/SessionLogWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |         self.isoFormatter = ISO8601DateFormatter()
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriter.swift:11:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 9 |
10 |     public init(url: URL) throws {
11 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
12 |         self.handle = try FileHandle(forWritingTo: url)
13 |     }
[25/41] Compiling SyncField HealthBus.swift
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:26:14: 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
24 |
25 |     public func publish(_ event: HealthEvent) async {
26 |         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
27 |         let targets = Array(continuations.values)
28 |         lock.unlock()
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:28:14: 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
26 |         lock.lock()
27 |         let targets = Array(continuations.values)
28 |         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
29 |         for cont in targets { cont.yield(event) }
30 |     }
/host/spi-builder-workspace/Sources/SyncField/Quality/HandQualitySummary.swift:100:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
 98 |         let enc = JSONEncoder()
 99 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
100 |         try enc.encode(summary).write(to: url, options: .atomic)
    |                                                          `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
101 |     }
102 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[26/41] Compiling SyncField HealthEvent.swift
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:26:14: 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
24 |
25 |     public func publish(_ event: HealthEvent) async {
26 |         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
27 |         let targets = Array(continuations.values)
28 |         lock.unlock()
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:28:14: 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
26 |         lock.lock()
27 |         let targets = Array(continuations.values)
28 |         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
29 |         for cont in targets { cont.yield(event) }
30 |     }
/host/spi-builder-workspace/Sources/SyncField/Quality/HandQualitySummary.swift:100:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
 98 |         let enc = JSONEncoder()
 99 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
100 |         try enc.encode(summary).write(to: url, options: .atomic)
    |                                                          `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
101 |     }
102 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[27/41] Compiling SyncField HandQualityConfig.swift
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:26:14: 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
24 |
25 |     public func publish(_ event: HealthEvent) async {
26 |         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
27 |         let targets = Array(continuations.values)
28 |         lock.unlock()
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:28:14: 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
26 |         lock.lock()
27 |         let targets = Array(continuations.values)
28 |         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
29 |         for cont in targets { cont.yield(event) }
30 |     }
/host/spi-builder-workspace/Sources/SyncField/Quality/HandQualitySummary.swift:100:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
 98 |         let enc = JSONEncoder()
 99 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
100 |         try enc.encode(summary).write(to: url, options: .atomic)
    |                                                          `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
101 |     }
102 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[28/41] Compiling SyncField HandQualityMonitor.swift
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:26:14: 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
24 |
25 |     public func publish(_ event: HealthEvent) async {
26 |         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
27 |         let targets = Array(continuations.values)
28 |         lock.unlock()
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:28:14: 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
26 |         lock.lock()
27 |         let targets = Array(continuations.values)
28 |         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
29 |         for cont in targets { cont.yield(event) }
30 |     }
/host/spi-builder-workspace/Sources/SyncField/Quality/HandQualitySummary.swift:100:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
 98 |         let enc = JSONEncoder()
 99 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
100 |         try enc.encode(summary).write(to: url, options: .atomic)
    |                                                          `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
101 |     }
102 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[29/41] Compiling SyncField HandQualitySummary.swift
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:26:14: 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
24 |
25 |     public func publish(_ event: HealthEvent) async {
26 |         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
27 |         let targets = Array(continuations.values)
28 |         lock.unlock()
/host/spi-builder-workspace/Sources/SyncField/HealthBus.swift:28:14: 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
26 |         lock.lock()
27 |         let targets = Array(continuations.values)
28 |         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
29 |         for cont in targets { cont.yield(event) }
30 |     }
/host/spi-builder-workspace/Sources/SyncField/Quality/HandQualitySummary.swift:100:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
 98 |         let enc = JSONEncoder()
 99 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
100 |         try enc.encode(summary).write(to: url, options: .atomic)
    |                                                          `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
101 |     }
102 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[30/41] Compiling SyncField iPhoneRawIMUStreams.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:6:56: error: cannot find type 'OperationQueue' in scope
  4 | #endif
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
    |                                                        `- error: cannot find type 'OperationQueue' in scope
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:22:26: error: cannot find type 'OperationQueue' in scope
 20 |     private var writer: SensorWriter?
 21 |     private var writerPump: SensorWriterPump?
 22 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
 23 |     private var frameCount = 0
 24 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:123:26: error: cannot find type 'OperationQueue' in scope
121 |     private var writer: SensorWriter?
122 |     private var writerPump: SensorWriterPump?
123 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
124 |     private var frameCount = 0
125 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:224:26: error: cannot find type 'OperationQueue' in scope
222 |     private var writer: SensorWriter?
223 |     private var writerPump: SensorWriterPump?
224 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
225 |     private var frameCount = 0
226 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:7:17: error: cannot find 'OperationQueue' in scope
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
  7 |     let queue = OperationQueue()
    |                 `- error: cannot find 'OperationQueue' in scope
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:9:31: error: cannot infer contextual base in reference to member 'userInitiated'
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
    |                               `- error: cannot infer contextual base in reference to member 'userInitiated'
 10 |     queue.name = name
 11 |     return queue
[31/41] Compiling SyncField SyncField.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:6:56: error: cannot find type 'OperationQueue' in scope
  4 | #endif
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
    |                                                        `- error: cannot find type 'OperationQueue' in scope
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:22:26: error: cannot find type 'OperationQueue' in scope
 20 |     private var writer: SensorWriter?
 21 |     private var writerPump: SensorWriterPump?
 22 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
 23 |     private var frameCount = 0
 24 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:123:26: error: cannot find type 'OperationQueue' in scope
121 |     private var writer: SensorWriter?
122 |     private var writerPump: SensorWriterPump?
123 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
124 |     private var frameCount = 0
125 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:224:26: error: cannot find type 'OperationQueue' in scope
222 |     private var writer: SensorWriter?
223 |     private var writerPump: SensorWriterPump?
224 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
225 |     private var frameCount = 0
226 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:7:17: error: cannot find 'OperationQueue' in scope
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
  7 |     let queue = OperationQueue()
    |                 `- error: cannot find 'OperationQueue' in scope
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:9:31: error: cannot infer contextual base in reference to member 'userInitiated'
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
    |                               `- error: cannot infer contextual base in reference to member 'userInitiated'
 10 |     queue.name = name
 11 |     return queue
[32/41] Compiling SyncField SyncFieldStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:6:56: error: cannot find type 'OperationQueue' in scope
  4 | #endif
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
    |                                                        `- error: cannot find type 'OperationQueue' in scope
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:22:26: error: cannot find type 'OperationQueue' in scope
 20 |     private var writer: SensorWriter?
 21 |     private var writerPump: SensorWriterPump?
 22 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
 23 |     private var frameCount = 0
 24 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:123:26: error: cannot find type 'OperationQueue' in scope
121 |     private var writer: SensorWriter?
122 |     private var writerPump: SensorWriterPump?
123 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
124 |     private var frameCount = 0
125 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:224:26: error: cannot find type 'OperationQueue' in scope
222 |     private var writer: SensorWriter?
223 |     private var writerPump: SensorWriterPump?
224 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
225 |     private var frameCount = 0
226 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:7:17: error: cannot find 'OperationQueue' in scope
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
  7 |     let queue = OperationQueue()
    |                 `- error: cannot find 'OperationQueue' in scope
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:9:31: error: cannot infer contextual base in reference to member 'userInitiated'
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
    |                               `- error: cannot infer contextual base in reference to member 'userInitiated'
 10 |     queue.name = name
 11 |     return queue
[33/41] Compiling SyncField SyncPoint.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:6:56: error: cannot find type 'OperationQueue' in scope
  4 | #endif
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
    |                                                        `- error: cannot find type 'OperationQueue' in scope
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:22:26: error: cannot find type 'OperationQueue' in scope
 20 |     private var writer: SensorWriter?
 21 |     private var writerPump: SensorWriterPump?
 22 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
 23 |     private var frameCount = 0
 24 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:123:26: error: cannot find type 'OperationQueue' in scope
121 |     private var writer: SensorWriter?
122 |     private var writerPump: SensorWriterPump?
123 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
124 |     private var frameCount = 0
125 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:224:26: error: cannot find type 'OperationQueue' in scope
222 |     private var writer: SensorWriter?
223 |     private var writerPump: SensorWriterPump?
224 |     private var opQueue: OperationQueue?
    |                          `- error: cannot find type 'OperationQueue' in scope
225 |     private var frameCount = 0
226 |     private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:7:17: error: cannot find 'OperationQueue' in scope
  5 |
  6 | private func makeRawIMUOperationQueue(name: String) -> OperationQueue {
  7 |     let queue = OperationQueue()
    |                 `- error: cannot find 'OperationQueue' in scope
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:9:31: error: cannot infer contextual base in reference to member 'userInitiated'
  7 |     let queue = OperationQueue()
  8 |     queue.maxConcurrentOperationCount = 1
  9 |     queue.qualityOfService = .userInitiated
    |                               `- error: cannot infer contextual base in reference to member 'userInitiated'
 10 |     queue.name = name
 11 |     return queue
[34/41] Compiling SyncField EventWriter.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/EventWriter.swift:118:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
116 |         guard !pendingLines.isEmpty else { return }
117 |         if fileHandle == nil {
118 |             FileManager.default.createFile(atPath: fileURL.path, contents: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
119 |             fileHandle = try? FileHandle(forWritingTo: fileURL)
120 |         }
/host/spi-builder-workspace/Sources/SyncField/Writers/ManifestWriter.swift:49:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
47 |         let enc = JSONEncoder()
48 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
49 |         try enc.encode(manifest).write(to: url, options: [.atomic])
   |                                                            `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
50 |     }
51 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriter.swift:9:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 7 |
 8 |     public init(url: URL) throws {
 9 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
10 |         self.handle = try FileHandle(forWritingTo: url)
11 |     }
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:11:24: error: cannot find type 'DispatchQueue' in scope
 9 | /// a deterministic drain point.
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
   |                        `- error: cannot find type 'DispatchQueue' in scope
12 |     private let group = DispatchGroup()
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:12:25: error: cannot find 'DispatchGroup' in scope
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
12 |     private let group = DispatchGroup()
   |                         `- error: cannot find 'DispatchGroup' in scope
13 |
14 |     init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:22: error: cannot find 'DispatchQueue' in scope
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                      `- error: cannot find 'DispatchQueue' in scope
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:56: error: cannot infer contextual base in reference to member 'userInitiated'
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:27:29: error: cannot find 'DispatchSemaphore' in scope
25 |         group.enter()
26 |         queue.async {
27 |             let semaphore = DispatchSemaphore(value: 0)
   |                             `- error: cannot find 'DispatchSemaphore' in scope
28 |             Task { [writer] in
29 |                 try? await writer.append(
[35/41] Compiling SyncField ManifestWriter.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/EventWriter.swift:118:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
116 |         guard !pendingLines.isEmpty else { return }
117 |         if fileHandle == nil {
118 |             FileManager.default.createFile(atPath: fileURL.path, contents: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
119 |             fileHandle = try? FileHandle(forWritingTo: fileURL)
120 |         }
/host/spi-builder-workspace/Sources/SyncField/Writers/ManifestWriter.swift:49:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
47 |         let enc = JSONEncoder()
48 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
49 |         try enc.encode(manifest).write(to: url, options: [.atomic])
   |                                                            `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
50 |     }
51 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriter.swift:9:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 7 |
 8 |     public init(url: URL) throws {
 9 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
10 |         self.handle = try FileHandle(forWritingTo: url)
11 |     }
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:11:24: error: cannot find type 'DispatchQueue' in scope
 9 | /// a deterministic drain point.
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
   |                        `- error: cannot find type 'DispatchQueue' in scope
12 |     private let group = DispatchGroup()
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:12:25: error: cannot find 'DispatchGroup' in scope
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
12 |     private let group = DispatchGroup()
   |                         `- error: cannot find 'DispatchGroup' in scope
13 |
14 |     init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:22: error: cannot find 'DispatchQueue' in scope
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                      `- error: cannot find 'DispatchQueue' in scope
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:56: error: cannot infer contextual base in reference to member 'userInitiated'
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:27:29: error: cannot find 'DispatchSemaphore' in scope
25 |         group.enter()
26 |         queue.async {
27 |             let semaphore = DispatchSemaphore(value: 0)
   |                             `- error: cannot find 'DispatchSemaphore' in scope
28 |             Task { [writer] in
29 |                 try? await writer.append(
[36/41] Compiling SyncField SensorWriter.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/EventWriter.swift:118:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
116 |         guard !pendingLines.isEmpty else { return }
117 |         if fileHandle == nil {
118 |             FileManager.default.createFile(atPath: fileURL.path, contents: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
119 |             fileHandle = try? FileHandle(forWritingTo: fileURL)
120 |         }
/host/spi-builder-workspace/Sources/SyncField/Writers/ManifestWriter.swift:49:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
47 |         let enc = JSONEncoder()
48 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
49 |         try enc.encode(manifest).write(to: url, options: [.atomic])
   |                                                            `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
50 |     }
51 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriter.swift:9:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 7 |
 8 |     public init(url: URL) throws {
 9 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
10 |         self.handle = try FileHandle(forWritingTo: url)
11 |     }
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:11:24: error: cannot find type 'DispatchQueue' in scope
 9 | /// a deterministic drain point.
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
   |                        `- error: cannot find type 'DispatchQueue' in scope
12 |     private let group = DispatchGroup()
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:12:25: error: cannot find 'DispatchGroup' in scope
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
12 |     private let group = DispatchGroup()
   |                         `- error: cannot find 'DispatchGroup' in scope
13 |
14 |     init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:22: error: cannot find 'DispatchQueue' in scope
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                      `- error: cannot find 'DispatchQueue' in scope
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:56: error: cannot infer contextual base in reference to member 'userInitiated'
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:27:29: error: cannot find 'DispatchSemaphore' in scope
25 |         group.enter()
26 |         queue.async {
27 |             let semaphore = DispatchSemaphore(value: 0)
   |                             `- error: cannot find 'DispatchSemaphore' in scope
28 |             Task { [writer] in
29 |                 try? await writer.append(
[37/41] Compiling SyncField SensorWriterPump.swift
/host/spi-builder-workspace/Sources/SyncField/Writers/EventWriter.swift:118:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
116 |         guard !pendingLines.isEmpty else { return }
117 |         if fileHandle == nil {
118 |             FileManager.default.createFile(atPath: fileURL.path, contents: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
119 |             fileHandle = try? FileHandle(forWritingTo: fileURL)
120 |         }
/host/spi-builder-workspace/Sources/SyncField/Writers/ManifestWriter.swift:49:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
47 |         let enc = JSONEncoder()
48 |         enc.outputFormatting = [.prettyPrinted, .sortedKeys]
49 |         try enc.encode(manifest).write(to: url, options: [.atomic])
   |                                                            `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
50 |     }
51 | }
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriter.swift:9:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
 7 |
 8 |     public init(url: URL) throws {
 9 |         FileManager.default.createFile(atPath: url.path, contents: nil)
   |                             `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
10 |         self.handle = try FileHandle(forWritingTo: url)
11 |     }
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:11:24: error: cannot find type 'DispatchQueue' in scope
 9 | /// a deterministic drain point.
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
   |                        `- error: cannot find type 'DispatchQueue' in scope
12 |     private let group = DispatchGroup()
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:12:25: error: cannot find 'DispatchGroup' in scope
10 | final class SensorWriterPump {
11 |     private let queue: DispatchQueue
12 |     private let group = DispatchGroup()
   |                         `- error: cannot find 'DispatchGroup' in scope
13 |
14 |     init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:22: error: cannot find 'DispatchQueue' in scope
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                      `- error: cannot find 'DispatchQueue' in scope
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:15:56: error: cannot infer contextual base in reference to member 'userInitiated'
13 |
14 |     init(label: String) {
15 |         self.queue = DispatchQueue(label: label, qos: .userInitiated)
   |                                                        `- error: cannot infer contextual base in reference to member 'userInitiated'
16 |     }
17 |
/host/spi-builder-workspace/Sources/SyncField/Writers/SensorWriterPump.swift:27:29: error: cannot find 'DispatchSemaphore' in scope
25 |         group.enter()
26 |         queue.async {
27 |             let semaphore = DispatchSemaphore(value: 0)
   |                             `- error: cannot find 'DispatchSemaphore' in scope
28 |             Task { [writer] in
29 |                 try? await writer.append(
[38/41] Compiling SyncField HandQualityTypes.swift
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:10:27: error: cannot find type 'mach_timebase_info_data_t' in scope
 8 | /// plus a wall-clock anchor captured once at session start.
 9 | public final class SessionClock: @unchecked Sendable {
10 |     private let timebase: mach_timebase_info_data_t
   |                           `- error: cannot find type 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:13:18: error: cannot find 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
   |                  `- error: cannot find 'mach_timebase_info_data_t' in scope
14 |         mach_timebase_info(&tb)
15 |         self.timebase = tb
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:14:9: error: cannot find 'mach_timebase_info' in scope
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
14 |         mach_timebase_info(&tb)
   |         `- error: cannot find 'mach_timebase_info' in scope
15 |         self.timebase = tb
16 |     }
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:20:32: error: cannot find 'mach_absolute_time' in scope
18 |     /// Current monotonic clock in nanoseconds. Never goes backwards.
19 |     public func nowMonotonicNs() -> UInt64 {
20 |         machTicksToMonotonicNs(mach_absolute_time())
   |                                `- error: cannot find 'mach_absolute_time' in scope
21 |     }
22 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:349:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
347 |         try enc.encode(sp).write(
348 |             to: episodeDirectory.appendingPathComponent("sync_point.json"),
349 |             options: [.atomic])
    |                        `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
350 |     }
351 |
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[39/41] Compiling SyncField VisionHandConversion.swift
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:10:27: error: cannot find type 'mach_timebase_info_data_t' in scope
 8 | /// plus a wall-clock anchor captured once at session start.
 9 | public final class SessionClock: @unchecked Sendable {
10 |     private let timebase: mach_timebase_info_data_t
   |                           `- error: cannot find type 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:13:18: error: cannot find 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
   |                  `- error: cannot find 'mach_timebase_info_data_t' in scope
14 |         mach_timebase_info(&tb)
15 |         self.timebase = tb
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:14:9: error: cannot find 'mach_timebase_info' in scope
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
14 |         mach_timebase_info(&tb)
   |         `- error: cannot find 'mach_timebase_info' in scope
15 |         self.timebase = tb
16 |     }
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:20:32: error: cannot find 'mach_absolute_time' in scope
18 |     /// Current monotonic clock in nanoseconds. Never goes backwards.
19 |     public func nowMonotonicNs() -> UInt64 {
20 |         machTicksToMonotonicNs(mach_absolute_time())
   |                                `- error: cannot find 'mach_absolute_time' in scope
21 |     }
22 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:349:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
347 |         try enc.encode(sp).write(
348 |             to: episodeDirectory.appendingPathComponent("sync_point.json"),
349 |             options: [.atomic])
    |                        `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
350 |     }
351 |
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[40/41] Compiling SyncField SessionClock.swift
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:10:27: error: cannot find type 'mach_timebase_info_data_t' in scope
 8 | /// plus a wall-clock anchor captured once at session start.
 9 | public final class SessionClock: @unchecked Sendable {
10 |     private let timebase: mach_timebase_info_data_t
   |                           `- error: cannot find type 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:13:18: error: cannot find 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
   |                  `- error: cannot find 'mach_timebase_info_data_t' in scope
14 |         mach_timebase_info(&tb)
15 |         self.timebase = tb
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:14:9: error: cannot find 'mach_timebase_info' in scope
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
14 |         mach_timebase_info(&tb)
   |         `- error: cannot find 'mach_timebase_info' in scope
15 |         self.timebase = tb
16 |     }
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:20:32: error: cannot find 'mach_absolute_time' in scope
18 |     /// Current monotonic clock in nanoseconds. Never goes backwards.
19 |     public func nowMonotonicNs() -> UInt64 {
20 |         machTicksToMonotonicNs(mach_absolute_time())
   |                                `- error: cannot find 'mach_absolute_time' in scope
21 |     }
22 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:349:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
347 |         try enc.encode(sp).write(
348 |             to: episodeDirectory.appendingPathComponent("sync_point.json"),
349 |             options: [.atomic])
    |                        `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
350 |     }
351 |
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
[41/41] Compiling SyncField SessionOrchestrator.swift
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:10:27: error: cannot find type 'mach_timebase_info_data_t' in scope
 8 | /// plus a wall-clock anchor captured once at session start.
 9 | public final class SessionClock: @unchecked Sendable {
10 |     private let timebase: mach_timebase_info_data_t
   |                           `- error: cannot find type 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:13:18: error: cannot find 'mach_timebase_info_data_t' in scope
11 |
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
   |                  `- error: cannot find 'mach_timebase_info_data_t' in scope
14 |         mach_timebase_info(&tb)
15 |         self.timebase = tb
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:14:9: error: cannot find 'mach_timebase_info' in scope
12 |     public init() {
13 |         var tb = mach_timebase_info_data_t()
14 |         mach_timebase_info(&tb)
   |         `- error: cannot find 'mach_timebase_info' in scope
15 |         self.timebase = tb
16 |     }
/host/spi-builder-workspace/Sources/SyncField/SessionClock.swift:20:32: error: cannot find 'mach_absolute_time' in scope
18 |     /// Current monotonic clock in nanoseconds. Never goes backwards.
19 |     public func nowMonotonicNs() -> UInt64 {
20 |         machTicksToMonotonicNs(mach_absolute_time())
   |                                `- error: cannot find 'mach_absolute_time' in scope
21 |     }
22 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:349:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
347 |         try enc.encode(sp).write(
348 |             to: episodeDirectory.appendingPathComponent("sync_point.json"),
349 |             options: [.atomic])
    |                        `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
350 |     }
351 |
FoundationEssentials.Data.WritingOptions.atomic:4:23: note: 'atomic' has been explicitly marked unavailable here
2 |   struct WritingOptions {
3 | @available(*, unavailable, message: "atomic writing is unavailable in WASI because temporary files are not supported")
4 |     public static let atomic: Data.WritingOptions  }
  |                       `- note: 'atomic' has been explicitly marked unavailable here
5 | }
6 |
BUILD FAILURE 6.3 wasm