diff --git a/体己/AI/ModelStore.swift b/体己/AI/ModelStore.swift index e9167a5..06ce918 100644 --- a/体己/AI/ModelStore.swift +++ b/体己/AI/ModelStore.swift @@ -19,7 +19,9 @@ enum ModelKind: String, CaseIterable { var sentinelFilename: String { "config.json" } } -final class ModelStore { +/// `@unchecked Sendable`:rootURL 是 let,方法只读 filesystem(线程安全), +/// 可被任意 actor / Task 跨边界访问。 +final class ModelStore: @unchecked Sendable { static let shared: ModelStore = { do { let appSupport = try FileManager.default.url( diff --git a/体己/Persistence/FileVault.swift b/体己/Persistence/FileVault.swift index f11675d..0d42634 100644 --- a/体己/Persistence/FileVault.swift +++ b/体己/Persistence/FileVault.swift @@ -8,7 +8,9 @@ enum FileVaultError: Error { case decodeFailed } -final class FileVault { +/// `@unchecked Sendable`:rootURL 是 let,方法只 I/O 到沙盒目录(线程安全), +/// 可被任意 actor / Task 跨边界访问。 +final class FileVault: @unchecked Sendable { static let shared: FileVault = { do { let appSupport = try FileManager.default.url(