Build Information
Failed to build Monstra, reference v0.1.0 (44efbc
), with Swift 6.1 for Wasm on 7 Sep 2025 23:23:04 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.67.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/yangchenlarkin/Monstra.git
Reference: v0.1.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/yangchenlarkin/Monstra
* tag v0.1.0 -> FETCH_HEAD
HEAD is now at 44efbcc Release v0.1.0: Update version numbers and changelog
Cloned https://github.com/yangchenlarkin/Monstra.git
Revision (git rev-parse @):
44efbccb666635430d416dfcc2b810231e31a807
SUCCESS checkout https://github.com/yangchenlarkin/Monstra.git at v0.1.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/yangchenlarkin/Monstra.git
https://github.com/yangchenlarkin/Monstra.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Monstra",
"name" : "Monstra",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "Monstra",
"targets" : [
"Monstra"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MonstraBaseTests",
"module_type" : "SwiftTarget",
"name" : "MonstraBaseTests",
"path" : "Tests/MonstraBaseTests",
"sources" : [
"CPUTimeStampPerformanceTests.swift",
"CPUTimeStampTests.swift",
"DoublyLinkTests.swift",
"HashQueueTests.swift",
"HeapPerformanceTests.swift",
"HeapTests.swift",
"RetryCountTests.swift",
"TracingIDFactoryTest.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
},
{
"c99name" : "Monstra",
"module_type" : "SwiftTarget",
"name" : "Monstra",
"path" : "Sources",
"product_memberships" : [
"Monstra"
],
"sources" : [
"Monstask/KVHeavyTasksManager.swift",
"Monstask/KVLightTasksManager.swift",
"Monstask/MonoTask.swift",
"Monstore/MemoryCache/MemoryCache.swift",
"Monstore/MemoryCache/PriorityLRUQueue.swift",
"Monstore/MemoryCache/TTLPriorityLRUQueue.swift",
"Monstore/Statistics/CacheStatistics.swift",
"MonstraBase/CPUTimeStamp.swift",
"MonstraBase/DoublyLink.swift",
"MonstraBase/HashQueue.swift",
"MonstraBase/Heap.swift",
"MonstraBase/RetryCount.swift",
"MonstraBase/TracingIDFactory.swift"
],
"type" : "library"
},
{
"c99name" : "MonstoreTests",
"module_type" : "SwiftTarget",
"name" : "MonstoreTests",
"path" : "Tests/MonstoreTests",
"sources" : [
"MemoryCache/FeatureTest/MemoryCacheTests.swift",
"MemoryCache/FeatureTest/PriorityLRUQueueTests.swift",
"MemoryCache/FeatureTest/TTLPriorityLRUQueueTests.swift",
"MemoryCache/PerformanceTest/MemoryCachePerformanceTests.swift",
"MemoryCache/PerformanceTest/PriorityLRUQueuePerformanceTests.swift",
"MemoryCache/PerformanceTest/TTLPriorityLRUQueuePerformanceTests.swift",
"Statistics/CacheStatisticsTests.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
},
{
"c99name" : "MonstaskTests",
"module_type" : "SwiftTarget",
"name" : "MonstaskTests",
"path" : "Tests/MonstaskTests",
"sources" : [
"KVHeavyTasksManagerTests.swift",
"KVLightTasksManagerTests.swift",
"MonoTaskClearResultTests.swift",
"MonoTaskCrossScenarioTests.swift",
"MonoTaskForceUpdateTests.swift",
"MonoTaskTests.swift"
],
"target_dependencies" : [
"Monstra"
],
"type" : "test"
}
],
"tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:eb0758f51dbd6991fb9e51dedbfbcbec142ffc0d3b9b8ad91fa19d35e5136f0a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/README.md
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/15] Compiling Monstra Heap.swift
[4/16] Compiling Monstra RetryCount.swift
[5/16] Compiling Monstra TracingIDFactory.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:280:9: error: cannot find 'os_unfair_lock_lock' in scope
278 | private mutating func _safe_next() -> Int64 {
279 | // Acquire exclusive access to mutable state
280 | os_unfair_lock_lock(&lock)
| `- error: cannot find 'os_unfair_lock_lock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:283:13: error: cannot find 'os_unfair_lock_unlock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
283 | os_unfair_lock_unlock(&self.lock)
| `- error: cannot find 'os_unfair_lock_unlock' in scope
284 | }
285 |
[6/16] Compiling Monstra KVHeavyTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:753:13: error: cannot find 'DispatchQueue' in scope
751 | case let .hitNonNullElement(element):
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
754 | resultCallback?(.success(element))
755 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:760:13: error: cannot find 'DispatchQueue' in scope
758 | case .hitNullElement, .invalidKey:
759 | // Key rejected by cache validation - return nil immediately (invalid request)
760 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
761 | resultCallback?(.success(nil))
762 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1011:17: error: cannot find 'DispatchQueue' in scope
1009 | dataProviders[key] = DataProvider(key: key, customEventPublisher: { [weak self] customEvent in
1010 | // Handle custom events (progress updates, status changes, etc.)
1011 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1012 | guard let taskManager = self else { return }
1013 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1018:25: error: cannot find 'DispatchQueue' in scope
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1019 | observer(customEvent)
1020 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1025:17: error: cannot find 'DispatchQueue' in scope
1023 | }, resultPublisher: { [weak self] result in
1024 | // Handle final task result (success or failure)
1025 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1026 | guard let taskManager = self else { return }
1027 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1118:13: error: cannot find 'DispatchQueue' in scope
1116 | // Deliver result to all registered callbacks asynchronously
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1119 | callback(result)
1120 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:235:56: error: cannot infer contextual base in reference to member 'global'
233 | /// - completion: Callback that receives the result for the key
234 | func fetch(key: K, completion: @escaping ResultCallback) {
235 | fetchWithCallback(keys: [key], dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
236 | }
237 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:253:55: error: cannot infer contextual base in reference to member 'global'
251 | /// - completion: Callback that receives results for each key (called once per key)
252 | func fetch(keys: [K], completion: @escaping ResultCallback) {
253 | fetchWithCallback(keys: keys, dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
254 | }
255 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:280:32: error: cannot find 'DispatchSemaphore' in scope
278 |
279 | var results = [K: Result<Element?, Error>]()
280 | let resultsSemaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
281 | let keysCount = Set<K>(keys).count
282 | fetchWithCallback(keys: keys) { key, result in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:289:17: error: cannot find 'DispatchQueue' in scope
287 | // Capture results dictionary safely to prevent memory corruption
288 | let capturedResults = results
289 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:423:46: error: cannot find 'DispatchQueue' in scope
421 | semaphore.wait()
422 | defer { semaphore.signal() }
423 | let dispatchQueue = dispatchQueue ?? DispatchQueue.global()
| `- error: cannot find 'DispatchQueue' in scope
424 | var remoteKeys = [K]()
425 | for key in keys {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:444:13: error: cannot find 'DispatchQueue' in scope
442 |
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
445 | guard let self else { return }
446 | self.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:549:9: error: cannot find 'DispatchQueue' in scope
547 | }
548 |
549 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
550 | guard let self else { return }
551 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:553:17: error: cannot find 'DispatchQueue' in scope
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
554 | guard let self else { return }
555 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:591:9: error: cannot find 'DispatchQueue' in scope
589 | }
590 |
591 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:594:17: error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
595 | guard let self else { return }
596 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:42: error: cannot find 'DispatchQueue' in scope
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- error: cannot find 'DispatchQueue' in scope
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:620:21: error: cannot find 'Thread' in scope
618 | let retryCount = retryCount ?? self.config.retryCount
619 | if retryCount.shouldRetry {
620 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
621 | self._executeMonoprovide(
622 | key: key,
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:655:21: error: cannot find 'Thread' in scope
653 | let retryCount = retryCount ?? self.config.retryCount
654 | if retryCount.shouldRetry {
655 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
656 | self._executeMultiprovide(
657 | keys: keys,
[7/16] Compiling Monstra KVLightTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:753:13: error: cannot find 'DispatchQueue' in scope
751 | case let .hitNonNullElement(element):
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
754 | resultCallback?(.success(element))
755 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:760:13: error: cannot find 'DispatchQueue' in scope
758 | case .hitNullElement, .invalidKey:
759 | // Key rejected by cache validation - return nil immediately (invalid request)
760 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
761 | resultCallback?(.success(nil))
762 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1011:17: error: cannot find 'DispatchQueue' in scope
1009 | dataProviders[key] = DataProvider(key: key, customEventPublisher: { [weak self] customEvent in
1010 | // Handle custom events (progress updates, status changes, etc.)
1011 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1012 | guard let taskManager = self else { return }
1013 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1018:25: error: cannot find 'DispatchQueue' in scope
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1019 | observer(customEvent)
1020 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1025:17: error: cannot find 'DispatchQueue' in scope
1023 | }, resultPublisher: { [weak self] result in
1024 | // Handle final task result (success or failure)
1025 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1026 | guard let taskManager = self else { return }
1027 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1118:13: error: cannot find 'DispatchQueue' in scope
1116 | // Deliver result to all registered callbacks asynchronously
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1119 | callback(result)
1120 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:235:56: error: cannot infer contextual base in reference to member 'global'
233 | /// - completion: Callback that receives the result for the key
234 | func fetch(key: K, completion: @escaping ResultCallback) {
235 | fetchWithCallback(keys: [key], dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
236 | }
237 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:253:55: error: cannot infer contextual base in reference to member 'global'
251 | /// - completion: Callback that receives results for each key (called once per key)
252 | func fetch(keys: [K], completion: @escaping ResultCallback) {
253 | fetchWithCallback(keys: keys, dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
254 | }
255 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:280:32: error: cannot find 'DispatchSemaphore' in scope
278 |
279 | var results = [K: Result<Element?, Error>]()
280 | let resultsSemaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
281 | let keysCount = Set<K>(keys).count
282 | fetchWithCallback(keys: keys) { key, result in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:289:17: error: cannot find 'DispatchQueue' in scope
287 | // Capture results dictionary safely to prevent memory corruption
288 | let capturedResults = results
289 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:423:46: error: cannot find 'DispatchQueue' in scope
421 | semaphore.wait()
422 | defer { semaphore.signal() }
423 | let dispatchQueue = dispatchQueue ?? DispatchQueue.global()
| `- error: cannot find 'DispatchQueue' in scope
424 | var remoteKeys = [K]()
425 | for key in keys {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:444:13: error: cannot find 'DispatchQueue' in scope
442 |
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
445 | guard let self else { return }
446 | self.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:549:9: error: cannot find 'DispatchQueue' in scope
547 | }
548 |
549 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
550 | guard let self else { return }
551 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:553:17: error: cannot find 'DispatchQueue' in scope
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
554 | guard let self else { return }
555 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:591:9: error: cannot find 'DispatchQueue' in scope
589 | }
590 |
591 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:594:17: error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
595 | guard let self else { return }
596 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:42: error: cannot find 'DispatchQueue' in scope
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- error: cannot find 'DispatchQueue' in scope
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:620:21: error: cannot find 'Thread' in scope
618 | let retryCount = retryCount ?? self.config.retryCount
619 | if retryCount.shouldRetry {
620 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
621 | self._executeMonoprovide(
622 | key: key,
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:655:21: error: cannot find 'Thread' in scope
653 | let retryCount = retryCount ?? self.config.retryCount
654 | if retryCount.shouldRetry {
655 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
656 | self._executeMultiprovide(
657 | keys: keys,
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/16] Emitting module Monstra
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:650:14: warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
542 | /// - **Provider lifecycle**: Balance setup cost vs memory usage with reuse/dealloc decisions
543 | public class KVHeavyTasksManager<
544 | K,
| `- note: consider making generic parameter 'K' conform to the 'Sendable' protocol
545 | Element,
546 | CustomEvent,
:
648 | /// A task could not be enqueued due to priority/queue constraints.
649 | /// - Parameter key: The key of the task that was evicted.
650 | case taskEvictedDueToPriorityConstraints(K)
| `- warning: associated value 'taskEvictedDueToPriorityConstraints' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'K'; this is an error in the Swift 6 language mode
651 | }
652 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
[9/16] Compiling Monstra PriorityLRUQueue.swift
[10/16] Compiling Monstra TTLPriorityLRUQueue.swift
[11/16] Compiling Monstra MonoTask.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
[12/16] Compiling Monstra MemoryCache.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
[13/16] Compiling Monstra DoublyLink.swift
[14/16] Compiling Monstra HashQueue.swift
[15/16] Compiling Monstra CacheStatistics.swift
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[16/16] Compiling Monstra CPUTimeStamp.swift
/host/spi-builder-workspace/Sources/Monstore/Statistics/CacheStatistics.swift:22:29: warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | /// - Thread-safety: This type is not synchronized; coordinate access externally if needed.
21 | public struct CacheStatistics {
22 | private(set) static var tracingIDFactory = TracingIDFactory()
| |- warning: static property 'tracingIDFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'tracingIDFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'tracingIDFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | private(set) var tracingID = tracingIDFactory.unsafeNextUInt64()
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:35:23: warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
11 | /// - Thread-safe and value-semantic; creation is fast
12 | /// - `infinity` and `zero` helpers simplify sentinel usage
13 | public struct CPUTimeStamp {
| `- note: consider making struct 'CPUTimeStamp' conform to the 'Sendable' protocol
14 | /// The timestamp value in seconds since CPU start.
15 | private let timestampSeconds: TimeInterval
:
33 |
34 | /// A timestamp representing positive infinity (never expires).
35 | public static let infinity: Self = .init(timeInterval: .infinity)
| |- warning: static property 'infinity' is not concurrency-safe because non-'Sendable' type 'CPUTimeStamp' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'infinity' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
36 |
37 | /// Creates a timestamp representing the current moment.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:41:23: warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
39 |
40 | /// A timestamp representing zero time (epoch).
41 | public static var zero: Self = .init(timeInterval: 0.0)
| |- warning: static property 'zero' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'zero' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 |
43 | /// Initialize with current CPU time.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:eb0758f51dbd6991fb9e51dedbfbcbec142ffc0d3b9b8ad91fa19d35e5136f0a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/README.md
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/14] Compiling Monstra RetryCount.swift
[3/15] Compiling Monstra Heap.swift
[4/15] Compiling Monstra DoublyLink.swift
[5/15] Compiling Monstra HashQueue.swift
[6/15] Compiling Monstra TracingIDFactory.swift
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:280:9: error: cannot find 'os_unfair_lock_lock' in scope
278 | private mutating func _safe_next() -> Int64 {
279 | // Acquire exclusive access to mutable state
280 | os_unfair_lock_lock(&lock)
| `- error: cannot find 'os_unfair_lock_lock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:283:13: error: cannot find 'os_unfair_lock_unlock' in scope
281 | defer {
282 | // Ensure lock is always released, even if _unsafe_next() throws or returns early
283 | os_unfair_lock_unlock(&self.lock)
| `- error: cannot find 'os_unfair_lock_unlock' in scope
284 | }
285 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/15] Compiling Monstra PriorityLRUQueue.swift
[8/15] Compiling Monstra TTLPriorityLRUQueue.swift
[9/15] Emitting module Monstra
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/TracingIDFactory.swift:223:24: error: cannot find 'os_unfair_lock' in scope
221 | /// Uses `os_unfair_lock` for minimal overhead while providing mutual exclusion.
222 | /// This lock protects the `sequentialCounter` during increment and ID calculation.
223 | private var lock = os_unfair_lock()
| `- error: cannot find 'os_unfair_lock' in scope
224 |
225 | /// Core ID generation logic without thread safety (maximum performance).
[10/15] Compiling Monstra MonoTask.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
[11/15] Compiling Monstra MemoryCache.swift
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:83:28: error: cannot find type 'DispatchQueue' in scope
81 |
82 | /// Queue where the actual task execution happens (can be background for expensive operations)
83 | private let taskQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:86:32: error: cannot find type 'DispatchQueue' in scope
84 |
85 | /// Queue where callbacks are invoked (can be main queue for UI updates)
86 | private let callbackQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
87 |
88 | // MARK: - Result Caching State
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:94:29: error: cannot find 'DispatchSemaphore' in scope
92 |
93 | /// Semaphore protecting result and expiration state (semaphore)
94 | private var semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
95 |
96 | // MARK: - Execution Tracking
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:123:20: error: cannot find type 'DispatchQueue' in scope
121 | retry: RetryCount,
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
124 | callbackQueue: DispatchQueue,
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:124:24: error: cannot find type 'DispatchQueue' in scope
122 | resultExpireDuration: TimeInterval,
123 | taskQueue: DispatchQueue,
124 | callbackQueue: DispatchQueue,
| `- error: cannot find type 'DispatchQueue' in scope
125 | executeBlock: @escaping (@escaping ResultCallback) -> Void
126 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:352:20: error: cannot find type 'DispatchQueue' in scope
350 | retry: RetryCount = .never,
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
354 | task: @escaping CallbackExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:353:24: error: cannot find type 'DispatchQueue' in scope
351 | resultExpireDuration: TimeInterval,
352 | taskQueue: DispatchQueue = DispatchQueue.global(),
353 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
354 | task: @escaping CallbackExecution
355 | ) {
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:393:20: error: cannot find type 'DispatchQueue' in scope
391 | retry: RetryCount = .never,
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
395 | task: @escaping AsyncExecution
/host/spi-builder-workspace/Sources/Monstask/MonoTask.swift:394:24: error: cannot find type 'DispatchQueue' in scope
392 | resultExpireDuration: TimeInterval,
393 | taskQueue: DispatchQueue = DispatchQueue.global(),
394 | callbackQueue: DispatchQueue = DispatchQueue.global(),
| `- error: cannot find type 'DispatchQueue' in scope
395 | task: @escaping AsyncExecution
396 | ) {
/host/spi-builder-workspace/Sources/Monstore/MemoryCache/MemoryCache.swift:197:29: error: cannot find 'DispatchSemaphore' in scope
195 |
196 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
197 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
198 |
199 | /// The configuration for this cache instance.
[12/15] Compiling Monstra CacheStatistics.swift
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[13/15] Compiling Monstra CPUTimeStamp.swift
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:18:38: error: cannot find type 'mach_timebase_info_data_t' in scope
16 |
17 | /// Mach timebase info for converting between different time units. Cached for performance.
18 | private static let timebaseInfo: mach_timebase_info_data_t = {
| `- error: cannot find type 'mach_timebase_info_data_t' in scope
19 | var info = mach_timebase_info_data_t()
20 | mach_timebase_info(&info)
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:45:29: error: cannot find 'mach_absolute_time' in scope
43 | /// Initialize with current CPU time.
44 | public init() {
45 | self.init(rawTicks: mach_absolute_time())
| `- error: cannot find 'mach_absolute_time' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/MonstraBase/CPUTimeStamp.swift:100:51: error: cannot find 'NSEC_PER_SEC' in scope
98 | static func convertTicksToSeconds(_ ticks: UInt64) -> TimeInterval {
99 | let nanos = (ticks / UInt64(Self.timebaseInfo.denom)) * UInt64(Self.timebaseInfo.numer)
100 | return TimeInterval(nanos) / TimeInterval(NSEC_PER_SEC)
| `- error: cannot find 'NSEC_PER_SEC' in scope
101 | }
102 | }
[14/15] Compiling Monstra KVHeavyTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:753:13: error: cannot find 'DispatchQueue' in scope
751 | case let .hitNonNullElement(element):
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
754 | resultCallback?(.success(element))
755 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:760:13: error: cannot find 'DispatchQueue' in scope
758 | case .hitNullElement, .invalidKey:
759 | // Key rejected by cache validation - return nil immediately (invalid request)
760 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
761 | resultCallback?(.success(nil))
762 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1011:17: error: cannot find 'DispatchQueue' in scope
1009 | dataProviders[key] = DataProvider(key: key, customEventPublisher: { [weak self] customEvent in
1010 | // Handle custom events (progress updates, status changes, etc.)
1011 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1012 | guard let taskManager = self else { return }
1013 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1018:25: error: cannot find 'DispatchQueue' in scope
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1019 | observer(customEvent)
1020 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1025:17: error: cannot find 'DispatchQueue' in scope
1023 | }, resultPublisher: { [weak self] result in
1024 | // Handle final task result (success or failure)
1025 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1026 | guard let taskManager = self else { return }
1027 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1118:13: error: cannot find 'DispatchQueue' in scope
1116 | // Deliver result to all registered callbacks asynchronously
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1119 | callback(result)
1120 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:235:56: error: cannot infer contextual base in reference to member 'global'
233 | /// - completion: Callback that receives the result for the key
234 | func fetch(key: K, completion: @escaping ResultCallback) {
235 | fetchWithCallback(keys: [key], dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
236 | }
237 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:253:55: error: cannot infer contextual base in reference to member 'global'
251 | /// - completion: Callback that receives results for each key (called once per key)
252 | func fetch(keys: [K], completion: @escaping ResultCallback) {
253 | fetchWithCallback(keys: keys, dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
254 | }
255 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:280:32: error: cannot find 'DispatchSemaphore' in scope
278 |
279 | var results = [K: Result<Element?, Error>]()
280 | let resultsSemaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
281 | let keysCount = Set<K>(keys).count
282 | fetchWithCallback(keys: keys) { key, result in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:289:17: error: cannot find 'DispatchQueue' in scope
287 | // Capture results dictionary safely to prevent memory corruption
288 | let capturedResults = results
289 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:423:46: error: cannot find 'DispatchQueue' in scope
421 | semaphore.wait()
422 | defer { semaphore.signal() }
423 | let dispatchQueue = dispatchQueue ?? DispatchQueue.global()
| `- error: cannot find 'DispatchQueue' in scope
424 | var remoteKeys = [K]()
425 | for key in keys {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:444:13: error: cannot find 'DispatchQueue' in scope
442 |
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
445 | guard let self else { return }
446 | self.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:549:9: error: cannot find 'DispatchQueue' in scope
547 | }
548 |
549 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
550 | guard let self else { return }
551 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:553:17: error: cannot find 'DispatchQueue' in scope
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
554 | guard let self else { return }
555 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:591:9: error: cannot find 'DispatchQueue' in scope
589 | }
590 |
591 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:594:17: error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
595 | guard let self else { return }
596 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:42: error: cannot find 'DispatchQueue' in scope
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- error: cannot find 'DispatchQueue' in scope
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:620:21: error: cannot find 'Thread' in scope
618 | let retryCount = retryCount ?? self.config.retryCount
619 | if retryCount.shouldRetry {
620 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
621 | self._executeMonoprovide(
622 | key: key,
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:655:21: error: cannot find 'Thread' in scope
653 | let retryCount = retryCount ?? self.config.retryCount
654 | if retryCount.shouldRetry {
655 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
656 | self._executeMultiprovide(
657 | keys: keys,
[15/15] Compiling Monstra KVLightTasksManager.swift
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:633:28: error: cannot find type 'DispatchSemaphore' in scope
631 | /// The semaphore is used with minimal scope to ensure high concurrency while maintaining
632 | /// data integrity and preventing race conditions.
633 | private var semaphore: DispatchSemaphore = .init(value: 1)
| `- error: cannot find type 'DispatchSemaphore' in scope
634 | }
635 |
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:753:13: error: cannot find 'DispatchQueue' in scope
751 | case let .hitNonNullElement(element):
752 | // Cache hit with valid result - return immediately without task execution
753 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
754 | resultCallback?(.success(element))
755 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:760:13: error: cannot find 'DispatchQueue' in scope
758 | case .hitNullElement, .invalidKey:
759 | // Key rejected by cache validation - return nil immediately (invalid request)
760 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
761 | resultCallback?(.success(nil))
762 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1011:17: error: cannot find 'DispatchQueue' in scope
1009 | dataProviders[key] = DataProvider(key: key, customEventPublisher: { [weak self] customEvent in
1010 | // Handle custom events (progress updates, status changes, etc.)
1011 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1012 | guard let taskManager = self else { return }
1013 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1018:25: error: cannot find 'DispatchQueue' in scope
1016 | // Broadcast event to all registered observers for this key
1017 | taskManager.customEventObservers[key]?.forEach { observer in
1018 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1019 | observer(customEvent)
1020 | }
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1025:17: error: cannot find 'DispatchQueue' in scope
1023 | }, resultPublisher: { [weak self] result in
1024 | // Handle final task result (success or failure)
1025 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
1026 | guard let taskManager = self else { return }
1027 | taskManager.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVHeavyTasksManager.swift:1118:13: error: cannot find 'DispatchQueue' in scope
1116 | // Deliver result to all registered callbacks asynchronously
1117 | resultCallbacks[key]?.forEach { callback in
1118 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
1119 | callback(result)
1120 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:400:29: error: cannot find 'DispatchSemaphore' in scope
398 |
399 | /// DispatchSemaphore for thread synchronization (used when enableThreadSynchronization=true)
400 | private let semaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
401 |
402 | /// Internal method that handles the core fetching logic with cache integration.
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:418:24: error: cannot find type 'DispatchQueue' in scope
416 | private func fetchWithCallback(
417 | keys: [K],
418 | dispatchQueue: DispatchQueue? = nil,
| `- error: cannot find type 'DispatchQueue' in scope
419 | completion: @escaping ResultCallback
420 | ) {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:466:58: error: cannot find type 'DispatchQueue' in scope
464 | }
465 |
466 | private func consumeCallbacks(key: K, dispatchQueue: DispatchQueue, result: Result<Element?, Error>) {
| `- error: cannot find type 'DispatchQueue' in scope
467 | resultCallbacks[key]?.forEach { callback in
468 | dispatchQueue.async { callback(key, result) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:235:56: error: cannot infer contextual base in reference to member 'global'
233 | /// - completion: Callback that receives the result for the key
234 | func fetch(key: K, completion: @escaping ResultCallback) {
235 | fetchWithCallback(keys: [key], dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
236 | }
237 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:253:55: error: cannot infer contextual base in reference to member 'global'
251 | /// - completion: Callback that receives results for each key (called once per key)
252 | func fetch(keys: [K], completion: @escaping ResultCallback) {
253 | fetchWithCallback(keys: keys, dispatchQueue: .global(), completion: completion)
| `- error: cannot infer contextual base in reference to member 'global'
254 | }
255 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:280:32: error: cannot find 'DispatchSemaphore' in scope
278 |
279 | var results = [K: Result<Element?, Error>]()
280 | let resultsSemaphore = DispatchSemaphore(value: 1)
| `- error: cannot find 'DispatchSemaphore' in scope
281 | let keysCount = Set<K>(keys).count
282 | fetchWithCallback(keys: keys) { key, result in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:289:17: error: cannot find 'DispatchQueue' in scope
287 | // Capture results dictionary safely to prevent memory corruption
288 | let capturedResults = results
289 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
290 | multiCallback(
291 | keys.map { ($0, capturedResults[$0] ?? .success(nil)) }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:423:46: error: cannot find 'DispatchQueue' in scope
421 | semaphore.wait()
422 | defer { semaphore.signal() }
423 | let dispatchQueue = dispatchQueue ?? DispatchQueue.global()
| `- error: cannot find 'DispatchQueue' in scope
424 | var remoteKeys = [K]()
425 | for key in keys {
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:444:13: error: cannot find 'DispatchQueue' in scope
442 |
443 | startTaskExecution(keys: _remoteKeys) { [weak self] key, res in
444 | DispatchQueue.global().async {
| `- error: cannot find 'DispatchQueue' in scope
445 | guard let self else { return }
446 | self.semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:549:9: error: cannot find 'DispatchQueue' in scope
547 | }
548 |
549 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
550 | guard let self else { return }
551 |
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:553:17: error: cannot find 'DispatchQueue' in scope
551 |
552 | _executeMonoprovide(key: key, provide: provide) { [weak self] key, res in
553 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
554 | guard let self else { return }
555 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:591:9: error: cannot find 'DispatchQueue' in scope
589 | }
590 |
591 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:594:17: error: cannot find 'DispatchQueue' in scope
592 | guard let self else { return }
593 | _executeMultiprovide(keys: keys, provide: provide) { [weak self] res in
594 | DispatchQueue.global().async { [weak self] in
| `- error: cannot find 'DispatchQueue' in scope
595 | guard let self else { return }
596 | semaphore.wait()
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:599:42: error: cannot find 'DispatchQueue' in scope
597 | defer { semaphore.signal() }
598 | _startOneMultiprovideThread(batchCount: batchCount, provide: provide, callback: callback)
599 | res.forEach { res in DispatchQueue.global().async { callback(res.0, res.1) } }
| `- error: cannot find 'DispatchQueue' in scope
600 | }
601 | }
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:620:21: error: cannot find 'Thread' in scope
618 | let retryCount = retryCount ?? self.config.retryCount
619 | if retryCount.shouldRetry {
620 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
621 | self._executeMonoprovide(
622 | key: key,
/host/spi-builder-workspace/Sources/Monstask/KVLightTasksManager.swift:655:21: error: cannot find 'Thread' in scope
653 | let retryCount = retryCount ?? self.config.retryCount
654 | if retryCount.shouldRetry {
655 | Thread.sleep(forTimeInterval: retryCount.timeInterval)
| `- error: cannot find 'Thread' in scope
656 | self._executeMultiprovide(
657 | keys: keys,
BUILD FAILURE 6.1 wasm