Build Information
Failed to build scg, reference main (38df68), with Swift 6.4 for watchOS using Xcode 27.0 on 23 Sep 2026 19:50:08 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun xcodebuild -IDEClonedSourcePackagesDirPathOverride=$PWD/.dependencies -skipMacroValidation -skipPackagePluginValidation -derivedDataPath $PWD/.derivedData build -scheme scg -destination generic/platform=watchOSBuild Log
|34 | var id: GenerationID
|35 | var subject: String.PartiallyGenerated?
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
FoundationModels.GenerationID:3:15: note: 'GenerationID' declared here
1 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
2 | @available(tvOS, unavailable)
3 | public struct GenerationID : Sendable, Hashable {
| `- note: 'GenerationID' declared here
4 | public static func == (a: GenerationID, b: GenerationID) -> Bool
5 | public func hash(into hasher: inout Hasher)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:16:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:104:34: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
102 | }
103 |
104 | private let generationOptions: GenerationOptions
| `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
105 | private let configuration: Configuration
106 | private let modelProvider: @Sendable () -> SystemLanguageModel
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:106:46: error: 'SystemLanguageModel' is unavailable in watchOS
104 | private let generationOptions: GenerationOptions
105 | private let configuration: Configuration
106 | private let modelProvider: @Sendable () -> SystemLanguageModel
| `- error: 'SystemLanguageModel' is unavailable in watchOS
107 |
108 | init(
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:109:24: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
106 | private let modelProvider: @Sendable () -> SystemLanguageModel
107 |
108 | init(
| `- note: add '@available' attribute to enclosing initializer
109 | generationOptions: GenerationOptions = GenerationOptions(
| `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
110 | sampling: nil,
111 | temperature: 0.4,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:115:46: error: 'SystemLanguageModel' is unavailable in watchOS
113 | ),
114 | configuration: Configuration = Configuration(),
115 | modelProvider: @escaping @Sendable () -> SystemLanguageModel = { SystemLanguageModel.default }
| `- error: 'SystemLanguageModel' is unavailable in watchOS
116 | ) {
117 | self.generationOptions = generationOptions
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:109:44: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
106 | private let modelProvider: @Sendable () -> SystemLanguageModel
107 |
108 | init(
| `- note: add '@available' attribute to enclosing initializer
109 | generationOptions: GenerationOptions = GenerationOptions(
| `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
110 | sampling: nil,
111 | temperature: 0.4,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:109:44: error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
107 |
108 | init(
109 | generationOptions: GenerationOptions = GenerationOptions(
| `- error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
110 | sampling: nil,
111 | temperature: 0.4,
FoundationModels.GenerationOptions.init:6:10: note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
4 | @available(tvOS, unavailable)
5 | @available(watchOS, unavailable)
6 | public init(sampling: GenerationOptions.SamplingMode?, temperature: Double? = nil, maximumResponseTokens: Int? = nil)}
| `- note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:115:70: error: 'SystemLanguageModel' is unavailable in watchOS
113 | ),
114 | configuration: Configuration = Configuration(),
115 | modelProvider: @escaping @Sendable () -> SystemLanguageModel = { SystemLanguageModel.default }
| `- error: 'SystemLanguageModel' is unavailable in watchOS
116 | ) {
117 | self.generationOptions = generationOptions
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:115:90: error: 'default' is unavailable in watchOS
113 | ),
114 | configuration: Configuration = Configuration(),
115 | modelProvider: @escaping @Sendable () -> SystemLanguageModel = { SystemLanguageModel.default }
| `- error: 'default' is unavailable in watchOS
116 | ) {
117 | self.generationOptions = generationOptions
FoundationModels.SystemLanguageModel.default:5:20: note: 'default' has been explicitly marked unavailable here
3 | @available(tvOS, unavailable)
4 | @available(watchOS, unavailable)
5 | public class var `default`: SystemLanguageModel { get }}
| `- note: 'default' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:268:56: error: 'SystemLanguageModel' is unavailable in watchOS
266 | }
267 |
268 | private func availabilityDescription(_ availability: SystemLanguageModel.Availability) -> String {
| `- error: 'SystemLanguageModel' is unavailable in watchOS
269 | switch availability {
270 | case .available:
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:287:44: error: 'Transcript' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
284 | }
285 |
286 | private static func analyzeTranscriptEntries(
| `- note: add '@available' attribute to enclosing static method
287 | _ entries: ArraySlice<FoundationModels.Transcript.Entry>
| `- error: 'Transcript' is only available in watchOS 27.0 or newer
288 | ) -> (promptTokens: Int?, outputTokens: Int?) {
289 | var instructionSegments: [String] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:334:69: error: 'Transcript' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
332 | }
333 |
334 | private static func textSegments(from segments: [FoundationModels.Transcript.Segment]) -> [String] {
| | `- error: 'Transcript' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing static method
335 | segments.compactMap { segment in
336 | switch segment {
macro expansion @Generable:2:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:2: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension CommitDraft: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.subject = try content.value(forProperty: "subject")
|4 | self.body = try content.value(forProperty: "body")
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | description: "A git commit message with subject and optional body.",
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:2:22: error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | description: "A git commit message with subject and optional body.",
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:6:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | description: "A git commit message with subject and optional body.",
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "subject", description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed.", type: String.self),
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | FoundationModels.GenerationSchema.Property(name: "body", description: "Optional body explaining WHY the change was made. Omit if subject is clear enough.", type: String?.self)
| 8 | ]
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:6:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | description: "A git commit message with subject and optional body.",
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "subject", description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed.", type: String.self),
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | FoundationModels.GenerationSchema.Property(name: "body", description: "Optional body explaining WHY the change was made. Omit if subject is clear enough.", type: String?.self)
| 8 | ]
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:7:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "subject", description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "body", description: "Optional body explaining WHY the change was made. Omit if subject is clear enough.", type: String?.self)
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | ]
| 9 | )
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:7:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "subject", description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "body", description: "Optional body explaining WHY the change was made. Omit if subject is clear enough.", type: String?.self)
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | ]
| 9 | )
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:14:49: error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| | |- error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|15 | addProperty(name: "subject", value: self.subject)
|16 | addProperty(name: "body", value: self.body)
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:15:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|15 | addProperty(name: "subject", value: self.subject)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|16 | addProperty(name: "body", value: self.body)
|17 | return GeneratedContent(
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:16:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|15 | addProperty(name: "subject", value: self.subject)
|16 | addProperty(name: "body", value: self.body)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|17 | return GeneratedContent(
|18 | properties: properties,
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:17:12: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|15 | addProperty(name: "subject", value: self.subject)
|16 | addProperty(name: "body", value: self.body)
|17 | return GeneratedContent(
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|18 | properties: properties,
|19 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:17:12: error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|15 | addProperty(name: "subject", value: self.subject)
|16 | addProperty(name: "body", value: self.body)
|17 | return GeneratedContent(
| | |- error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|18 | properties: properties,
|19 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:23:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|21 | }
|22 | )
|23 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|24 | properties.append((name: name, value: value))
|25 | }
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:23:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|21 | }
|22 | )
|23 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|24 | properties.append((name: name, value: value))
|25 | }
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:26:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|24 | properties.append((name: name, value: value))
|25 | }
|26 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|27 | if explicitNil || value != nil {
|28 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:26:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|24 | properties.append((name: name, value: value))
|25 | }
|26 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|27 | if explicitNil || value != nil {
|28 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:28:47: error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|10 | }
|11 |
|12 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|13 | let explicitNil = false
|14 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|26 | func addProperty(name: String, value: (some Generable)?) {
|27 | if explicitNil || value != nil {
|28 | properties.append((name: name, value: value))
| | |- error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|29 | }
|30 | }
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:38:33: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|31 | }
|32 |
|33 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|34 | var id: GenerationID
|35 | var subject: String.PartiallyGenerated?
|36 | var body: String?.PartiallyGenerated?
|37 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|38 | self.id = content.id ?? GenerationID()
| | |- error: 'GenerationID' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|39 | self.subject = try content.value(forProperty: "subject")
|40 | self.body = try content.value(forProperty: "body")
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:38:33: error: 'init()' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|31 | }
|32 |
|33 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|34 | var id: GenerationID
|35 | var subject: String.PartiallyGenerated?
|36 | var body: String?.PartiallyGenerated?
|37 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|38 | self.id = content.id ?? GenerationID()
| | |- error: 'init()' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|39 | self.subject = try content.value(forProperty: "subject")
|40 | self.body = try content.value(forProperty: "body")
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:39:36: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|31 | }
|32 |
|33 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|34 | var id: GenerationID
|35 | var subject: String.PartiallyGenerated?
|36 | var body: String?.PartiallyGenerated?
|37 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|38 | self.id = content.id ?? GenerationID()
|39 | self.subject = try content.value(forProperty: "subject")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|40 | self.body = try content.value(forProperty: "body")
|41 | }
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
macro expansion @Generable:40:33: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:74:1: note: expanded code originates here
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| |- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
| `- note: in expansion of macro 'Generable' on struct 'CommitDraft' here
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
:
72 | return CommitDraft(subject: subject, body: bodyCandidate)
73 | }
74 | }
+--- macro expansion @Generable ------------------------------------
|31 | }
|32 |
|33 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|34 | var id: GenerationID
|35 | var subject: String.PartiallyGenerated?
|36 | var body: String?.PartiallyGenerated?
|37 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|38 | self.id = content.id ?? GenerationID()
|39 | self.subject = try content.value(forProperty: "subject")
|40 | self.body = try content.value(forProperty: "body")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|41 | }
|42 | }
+-------------------------------------------------------------------
75 |
76 | /// Wraps a generated draft alongside diagnostics gathered during inference.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:125:35: error: 'availability' is unavailable in watchOS
123 | let model = modelProvider()
124 |
125 | guard case .available = model.availability else {
| `- error: 'availability' is unavailable in watchOS
126 | let reason = availabilityDescription(model.availability)
127 | throw CommitGenError.modelUnavailable(reason: reason)
FoundationModels.SystemLanguageModel.availability:2:18: note: 'availability' has been explicitly marked unavailable here
1 | class SystemLanguageModel {
2 | final public var availability: SystemLanguageModel.Availability { get }}
| `- note: 'availability' has been explicitly marked unavailable here
3 |
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile LLMClient.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/Logger.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Logger.swift
SwiftCompile normal arm64 Compiling\ GenerationReport.swift,\ GitClient.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GenerationReport.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GitClient.swift (in target 'scg-product' from project 'scg')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:16:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:19:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | @Generable(description: "A git commit message with subject and optional body.")
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
21 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:24:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | @Generable(description: "A git commit message with subject and optional body.")
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
22 | var subject: String
23 |
24 | @Guide(
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
25 | description: "Optional body explaining WHY the change was made. Omit if subject is clear enough."
26 | )
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GenerationReport.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GenerationReport.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GitClient.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile GitClient.swift
SwiftCompile normal arm64 Compiling\ SemanticFileGrouper.swift,\ UserConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/SemanticFileGrouper.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift (in target 'scg-product' from project 'scg')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift:59:30: error: 'homeDirectoryForCurrentUser' is unavailable in watchOS
57 | baseDirectory = URL(fileURLWithPath: xdgHome, isDirectory: true)
58 | } else {
59 | let home = fileManager.homeDirectoryForCurrentUser
| `- error: 'homeDirectoryForCurrentUser' is unavailable in watchOS
60 | #if os(macOS)
61 | baseDirectory = home.appendingPathComponent(
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:1004:35: note: 'homeDirectoryForCurrentUser' has been explicitly marked unavailable here
1002 |
1003 | /// The home directory for the current user.
1004 | @property (readonly, copy) NSURL *homeDirectoryForCurrentUser API_AVAILABLE(macosx(10.12)) API_UNAVAILABLE(ios, watchos, tvos);
| `- note: 'homeDirectoryForCurrentUser' has been explicitly marked unavailable here
1005 | /// The temporary directory for the current user.
1006 | @property (readonly, copy) NSURL *temporaryDirectory API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0));
Failed frontend command:
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend -frontend -c /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/CommitGenOptions.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/CommitGenTool.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/ConfigCommand.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/BatchCombinationPromptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/CommitGenError.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/ConsoleTheme.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/DiffSummarizer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/FileImportanceScorer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GenerationReport.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/GitClient.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/Logger.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBatchPlanner.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/Renderer.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/SemanticFileGrouper.swift -primary-file /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/GenerateCommand.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/SwiftCommitGen.swift -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.dia -emit-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.d -emit-const-values-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.swiftconstvalues -emit-reference-dependencies-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.swiftdeps -serialize-diagnostics-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.dia -target arm64-apple-watchos9.0 -module-can-import-version Darwin 428.0.10 0 -disable-cross-import-overlay-search -swift-module-cross-import Darwin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/usr/include/Darwin.swiftcrossimport/xlocale.swiftoverlay -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libFoundationModelsMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#FoundationModelsMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libObservationMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#ObservationMacros -load-resolved-plugin /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib/swift/host/plugins/libSwiftMacros.dylib\#/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/bin/swift-plugin-server\#SwiftMacros -disable-implicit-swift-modules -Xcc -fno-implicit-modules -Xcc -fno-implicit-module-maps -explicit-swift-module-map-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SwiftCommitGen-dependencies-1.json -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk -I /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -Isystem /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/usr/lib -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/PackageFrameworks -F /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/Library/Frameworks -F /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS27.0.sdk/Developer/Library/Frameworks -module-cache-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules -no-color-diagnostics -Xcc -fno-color-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -profile-generate -profile-coverage-mapping -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -validate-clang-modules-once -clang-build-session-file /Users/admin/builder/spi-builder-workspace/.derivedData/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -enable-anonymous-context-mangled-names -file-compilation-dir /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -ivfsstatcache -Xcc /Users/admin/builder/spi-builder-workspace/.derivedData/SDKStatCaches.noindex/watchos27.0-24R360-e829b21a6f8c9b70876ba0858053c04477534ef55a1706bf4c1112bbb242f0a2.sdkstatcache -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Products/Debug-watchos/include -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/DerivedSources-normal/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/DerivedSources/arm64 -Xcc -I/Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SwiftCommitGen -package-name spi_builder_workspace -const-gather-protocols-file /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/scg_const_extract_protocols.json -disable-clang-spi -clang-target arm64-apple-watchos27.0 -target-sdk-version 27.0 -target-sdk-name watchos27.0 -in-process-plugin-server-path /Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftInProcPluginServer.dylib -parse-as-library -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.o -o /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.o -debug-module-path /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SwiftCommitGen.swiftmodule -index-unit-output-path /scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/SemanticFileGrouper.o -index-unit-output-path /scg.build/Debug-watchos/scg-p.build/Objects-normal/arm64/UserConfiguration.o -index-store-path /Users/admin/builder/spi-builder-workspace/.derivedData/Index.noindex/DataStore -index-system-modules
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/SemanticFileGrouper.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile SemanticFileGrouper.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile UserConfiguration.swift
SwiftCompile normal arm64 Compiling\ CommitGenError.swift,\ ConsoleTheme.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/CommitGenError.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/ConsoleTheme.swift (in target 'scg-product' from project 'scg')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/CommitGenError.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile CommitGenError.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/ConsoleTheme.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile ConsoleTheme.swift
SwiftCompile normal arm64 Compiling\ PromptBuilder.swift,\ Renderer.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/Renderer.swift (in target 'scg-product' from project 'scg')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:26:29: error: 'Prompt' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| | `- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
28 | "Repository: \(repositoryName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:131:21: error: 'Instructions' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
| `- error: 'Instructions' is only available in watchOS 27.0 or newer
132 | var userPrompt: Prompt
133 | var diagnostics: PromptDiagnostics
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:132:19: error: 'Prompt' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
132 | var userPrompt: Prompt
| `- error: 'Prompt' is only available in watchOS 27.0 or newer
133 | var diagnostics: PromptDiagnostics
134 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:295:74: error: 'Instructions' is only available in watchOS 27.0 or newer
169 |
170 | /// Default prompt builder that balances snippet detail against token constraints.
171 | struct DefaultPromptBuilder: PromptBuilder {
| `- note: add '@available' attribute to enclosing struct
172 | private let maxFiles: Int
173 | private let maxSnippetLines: Int
:
293 | }
294 |
295 | private func buildSystemPrompt(style: CommitGenOptions.PromptStyle) -> Instructions {
| | `- error: 'Instructions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
296 | Instructions {
297 | """
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:329:6: error: 'Prompt' is only available in watchOS 27.0 or newer
321 | }
322 |
323 | private func buildUserPrompt(
| `- note: add '@available' attribute to enclosing global function
324 | displaySummary: ChangeSummary,
325 | fullSummary: ChangeSummary,
:
327 | isCompacted: Bool,
328 | remainder: RemainderContext
329 | ) -> Prompt {
| `- error: 'Prompt' is only available in watchOS 27.0 or newer
330 | Prompt {
331 | metadata
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:27:5: error: 'buildExpression' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
| |- error: 'buildExpression' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:27:5: error: 'Prompt' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
| |- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:27:5: error: 'init(_:)' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:28:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
26 | var promptRepresentation: Prompt {
27 | Prompt {
28 | "Repository: \(repositoryName)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
29 | "Branch: \(branchName)"
30 | "Scope: \(scopeDescription)"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:29:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
27 | Prompt {
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
30 | "Scope: \(scopeDescription)"
31 | "Style: \(style)"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:30:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
30 | "Scope: \(scopeDescription)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
31 | "Style: \(style)"
32 | }
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:31:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
29 | "Branch: \(branchName)"
30 | "Scope: \(scopeDescription)"
31 | "Style: \(style)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
32 | }
33 | }
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:27:12: error: 'buildBlock' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
28 | "Repository: \(repositoryName)"
29 | "Branch: \(branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:26:36: error: 'buildBlock' is only available in watchOS 27.0 or newer
2 |
3 | /// High-level context that accompanies the diff when constructing model prompts.
4 | struct PromptMetadata: PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
5 | var repositoryName: String
6 | var branchName: String
:
24 | }
25 |
26 | var promptRepresentation: Prompt {
| | |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| `- note: add '@available' attribute to enclosing property
27 | Prompt {
28 | "Repository: \(repositoryName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:145:31: error: 'Prompt' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
132 | var userPrompt: Prompt
133 | var diagnostics: PromptDiagnostics
134 |
135 | func appendingUserContext(_ context: String) -> PromptPackage {
| `- note: add '@available' attribute to enclosing instance method
136 | let trimmed = context.trimmingCharacters(in: .whitespacesAndNewlines)
137 | guard !trimmed.isEmpty else { return self }
:
143 | let additionalLines = contextLineCount + 2 // blank separator + heading
144 |
145 | let augmentedUserPrompt = Prompt {
| |- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
146 | userPrompt
147 | ""
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:145:31: error: 'init(_:)' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
132 | var userPrompt: Prompt
133 | var diagnostics: PromptDiagnostics
134 |
135 | func appendingUserContext(_ context: String) -> PromptPackage {
| `- note: add '@available' attribute to enclosing instance method
136 | let trimmed = context.trimmingCharacters(in: .whitespacesAndNewlines)
137 | guard !trimmed.isEmpty else { return self }
:
143 | let additionalLines = contextLineCount + 2 // blank separator + heading
144 |
145 | let augmentedUserPrompt = Prompt {
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
146 | userPrompt
147 | ""
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:146:7: error: 'buildExpression' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
132 | var userPrompt: Prompt
133 | var diagnostics: PromptDiagnostics
134 |
135 | func appendingUserContext(_ context: String) -> PromptPackage {
| `- note: add '@available' attribute to enclosing instance method
136 | let trimmed = context.trimmingCharacters(in: .whitespacesAndNewlines)
137 | guard !trimmed.isEmpty else { return self }
:
144 |
145 | let augmentedUserPrompt = Prompt {
146 | userPrompt
| |- error: 'buildExpression' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
147 | ""
148 | "Additional context from user:"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:147:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
145 | let augmentedUserPrompt = Prompt {
146 | userPrompt
147 | ""
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
148 | "Additional context from user:"
149 | trimmed
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:148:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
146 | userPrompt
147 | ""
148 | "Additional context from user:"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
149 | trimmed
150 | }
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:149:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
147 | ""
148 | "Additional context from user:"
149 | trimmed
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
150 | }
151 |
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:145:38: error: 'buildBlock' is only available in watchOS 27.0 or newer
128 |
129 | /// Bundles the full prompt payload and derived diagnostics for a generation request.
130 | struct PromptPackage {
| `- note: add '@available' attribute to enclosing struct
131 | var systemPrompt: Instructions
132 | var userPrompt: Prompt
133 | var diagnostics: PromptDiagnostics
134 |
135 | func appendingUserContext(_ context: String) -> PromptPackage {
| `- note: add '@available' attribute to enclosing instance method
136 | let trimmed = context.trimmingCharacters(in: .whitespacesAndNewlines)
137 | guard !trimmed.isEmpty else { return self }
:
143 | let additionalLines = contextLineCount + 2 // blank separator + heading
144 |
145 | let augmentedUserPrompt = Prompt {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
146 | userPrompt
147 | ""
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:296:5: error: 'Instructions' is only available in watchOS 27.0 or newer
169 |
170 | /// Default prompt builder that balances snippet detail against token constraints.
171 | struct DefaultPromptBuilder: PromptBuilder {
| `- note: add '@available' attribute to enclosing struct
172 | private let maxFiles: Int
173 | private let maxSnippetLines: Int
:
293 | }
294 |
295 | private func buildSystemPrompt(style: CommitGenOptions.PromptStyle) -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
296 | Instructions {
| |- error: 'Instructions' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
297 | """
298 | Write a git commit message for the code changes shown.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:296:5: error: 'init(_:)' is only available in watchOS 27.0 or newer
169 |
170 | /// Default prompt builder that balances snippet detail against token constraints.
171 | struct DefaultPromptBuilder: PromptBuilder {
| `- note: add '@available' attribute to enclosing struct
172 | private let maxFiles: Int
173 | private let maxSnippetLines: Int
:
293 | }
294 |
295 | private func buildSystemPrompt(style: CommitGenOptions.PromptStyle) -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
296 | Instructions {
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
297 | """
298 | Write a git commit message for the code changes shown.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:297:7: error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
295 | private func buildSystemPrompt(style: CommitGenOptions.PromptStyle) -> Instructions {
296 | Instructions {
297 | """
| `- error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
298 | Write a git commit message for the code changes shown.
299 |
FoundationModels.InstructionsBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct InstructionsBuilder {
2 | @available(*, unavailable, message: "Only `Instructions` and `InstructionsRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Instructions}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:305:7: error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
303 | Read the diff carefully. Lines with + are additions, - are deletions.
304 | """
305 | ""
| `- error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
306 | style.styleGuidance
307 | }
FoundationModels.InstructionsBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct InstructionsBuilder {
2 | @available(*, unavailable, message: "Only `Instructions` and `InstructionsRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Instructions}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:306:7: error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
304 | """
305 | ""
306 | style.styleGuidance
| `- error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
307 | }
308 | }
FoundationModels.InstructionsBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct InstructionsBuilder {
2 | @available(*, unavailable, message: "Only `Instructions` and `InstructionsRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Instructions}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:296:18: error: 'buildBlock' is only available in watchOS 27.0 or newer
169 |
170 | /// Default prompt builder that balances snippet detail against token constraints.
171 | struct DefaultPromptBuilder: PromptBuilder {
| `- note: add '@available' attribute to enclosing struct
172 | private let maxFiles: Int
173 | private let maxSnippetLines: Int
:
293 | }
294 |
295 | private func buildSystemPrompt(style: CommitGenOptions.PromptStyle) -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
296 | Instructions {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
297 | """
298 | Write a git commit message for the code changes shown.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift:357:40: error: 'nil' cannot be used in context expecting type 'String'
355 | file.kind,
356 | locationDescription(file.location),
357 | file.isBinary ? "binary" : nil,
| `- error: 'nil' cannot be used in context expecting type 'String'
358 | file.isGenerated ? "generated" : nil,
359 | ].compactMap { $0 }.joined(separator: ", ")
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBuilder.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PromptBuilder.swift
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/Renderer.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile Renderer.swift
SwiftEmitModule normal arm64_32 Emitting\ module\ for\ SwiftCommitGen (in target 'scg-product' from project 'scg')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/CommitGenOptions.swift:27:31: error: 'Prompt' is only available in watchOS 27.0 or newer
22 |
23 | /// Available prompt styles that influence how instructions are sent to the model.
24 | enum PromptStyle: String, PromptRepresentable, Codable {
| `- note: add '@available' attribute to enclosing enum
25 | case detailed
26 |
27 | var promptRepresentation: Prompt {
| | `- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing property
28 | Prompt { styleGuidance }
29 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:16:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
14 | }
15 |
16 | @Generable(description: "A git commit message with subject and optional body.")
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:109:44: error: 'GenerationOptions' is only available in watchOS 27.0 or newer
81 |
82 | /// Concrete LLM client backed by Apple's FoundationModels framework.
83 | struct FoundationModelsClient: LLMClient, Sendable {
| `- note: add '@available' attribute to enclosing struct
84 | /// Controls retry behavior and timeouts for generation requests.
85 | struct Configuration: Sendable {
:
106 | private let modelProvider: @Sendable () -> SystemLanguageModel
107 |
108 | init(
| `- note: add '@available' attribute to enclosing initializer
109 | generationOptions: GenerationOptions = GenerationOptions(
| `- error: 'GenerationOptions' is only available in watchOS 27.0 or newer
110 | sampling: nil,
111 | temperature: 0.4,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:109:44: error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
107 |
108 | init(
109 | generationOptions: GenerationOptions = GenerationOptions(
| `- error: 'init(sampling:temperature:maximumResponseTokens:)' is unavailable in watchOS
110 | sampling: nil,
111 | temperature: 0.4,
FoundationModels.GenerationOptions.init:6:10: note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
4 | @available(tvOS, unavailable)
5 | @available(watchOS, unavailable)
6 | public init(sampling: GenerationOptions.SamplingMode?, temperature: Double? = nil, maximumResponseTokens: Int? = nil)}
| `- note: 'init(sampling:temperature:maximumResponseTokens:)' has been explicitly marked unavailable here
7 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:115:70: error: 'SystemLanguageModel' is unavailable in watchOS
113 | ),
114 | configuration: Configuration = Configuration(),
115 | modelProvider: @escaping @Sendable () -> SystemLanguageModel = { SystemLanguageModel.default }
| `- error: 'SystemLanguageModel' is unavailable in watchOS
116 | ) {
117 | self.generationOptions = generationOptions
FoundationModels.SystemLanguageModel:4:20: note: 'SystemLanguageModel' has been explicitly marked unavailable here
2 | @available(tvOS, unavailable)
3 | @available(watchOS, unavailable)
4 | final public class SystemLanguageModel : Sendable {
| `- note: 'SystemLanguageModel' has been explicitly marked unavailable here
5 | @objc deinit
6 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:115:90: error: 'default' is unavailable in watchOS
113 | ),
114 | configuration: Configuration = Configuration(),
115 | modelProvider: @escaping @Sendable () -> SystemLanguageModel = { SystemLanguageModel.default }
| `- error: 'default' is unavailable in watchOS
116 | ) {
117 | self.generationOptions = generationOptions
FoundationModels.SystemLanguageModel.default:5:20: note: 'default' has been explicitly marked unavailable here
3 | @available(tvOS, unavailable)
4 | @available(watchOS, unavailable)
5 | public class var `default`: SystemLanguageModel { get }}
| `- note: 'default' has been explicitly marked unavailable here
6 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:19:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | @Generable(description: "A git commit message with subject and optional body.")
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
21 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/LLMClient.swift:24:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | @Generable(description: "A git commit message with subject and optional body.")
17 | /// Model representation for the subject/body pair returned by the language model.
18 | struct CommitDraft: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
19 | @Guide(
20 | description: "Subject line (max 50 chars). Imperative mood: 'Add X' not 'Added X'. Describe WHAT changed."
:
22 | var subject: String
23 |
24 | @Guide(
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
25 | description: "Optional body explaining WHY the change was made. Omit if subject is clear enough."
26 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/DiffSummarizer.swift:54:31: error: 'Prompt' is only available in watchOS 27.0 or newer
5 | struct ChangeSummary: Hashable, Codable, PromptRepresentable {
6 | /// Describes how a single file contributes to the change summary and prompt content.
7 | struct FileSummary: Hashable, Codable, PromptRepresentable {
| `- note: add '@available' attribute to enclosing struct
8 | enum SnippetMode: String, Codable {
9 | case compact
:
52 | }
53 |
54 | var promptRepresentation: Prompt {
| | `- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing property
55 | Prompt {
56 | for line in promptLines() {
SwiftCompile normal arm64_32 (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
SwiftCompile normal arm64_32 Compiling\ OverviewPromptBuilder.swift,\ PromptBatchPlanner.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBatchPlanner.swift (in target 'scg-product' from project 'scg')
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:5:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:7:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
8 | var summary: String
9 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:10:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
9 |
10 | @Guide(
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
11 | description: "Category: feature, bugfix, refactor, test, docs, or chore."
12 | )
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:15:4: error: 'Guide(description:)' is only available in watchOS 27.0 or newer
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
13 | var category: String
14 |
15 | @Guide(description: "1-5 most important file paths for understanding the change.")
| `- error: 'Guide(description:)' is only available in watchOS 27.0 or newer
16 | var keyFiles: [String]
17 |
macro expansion @Generable:1:59: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | | `- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:13:35: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:36:13: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
| | `- error: 'GenerationID' is only available in watchOS 27.0 or newer
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:37:25: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:38:26: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:39:28: error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
| | `- error: 'PartiallyGenerated' is only available in watchOS 27.0 or newer
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
|41 | self.id = content.id ?? GenerationID()
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:40:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
|42 | self.summary = try content.value(forProperty: "summary")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:35:20: warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 9.0 and newer; this will be an error in a future Swift language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- warning: protocol 'Identifiable' requires 'GenerationID' to be available in watchOS 9.0 and newer; this will be an error in a future Swift language mode
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
FoundationModels.GenerationID:3:15: note: 'GenerationID' declared here
1 | @available(iOS 26.0, macOS 26.0, watchOS 27.0, *)
2 | @available(tvOS, unavailable)
3 | public struct GenerationID : Sendable, Hashable {
| `- note: 'GenerationID' declared here
4 | public static func == (a: GenerationID, b: GenerationID) -> Bool
5 | public func hash(into hasher: inout Hasher)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:5:2: error: 'Generable(description:)' is only available in watchOS 27.0 or newer
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| `- error: 'Generable(description:)' is only available in watchOS 27.0 or newer
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:43:39: error: 'Instructions' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
41 | }
42 |
43 | private func buildSystemPrompt() -> Instructions {
| | `- error: 'Instructions' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
44 | Instructions {
45 | """
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:60:85: error: 'Prompt' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| | `- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
62 | "Repository: \(metadata.repositoryName)"
macro expansion @Generable:2:50: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:2: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension ChangesetOverview: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | | `- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.summary = try content.value(forProperty: "summary")
|4 | self.category = try content.value(forProperty: "category")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:2:22: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | description: "High-level overview of a large changeset.",
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:2:22: error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| | |- error: 'init(type:description:properties:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 3 | type: Self.self,
| 4 | description: "High-level overview of a large changeset.",
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:6:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | description: "High-level overview of a large changeset.",
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:6:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| 4 | description: "High-level overview of a large changeset.",
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:7:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
| 9 | ]
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:7:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 5 | properties: [
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
| 9 | ]
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:8:30: error: 'GenerationSchema' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
| | |- error: 'GenerationSchema' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 9 | ]
|10 | )
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:8:47: error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
| 1 | nonisolated static var generationSchema: FoundationModels.GenerationSchema {
| | `- note: add '@available' attribute to enclosing static property
| 2 | FoundationModels.GenerationSchema(
| 3 | type: Self.self,
| :
| 6 | FoundationModels.GenerationSchema.Property(name: "summary", description: "2-3 sentence summary of the overall purpose of the changes.", type: String.self),
| 7 | FoundationModels.GenerationSchema.Property(name: "category", description: "Category: feature, bugfix, refactor, test, docs, or chore.", type: String.self),
| 8 | FoundationModels.GenerationSchema.Property(name: "keyFiles", description: "1-5 most important file paths for understanding the change.", type: [String].self)
| | |- error: 'init(name:description:type:guides:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
| 9 | ]
|10 | )
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:15:49: error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| | |- error: 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|16 | addProperty(name: "summary", value: self.summary)
|17 | addProperty(name: "category", value: self.category)
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:16:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|16 | addProperty(name: "summary", value: self.summary)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|17 | addProperty(name: "category", value: self.category)
|18 | addProperty(name: "keyFiles", value: self.keyFiles)
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:17:5: error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|16 | addProperty(name: "summary", value: self.summary)
|17 | addProperty(name: "category", value: self.category)
| | |- error: conformance of 'String' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|18 | addProperty(name: "keyFiles", value: self.keyFiles)
|19 | return GeneratedContent(
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:18:5: error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
|16 | addProperty(name: "summary", value: self.summary)
|17 | addProperty(name: "category", value: self.category)
|18 | addProperty(name: "keyFiles", value: self.keyFiles)
| | |- error: conformance of 'Array<Element>' to 'Generable' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|19 | return GeneratedContent(
|20 | properties: properties,
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:19:12: error: 'GeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|17 | addProperty(name: "category", value: self.category)
|18 | addProperty(name: "keyFiles", value: self.keyFiles)
|19 | return GeneratedContent(
| | |- error: 'GeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|20 | properties: properties,
|21 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:19:12: error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|17 | addProperty(name: "category", value: self.category)
|18 | addProperty(name: "keyFiles", value: self.keyFiles)
|19 | return GeneratedContent(
| | |- error: 'init(properties:id:uniquingKeysWith:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|20 | properties: properties,
|21 | uniquingKeysWith: { _, second in
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:25:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|23 | }
|24 | )
|25 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|26 | properties.append((name: name, value: value))
|27 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:25:48: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|23 | }
|24 | )
|25 | func addProperty(name: String, value: some Generable) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|26 | properties.append((name: name, value: value))
|27 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:28:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|26 | properties.append((name: name, value: value))
|27 | }
|28 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|29 | if explicitNil || value != nil {
|30 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:28:49: error: 'Generable' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|26 | properties.append((name: name, value: value))
|27 | }
|28 | func addProperty(name: String, value: (some Generable)?) {
| | `- error: 'Generable' is only available in watchOS 27.0 or newer
|29 | if explicitNil || value != nil {
|30 | properties.append((name: name, value: value))
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:30:47: error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
| `- note: add '@available' attribute to enclosing struct
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
8 | var summary: String
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|11 | }
|12 |
|13 | nonisolated var generatedContent: GeneratedContent {
| | `- note: add '@available' attribute to enclosing property
|14 | let explicitNil = false
|15 | var properties = [(name: String, value: any ConvertibleToGeneratedContent)]()
| :
|28 | func addProperty(name: String, value: (some Generable)?) {
|29 | if explicitNil || value != nil {
|30 | properties.append((name: name, value: value))
| | |- error: conformance of 'Optional<Wrapped>' to 'ConvertibleToGeneratedContent' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|31 | }
|32 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:41:33: error: 'GenerationID' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
| | |- error: 'GenerationID' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|42 | self.summary = try content.value(forProperty: "summary")
|43 | self.category = try content.value(forProperty: "category")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:41:33: error: 'init()' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
| | |- error: 'init()' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|42 | self.summary = try content.value(forProperty: "summary")
|43 | self.category = try content.value(forProperty: "category")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:42:36: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
|42 | self.summary = try content.value(forProperty: "summary")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|43 | self.category = try content.value(forProperty: "category")
|44 | self.keyFiles = try content.value(forProperty: "keyFiles")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:43:37: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
|42 | self.summary = try content.value(forProperty: "summary")
|43 | self.category = try content.value(forProperty: "category")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|44 | self.keyFiles = try content.value(forProperty: "keyFiles")
|45 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:44:37: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:1: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|33 | }
|34 |
|35 | nonisolated struct PartiallyGenerated: Identifiable, nonisolated FoundationModels.ConvertibleFromGeneratedContent, Hashable {
| | `- note: add '@available' attribute to enclosing struct
|36 | var id: GenerationID
|37 | var summary: String.PartiallyGenerated?
|38 | var category: String.PartiallyGenerated?
|39 | var keyFiles: [String].PartiallyGenerated?
|40 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|41 | self.id = content.id ?? GenerationID()
|42 | self.summary = try content.value(forProperty: "summary")
|43 | self.category = try content.value(forProperty: "category")
|44 | self.keyFiles = try content.value(forProperty: "keyFiles")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|45 | }
|46 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:44:5: error: 'Instructions' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
41 | }
42 |
43 | private func buildSystemPrompt() -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
44 | Instructions {
| |- error: 'Instructions' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
45 | """
46 | You are an AI assistant analyzing a large set of code changes to provide a high-level overview.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:44:5: error: 'init(_:)' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
41 | }
42 |
43 | private func buildSystemPrompt() -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
44 | Instructions {
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
45 | """
46 | You are an AI assistant analyzing a large set of code changes to provide a high-level overview.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:45:7: error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
43 | private func buildSystemPrompt() -> Instructions {
44 | Instructions {
45 | """
| `- error: 'buildExpression' is unavailable: Only `Instructions` and `InstructionsRepresentable` are supported.
46 | You are an AI assistant analyzing a large set of code changes to provide a high-level overview.
47 | Your task is to understand the overall purpose of the changeset based on file metadata and change hints.
FoundationModels.InstructionsBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct InstructionsBuilder {
2 | @available(*, unavailable, message: "Only `Instructions` and `InstructionsRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Instructions}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:44:18: error: 'buildBlock' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
41 | }
42 |
43 | private func buildSystemPrompt() -> Instructions {
| `- note: add '@available' attribute to enclosing instance method
44 | Instructions {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
45 | """
46 | You are an AI assistant analyzing a large set of code changes to provide a high-level overview.
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:61:5: error: 'Prompt' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
| |- error: 'Prompt' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
62 | "Repository: \(metadata.repositoryName)"
63 | "Branch: \(metadata.branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:61:5: error: 'init(_:)' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
| |- error: 'init(_:)' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
62 | "Repository: \(metadata.repositoryName)"
63 | "Branch: \(metadata.branchName)"
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:62:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
61 | Prompt {
62 | "Repository: \(metadata.repositoryName)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
63 | "Branch: \(metadata.branchName)"
64 | "Total files changed: \(summary.fileCount)"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:63:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
61 | Prompt {
62 | "Repository: \(metadata.repositoryName)"
63 | "Branch: \(metadata.branchName)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
64 | "Total files changed: \(summary.fileCount)"
65 | "Total additions: +\(summary.totalAdditions)"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:64:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
62 | "Repository: \(metadata.repositoryName)"
63 | "Branch: \(metadata.branchName)"
64 | "Total files changed: \(summary.fileCount)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
65 | "Total additions: +\(summary.totalAdditions)"
66 | "Total deletions: -\(summary.totalDeletions)"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:65:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
63 | "Branch: \(metadata.branchName)"
64 | "Total files changed: \(summary.fileCount)"
65 | "Total additions: +\(summary.totalAdditions)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
66 | "Total deletions: -\(summary.totalDeletions)"
67 | ""
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:66:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
64 | "Total files changed: \(summary.fileCount)"
65 | "Total additions: +\(summary.totalAdditions)"
66 | "Total deletions: -\(summary.totalDeletions)"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
67 | ""
68 | "File changes (metadata only):"
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:67:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
65 | "Total additions: +\(summary.totalAdditions)"
66 | "Total deletions: -\(summary.totalDeletions)"
67 | ""
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
68 | "File changes (metadata only):"
69 |
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:68:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
66 | "Total deletions: -\(summary.totalDeletions)"
67 | ""
68 | "File changes (metadata only):"
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
69 |
70 | for file in summary.files {
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:71:9: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
69 |
70 | for file in summary.files {
71 | fileMetadataLine(for: file)
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
72 | }
73 |
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:70:33: error: 'buildBlock' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
62 | "Repository: \(metadata.repositoryName)"
:
68 | "File changes (metadata only):"
69 |
70 | for file in summary.files {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
71 | fileMetadataLine(for: file)
72 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:72:7: error: 'buildArray' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
62 | "Repository: \(metadata.repositoryName)"
:
70 | for file in summary.files {
71 | fileMetadataLine(for: file)
72 | }
| |- error: 'buildArray' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
73 |
74 | ""
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:74:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
72 | }
73 |
74 | ""
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
75 | "Based on this metadata, provide a high-level overview of what this changeset accomplishes."
76 | "Identify the most important files that are central to understanding the changes."
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:75:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
73 |
74 | ""
75 | "Based on this metadata, provide a high-level overview of what this changeset accomplishes."
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
76 | "Identify the most important files that are central to understanding the changes."
77 | }
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:76:7: error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
74 | ""
75 | "Based on this metadata, provide a high-level overview of what this changeset accomplishes."
76 | "Identify the most important files that are central to understanding the changes."
| `- error: 'buildExpression' is unavailable: Only `Prompt` and `PromptRepresentable` are supported.
77 | }
78 | }
FoundationModels.PromptBuilder.buildExpression:3:46: note: 'buildExpression' has been explicitly marked unavailable here
1 | struct PromptBuilder {
2 | @available(*, unavailable, message: "Only `Prompt` and `PromptRepresentable` are supported.")
3 | @export(implementation) public static func buildExpression<T>(_ expression: T) -> Prompt}
| `- note: 'buildExpression' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:61:12: error: 'buildBlock' is only available in watchOS 27.0 or newer
27 | /// This is used in the first pass of two-pass analysis to get a high-level
28 | /// understanding of large changesets before detailed batch processing.
29 | struct OverviewPromptBuilder {
| `- note: add '@available' attribute to enclosing struct
30 | /// Creates a metadata-only prompt for overview generation.
31 | func makePrompt(summary: ChangeSummary, metadata: PromptMetadata) -> PromptPackage {
:
58 | }
59 |
60 | private func buildUserPrompt(summary: ChangeSummary, metadata: PromptMetadata) -> Prompt {
| `- note: add '@available' attribute to enclosing instance method
61 | Prompt {
| |- error: 'buildBlock' is only available in watchOS 27.0 or newer
| `- note: add 'if #available' version check
62 | "Repository: \(metadata.repositoryName)"
63 | "Branch: \(metadata.branchName)"
macro expansion @Generable:3:36: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:2: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension ChangesetOverview: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.summary = try content.value(forProperty: "summary")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|4 | self.category = try content.value(forProperty: "category")
|5 | self.keyFiles = try content.value(forProperty: "keyFiles")
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:4:37: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:2: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension ChangesetOverview: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.summary = try content.value(forProperty: "summary")
|4 | self.category = try content.value(forProperty: "category")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|5 | self.keyFiles = try content.value(forProperty: "keyFiles")
|6 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
macro expansion @Generable:5:37: error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift:23:2: note: expanded code originates here
3 |
4 | /// LLM output structure for the overview pass.
5 | @Generable(description: "High-level overview of a large changeset.")
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| |- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
| `- note: in expansion of macro 'Generable' on struct 'ChangesetOverview' here
6 | struct ChangesetOverview: Hashable, Codable, Sendable {
7 | @Guide(description: "2-3 sentence summary of the overall purpose of the changes.")
:
21 | self.keyFiles = keyFiles
22 | }
23 | }
+--- macro expansion @Generable ------------------------------------
|1 | extension ChangesetOverview: nonisolated FoundationModels.Generable {
| | `- note: add '@available' attribute to enclosing extension
|2 | nonisolated init(_ content: FoundationModels.GeneratedContent) throws {
| | `- note: add '@available' attribute to enclosing initializer
|3 | self.summary = try content.value(forProperty: "summary")
|4 | self.category = try content.value(forProperty: "category")
|5 | self.keyFiles = try content.value(forProperty: "keyFiles")
| | |- error: 'value(_:forProperty:)' is only available in watchOS 27.0 or newer
| | `- note: add 'if #available' version check
|6 | }
|7 | }
+-------------------------------------------------------------------
24 |
25 | /// Builds a lightweight prompt with file metadata only (no diff snippets).
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/OverviewPromptBuilder.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile OverviewPromptBuilder.swift
SwiftCompile normal arm64_32 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/PromptBatchPlanner.swift (in target 'scg-product' from project 'scg')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
builtin-SwiftPerFileCompile PromptBatchPlanner.swift
SwiftEmitModule normal arm64 Emitting\ module\ for\ ArgumentParser (in target 'ArgumentParser' from project 'swift-argument-parser')
SwiftCompile normal arm64 (in target 'ArgumentParser' from project 'swift-argument-parser')
cd /Users/admin/builder/spi-builder-workspace/.swiftpm/xcode
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/SwiftExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/SDKExplicitPrecompiledModules
PruneExplicitPrecompiledModules /Users/admin/builder/spi-builder-workspace/.derivedData/Build/Intermediates.noindex/ExplicitPrecompiledModules
2026-09-23 15:50:06.498 xcodebuild[1211:6937] [MT] IDERunDestination: Supported platforms for the buildables in the current scheme is empty.
** BUILD FAILED **
The following build commands failed:
SwiftCompile normal arm64 Compiling\ SemanticFileGrouper.swift,\ UserConfiguration.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/SemanticFileGrouper.swift /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift (in target 'scg-product' from project 'scg')
SwiftCompile normal arm64 /Users/admin/builder/spi-builder-workspace/Sources/SwiftCommitGen/Core/UserConfiguration.swift (in target 'scg-product' from project 'scg')
Building workspace scg with scheme scg
(3 failures)
BUILD FAILURE 6.4 watchOS