The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CoderPadKit, reference 0.6.0 (e6ff75), with Swift 6.4 for macOS (SPM) on 9 Oct 2026 21:51:45 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/adamtheturtle/CoderPadKit.git
Reference: 0.6.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/adamtheturtle/CoderPadKit
 * tag               0.6.0      -> FETCH_HEAD
HEAD is now at e6ff75c Prepare CoderPadKit 0.6.0 release notes (#338)
Cloned https://github.com/adamtheturtle/CoderPadKit.git
Revision (git rev-parse @):
e6ff75c54ade58ffbda32df4fd81ac04deef534a
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/adamtheturtle/CoderPadKit.git at 0.6.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/adamtheturtle/CoderPadKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 184]
[Planning deferred tasks]
[38 / 72]
[40 / 74] PaginatedRESTClient
[59 / 158]
[64 / 158]
[74 / 158]
[77 / 158]
[78 / 158]
[85 / 158]
[89 / 158]
[94 / 158]
[99 / 158]
[102 / 158]
[104 / 158]
[106 / 158]
[108 / 158]
[119 / 158] SafeURLKit
[132 / 158] SafeURLKit-product
[137 / 159] PaginatedRESTClient
[137 / 159] SafeURLKit
[143 / 174] SafeURLKit
[145 / 174]
[156 / 174] CoderPadKit
[163 / 175] CoderPadKit
[163 / 175] CoderPadKitMock
[165 / 188]
[176 / 188] CoderPadKitMock
[180 / 188] CoderPadKitMock
[185 / 188] CoderPadKitMock
Build complete! (13.71 sec)
Fetching https://github.com/adamtheturtle/PaginatedRESTClient.git
Fetching https://github.com/adamtheturtle/SafeURLKit.git
[1/767] Fetching paginatedrestclient
[2/1756] Fetching paginatedrestclient, safeurlkit
Fetched https://github.com/adamtheturtle/SafeURLKit.git (1.00s)
Fetched https://github.com/adamtheturtle/PaginatedRESTClient.git (1.00s)
Computing version for https://github.com/adamtheturtle/SafeURLKit.git
Computed https://github.com/adamtheturtle/SafeURLKit.git at 0.2.0 (1.59s)
Computing version for https://github.com/adamtheturtle/PaginatedRESTClient.git
Computed https://github.com/adamtheturtle/PaginatedRESTClient.git at 0.5.0 (0.56s)
Creating working copy for https://github.com/adamtheturtle/SafeURLKit.git
Working copy of https://github.com/adamtheturtle/SafeURLKit.git resolved at 0.2.0
Creating working copy for https://github.com/adamtheturtle/PaginatedRESTClient.git
Working copy of https://github.com/adamtheturtle/PaginatedRESTClient.git resolved at 0.5.0
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/CoderPadClient+BaseURL.swift:27:5: warning: 'public' modifier is redundant for static method declared in a public extension
25 |
26 |     /// Validates a response-body ceiling for callers that prefer an error over clamping (#206).
27 |     public nonisolated static func validatedResponseBodyLimit(_ bytes: Int) throws -> Int {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
28 |         try validateNonNegativeResponseBodyLimit(bytes)
29 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI.swift:315:5: warning: 'public' modifier conflicts with extension's default access of 'private'
313 |
314 | private extension KeyedDecodingContainer {
315 |     public nonisolated func decodeLenientScreenDictionary<Value: Decodable>(
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
316 |         of _: Value.Type,
317 |         forKey key: Key
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:36:5: warning: 'public' modifier is redundant for property declared in a public extension
 34 |
 35 | public extension ScreenTestSession {
 36 |     public var sendDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 37 |         ScreenEpochMilliseconds.date(from: sendTime)
 38 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:40:5: warning: 'public' modifier is redundant for property declared in a public extension
 38 |     }
 39 |
 40 |     public var startDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 41 |         ScreenEpochMilliseconds.date(from: startTime)
 42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:44:5: warning: 'public' modifier is redundant for property declared in a public extension
 42 |     }
 43 |
 44 |     public var endDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 45 |         ScreenEpochMilliseconds.date(from: endTime)
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:48:5: warning: 'public' modifier is redundant for property declared in a public extension
 46 |     }
 47 |
 48 |     public var lastActivityDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 49 |         ScreenEpochMilliseconds.date(from: lastActivityTime)
 50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:54:5: warning: 'public' modifier is redundant for property declared in a public extension
 52 |     /// Recruiter dashboard URL when the API value is absolute HTTPS without
 53 |     /// credentials (#167).
 54 |     public var openableURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 55 |         OpenableHTTPSURL.parse(url)
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:60:5: warning: 'public' modifier is redundant for property declared in a public extension
 58 |     /// Candidate test URL when the API value is absolute HTTPS without
 59 |     /// credentials (#167).
 60 |     public var openableTestURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 61 |         OpenableHTTPSURL.parse(testURL)
 62 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:68:5: warning: 'public' modifier is redundant for property declared in a public extension
 66 |     /// Candidate invitation URL when the API value is absolute HTTPS without
 67 |     /// credentials (#167).
 68 |     public var openableTestURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 69 |         OpenableHTTPSURL.parse(testURL)
 70 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+BaseURL.swift:14:5: warning: 'public' modifier is redundant for static method declared in a public extension
12 |     /// mock host is intentionally excluded so a live session cannot send a real API key
13 |     /// to `screen.mock.coderpad.io` (#202).
14 |     public nonisolated static func isAllowedProductionBaseURL(_ url: URL) -> Bool {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
15 |         isAllowedOrigin(url, hosts: [defaultBaseURL.host, euBaseURL.host])
16 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+BaseURL.swift:20:5: warning: 'public' modifier is redundant for static method declared in a public extension
18 |     /// Origins accepted for any Screen request, including the in-process mock transport.
19 |     /// Prefer ``isAllowedProductionBaseURL(_:)`` when constructing a live client.
20 |     public nonisolated static func isAllowedBaseURL(_ url: URL) -> Bool {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
21 |         isAllowedProductionBaseURL(url)
22 |             || isAllowedOrigin(url, hosts: [mockBaseURL.host])
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/CoderPadClient+BaseURL.swift:27:5: warning: 'public' modifier is redundant for static method declared in a public extension
25 |
26 |     /// Validates a response-body ceiling for callers that prefer an error over clamping (#206).
27 |     public nonisolated static func validatedResponseBodyLimit(_ bytes: Int) throws -> Int {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
28 |         try validateNonNegativeResponseBodyLimit(bytes)
29 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:36:5: warning: 'public' modifier is redundant for property declared in a public extension
 34 |
 35 | public extension ScreenTestSession {
 36 |     public var sendDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 37 |         ScreenEpochMilliseconds.date(from: sendTime)
 38 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:40:5: warning: 'public' modifier is redundant for property declared in a public extension
 38 |     }
 39 |
 40 |     public var startDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 41 |         ScreenEpochMilliseconds.date(from: startTime)
 42 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:44:5: warning: 'public' modifier is redundant for property declared in a public extension
 42 |     }
 43 |
 44 |     public var endDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 45 |         ScreenEpochMilliseconds.date(from: endTime)
 46 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:48:5: warning: 'public' modifier is redundant for property declared in a public extension
 46 |     }
 47 |
 48 |     public var lastActivityDate: Date? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 49 |         ScreenEpochMilliseconds.date(from: lastActivityTime)
 50 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:54:5: warning: 'public' modifier is redundant for property declared in a public extension
 52 |     /// Recruiter dashboard URL when the API value is absolute HTTPS without
 53 |     /// credentials (#167).
 54 |     public var openableURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 55 |         OpenableHTTPSURL.parse(url)
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:60:5: warning: 'public' modifier is redundant for property declared in a public extension
 58 |     /// Candidate test URL when the API value is absolute HTTPS without
 59 |     /// credentials (#167).
 60 |     public var openableTestURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 61 |         OpenableHTTPSURL.parse(testURL)
 62 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI+Dates.swift:68:5: warning: 'public' modifier is redundant for property declared in a public extension
 66 |     /// Candidate invitation URL when the API value is absolute HTTPS without
 67 |     /// credentials (#167).
 68 |     public var openableTestURL: URL? {
    |     `- warning: 'public' modifier is redundant for property declared in a public extension
 69 |         OpenableHTTPSURL.parse(testURL)
 70 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenAPI.swift:315:5: warning: 'public' modifier conflicts with extension's default access of 'private'
313 |
314 | private extension KeyedDecodingContainer {
315 |     public nonisolated func decodeLenientScreenDictionary<Value: Decodable>(
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
316 |         of _: Value.Type,
317 |         forKey key: Key
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+BaseURL.swift:14:5: warning: 'public' modifier is redundant for static method declared in a public extension
12 |     /// mock host is intentionally excluded so a live session cannot send a real API key
13 |     /// to `screen.mock.coderpad.io` (#202).
14 |     public nonisolated static func isAllowedProductionBaseURL(_ url: URL) -> Bool {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
15 |         isAllowedOrigin(url, hosts: [defaultBaseURL.host, euBaseURL.host])
16 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+BaseURL.swift:20:5: warning: 'public' modifier is redundant for static method declared in a public extension
18 |     /// Origins accepted for any Screen request, including the in-process mock transport.
19 |     /// Prefer ``isAllowedProductionBaseURL(_:)`` when constructing a live client.
20 |     public nonisolated static func isAllowedBaseURL(_ url: URL) -> Bool {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
21 |         isAllowedProductionBaseURL(url)
22 |             || isAllowedOrigin(url, hosts: [mockBaseURL.host])
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:25:5: warning: 'public' modifier is redundant for instance method declared in a public extension
23 |     /// as successful "no URL" outcomes; those map to `nil` rather than an HTTP or decode
24 |     /// error so the optional return type matches the endpoint contract (#213, #214).
25 |     public nonisolated func webhookURL() async throws -> String? {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
26 |         let request = try authorizedRequest(path: "/webhook", method: "GET")
27 |         let data: Data
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:50:5: warning: 'public' modifier is redundant for instance method declared in a public extension
48 |     /// Sets (replacing any existing) the webhook callback URL. `POST /webhook`.
49 |     /// The request body is the URL as a bare JSON string, per the API contract.
50 |     public nonisolated func setWebhookURL(_ url: String) async throws {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
51 |         guard let url = Self.normalizedWebhookURL(url) else {
52 |             throw CoderPadError.decode("Screen webhook callback must be a public HTTPS URL.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:59:5: warning: 'public' modifier is redundant for instance method declared in a public extension
57 |
58 |     /// Removes the configured webhook. `DELETE /webhook`.
59 |     public nonisolated func deleteWebhook() async throws {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
60 |         try await sendNoContent(method: "DELETE", path: "/webhook")
61 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:65:5: warning: 'public' modifier is redundant for static method declared in a public extension
63 |     private nonisolated struct WebhookConfig: Decodable { let url: String? }
64 |
65 |     public nonisolated static func normalizedWebhookURL(_ raw: String) -> String? {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
66 |         let trimmed = raw.trimmingCharacters(in: .whitespacesAndNewlines)
67 |         return webhookPolicy.allows(trimmed) ? trimmed : nil
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:70:5: warning: 'public' modifier is redundant for static method declared in a public extension
68 |     }
69 |
70 |     public nonisolated static func validatedWebhookURL(_ raw: String?) throws -> String? {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
71 |         guard let raw else { return nil }
72 |         guard let normalized = normalizedWebhookURL(raw) else {
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:324:5: warning: 'public' modifier conflicts with extension's default access of 'private'
322 |
323 | private extension ScreenClient {
324 |     public nonisolated static func validateTimeRange(from: Int?, until: Int?) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
325 |         if let from {
326 |             guard (ScreenEpochMilliseconds.earliest ... ScreenEpochMilliseconds.latest).contains(from) else {
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:344:5: warning: 'public' modifier conflicts with extension's default access of 'private'
342 |     }
343 |
344 |     public nonisolated static func requirePositiveID(_ id: Int, kind: String) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
345 |         guard (1 ... maximumScreenID).contains(id) else {
346 |             throw CoderPadError.decode("Screen \(kind) ID must be a positive int32.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:350:5: warning: 'public' modifier conflicts with extension's default access of 'private'
348 |     }
349 |
350 |     public nonisolated static func requirePaginationStart(_ start: Int) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
351 |         guard start >= 0 else {
352 |             throw CoderPadError.decode("Screen pagination start must not be negative.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:360:5: warning: 'public' modifier conflicts with extension's default access of 'private'
358 |     }
359 |
360 |     public nonisolated static func normalizedFilter(
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
361 |         _ raw: String?,
362 |         name: String,
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:380:5: warning: 'public' modifier conflicts with extension's default access of 'private'
378 |     }
379 |
380 |     public nonisolated static func normalizedListFilters(product: String?, candidateEmail: String?) throws
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
381 |         -> (product: String?, candidateEmail: String?) {
382 |         let product = try normalizedProductFilter(product)
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:394:5: warning: 'public' modifier conflicts with extension's default access of 'private'
392 |     /// Trims and lowercases a product filter, then requires one of the documented
393 |     /// wire values (`screen`, `map`). `nil` means "no product filter" (#104).
394 |     public nonisolated static func normalizedProductFilter(_ raw: String?) throws -> String? {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
395 |         guard let product = try normalizedFilter(
396 |             raw, name: "product", maximumLength: maximumProductFilterLength
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:412:5: warning: 'public' modifier conflicts with extension's default access of 'private'
410 |     /// Normalizes invitation emails, enforces the candidate-name length limit, and
411 |     /// rejects contradictory delivery options before transport (#105, #108, #197).
412 |     public nonisolated static func validatedInvitation(_ invitation: ScreenInvitation) throws -> ScreenInvitation {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
413 |         var invitation = invitation
414 |         invitation.candidateEmail = try validatedInvitationEmail(
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:25:5: warning: 'public' modifier is redundant for instance method declared in a public extension
23 |     /// as successful "no URL" outcomes; those map to `nil` rather than an HTTP or decode
24 |     /// error so the optional return type matches the endpoint contract (#213, #214).
25 |     public nonisolated func webhookURL() async throws -> String? {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
26 |         let request = try authorizedRequest(path: "/webhook", method: "GET")
27 |         let data: Data
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:50:5: warning: 'public' modifier is redundant for instance method declared in a public extension
48 |     /// Sets (replacing any existing) the webhook callback URL. `POST /webhook`.
49 |     /// The request body is the URL as a bare JSON string, per the API contract.
50 |     public nonisolated func setWebhookURL(_ url: String) async throws {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
51 |         guard let url = Self.normalizedWebhookURL(url) else {
52 |             throw CoderPadError.decode("Screen webhook callback must be a public HTTPS URL.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:59:5: warning: 'public' modifier is redundant for instance method declared in a public extension
57 |
58 |     /// Removes the configured webhook. `DELETE /webhook`.
59 |     public nonisolated func deleteWebhook() async throws {
   |     `- warning: 'public' modifier is redundant for instance method declared in a public extension
60 |         try await sendNoContent(method: "DELETE", path: "/webhook")
61 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:65:5: warning: 'public' modifier is redundant for static method declared in a public extension
63 |     private nonisolated struct WebhookConfig: Decodable { let url: String? }
64 |
65 |     public nonisolated static func normalizedWebhookURL(_ raw: String) -> String? {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
66 |         let trimmed = raw.trimmingCharacters(in: .whitespacesAndNewlines)
67 |         return webhookPolicy.allows(trimmed) ? trimmed : nil
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient+Webhook.swift:70:5: warning: 'public' modifier is redundant for static method declared in a public extension
68 |     }
69 |
70 |     public nonisolated static func validatedWebhookURL(_ raw: String?) throws -> String? {
   |     `- warning: 'public' modifier is redundant for static method declared in a public extension
71 |         guard let raw else { return nil }
72 |         guard let normalized = normalizedWebhookURL(raw) else {
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:324:5: warning: 'public' modifier conflicts with extension's default access of 'private'
322 |
323 | private extension ScreenClient {
324 |     public nonisolated static func validateTimeRange(from: Int?, until: Int?) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
325 |         if let from {
326 |             guard (ScreenEpochMilliseconds.earliest ... ScreenEpochMilliseconds.latest).contains(from) else {
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:344:5: warning: 'public' modifier conflicts with extension's default access of 'private'
342 |     }
343 |
344 |     public nonisolated static func requirePositiveID(_ id: Int, kind: String) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
345 |         guard (1 ... maximumScreenID).contains(id) else {
346 |             throw CoderPadError.decode("Screen \(kind) ID must be a positive int32.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:350:5: warning: 'public' modifier conflicts with extension's default access of 'private'
348 |     }
349 |
350 |     public nonisolated static func requirePaginationStart(_ start: Int) throws {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
351 |         guard start >= 0 else {
352 |             throw CoderPadError.decode("Screen pagination start must not be negative.")
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:360:5: warning: 'public' modifier conflicts with extension's default access of 'private'
358 |     }
359 |
360 |     public nonisolated static func normalizedFilter(
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
361 |         _ raw: String?,
362 |         name: String,
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:380:5: warning: 'public' modifier conflicts with extension's default access of 'private'
378 |     }
379 |
380 |     public nonisolated static func normalizedListFilters(product: String?, candidateEmail: String?) throws
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
381 |         -> (product: String?, candidateEmail: String?) {
382 |         let product = try normalizedProductFilter(product)
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:394:5: warning: 'public' modifier conflicts with extension's default access of 'private'
392 |     /// Trims and lowercases a product filter, then requires one of the documented
393 |     /// wire values (`screen`, `map`). `nil` means "no product filter" (#104).
394 |     public nonisolated static func normalizedProductFilter(_ raw: String?) throws -> String? {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
395 |         guard let product = try normalizedFilter(
396 |             raw, name: "product", maximumLength: maximumProductFilterLength
/Users/admin/builder/spi-builder-workspace/Sources/CoderPadKit/ScreenClient.swift:412:5: warning: 'public' modifier conflicts with extension's default access of 'private'
410 |     /// Normalizes invitation emails, enforces the candidate-name length limit, and
411 |     /// rejects contradictory delivery options before transport (#105, #108, #197).
412 |     public nonisolated static func validatedInvitation(_ invitation: ScreenInvitation) throws -> ScreenInvitation {
    |     `- warning: 'public' modifier conflicts with extension's default access of 'private'
413 |         var invitation = invitation
414 |         invitation.candidateEmail = try validatedInvitationEmail(
Build complete.
{
  "dependencies" : [
    {
      "identity" : "paginatedrestclient",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/adamtheturtle/PaginatedRESTClient.git"
    },
    {
      "identity" : "safeurlkit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.2.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/adamtheturtle/SafeURLKit.git"
    }
  ],
  "manifest_display_name" : "CoderPadKit",
  "name" : "CoderPadKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "15.0"
    },
    {
      "name" : "ios",
      "version" : "18.0"
    },
    {
      "name" : "tvos",
      "version" : "18.0"
    },
    {
      "name" : "watchos",
      "version" : "11.0"
    },
    {
      "name" : "visionos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "CoderPadKit",
      "targets" : [
        "CoderPadKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CoderPadKitMock",
      "targets" : [
        "CoderPadKitMock"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CoderPadKitTests",
      "module_type" : "SwiftTarget",
      "name" : "CoderPadKitTests",
      "path" : "Tests/CoderPadKitTests",
      "sources" : [
        "AccountIntrospectionTests.swift",
        "ClientHardeningTests.swift",
        "DecodeToleranceTests.swift",
        "DeleteQuestionTests.swift",
        "InstructionStepNameTests.swift",
        "InterviewBaseURLValidationTests.swift",
        "InterviewPositiveIDValidationTests.swift",
        "MockFidelityBatch186199Tests.swift",
        "MockFidelityTests.swift",
        "MockInterviewFidelityTests.swift",
        "MockMultipartValidationTests.swift",
        "MockRouteValidationTests.swift",
        "MockScreenFidelityTests.swift",
        "MockScreenMalformedJSONTests.swift",
        "MockServerTests.swift",
        "ModelTests.swift",
        "ModelValidationDecodeTests.swift",
        "ModelsMutationsValidationTests.swift",
        "MultipartFormDataStagingTests.swift",
        "MutationRefreshTests.swift",
        "OpenableHTTPSURLTests.swift",
        "OrganizationStatsRangeTests.swift",
        "OrganizationUserEmailFilterTests.swift",
        "PadAnalyticsTests.swift",
        "PadControlTests.swift",
        "PadEnvironmentDecodeTests.swift",
        "PadEventIdentityTests.swift",
        "PadEventsSortTests.swift",
        "PadHistoryTests.swift",
        "PadHistoryURLPolicyTests.swift",
        "PadIDValidationTests.swift",
        "PadMutationValidationTests.swift",
        "PaginationIdentityTests.swift",
        "QuestionArrayWireTests.swift",
        "QuestionFilterTests.swift",
        "QuestionInstructionSchemaDecodeTests.swift",
        "QuestionProjectMetadataTests.swift",
        "QuestionSharingDatabaseTests.swift",
        "QuestionVariantNullableTests.swift",
        "QuestionVariantTests.swift",
        "QuestionZIPUploadArchiveStructureTests.swift",
        "QuestionZIPUploadTests.swift",
        "RawAPITests.swift",
        "RawHTTPMethodValidationTests.swift",
        "ResponseLimitConfigurationTests.swift",
        "ScreenAIConversationTests.swift",
        "ScreenBoundedDownloadTests.swift",
        "ScreenCampaignCreationTests.swift",
        "ScreenCampaignCreationTransportTests.swift",
        "ScreenDetailedResultsTests.swift",
        "ScreenDetailedResultsTransportTests.swift",
        "ScreenDuplicateInvitationTests.swift",
        "ScreenErrorBodyDecodingTests.swift",
        "ScreenProjectArchiveTests.swift",
        "ScreenQuestionBankTests.swift",
        "ScreenQuestionBankTransportTests.swift",
        "ScreenQuestionCodePayloadTests.swift",
        "ScreenQuestionInsightsTests.swift",
        "ScreenRedirectTests.swift",
        "ScreenReportDownloadErrorTests.swift",
        "ScreenReportFilesTests.swift",
        "ScreenReportOperationLimiterTests.swift",
        "ScreenResponseLimitTests.swift",
        "ScreenTemporaryFileTests.swift",
        "ScreenWarningSanitizationTests.swift",
        "coderpadTests+Screen+Mock.swift",
        "coderpadTests+Screen+UnstablePaginationMock.swift",
        "coderpadTests+Screen.swift",
        "coderpadTests+ScreenDates.swift",
        "coderpadTests+ScreenInvitationValidation.swift",
        "coderpadTests+ScreenMetrics.swift",
        "coderpadTests+ScreenPaginationValidation.swift",
        "coderpadTests+ScreenProductFilter.swift",
        "coderpadTests+ScreenRequestBounds.swift",
        "coderpadTests+ScreenSessionValidation.swift",
        "coderpadTests+ScreenTolerantDecode.swift",
        "coderpadTests+ScreenWebhook.swift"
      ],
      "target_dependencies" : [
        "CoderPadKit",
        "CoderPadKitMock"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CoderPadKitMock",
      "module_type" : "SwiftTarget",
      "name" : "CoderPadKitMock",
      "path" : "Sources/CoderPadKitMock",
      "product_memberships" : [
        "CoderPadKitMock"
      ],
      "sources" : [
        "CoderPadClient+Mock.swift",
        "MockRequestBody.swift",
        "MockScreen+AIConversations.swift",
        "MockScreen+CampaignCreation.swift",
        "MockScreen+DetailedResults.swift",
        "MockScreen+Fixtures.swift",
        "MockScreen+ProjectArchive.swift",
        "MockScreen+QuestionBank.swift",
        "MockScreen+QuestionBankFixtures.swift",
        "MockScreen+QuestionBankPagination.swift",
        "MockScreen+QuestionInsights.swift",
        "MockScreen+ReportPDF.swift",
        "MockScreen+Responses.swift",
        "MockScreen+State.swift",
        "MockScreen+TemporaryFiles.swift",
        "MockScreen+TestRoutes.swift",
        "MockScreen.swift",
        "MockServer+Environments.swift",
        "MockServer+Fixtures.swift",
        "MockServer+History.swift",
        "MockServer+List.swift",
        "MockServer+Multipart.swift",
        "MockServer+Organization.swift",
        "MockServer+OrganizationResponses.swift",
        "MockServer+PadAnalytics.swift",
        "MockServer+ParentQuestionFiles.swift",
        "MockServer+QuestionFilters.swift",
        "MockServer+QuestionResponses.swift",
        "MockServer+QuestionVariants.swift",
        "MockServer+Questions.swift",
        "MockServer+RealisticHistory.swift",
        "MockServer+Responses.swift",
        "MockServer+State.swift",
        "MockServer.swift"
      ],
      "target_dependencies" : [
        "CoderPadKit"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CoderPadKit",
      "module_type" : "SwiftTarget",
      "name" : "CoderPadKit",
      "path" : "Sources/CoderPadKit",
      "product_dependencies" : [
        "PaginatedRESTClient",
        "SafeURLKit"
      ],
      "product_memberships" : [
        "CoderPadKit",
        "CoderPadKitMock"
      ],
      "sources" : [
        "APIKeyNormalization.swift",
        "AccountIntrospection.swift",
        "CoderPadClient+BaseURL.swift",
        "CoderPadClient+Identity.swift",
        "CoderPadClient+Multipart.swift",
        "CoderPadClient+Organization.swift",
        "CoderPadClient+PadHistory.swift",
        "CoderPadClient+QuestionVariants.swift",
        "CoderPadClient.swift",
        "CoderPadError.swift",
        "CoderPadMutationRefreshError.swift",
        "CoderPadRetryPolicy.swift",
        "EmailValidation.swift",
        "InterviewLanguage.swift",
        "LifecycleConsistency.swift",
        "Logging.swift",
        "MultipartFormData.swift",
        "OpenableHTTPSURL.swift",
        "OptimisticEdit.swift",
        "Organization.swift",
        "Pad.swift",
        "PadAnalytics.swift",
        "PadEnvironment.swift",
        "PadHistoryURLPolicy.swift",
        "Question.swift",
        "QuestionArrayEncoding.swift",
        "QuestionFilters.swift",
        "QuestionProjectMetadata.swift",
        "QuestionVariant.swift",
        "QuestionZIPUpload.swift",
        "RawAPI.swift",
        "RequestValidation.swift",
        "Requests.swift",
        "ScreenAIConversation.swift",
        "ScreenAPI+Dates.swift",
        "ScreenAPI+Identity.swift",
        "ScreenAPI+Invitation.swift",
        "ScreenAPI+Metrics.swift",
        "ScreenAPI+Pagination.swift",
        "ScreenAPI+ReportBounds.swift",
        "ScreenAPI.swift",
        "ScreenCampaignCreation.swift",
        "ScreenCampaignSettings.swift",
        "ScreenClient+BaseURL.swift",
        "ScreenClient+Pagination.swift",
        "ScreenClient+ProjectArchive.swift",
        "ScreenClient+QuestionBank.swift",
        "ScreenClient+QuestionInsights.swift",
        "ScreenClient+ReportDownload.swift",
        "ScreenClient+ResponseData.swift",
        "ScreenClient+TemporaryFiles.swift",
        "ScreenClient+Webhook.swift",
        "ScreenClient.swift",
        "ScreenDetailedQuestion.swift",
        "ScreenDictionaryKey.swift",
        "ScreenQuestionContentInputs.swift",
        "ScreenQuestionEvaluationInputs.swift",
        "ScreenQuestionFilters+Query.swift",
        "ScreenQuestionInsights.swift",
        "ScreenQuestionPagination.swift",
        "ScreenQuestionResponses.swift",
        "ScreenRedirectDelegate.swift",
        "ScreenReportFiles.swift",
        "ScreenReportOperationLimiter.swift",
        "ScreenSessionQuestion.swift",
        "TolerantJSON.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.2"
}
Done.