Build Information
Failed to build SyncField, reference main (40deed), with Swift 6.2 for Wasm on 10 Aug 2026 20:30:28 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1Build Log
461 | NSLog("[SDK.stopRecording] chirp+tail done elapsedMs=\((tAfterChirp - t0) / 1_000_000)")
462 | await stopPreparationTask.value
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:479:33: error: cannot find 'DispatchTime' in scope
477 | var firstError: Error?
478 | let stopWallClockMs = UInt64(Date().timeIntervalSince1970 * 1000)
479 | let tBeforeStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
480 | await withTaskGroup(of: (StreamStopReport?, Error?).self) { group in
481 | for s in streams {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:485:30: error: cannot find 'DispatchTime' in scope
483 | let id = s.streamId
484 | group.addTask { [s] in
485 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
486 | let result: (StreamStopReport?, Error?)
487 | do {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:510:38: error: cannot find 'DispatchTime' in scope
508 | }
509 | }
510 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
511 | NSLog("[SDK.stopRecording] stream=\(id) stop elapsedMs=\(elapsedMs)")
512 | return result
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:522:32: error: cannot find 'DispatchTime' in scope
520 | }
521 | }
522 | let tAfterStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
523 | NSLog("[SDK.stopRecording] all streams stopped elapsedMs=\((tAfterStreamStop - tBeforeStreamStop) / 1_000_000)")
524 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:532:25: error: cannot find 'DispatchTime' in scope
530 | // write hand_quality.json. Failures here are non-fatal (a recording
531 | // without quality metadata is still a valid recording).
532 | let tBeforeHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
533 | if let monitor = handQualityMonitor {
534 | let stopNs = activeClock?.nowMonotonicNs() ?? recordingStartMonotonicNs
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:545:24: error: cannot find 'DispatchTime' in scope
543 | try? HandQualitySummaryBuilder.write(summary, to: summaryURL)
544 | }
545 | let tAfterHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
546 | NSLog("[SDK.stopRecording] hand quality finalize elapsedMs=\((tAfterHQ - tBeforeHQ) / 1_000_000)")
547 | // EventWriter is finalized as part of monitor.finalize; drop the reference
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:597:30: error: cannot find 'DispatchTime' in scope
595 | }
596 | group.addTask { [stream, recoverable] in
597 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
598 | do {
599 | let recovered = try await recoverable.recoverUnconfirmedManualStop(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:602:42: error: cannot find 'DispatchTime' in scope
600 | stopWallClockMs: manualStopWallClockMs,
601 | reason: reason)
602 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
603 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) recovered elapsedMs=\(elapsedMs)")
604 | return (StreamStopReport(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:611:42: error: cannot find 'DispatchTime' in scope
609 | incompleteReason: reason), nil)
610 | } catch {
611 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
612 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) failed elapsedMs=\(elapsedMs)")
613 | return (nil, StreamError(streamId: stream.streamId, underlying: error))
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:790:30: error: cannot find 'DispatchTime' in scope
788 | }
789 | group.addTask { [stream, preparable] in
790 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:792:38: error: cannot find 'DispatchTime' in scope
790 | let t0 = DispatchTime.now().uptimeNanoseconds
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
793 | NSLog("[SDK.stopRecording] stream=\(stream.streamId) stop prep elapsedMs=\(elapsedMs)")
794 | }
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:930:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
928 | try enc.encode(sp).write(
929 | to: (directory ?? episodeDirectory).appendingPathComponent("sync_point.json"),
930 | options: [.atomic])
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
931 | }
932 |
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 |
[11/55] Compiling SyncField SessionState.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:352:59: error: cannot find 'DispatchTime' in scope
350 | }
351 |
352 | let boundaryNs = activeClock?.nowMonotonicNs() ?? DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
353 | var reportsById: [String: StreamStopReport] = [:]
354 | var commitError: Error?
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:434:18: error: cannot find 'DispatchTime' in scope
432 | throw SessionError.invalidTransition(from: state, to: .stopping)
433 | }
434 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
435 |
436 | // Give external wireless cameras a head start on waking their BLE
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:460:27: error: cannot find 'DispatchTime' in scope
458 | }
459 | }
460 | let tAfterChirp = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
461 | NSLog("[SDK.stopRecording] chirp+tail done elapsedMs=\((tAfterChirp - t0) / 1_000_000)")
462 | await stopPreparationTask.value
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:479:33: error: cannot find 'DispatchTime' in scope
477 | var firstError: Error?
478 | let stopWallClockMs = UInt64(Date().timeIntervalSince1970 * 1000)
479 | let tBeforeStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
480 | await withTaskGroup(of: (StreamStopReport?, Error?).self) { group in
481 | for s in streams {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:485:30: error: cannot find 'DispatchTime' in scope
483 | let id = s.streamId
484 | group.addTask { [s] in
485 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
486 | let result: (StreamStopReport?, Error?)
487 | do {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:510:38: error: cannot find 'DispatchTime' in scope
508 | }
509 | }
510 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
511 | NSLog("[SDK.stopRecording] stream=\(id) stop elapsedMs=\(elapsedMs)")
512 | return result
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:522:32: error: cannot find 'DispatchTime' in scope
520 | }
521 | }
522 | let tAfterStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
523 | NSLog("[SDK.stopRecording] all streams stopped elapsedMs=\((tAfterStreamStop - tBeforeStreamStop) / 1_000_000)")
524 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:532:25: error: cannot find 'DispatchTime' in scope
530 | // write hand_quality.json. Failures here are non-fatal (a recording
531 | // without quality metadata is still a valid recording).
532 | let tBeforeHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
533 | if let monitor = handQualityMonitor {
534 | let stopNs = activeClock?.nowMonotonicNs() ?? recordingStartMonotonicNs
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:545:24: error: cannot find 'DispatchTime' in scope
543 | try? HandQualitySummaryBuilder.write(summary, to: summaryURL)
544 | }
545 | let tAfterHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
546 | NSLog("[SDK.stopRecording] hand quality finalize elapsedMs=\((tAfterHQ - tBeforeHQ) / 1_000_000)")
547 | // EventWriter is finalized as part of monitor.finalize; drop the reference
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:597:30: error: cannot find 'DispatchTime' in scope
595 | }
596 | group.addTask { [stream, recoverable] in
597 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
598 | do {
599 | let recovered = try await recoverable.recoverUnconfirmedManualStop(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:602:42: error: cannot find 'DispatchTime' in scope
600 | stopWallClockMs: manualStopWallClockMs,
601 | reason: reason)
602 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
603 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) recovered elapsedMs=\(elapsedMs)")
604 | return (StreamStopReport(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:611:42: error: cannot find 'DispatchTime' in scope
609 | incompleteReason: reason), nil)
610 | } catch {
611 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
612 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) failed elapsedMs=\(elapsedMs)")
613 | return (nil, StreamError(streamId: stream.streamId, underlying: error))
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:790:30: error: cannot find 'DispatchTime' in scope
788 | }
789 | group.addTask { [stream, preparable] in
790 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:792:38: error: cannot find 'DispatchTime' in scope
790 | let t0 = DispatchTime.now().uptimeNanoseconds
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
793 | NSLog("[SDK.stopRecording] stream=\(stream.streamId) stop prep elapsedMs=\(elapsedMs)")
794 | }
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:930:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
928 | try enc.encode(sp).write(
929 | to: (directory ?? episodeDirectory).appendingPathComponent("sync_point.json"),
930 | options: [.atomic])
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
931 | }
932 |
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 |
[12/55] Compiling SyncField StreamCapabilities.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:352:59: error: cannot find 'DispatchTime' in scope
350 | }
351 |
352 | let boundaryNs = activeClock?.nowMonotonicNs() ?? DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
353 | var reportsById: [String: StreamStopReport] = [:]
354 | var commitError: Error?
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:434:18: error: cannot find 'DispatchTime' in scope
432 | throw SessionError.invalidTransition(from: state, to: .stopping)
433 | }
434 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
435 |
436 | // Give external wireless cameras a head start on waking their BLE
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:460:27: error: cannot find 'DispatchTime' in scope
458 | }
459 | }
460 | let tAfterChirp = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
461 | NSLog("[SDK.stopRecording] chirp+tail done elapsedMs=\((tAfterChirp - t0) / 1_000_000)")
462 | await stopPreparationTask.value
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:479:33: error: cannot find 'DispatchTime' in scope
477 | var firstError: Error?
478 | let stopWallClockMs = UInt64(Date().timeIntervalSince1970 * 1000)
479 | let tBeforeStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
480 | await withTaskGroup(of: (StreamStopReport?, Error?).self) { group in
481 | for s in streams {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:485:30: error: cannot find 'DispatchTime' in scope
483 | let id = s.streamId
484 | group.addTask { [s] in
485 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
486 | let result: (StreamStopReport?, Error?)
487 | do {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:510:38: error: cannot find 'DispatchTime' in scope
508 | }
509 | }
510 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
511 | NSLog("[SDK.stopRecording] stream=\(id) stop elapsedMs=\(elapsedMs)")
512 | return result
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:522:32: error: cannot find 'DispatchTime' in scope
520 | }
521 | }
522 | let tAfterStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
523 | NSLog("[SDK.stopRecording] all streams stopped elapsedMs=\((tAfterStreamStop - tBeforeStreamStop) / 1_000_000)")
524 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:532:25: error: cannot find 'DispatchTime' in scope
530 | // write hand_quality.json. Failures here are non-fatal (a recording
531 | // without quality metadata is still a valid recording).
532 | let tBeforeHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
533 | if let monitor = handQualityMonitor {
534 | let stopNs = activeClock?.nowMonotonicNs() ?? recordingStartMonotonicNs
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:545:24: error: cannot find 'DispatchTime' in scope
543 | try? HandQualitySummaryBuilder.write(summary, to: summaryURL)
544 | }
545 | let tAfterHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
546 | NSLog("[SDK.stopRecording] hand quality finalize elapsedMs=\((tAfterHQ - tBeforeHQ) / 1_000_000)")
547 | // EventWriter is finalized as part of monitor.finalize; drop the reference
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:597:30: error: cannot find 'DispatchTime' in scope
595 | }
596 | group.addTask { [stream, recoverable] in
597 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
598 | do {
599 | let recovered = try await recoverable.recoverUnconfirmedManualStop(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:602:42: error: cannot find 'DispatchTime' in scope
600 | stopWallClockMs: manualStopWallClockMs,
601 | reason: reason)
602 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
603 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) recovered elapsedMs=\(elapsedMs)")
604 | return (StreamStopReport(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:611:42: error: cannot find 'DispatchTime' in scope
609 | incompleteReason: reason), nil)
610 | } catch {
611 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
612 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) failed elapsedMs=\(elapsedMs)")
613 | return (nil, StreamError(streamId: stream.streamId, underlying: error))
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:790:30: error: cannot find 'DispatchTime' in scope
788 | }
789 | group.addTask { [stream, preparable] in
790 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:792:38: error: cannot find 'DispatchTime' in scope
790 | let t0 = DispatchTime.now().uptimeNanoseconds
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
793 | NSLog("[SDK.stopRecording] stream=\(stream.streamId) stop prep elapsedMs=\(elapsedMs)")
794 | }
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:930:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
928 | try enc.encode(sp).write(
929 | to: (directory ?? episodeDirectory).appendingPathComponent("sync_point.json"),
930 | options: [.atomic])
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
931 | }
932 |
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 |
[13/55] Compiling SyncField CameraDeviceConfig.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:352:59: error: cannot find 'DispatchTime' in scope
350 | }
351 |
352 | let boundaryNs = activeClock?.nowMonotonicNs() ?? DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
353 | var reportsById: [String: StreamStopReport] = [:]
354 | var commitError: Error?
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:434:18: error: cannot find 'DispatchTime' in scope
432 | throw SessionError.invalidTransition(from: state, to: .stopping)
433 | }
434 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
435 |
436 | // Give external wireless cameras a head start on waking their BLE
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:460:27: error: cannot find 'DispatchTime' in scope
458 | }
459 | }
460 | let tAfterChirp = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
461 | NSLog("[SDK.stopRecording] chirp+tail done elapsedMs=\((tAfterChirp - t0) / 1_000_000)")
462 | await stopPreparationTask.value
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:479:33: error: cannot find 'DispatchTime' in scope
477 | var firstError: Error?
478 | let stopWallClockMs = UInt64(Date().timeIntervalSince1970 * 1000)
479 | let tBeforeStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
480 | await withTaskGroup(of: (StreamStopReport?, Error?).self) { group in
481 | for s in streams {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:485:30: error: cannot find 'DispatchTime' in scope
483 | let id = s.streamId
484 | group.addTask { [s] in
485 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
486 | let result: (StreamStopReport?, Error?)
487 | do {
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:510:38: error: cannot find 'DispatchTime' in scope
508 | }
509 | }
510 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
511 | NSLog("[SDK.stopRecording] stream=\(id) stop elapsedMs=\(elapsedMs)")
512 | return result
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:522:32: error: cannot find 'DispatchTime' in scope
520 | }
521 | }
522 | let tAfterStreamStop = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
523 | NSLog("[SDK.stopRecording] all streams stopped elapsedMs=\((tAfterStreamStop - tBeforeStreamStop) / 1_000_000)")
524 |
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:532:25: error: cannot find 'DispatchTime' in scope
530 | // write hand_quality.json. Failures here are non-fatal (a recording
531 | // without quality metadata is still a valid recording).
532 | let tBeforeHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
533 | if let monitor = handQualityMonitor {
534 | let stopNs = activeClock?.nowMonotonicNs() ?? recordingStartMonotonicNs
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:545:24: error: cannot find 'DispatchTime' in scope
543 | try? HandQualitySummaryBuilder.write(summary, to: summaryURL)
544 | }
545 | let tAfterHQ = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
546 | NSLog("[SDK.stopRecording] hand quality finalize elapsedMs=\((tAfterHQ - tBeforeHQ) / 1_000_000)")
547 | // EventWriter is finalized as part of monitor.finalize; drop the reference
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:597:30: error: cannot find 'DispatchTime' in scope
595 | }
596 | group.addTask { [stream, recoverable] in
597 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
598 | do {
599 | let recovered = try await recoverable.recoverUnconfirmedManualStop(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:602:42: error: cannot find 'DispatchTime' in scope
600 | stopWallClockMs: manualStopWallClockMs,
601 | reason: reason)
602 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
603 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) recovered elapsedMs=\(elapsedMs)")
604 | return (StreamStopReport(
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:611:42: error: cannot find 'DispatchTime' in scope
609 | incompleteReason: reason), nil)
610 | } catch {
611 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
612 | NSLog("[SDK.manualStopRecovery] stream=\(stream.streamId) failed elapsedMs=\(elapsedMs)")
613 | return (nil, StreamError(streamId: stream.streamId, underlying: error))
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:790:30: error: cannot find 'DispatchTime' in scope
788 | }
789 | group.addTask { [stream, preparable] in
790 | let t0 = DispatchTime.now().uptimeNanoseconds
| `- error: cannot find 'DispatchTime' in scope
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:792:38: error: cannot find 'DispatchTime' in scope
790 | let t0 = DispatchTime.now().uptimeNanoseconds
791 | await preparable.prepareToStopRecording()
792 | let elapsedMs = (DispatchTime.now().uptimeNanoseconds - t0) / 1_000_000
| `- error: cannot find 'DispatchTime' in scope
793 | NSLog("[SDK.stopRecording] stream=\(stream.streamId) stop prep elapsedMs=\(elapsedMs)")
794 | }
/host/spi-builder-workspace/Sources/SyncField/SessionOrchestrator.swift:930:24: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
928 | try enc.encode(sp).write(
929 | to: (directory ?? episodeDirectory).appendingPathComponent("sync_point.json"),
930 | options: [.atomic])
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
931 | }
932 |
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 |
[14/55] Compiling SyncField StereoProbedCalibration.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 |
[15/55] Compiling SyncField Errors.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 |
[16/55] 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 |
[17/55] 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 |
[18/55] 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 |
[19/55] 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 |
[20/55] 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 |
[21/55] Compiling SyncField TactileStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[22/55] Compiling SyncField TactileTypes.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[23/55] Compiling SyncField WristImuStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[24/55] Compiling SyncField iPhoneCameraStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[25/55] Compiling SyncField iPhoneMotionStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[26/55] Compiling SyncField iPhoneRawIMUStreams.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[27/55] Compiling SyncField SyncField.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:123:39: error: value of type 'TactilePeripheralRef' has no member 'identifier'
121 | let m = try await client.connectAndPrepare(ref, expectedSide: side)
122 | let claimed = await TactileRoleRegistry.shared
123 | .tryClaim(ref.identifier.uuidString, side: side)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:125:45: error: value of type 'TactilePeripheralRef' has no member 'identifier'
123 | .tryClaim(ref.identifier.uuidString, side: side)
124 | guard claimed else {
125 | excluded.insert(ref.identifier)
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
126 | client.disconnect()
127 | continue
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:151:42: error: type 'TactileBLEClient' has no member 'Error'
149 | await healthBus?.publish(.streamConnected(streamId: streamId))
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
| `- error: type 'TactileBLEClient' has no member 'Error'
152 | excluded.insert(ref.identifier) // definitively the other side
153 | client.disconnect()
/host/spi-builder-workspace/Sources/SyncField/Streams/Tactile/TactileStream.swift:152:41: error: value of type 'TactilePeripheralRef' has no member 'identifier'
150 | return // success; auto-reconnect handles future drops
151 | } catch TactileBLEClient.Error.wrongSide {
152 | excluded.insert(ref.identifier) // definitively the other side
| `- error: value of type 'TactilePeripheralRef' has no member 'identifier'
153 | client.disconnect()
154 | } catch {
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:250:14: error: value of type 'iPhoneCameraStream' has no member 'healthBus'
248 |
249 | public func connect(context: StreamConnectContext) async throws {
250 | self.healthBus = context.healthBus
| `- error: value of type 'iPhoneCameraStream' has no member 'healthBus'
251 | #if canImport(AVFoundation)
252 | try configureSession()
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:15: error: cannot find 'healthBus' in scope
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot find 'healthBus' in scope
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:255:35: error: cannot infer contextual base in reference to member 'streamConnected'
253 | captureSession.startRunning()
254 | #endif
255 | await healthBus?.publish(.streamConnected(streamId: streamId))
| `- error: cannot infer contextual base in reference to member 'streamConnected'
256 | }
257 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:756:40: error: cannot find 'frameCount' in scope
754 | StreamIngestReport(streamId: streamId,
755 | filePath: "\(streamId).mp4",
756 | frameCount: frameCount)
| `- error: cannot find 'frameCount' in scope
757 | }
758 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:15: error: cannot find 'healthBus' in scope
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot find 'healthBus' in scope
773 | }
774 |
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneCameraStream.swift:772:35: error: cannot infer contextual base in reference to member 'streamDisconnected'
770 | selectedVideoDevice = nil
771 | #endif
772 | await healthBus?.publish(.streamDisconnected(streamId: streamId, reason: "normal"))
| `- error: cannot infer contextual base in reference to member 'streamDisconnected'
773 | }
774 |
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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
[28/61] Emitting module SyncField
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/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/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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 let rotatingWriter = RotatingSensorWriter(label: "syncfield.device-motion.writer")
/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:21:26: error: cannot find type 'OperationQueue' in scope
19 | private let rateHz: Double
20 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-accel.writer")
21 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
22 | private var frameCount = 0
23 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:121:26: error: cannot find type 'OperationQueue' in scope
119 | private let rateHz: Double
120 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-gyro.writer")
121 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
122 | private var frameCount = 0
123 | private var healthBus: HealthBus?
/host/spi-builder-workspace/Sources/SyncField/Streams/iPhoneRawIMUStreams.swift:221:26: error: cannot find type 'OperationQueue' in scope
219 | private let rateHz: Double
220 | private let rotatingWriter = RotatingSensorWriter(label: "syncfield.raw-mag.writer")
221 | private var opQueue: OperationQueue?
| `- error: cannot find type 'OperationQueue' in scope
222 | private var frameCount = 0
223 | 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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
[29/61] Compiling SyncField AVAudioEngineChirpPlayer.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[30/61] Compiling SyncField AudioReattachableStream.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[31/61] Compiling SyncField AudioSessionInterruptionHandler.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[32/61] Compiling SyncField AudioSessionPolicy.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[33/61] Compiling SyncField ChirpPlayer.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[34/61] Compiling SyncField ChirpSynthesis.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[35/61] Compiling SyncField ChirpTypes.swift
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:20:25: error: cannot find 'DispatchQueue' in scope
18 | /// can do `await` work without blocking the notification dispatch.
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
| `- error: cannot find 'DispatchQueue' in scope
21 | qos: .userInitiated)
22 | private var token: NSObjectProtocol?
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:21:46: error: cannot infer contextual base in reference to member 'userInitiated'
19 | public final class AudioSessionInterruptionHandler: @unchecked Sendable {
20 | private let queue = DispatchQueue(label: "syncfield.audio.interruption",
21 | qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
22 | private var token: NSObjectProtocol?
23 | private let onRecover: @Sendable () async -> Void
/host/spi-builder-workspace/Sources/SyncField/Audio/AudioSessionInterruptionHandler.swift:45:28: error: cannot find 'NotificationCenter' in scope
43 |
44 | public func stop() {
45 | if let t = token { NotificationCenter.default.removeObserver(t) }
| `- error: cannot find 'NotificationCenter' in scope
46 | token = nil
47 | }
/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 |
[36/61] Compiling SyncField CountdownSpec.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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 |
[37/61] Compiling SyncField CountdownTickPlayer.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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 |
[38/61] Compiling SyncField CalibrationScaling.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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/61] Compiling SyncField CameraCalibrationProber.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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/61] Compiling SyncField PhotoCalibrationProbeExecutor.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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/61] Compiling SyncField ProbedCameraCalibration.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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 |
[42/61] Compiling SyncField StereoExtrinsicsMath.swift
/host/spi-builder-workspace/Sources/SyncField/Calibration/CameraCalibrationProber.swift:59:58: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
57 | try? ensureCacheDirectoryExists()
58 | if let encoded = try? JSONEncoder().encode(probed) {
59 | try? encoded.write(to: cacheURL(), options: .atomic)
| `- error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
60 | }
61 |
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 |
[43/61] Compiling SyncField CameraTimestamps.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[44/61] Compiling SyncField FrameProcessorGate.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[45/61] Compiling SyncField MultiCamCameraStream.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[46/61] Compiling SyncField TactileAcquireFailure.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[47/61] Compiling SyncField TactileBLEClient.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[48/61] Compiling SyncField TactilePacketParser.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[49/61] Compiling SyncField TactileRoleRegistry.swift
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:17:24: error: cannot find type 'DispatchQueue' in scope
15 | /// required on their side.
16 | final class FrameProcessorGate: @unchecked Sendable {
17 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
18 | private let lock = NSLock()
19 | private var busy = false
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:21:30: error: cannot find type 'DispatchQoS' in scope
19 | private var busy = false
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
22 | self.queue = DispatchQueue(label: label, qos: qos)
23 | }
/host/spi-builder-workspace/Sources/SyncField/Streams/FrameProcessorGate.swift:22:22: error: cannot find 'DispatchQueue' in scope
20 |
21 | init(label: String, qos: DispatchQoS = .userInitiated) {
22 | self.queue = DispatchQueue(label: label, qos: qos)
| `- error: cannot find 'DispatchQueue' in scope
23 | }
24 |
[50/61] Compiling SyncField SyncFieldStream.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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[51/61] Compiling SyncField SyncPoint.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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[52/61] 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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[53/61] 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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[54/61] Compiling SyncField RotatingSensorWriter.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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[55/61] 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:75:60: error: 'atomic' is unavailable: atomic writing is unavailable in WASI because temporary files are not supported
73 | let enc = JSONEncoder()
74 | enc.outputFormatting = [.prettyPrinted, .sortedKeys]
75 | 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
76 | }
77 | }
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 | }
[56/61] Compiling SyncField SensorWriterPump.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
[57/61] Compiling SyncField SessionLogWriter.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
[58/61] Compiling SyncField StreamWriter.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
[59/61] Compiling SyncField StreamWriterPump.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
[60/61] Compiling SyncField WriterFactory.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
[61/61] Compiling SyncField resource_bundle_accessor.swift
/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(
/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 | }
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:7:24: error: cannot find type 'DispatchQueue' in scope
5 | /// writer swap is durable before the old StreamWriter is closed.
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
8 | private let group = DispatchGroup()
9 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:8:25: error: cannot find 'DispatchGroup' in scope
6 | final class StreamWriterPump {
7 | private let queue: DispatchQueue
8 | private let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
9 |
10 | init(label: String) {
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:17: error: cannot find 'DispatchQueue' in scope
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot find 'DispatchQueue' in scope
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:11:51: error: cannot infer contextual base in reference to member 'userInitiated'
9 |
10 | init(label: String) {
11 | queue = DispatchQueue(label: label, qos: .userInitiated)
| `- error: cannot infer contextual base in reference to member 'userInitiated'
12 | }
13 |
/host/spi-builder-workspace/Sources/SyncField/Writers/StreamWriterPump.swift:22:29: error: cannot find 'DispatchSemaphore' in scope
20 | group.enter()
21 | queue.async {
22 | let semaphore = DispatchSemaphore(value: 0)
| `- error: cannot find 'DispatchSemaphore' in scope
23 | Task { [writer] in
24 | try? await writer.append(
BUILD FAILURE 6.2 wasm