Build Information
Successful build of swift-notes-automation, reference v1.4.4 (58c194), with Swift 6.3 for macOS (SPM) on 12 Oct 2026 20:51:05 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/chrischall/swift-notes-automation.git
Reference: v1.4.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/chrischall/swift-notes-automation
* tag v1.4.4 -> FETCH_HEAD
HEAD is now at 58c1943 chore(main): release 1.4.4 (#64)
Cloned https://github.com/chrischall/swift-notes-automation.git
Revision (git rev-parse @):
58c1943b72987d223d41a7a7fec504543e389c17
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/chrischall/swift-notes-automation.git at v1.4.4
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swift-notes-automation",
"name": "swift-notes-automation",
"url": "https://github.com/chrischall/swift-notes-automation.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-notes-automation",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/chrischall/swift-notes-automation.git
[1/642] Fetching swift-notes-automation
Fetched https://github.com/chrischall/swift-notes-automation.git from cache (0.92s)
Creating working copy for https://github.com/chrischall/swift-notes-automation.git
Working copy of https://github.com/chrischall/swift-notes-automation.git resolved at v1.4.4 (58c1943)
warning: '.resolve-product-dependencies': dependency 'swift-notes-automation' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/chrischall/swift-notes-automation.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-69A768CDF2A0BEE1.txt
[3/11] Compiling NotesAutomation NoteStoreReader.swift
[4/11] Compiling NotesAutomation StringHelpers.swift
[5/11] Compiling NotesAutomation NoteDetail.swift
[6/11] Compiling NotesAutomation NoteBodyPage.swift
[7/11] Compiling NotesAutomation Note.swift
[8/11] Compiling NotesAutomation NoteService.swift
[9/11] Compiling NotesAutomation AppleScriptRunner.swift
[10/11] Emitting module NotesAutomation
[11/11] Compiling NotesAutomation NSAppleScriptRunner.swift
Build complete! (9.42s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "swift-notes-automation",
"name" : "swift-notes-automation",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "NotesAutomation",
"targets" : [
"NotesAutomation"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "NotesAutomationTests",
"module_type" : "SwiftTarget",
"name" : "NotesAutomationTests",
"path" : "Tests/NotesAutomationTests",
"sources" : [
"AppleScriptEscapingTests.swift",
"BlankInputGuardTests.swift",
"BodyExcerptTests.swift",
"ErrorTests.swift",
"FakeAppleScriptRunner.swift",
"InputBoundsTests.swift",
"NSAppleScriptRunnerTests.swift",
"NoteDetailTests.swift",
"NoteFoldersTests.swift",
"NotePaginationTests.swift",
"NoteReadWriteIntegrationTests.swift",
"NoteServiceIntegrationTests.swift",
"NoteServiceTests.swift",
"NoteStoreFixture.swift",
"NoteStoreReaderIntegrationTests.swift",
"NoteStoreReaderSearchMatchingTests.swift",
"NoteStoreReaderStepErrorTests.swift",
"NoteStoreReaderTests.swift",
"NoteStoreReaderWALTests.swift",
"NoteTests.swift",
"NoteUpdateTests.swift",
"SnippetLengthTests.swift",
"StringHelpersTests.swift"
],
"target_dependencies" : [
"NotesAutomation"
],
"type" : "test"
},
{
"c99name" : "NotesAutomation",
"module_type" : "SwiftTarget",
"name" : "NotesAutomation",
"path" : "Sources/NotesAutomation",
"product_memberships" : [
"NotesAutomation"
],
"sources" : [
"AppleScriptRunner.swift",
"NSAppleScriptRunner.swift",
"Note.swift",
"NoteBodyPage.swift",
"NoteDetail.swift",
"NoteService.swift",
"NoteStoreReader.swift",
"StringHelpers.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/chrischall/swift-notes-automation/v1.4.4
Repository: chrischall/swift-notes-automation
Swift version used: 6.3
Target: NotesAutomation
Extracting symbol information for 'NotesAutomation'...
Finished extracting symbol information for 'NotesAutomation'. (40.64s)
Building documentation for 'NotesAutomation'...
warning: 'onMainThread(_:)' doesn't exist at '/NotesAutomation/NSAppleScriptRunner'
--> Sources/NotesAutomation/NSAppleScriptRunner.swift:10:51-10:67
8 | ///
9 | /// Each call to ``run(source:)`` constructs and executes its own
10 + /// `NSAppleScript` on the **main thread**, via ``onMainThread(_:)``.
11 | ///
12 | /// ## Why the main thread is mandatory
warning: 'getScript(id:)' doesn't exist at '/NotesAutomation/NoteService/detailFieldSeparator'
--> Sources/NotesAutomation/NoteService.swift:131:31-131:45
129 | // MARK: - Get (full body)
130 |
131 + /// Field delimiter for ``getScript(id:)`` output.
132 | ///
133 | /// ASCII **record separator** (`U+001E`). Unlike list/search — whose
warning: 'list(limit:)' doesn't exist at '/NotesAutomation/NoteService/get(id:)'
--> Sources/NotesAutomation/NoteService.swift:145:11-145:23
143 | /// the raw Notes.app HTML (``NoteDetail/html``), along with the title,
144 | /// folder, and creation/modification dates. This is the counterpart to
145 + /// ``list(limit:)`` / ``search(query:limit:)``, which return only a
146 | /// truncated ``Note/snippet`` preview.
147 | ///
warning: 'search(query:limit:)' doesn't exist at '/NotesAutomation/NoteService/get(id:)'
--> Sources/NotesAutomation/NoteService.swift:145:30-145:50
143 | /// the raw Notes.app HTML (``NoteDetail/html``), along with the title,
144 | /// folder, and creation/modification dates. This is the counterpart to
145 + /// ``list(limit:)`` / ``search(query:limit:)``, which return only a
146 | /// truncated ``Note/snippet`` preview.
147 | ///
warning: 'escapeForAppleScript(_:)' doesn't exist at '/NotesAutomation/NoteService/create(title:body:folder:)'
--> Sources/NotesAutomation/NoteService.swift:198:11-198:35
196 | /// verbatim, while `body` is passed through as HTML. Backslashes and quotes
197 | /// in `title`, `body`, and `folder` are escaped (via
198 + /// ``escapeForAppleScript(_:)``) before they reach AppleScript, so no
199 | /// input can terminate the string literal early.
200 | ///
warning: 'list(limit:)' doesn't exist at '/NotesAutomation/NoteService/create(title:body:folder:)'
--> Sources/NotesAutomation/NoteService.swift:208:47-208:59
206 | /// the default account's top level.
207 | /// - Returns: The newly-created note's opaque id — matches the
208 + /// ``Note/id`` of values returned by ``list(limit:)`` and
209 | /// ``search(query:limit:)``.
210 | /// - Throws: ``NoteServiceError/invalidInput(_:)`` when `title` is
warning: 'search(query:limit:)' doesn't exist at '/NotesAutomation/NoteService/create(title:body:folder:)'
--> Sources/NotesAutomation/NoteService.swift:209:13-209:33
207 | /// - Returns: The newly-created note's opaque id — matches the
208 | /// ``Note/id`` of values returned by ``list(limit:)`` and
209 + /// ``search(query:limit:)``.
210 | /// - Throws: ``NoteServiceError/invalidInput(_:)`` when `title` is
211 | /// empty or whitespace-only. ``AppleScriptError/runtime(_:)`` when
warning: 'list(limit:)' doesn't exist at '/NotesAutomation/NoteService/delete(id:)'
--> Sources/NotesAutomation/NoteService.swift:303:11-303:23
301 | /// note to its Recently Deleted folder, where it stays recoverable until
302 | /// purged — this does not erase it immediately. The id format matches what
303 + /// ``list(limit:)``, ``search(query:limit:)``, and ``create(title:body:folder:)``
304 | /// return (Notes.app's Core Data URI, e.g. `x-coredata://…/ICNote/p42`).
305 | ///
warning: 'search(query:limit:)' doesn't exist at '/NotesAutomation/NoteService/delete(id:)'
--> Sources/NotesAutomation/NoteService.swift:303:29-303:49
301 | /// note to its Recently Deleted folder, where it stays recoverable until
302 | /// purged — this does not erase it immediately. The id format matches what
303 + /// ``list(limit:)``, ``search(query:limit:)``, and ``create(title:body:folder:)``
304 | /// return (Notes.app's Core Data URI, e.g. `x-coredata://…/ICNote/p42`).
305 | ///
warning: 'list(limit:)' doesn't exist at '/NotesAutomation/NoteService'
--> Sources/NotesAutomation/NoteStoreReader.swift:8:68-8:80
6 | /// `NoteStoreReader` opens `NoteStore.sqlite` directly in read-only mode
7 | /// and serves list/search queries in **single-digit milliseconds** —
8 + /// roughly 100× faster than the AppleScript-backed ``NoteService/list(limit:)``
| ╰─suggestion: Replace 'list(limit:)' with 'list(limit:offset:)'
9 | /// and ``NoteService/search(query:limit:)``.
10 | ///
warning: 'search(query:limit:)' doesn't exist at '/NotesAutomation/NoteService'
--> Sources/NotesAutomation/NoteStoreReader.swift:9:23-9:43
7 | /// and serves list/search queries in **single-digit milliseconds** —
8 | /// roughly 100× faster than the AppleScript-backed ``NoteService/list(limit:)``
9 + /// and ``NoteService/search(query:limit:)``.
| ╰─suggestion: Replace 'search(query:limit:)' with 'search(query:limit:offset:)'
10 | ///
11 | /// ## When to use this instead of ``NoteService``
warning: 'search(query:limit:)' doesn't exist at '/NotesAutomation/NoteService'
--> Sources/NotesAutomation/NoteStoreReader.swift:213:42-213:62
211 | ///
212 | /// An empty or whitespace-only query returns `[]` without touching
213 + /// the DB — matches ``NoteService/search(query:limit:)``.
| ╰─suggestion: Replace 'search(query:limit:)' with 'search(query:limit:offset:)'
214 | ///
215 | /// - Parameters:
Finished building documentation for 'NotesAutomation' (0.74s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/chrischall/swift-notes-automation/v1.4.4
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.46s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (3.67s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3837] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.22s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.91s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version-69A768CDF2A0BEE1.txt
[6/54] Compiling SymbolKit SourceRange.swift
[7/54] Compiling SymbolKit Metadata.swift
[8/54] Compiling SymbolKit Module.swift
[9/54] Compiling SymbolKit OperatingSystem.swift
[10/54] Compiling SymbolKit Platform.swift
[11/58] Compiling SymbolKit DeclarationFragments.swift
[12/58] Compiling SymbolKit Fragment.swift
[13/58] Compiling SymbolKit FragmentKind.swift
[14/58] Compiling SymbolKit FunctionParameter.swift
[15/58] Compiling SymbolKit FunctionSignature.swift
[16/58] Compiling Snippets Snippet.swift
[17/58] Compiling Snippets SnippetParser.swift
[18/58] Compiling Snippets SnippetLanguage.swift
[19/58] Emitting module Snippets
[20/58] Compiling SymbolKit GenericConstraint.swift
[21/58] Compiling SymbolKit GenericParameter.swift
[22/58] Compiling SymbolKit Generics.swift
[23/58] Compiling SymbolKit Namespace.swift
[24/58] Compiling SymbolKit Mixin+Equals.swift
[25/58] Compiling SymbolKit Mixin+Hash.swift
[26/58] Compiling SymbolKit Mixin.swift
[27/58] Compiling SymbolKit LineList.swift
[28/58] Compiling SymbolKit Position.swift
[29/58] Emitting module SymbolKit
[30/58] Compiling SymbolKit SemanticVersion.swift
[31/58] Compiling SymbolKit AccessControl.swift
[32/58] Compiling SymbolKit Availability.swift
[33/58] Compiling SymbolKit AvailabilityItem.swift
[34/58] Compiling SymbolKit Domain.swift
[35/58] Compiling SymbolKit Names.swift
[36/58] Compiling SymbolKit SPI.swift
[37/58] Compiling SymbolKit Snippet.swift
[38/58] Compiling SymbolKit Extension.swift
[39/58] Compiling SymbolKit Symbol.swift
[40/58] Compiling SymbolKit SymbolKind.swift
[41/58] Compiling SymbolKit SymbolGraph.swift
[42/58] Compiling SymbolKit GraphCollector.swift
[43/58] Compiling SymbolKit Identifier.swift
[44/58] Compiling SymbolKit KindIdentifier.swift
[45/58] Compiling SymbolKit Location.swift
[46/58] Compiling SymbolKit Mutability.swift
[47/58] Compiling SymbolKit Relationship.swift
[48/58] Compiling SymbolKit RelationshipKind.swift
[49/58] Compiling SymbolKit SourceOrigin.swift
[50/58] Compiling SymbolKit GenericConstraints.swift
[51/58] Compiling SymbolKit Swift.swift
[52/58] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[53/58] Compiling SymbolKit UnifiedSymbol.swift
[54/58] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[55/58] Compiling SymbolKit UnifiedSymbolGraph.swift
[56/62] Compiling snippet_extract URL+Status.swift
[57/62] Compiling snippet_extract SnippetBuildCommand.swift
[58/62] Compiling snippet_extract SymbolGraph+Snippet.swift
[59/62] Emitting module snippet_extract
[59/62] Write Objects.LinkFileList
[60/62] Linking snippet-extract-tool
[61/62] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.65s)
Building for debugging...
[0/1] Write swift-version-69A768CDF2A0BEE1.txt
Build of target: 'NotesAutomation' complete! (0.24s)
252
3 /Users/admin/builder/spi-builder-workspace/.docs/chrischall/swift-notes-automation/v1.4.4
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/chrischall/swift-notes-automation/v1.4.4
File count: 252
Doc size: 3.0MB
Preparing doc bundle ...
Using presigned URL upload - AWS credentials not required
Uploading -chrischall-swift-notes-automation-v1.4.4-01cc3845.zip to presigned URL
Starting upload of 609410 bytes...
Upload completed successfully
Done.