Build Information
Successful build of SwiftLLMKit, reference 0.0.214 (29114a), with Swift 6.4 for macOS (SPM) on 9 Oct 2026 07:11:06 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/drewster99/swift-llm-kit.git
Reference: 0.0.214
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/drewster99/swift-llm-kit
* tag 0.0.214 -> FETCH_HEAD
HEAD is now at 29114a0 Send reasoning_content on every assistant turn for replay models
Cloned https://github.com/drewster99/swift-llm-kit.git
Revision (git rev-parse @):
29114a0218f73b7a483d5ea61335d72ba72b0c0e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/drewster99/swift-llm-kit.git at 0.0.214
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/drewster99/swift-llm-kit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[32 / 43] SwiftLLMKit_SwiftLLMKit
[34 / 43]
[35 / 44] SwiftLLMKit
[45 / 92]
[47 / 92]
[53 / 92]
[55 / 92]
[59 / 92]
[61 / 92]
[64 / 92]
[68 / 92]
[69 / 92]
[70 / 92]
[71 / 92]
[83 / 92] SwiftLLMKit
[84 / 92] SwiftLLMKit
[89 / 92] SwiftLLMKit
Build complete! (10.23 sec)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Providers/ProviderContinuation.swift:72:14: [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m70 |[0;0m self.anthropicThinkingBlocks = anthropicThinkingBlocks
[0;36m71 |[0;0m self.geminiResponseParts = geminiResponseParts
[0;36m72 |[0;0m self.geminiThoughtSignatures = geminiThoughtSignatures
[0;36m|[0;0m `- [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m73 |[0;0m self.codexReasoningItems = codexReasoningItems
[0;36m74 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Providers/ProviderContinuation.swift:80:16: [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m78 |[0;0m anthropicThinkingBlocks == nil
[0;36m79 |[0;0m && geminiResponseParts == nil
[0;36m80 |[0;0m && geminiThoughtSignatures == nil
[0;36m|[0;0m `- [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m81 |[0;0m && codexReasoningItems == nil
[0;36m82 |[0;0m }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Providers/ProviderContinuation.swift:93:14: [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m91 |[0;0m self.anthropicThinkingBlocks = try c.decodeIfPresent([AnthropicThinkingBlock].self, forKey: .anthropicThinkingBlocks)
[0;36m92 |[0;0m self.geminiResponseParts = try c.decodeIfPresent([GeminiResponsePart].self, forKey: .geminiResponseParts)
[0;36m93 |[0;0m self.geminiThoughtSignatures = try c.decodeIfPresent([String: String].self, forKey: .geminiThoughtSignatures)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'geminiThoughtSignatures' is deprecated: Superseded by geminiResponseParts in 0.0.26. Position-keyed signatures misalign when the factory collapses a multi-part response into a single .text/.toolCalls/.mixed content. Reads from disk for legacy saved conversations still work; new code path captures and replays the full parts structure.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m94 |[0;0m self.codexReasoningItems = try c.decodeIfPresent([CodexReasoningItem].self, forKey: .codexReasoningItems)
[0;36m95 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Providers/GeminiProvider.swift:305:50: [1;33mwarning: [1;39m'legacyGeminiSignatures(message:)' is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m303 |[0;0m // content-rendering with position-keyed sig attachment. Shape-fragile
[0;36m304 |[0;0m // but the best we can do for legacy data.
[0;36m305 |[0;0m let legacySignatures: [String: String] = legacyGeminiSignatures(message: message)
[0;36m|[0;0m `- [1;33mwarning: [1;39m'legacyGeminiSignatures(message:)' is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m306 |[0;0m
[0;36m307 |[0;0m func attachLegacySig(_ part: [String: Any], at index: Int) -> [String: Any] {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Providers/GeminiProvider.swift:625:28: [1;33mwarning: [1;39m'makeGeminiContinuation(parts:legacySignatures:)' is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m623 |[0;0m }
[0;36m624 |[0;0m )
[0;36m625 |[0;0m continuation = makeGeminiContinuation(
[0;36m|[0;0m `- [1;33mwarning: [1;39m'makeGeminiContinuation(parts:legacySignatures:)' is deprecated[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m626 |[0;0m parts: capturedParts,
[0;36m627 |[0;0m legacySignatures: legacySigs
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftLLMKit",
"name" : "SwiftLLMKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "SwiftLLMKit",
"targets" : [
"SwiftLLMKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftLLMKitTests",
"module_type" : "SwiftTarget",
"name" : "SwiftLLMKitTests",
"path" : "Tests/SwiftLLMKitTests",
"sources" : [
"BehaviorFlagsTests.swift",
"CapabilityProbeTests.swift",
"DeveloperRoleTests.swift",
"DocumentContentTests.swift",
"DownloadedOverridesTests.swift",
"ExtraJSONOverridesTests.swift",
"GeminiFunctionCallDummySignatureTests.swift",
"GeminiFunctionResponseNameTests.swift",
"GeminiThoughtSignatureLiveTests.swift",
"JSONMergeTests.swift",
"JSONSerializationDeterminismTests.swift",
"KeychainServiceAddStepTests.swift",
"LLMMessageFactoryTests.swift",
"LLMRequestLoggerStampTests.swift",
"LiteLLMProviderMatchingTests.swift",
"MaxOutputContextBoundTests.swift",
"ModelCapabilityTriStateTests.swift",
"ModelConfigurationOverrideTests.swift",
"ModelFactsMergeTests.swift",
"ModelInfoChatCapabilityTests.swift",
"ModelInfoProvenanceTests.swift",
"ModelProfileCodingKeyCoverageTests.swift",
"NewCapabilityPersistenceTests.swift",
"OllamaLibraryScraperTests.swift",
"OllamaRoleAlternationTests.swift",
"OpenAIArrayContentParseTests.swift",
"OpenAIReasoningContentReplayTests.swift",
"OpenRouterDynamicVariantTests.swift",
"OverrideChatFoldTests.swift",
"ProbeRecordStoreTests.swift",
"ProviderAPITypeForgivingDecodeTests.swift",
"ProviderContinuationTests.swift",
"ReasoningControlAndStructuredOutputTests.swift",
"ReasoningEnabledConfigurationTests.swift",
"RetryAfterParsingTests.swift",
"SeenModelsLedgerTests.swift",
"StupidBatchHardeningTests.swift",
"SwiftLLMKitTests.swift",
"TemperatureOptionalTests.swift",
"ThinkingBlockBindingTests.swift",
"ThinkingBudgetRangeTests.swift",
"TokenUsageParserTests.swift",
"TrailingSystemMessageTests.swift",
"V0_0_182_FinishReasonTests.swift",
"V0_0_184_CodexAuthTests.swift",
"V0_0_187_CodexResponsesTests.swift",
"V0_0_189_CodexLimitTests.swift",
"V0_0_191_CodexLiveSmokeTests.swift",
"V0_0_192_CodexUsageWindowTests.swift",
"V0_0_195_CodexAuthSharingTests.swift",
"V0_0_195_CodexItemKeyTests.swift",
"V0_0_195_CodexRefreshStormTests.swift",
"V0_0_196_CodexRefreshCancellationTests.swift",
"V0_0_197_CodexSerializerParityTests.swift",
"V0_0_206_ContentPolicyRefusalTests.swift",
"V0_0_209_ServerErrorObjectTests.swift",
"V0_0_26_Tests.swift",
"V0_0_27_Tests.swift",
"V0_0_28_Tests.swift",
"V0_0_30_ToolChoiceTests.swift"
],
"target_dependencies" : [
"SwiftLLMKit"
],
"type" : "test"
},
{
"c99name" : "SwiftLLMKit",
"module_type" : "SwiftTarget",
"name" : "SwiftLLMKit",
"path" : "Sources/SwiftLLMKit",
"product_memberships" : [
"SwiftLLMKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Resources/built_in_providers.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Resources/bundled_model_metadata.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftLLMKit/Resources/bundled_probe_records.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Auth/CodexAuth.swift",
"Evaluation/CapabilityProbe.swift",
"Evaluation/ModelProber.swift",
"Evaluation/ModelProfile.swift",
"Evaluation/ProbeFixtures.swift",
"Evaluation/ProbeRecordStore.swift",
"Models/BehaviorFlags.swift",
"Models/BuiltInProviders.swift",
"Models/BundledModelMetadata.swift",
"Models/EffortSupport.swift",
"Models/ModelAvailabilityState.swift",
"Models/ModelBenchmarks.swift",
"Models/ModelCapabilities.swift",
"Models/ModelConfiguration.swift",
"Models/ModelConfigurationOverride.swift",
"Models/ModelFacts.swift",
"Models/ModelInfo.swift",
"Models/ModelMetadataOverride.swift",
"Models/ModelPricing.swift",
"Models/ModelProvider.swift",
"Models/OpenRouterDynamicVariant.swift",
"Models/PreparedRequest.swift",
"Models/ProviderAPIType.swift",
"Models/ReasoningControl.swift",
"Models/SamplingDefaults.swift",
"Models/SeenModelsLedger.swift",
"Models/ThinkingBudget.swift",
"Models/ThinkingBudgetAccounting.swift",
"Persistence/StorageManager.swift",
"Providers/AnthropicProvider.swift",
"Providers/CodexLimit.swift",
"Providers/CodexResponsesProvider.swift",
"Providers/CodexUsageWindow.swift",
"Providers/GLMTemplateSalvage.swift",
"Providers/GeminiProvider.swift",
"Providers/JSONMerge.swift",
"Providers/LLMCallOverrides.swift",
"Providers/LLMMessage.swift",
"Providers/LLMProvider.swift",
"Providers/LLMProviderError.swift",
"Providers/LLMRequestLogger.swift",
"Providers/LLMResponse.swift",
"Providers/LLMResponseFormat.swift",
"Providers/LLMToolCall.swift",
"Providers/LLMToolChoice.swift",
"Providers/LLMToolDefinition.swift",
"Providers/OllamaProvider.swift",
"Providers/OpenAICompatibleProvider.swift",
"Providers/ProviderContinuation.swift",
"Services/KeychainService.swift",
"Services/ModelFactsMerge.swift",
"Services/ModelFetchService.swift",
"Services/ModelMetadataService.swift",
"Services/OllamaLibraryScraper.swift",
"SwiftLLMKit.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.