Build Information
Successful build of TrainingPlanKit, reference main (892de8), with Swift 6.1 for macOS (SPM) on 21 Jul 2026 04:20:25 UTC.
Swift 6 data race errors: 66
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
48 | public static let longRun = WorkoutType(name: "Long Run")
| |- warning: static property 'longRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'longRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:49:23: warning: static property 'progressionRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
47 | public static let easyRun = WorkoutType(name: "Easy Run")
48 | public static let longRun = WorkoutType(name: "Long Run")
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
| |- warning: static property 'progressionRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'progressionRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:50:23: warning: static property 'intervalRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
48 | public static let longRun = WorkoutType(name: "Long Run")
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
| |- warning: static property 'intervalRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intervalRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:51:23: warning: static property 'speedRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
| |- warning: static property 'speedRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'speedRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:52:23: warning: static property 'thresholdRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
| |- warning: static property 'thresholdRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'thresholdRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:53:23: warning: static property 'fartlekRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
| |- warning: static property 'fartlekRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fartlekRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:54:23: warning: static property 'recoveryRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
| |- warning: static property 'recoveryRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'recoveryRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:55:23: warning: static property 'freeRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
| |- warning: static property 'freeRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'freeRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:56:23: warning: static property 'race' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
| |- warning: static property 'race' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'race' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static let cycling = WorkoutType(name: "Cycling")
58 | public static let yoga = WorkoutType(name: "Yoga")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:57:23: warning: static property 'cycling' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
| |- warning: static property 'cycling' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cycling' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static let yoga = WorkoutType(name: "Yoga")
59 |
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:58:23: warning: static property 'yoga' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
58 | public static let yoga = WorkoutType(name: "Yoga")
| |- warning: static property 'yoga' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'yoga' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 |
60 | // Static array for default types
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:55:23: warning: static property 'beginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
53 | // MARK: - Presets per runner level
54 |
55 | public static let beginner = PaceProgressionConfig(
| |- warning: static property 'beginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | initialAdjustment: 1.0, // Start fully conservative
57 | finalAdjustment: 0.0, // Reach true zones by race week (0.5 kept beginner
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:63:23: warning: static property 'intermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
61 | )
62 |
63 | public static let intermediate = PaceProgressionConfig(
| |- warning: static property 'intermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | // Quality easing matched to .advanced (0.5 → 0.0). The previous
65 | // 0.8 → 0.2 ramp held quality so conservative that a "10K Pace" or
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:77:23: warning: static property 'advanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
75 | )
76 |
77 | public static let advanced = PaceProgressionConfig(
| |- warning: static property 'advanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | initialAdjustment: 0.5, // Start moderate
79 | finalAdjustment: 0.0, // End at full standard multipliers
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:87:23: warning: static property 'competitive' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
85 | /// via a recent race result (gate requires VDOT ≥ 58). All zones flat
86 | /// at goal target paces from day 1.
87 | public static let competitive = PaceProgressionConfig(
| |- warning: static property 'competitive' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | initialAdjustment: 0.0,
89 | finalAdjustment: 0.0,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:101:23: warning: static property 'competitiveBuildBand' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
99 | /// at the runner's VDOT-derived easy pace (floored at race), not the
100 | /// generic 1.15×race which is too slow at elite goal paces.
101 | public static let competitiveBuildBand = PaceProgressionConfig(
| |- warning: static property 'competitiveBuildBand' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitiveBuildBand' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | initialAdjustment: 0.5,
103 | finalAdjustment: 0.0,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:111:23: warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
109 | // MARK: - Maintenance presets (very slow progression, stays conservative)
110 |
111 | public static let maintenanceBeginner = PaceProgressionConfig(
| |- warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceBeginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | initialAdjustment: 1.0, // Start fully conservative
113 | finalAdjustment: 0.8, // Stay very conservative even at end
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:118:23: warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
116 | )
117 |
118 | public static let maintenanceIntermediate = PaceProgressionConfig(
| |- warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceIntermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | initialAdjustment: 0.9, // Start very conservative
120 | finalAdjustment: 0.6, // Stay mostly conservative
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:125:23: warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
123 | )
124 |
125 | public static let maintenanceAdvanced = PaceProgressionConfig(
| |- warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceAdvanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
126 | initialAdjustment: 0.7, // Start conservative
127 | finalAdjustment: 0.4, // Moderate by end
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:576:24: warning: static property 'segmentTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
574 | /// major segment (≥10min) to the 5-min tick and rebuild the total from the
575 | /// segments, so warmup, work block and cooldown all read as prescriptions.
576 | private static let segmentTickSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'segmentTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'segmentTickSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
577 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K, .fastFinish
578 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:637:24: warning: static property 'fiveMinTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
635 | /// jitter that pace-easing + clamp scaling produce. Excludes structured work
636 | /// (intervals, threshold, race rehearsals) whose minutes are dose-driven.
637 | private static let fiveMinTickSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'fiveMinTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fiveMinTickSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
638 | .easy, .recovery, .long, .steadyLong, .mediumLong, .progressiveLong, .progression
639 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:692:24: warning: static property 'longRunSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
690 | /// runner's marathon long run doesn't balloon to 45+ km and a slow runner's
691 | /// doesn't shrink below the aerobic-development floor.
692 | private static let longRunSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'longRunSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'longRunSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
693 | .long, .steadyLong, .progressiveLong,
694 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K, .fastFinish
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
[16/34] Compiling TrainingPlanKit PaceZoneConverter.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:47:23: warning: static property 'easyRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
45 |
46 | // Default cases
47 | public static let easyRun = WorkoutType(name: "Easy Run")
| |- warning: static property 'easyRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'easyRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | public static let longRun = WorkoutType(name: "Long Run")
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:48:23: warning: static property 'longRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
46 | // Default cases
47 | public static let easyRun = WorkoutType(name: "Easy Run")
48 | public static let longRun = WorkoutType(name: "Long Run")
| |- warning: static property 'longRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'longRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:49:23: warning: static property 'progressionRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
47 | public static let easyRun = WorkoutType(name: "Easy Run")
48 | public static let longRun = WorkoutType(name: "Long Run")
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
| |- warning: static property 'progressionRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'progressionRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:50:23: warning: static property 'intervalRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
48 | public static let longRun = WorkoutType(name: "Long Run")
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
| |- warning: static property 'intervalRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intervalRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:51:23: warning: static property 'speedRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
49 | public static let progressionRun = WorkoutType(name: "Progression Run")
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
| |- warning: static property 'speedRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'speedRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:52:23: warning: static property 'thresholdRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
50 | public static let intervalRun = WorkoutType(name: "Intervals")
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
| |- warning: static property 'thresholdRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'thresholdRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:53:23: warning: static property 'fartlekRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
51 | public static let speedRun = WorkoutType(name: "Speed Run")
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
| |- warning: static property 'fartlekRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fartlekRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:54:23: warning: static property 'recoveryRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
52 | public static let thresholdRun = WorkoutType(name: "Threshold")
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
| |- warning: static property 'recoveryRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'recoveryRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:55:23: warning: static property 'freeRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
53 | public static let fartlekRun = WorkoutType(name: "Fartlek Run")
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
| |- warning: static property 'freeRun' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'freeRun' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:56:23: warning: static property 'race' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
54 | public static let recoveryRun = WorkoutType(name: "Recovery Run")
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
| |- warning: static property 'race' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'race' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static let cycling = WorkoutType(name: "Cycling")
58 | public static let yoga = WorkoutType(name: "Yoga")
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:57:23: warning: static property 'cycling' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
55 | public static let freeRun = WorkoutType(name: "Free Run")
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
| |- warning: static property 'cycling' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cycling' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static let yoga = WorkoutType(name: "Yoga")
59 |
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:58:23: warning: static property 'yoga' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 |
37 | public struct WorkoutType: Identifiable, Codable, Equatable, Hashable {
| `- note: consider making struct 'WorkoutType' conform to the 'Sendable' protocol
38 | public var name: String
39 |
:
56 | public static let race = WorkoutType(name: "Race")
57 | public static let cycling = WorkoutType(name: "Cycling")
58 | public static let yoga = WorkoutType(name: "Yoga")
| |- warning: static property 'yoga' is not concurrency-safe because non-'Sendable' type 'WorkoutType' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'yoga' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 |
60 | // Static array for default types
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:55:23: warning: static property 'beginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
53 | // MARK: - Presets per runner level
54 |
55 | public static let beginner = PaceProgressionConfig(
| |- warning: static property 'beginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | initialAdjustment: 1.0, // Start fully conservative
57 | finalAdjustment: 0.0, // Reach true zones by race week (0.5 kept beginner
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:63:23: warning: static property 'intermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
61 | )
62 |
63 | public static let intermediate = PaceProgressionConfig(
| |- warning: static property 'intermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | // Quality easing matched to .advanced (0.5 → 0.0). The previous
65 | // 0.8 → 0.2 ramp held quality so conservative that a "10K Pace" or
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:77:23: warning: static property 'advanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
75 | )
76 |
77 | public static let advanced = PaceProgressionConfig(
| |- warning: static property 'advanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | initialAdjustment: 0.5, // Start moderate
79 | finalAdjustment: 0.0, // End at full standard multipliers
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:87:23: warning: static property 'competitive' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
85 | /// via a recent race result (gate requires VDOT ≥ 58). All zones flat
86 | /// at goal target paces from day 1.
87 | public static let competitive = PaceProgressionConfig(
| |- warning: static property 'competitive' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | initialAdjustment: 0.0,
89 | finalAdjustment: 0.0,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:101:23: warning: static property 'competitiveBuildBand' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
99 | /// at the runner's VDOT-derived easy pace (floored at race), not the
100 | /// generic 1.15×race which is too slow at elite goal paces.
101 | public static let competitiveBuildBand = PaceProgressionConfig(
| |- warning: static property 'competitiveBuildBand' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitiveBuildBand' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | initialAdjustment: 0.5,
103 | finalAdjustment: 0.0,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:111:23: warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
109 | // MARK: - Maintenance presets (very slow progression, stays conservative)
110 |
111 | public static let maintenanceBeginner = PaceProgressionConfig(
| |- warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceBeginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | initialAdjustment: 1.0, // Start fully conservative
113 | finalAdjustment: 0.8, // Stay very conservative even at end
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:118:23: warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
116 | )
117 |
118 | public static let maintenanceIntermediate = PaceProgressionConfig(
| |- warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceIntermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | initialAdjustment: 0.9, // Start very conservative
120 | finalAdjustment: 0.6, // Stay mostly conservative
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:125:23: warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
22 | /// Different runner levels get different progression curves.
23 | /// All values are easily tweakable.
24 | public struct PaceProgressionConfig {
| `- note: consider making struct 'PaceProgressionConfig' conform to the 'Sendable' protocol
25 | /// How much to blend toward conservativeTarget at plan START (1.0 = fully conservative, 0.0 = use base zone multiplier)
26 | public let initialAdjustment: Double
:
123 | )
124 |
125 | public static let maintenanceAdvanced = PaceProgressionConfig(
| |- warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PaceProgressionConfig' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceAdvanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
126 | initialAdjustment: 0.7, // Start conservative
127 | finalAdjustment: 0.4, // Moderate by end
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:576:24: warning: static property 'segmentTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
574 | /// major segment (≥10min) to the 5-min tick and rebuild the total from the
575 | /// segments, so warmup, work block and cooldown all read as prescriptions.
576 | private static let segmentTickSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'segmentTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'segmentTickSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
577 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K, .fastFinish
578 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:637:24: warning: static property 'fiveMinTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
635 | /// jitter that pace-easing + clamp scaling produce. Excludes structured work
636 | /// (intervals, threshold, race rehearsals) whose minutes are dose-driven.
637 | private static let fiveMinTickSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'fiveMinTickSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fiveMinTickSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
638 | .easy, .recovery, .long, .steadyLong, .mediumLong, .progressiveLong, .progression
639 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Pacing/PaceZoneConverter.swift:692:24: warning: static property 'longRunSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
690 | /// runner's marathon long run doesn't balloon to 45+ km and a slow runner's
691 | /// doesn't shrink below the aerobic-development floor.
692 | private static let longRunSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'longRunSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'longRunSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
693 | .long, .steadyLong, .progressiveLong,
694 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K, .fastFinish
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
[17/34] Compiling TrainingPlanKit C25KPlanGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/CompetitivePlanGenerator.swift:663:69: warning: will never be executed
661 | } else {
662 | easyTargetLoad = targetLoad * ((isLongRace && isFirstFill) ? mlrLoadMult
663 | : isSecondMLR ? 0.29 : fillLoadMult)
| | `- warning: will never be executed
| `- note: condition always evaluates to false
664 | }
665 | // Hard-cap easy duration when tapering so the selector can't pick a
[18/34] Compiling TrainingPlanKit CompetitivePlanGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/CompetitivePlanGenerator.swift:663:69: warning: will never be executed
661 | } else {
662 | easyTargetLoad = targetLoad * ((isLongRace && isFirstFill) ? mlrLoadMult
663 | : isSecondMLR ? 0.29 : fillLoadMult)
| | `- warning: will never be executed
| `- note: condition always evaluates to false
664 | }
665 | // Hard-cap easy duration when tapering so the selector can't pick a
[19/34] Compiling TrainingPlanKit DistanceClass.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/CompetitivePlanGenerator.swift:663:69: warning: will never be executed
661 | } else {
662 | easyTargetLoad = targetLoad * ((isLongRace && isFirstFill) ? mlrLoadMult
663 | : isSecondMLR ? 0.29 : fillLoadMult)
| | `- warning: will never be executed
| `- note: condition always evaluates to false
664 | }
665 | // Hard-cap easy duration when tapering so the selector can't pick a
[20/34] Compiling TrainingPlanKit Plan.swift
[21/34] Compiling TrainingPlanKit Workout.swift
[22/34] Compiling TrainingPlanKit WorkoutEvent.swift
[23/34] Compiling TrainingPlanKit PlanConfiguration+Advanced.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:14:23: warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let advanced5Default = PlanConfiguration(
| |- warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:41:23: warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let advanced10Default = PlanConfiguration(
| |- warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:73:23: warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
71 | )
72 |
73 | public static let advanced21Default = PlanConfiguration(
| |- warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | raceDate: Date(),
75 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:101:23: warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | // Default configuration for advanced runner with flexible durations
101 | public static let advanced42Default = PlanConfiguration(
| |- warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | raceDate: Date(),
103 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:132:23: warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: advanced 21K shape at ~0.85 volume.
132 | public static let advanced15Default = PlanConfiguration(
| |- warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:160:23: warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let advanced10MiDefault = PlanConfiguration(
| |- warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:188:23: warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume.
188 | public static let advanced30Default = PlanConfiguration(
| |- warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:216:23: warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet, gentler ramp, 3-week taper.
216 | public static let advanced50Default = PlanConfiguration(
| |- warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:16:23: warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | // Default configuration for a beginner with flexible durations
16 | public static let beginner5Default = PlanConfiguration(
| |- warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(), // This should be set by the caller
18 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:46:23: warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | // 10K configurations
46 | public static let beginner10Default = PlanConfiguration(
| |- warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | raceDate: Date(),
48 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:74:23: warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | // 21K (Half Marathon) configurations
74 | public static let beginner21Default = PlanConfiguration(
| |- warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | raceDate: Date(),
76 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:108:23: warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | // Default configuration for a beginner with flexible durations
108 | public static let beginner42Default = PlanConfiguration(
| |- warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | raceDate: Date(), // This should be set by the caller
110 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:140:23: warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
138 |
139 | // 15K — HM-lite (Daniels 15K-to-half band): 21K shape at ~0.85 volume.
140 | public static let beginner15Default = PlanConfiguration(
| |- warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
141 | raceDate: Date(),
142 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:168:23: warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
166 |
167 | // 10 mile — a hair over 15K; same band, slightly longer LR ladder.
168 | public static let beginner10MiDefault = PlanConfiguration(
| |- warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
169 | raceDate: Date(),
170 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:18:23: warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
16 | // the generator's 5K branch drops the LR slot; endurance comes from easy
17 | // frequency. Volume ~70-90 km/wk peak, per Daniels Phase III-IV 5K.
18 | public static let competitive5Default = PlanConfiguration(
| |- warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | raceDate: Date(),
20 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:54:23: warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
52 | // (unlike 5K) but shorter than half: peak LR ~105min ≈ 22-24km.
53 | // Daniels Adv 10K sits 70-90 km/wk; competitive lands just above.
54 | public static let competitive10Default = PlanConfiguration(
| |- warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | raceDate: Date(),
56 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:91:23: warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
89 | // fatigue. Pfitz/Daniels advanced half plans use 3-week tapers for
90 | // 16-18w cycles. minTaperPhaseWeeks 3 ≈ a real 3-week ramp-down.
91 | public static let competitive21Default = PlanConfiguration(
| |- warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
92 | raceDate: Date(),
93 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:130:23: warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
128 | // sub-3h athlete after 60-90 km/wk peak leaves lingering fatigue
129 | // that wrecks race day. taperPhaseRatio 0.15 ≈ 3 weeks of an 18w plan.
130 | public static let competitive42Default = PlanConfiguration(
| |- warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | raceDate: Date(),
132 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[24/34] Compiling TrainingPlanKit PlanConfiguration+Beginner.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:14:23: warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let advanced5Default = PlanConfiguration(
| |- warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:41:23: warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let advanced10Default = PlanConfiguration(
| |- warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:73:23: warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
71 | )
72 |
73 | public static let advanced21Default = PlanConfiguration(
| |- warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | raceDate: Date(),
75 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:101:23: warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | // Default configuration for advanced runner with flexible durations
101 | public static let advanced42Default = PlanConfiguration(
| |- warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | raceDate: Date(),
103 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:132:23: warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: advanced 21K shape at ~0.85 volume.
132 | public static let advanced15Default = PlanConfiguration(
| |- warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:160:23: warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let advanced10MiDefault = PlanConfiguration(
| |- warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:188:23: warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume.
188 | public static let advanced30Default = PlanConfiguration(
| |- warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:216:23: warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet, gentler ramp, 3-week taper.
216 | public static let advanced50Default = PlanConfiguration(
| |- warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:16:23: warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | // Default configuration for a beginner with flexible durations
16 | public static let beginner5Default = PlanConfiguration(
| |- warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(), // This should be set by the caller
18 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:46:23: warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | // 10K configurations
46 | public static let beginner10Default = PlanConfiguration(
| |- warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | raceDate: Date(),
48 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:74:23: warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | // 21K (Half Marathon) configurations
74 | public static let beginner21Default = PlanConfiguration(
| |- warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | raceDate: Date(),
76 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:108:23: warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | // Default configuration for a beginner with flexible durations
108 | public static let beginner42Default = PlanConfiguration(
| |- warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | raceDate: Date(), // This should be set by the caller
110 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:140:23: warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
138 |
139 | // 15K — HM-lite (Daniels 15K-to-half band): 21K shape at ~0.85 volume.
140 | public static let beginner15Default = PlanConfiguration(
| |- warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
141 | raceDate: Date(),
142 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:168:23: warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
166 |
167 | // 10 mile — a hair over 15K; same band, slightly longer LR ladder.
168 | public static let beginner10MiDefault = PlanConfiguration(
| |- warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
169 | raceDate: Date(),
170 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:18:23: warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
16 | // the generator's 5K branch drops the LR slot; endurance comes from easy
17 | // frequency. Volume ~70-90 km/wk peak, per Daniels Phase III-IV 5K.
18 | public static let competitive5Default = PlanConfiguration(
| |- warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | raceDate: Date(),
20 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:54:23: warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
52 | // (unlike 5K) but shorter than half: peak LR ~105min ≈ 22-24km.
53 | // Daniels Adv 10K sits 70-90 km/wk; competitive lands just above.
54 | public static let competitive10Default = PlanConfiguration(
| |- warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | raceDate: Date(),
56 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:91:23: warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
89 | // fatigue. Pfitz/Daniels advanced half plans use 3-week tapers for
90 | // 16-18w cycles. minTaperPhaseWeeks 3 ≈ a real 3-week ramp-down.
91 | public static let competitive21Default = PlanConfiguration(
| |- warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
92 | raceDate: Date(),
93 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:130:23: warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
128 | // sub-3h athlete after 60-90 km/wk peak leaves lingering fatigue
129 | // that wrecks race day. taperPhaseRatio 0.15 ≈ 3 weeks of an 18w plan.
130 | public static let competitive42Default = PlanConfiguration(
| |- warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | raceDate: Date(),
132 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[25/34] Compiling TrainingPlanKit PlanConfiguration+Competitive.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:14:23: warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let advanced5Default = PlanConfiguration(
| |- warning: static property 'advanced5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:41:23: warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let advanced10Default = PlanConfiguration(
| |- warning: static property 'advanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:73:23: warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
71 | )
72 |
73 | public static let advanced21Default = PlanConfiguration(
| |- warning: static property 'advanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 | raceDate: Date(),
75 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:101:23: warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
99 |
100 | // Default configuration for advanced runner with flexible durations
101 | public static let advanced42Default = PlanConfiguration(
| |- warning: static property 'advanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | raceDate: Date(),
103 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:132:23: warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: advanced 21K shape at ~0.85 volume.
132 | public static let advanced15Default = PlanConfiguration(
| |- warning: static property 'advanced15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:160:23: warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let advanced10MiDefault = PlanConfiguration(
| |- warning: static property 'advanced10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:188:23: warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume.
188 | public static let advanced30Default = PlanConfiguration(
| |- warning: static property 'advanced30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Advanced.swift:216:23: warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet, gentler ramp, 3-week taper.
216 | public static let advanced50Default = PlanConfiguration(
| |- warning: static property 'advanced50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'advanced50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:16:23: warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
14 |
15 | // Default configuration for a beginner with flexible durations
16 | public static let beginner5Default = PlanConfiguration(
| |- warning: static property 'beginner5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(), // This should be set by the caller
18 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:46:23: warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
44 |
45 | // 10K configurations
46 | public static let beginner10Default = PlanConfiguration(
| |- warning: static property 'beginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 | raceDate: Date(),
48 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:74:23: warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
72 |
73 | // 21K (Half Marathon) configurations
74 | public static let beginner21Default = PlanConfiguration(
| |- warning: static property 'beginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
75 | raceDate: Date(),
76 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:108:23: warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
106 |
107 | // Default configuration for a beginner with flexible durations
108 | public static let beginner42Default = PlanConfiguration(
| |- warning: static property 'beginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
109 | raceDate: Date(), // This should be set by the caller
110 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:140:23: warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
138 |
139 | // 15K — HM-lite (Daniels 15K-to-half band): 21K shape at ~0.85 volume.
140 | public static let beginner15Default = PlanConfiguration(
| |- warning: static property 'beginner15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
141 | raceDate: Date(),
142 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Beginner.swift:168:23: warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
166 |
167 | // 10 mile — a hair over 15K; same band, slightly longer LR ladder.
168 | public static let beginner10MiDefault = PlanConfiguration(
| |- warning: static property 'beginner10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'beginner10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
169 | raceDate: Date(),
170 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:18:23: warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
16 | // the generator's 5K branch drops the LR slot; endurance comes from easy
17 | // frequency. Volume ~70-90 km/wk peak, per Daniels Phase III-IV 5K.
18 | public static let competitive5Default = PlanConfiguration(
| |- warning: static property 'competitive5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | raceDate: Date(),
20 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:54:23: warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
52 | // (unlike 5K) but shorter than half: peak LR ~105min ≈ 22-24km.
53 | // Daniels Adv 10K sits 70-90 km/wk; competitive lands just above.
54 | public static let competitive10Default = PlanConfiguration(
| |- warning: static property 'competitive10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | raceDate: Date(),
56 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:91:23: warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
89 | // fatigue. Pfitz/Daniels advanced half plans use 3-week tapers for
90 | // 16-18w cycles. minTaperPhaseWeeks 3 ≈ a real 3-week ramp-down.
91 | public static let competitive21Default = PlanConfiguration(
| |- warning: static property 'competitive21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
92 | raceDate: Date(),
93 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Competitive.swift:130:23: warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
128 | // sub-3h athlete after 60-90 km/wk peak leaves lingering fatigue
129 | // that wrecks race day. taperPhaseRatio 0.15 ≈ 3 weeks of an 18w plan.
130 | public static let competitive42Default = PlanConfiguration(
| |- warning: static property 'competitive42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'competitive42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 | raceDate: Date(),
132 | runnerLevel: .competitive,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[26/34] Compiling TrainingPlanKit PlanGeneratorV3.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanGeneratorV3.swift:756:16: warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
754 | // Every race-rehearsal subtype. eligibleDistances pins at most one of these to
755 | // a given plan, so "the plan's rehearsal" is well-defined.
756 | static let rehearsalSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rehearsalSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
757 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K,
758 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
[27/34] Compiling TrainingPlanKit PlanProfile.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanGeneratorV3.swift:756:16: warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
754 | // Every race-rehearsal subtype. eligibleDistances pins at most one of these to
755 | // a given plan, so "the plan's rehearsal" is well-defined.
756 | static let rehearsalSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rehearsalSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
757 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K,
758 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
[28/34] Compiling TrainingPlanKit RaceWorkoutFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanGeneratorV3.swift:756:16: warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
754 | // Every race-rehearsal subtype. eligibleDistances pins at most one of these to
755 | // a given plan, so "the plan's rehearsal" is well-defined.
756 | static let rehearsalSubtypes: Set<WorkoutSubtype> = [
| |- warning: static property 'rehearsalSubtypes' is not concurrency-safe because non-'Sendable' type 'Set<WorkoutSubtype>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'rehearsalSubtypes' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
757 | .raceRehearsalM, .raceRehearsalHM, .raceRehearsal10K,
758 | ]
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Models/WorkoutTypes.swift:88:13: note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
86 | }
87 |
88 | public enum WorkoutSubtype: String, CaseIterable, Identifiable, Codable {
| `- note: consider making enum 'WorkoutSubtype' conform to the 'Sendable' protocol
89 | case intervals
90 | case pyramidIntervals
[29/34] Compiling TrainingPlanKit PlanConfiguration+CouchTo5K.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:14:23: warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let intermediate5Default = PlanConfiguration(
| |- warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:41:23: warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let intermediate10Default = PlanConfiguration(
| |- warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:72:23: warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
70 | )
71 |
72 | public static let intermediate21Default = PlanConfiguration(
| |- warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:102:23: warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | // Default configuration for intermediate runner with flexible durations
102 | public static let intermediate42Default = PlanConfiguration(
| |- warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | raceDate: Date(),
104 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:132:23: warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: intermediate 21K shape at ~0.85 volume.
132 | public static let intermediate15Default = PlanConfiguration(
| |- warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:160:23: warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let intermediate10MiDefault = PlanConfiguration(
| |- warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:188:23: warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume; render window peaks LR 22-27km.
188 | public static let intermediate30Default = PlanConfiguration(
| |- warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:216:23: warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet (LR render-capped 28-34km), gentler ramp, 3-week taper.
216 | public static let intermediate50Default = PlanConfiguration(
| |- warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:21:23: warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
19 | // still "a couple" for a beginner runner and lets the phaseBoost
20 | // actually deliver a 50→90 min/wk progression.
21 | public static let maintenanceBeginner = PlanConfiguration(
| |- warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceBeginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | raceDate: Date().addingTimeInterval(60 * 24 * 3600), // 60 days default
23 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:48:23: warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
46 | )
47 |
48 | public static let maintenanceIntermediate = PlanConfiguration(
| |- warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceIntermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
50 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:75:23: warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
73 | )
74 |
75 | public static let maintenanceAdvanced = PlanConfiguration(
| |- warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceAdvanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
77 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[30/34] Compiling TrainingPlanKit PlanConfiguration+Intermediate.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:14:23: warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let intermediate5Default = PlanConfiguration(
| |- warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:41:23: warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let intermediate10Default = PlanConfiguration(
| |- warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:72:23: warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
70 | )
71 |
72 | public static let intermediate21Default = PlanConfiguration(
| |- warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:102:23: warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | // Default configuration for intermediate runner with flexible durations
102 | public static let intermediate42Default = PlanConfiguration(
| |- warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | raceDate: Date(),
104 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:132:23: warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: intermediate 21K shape at ~0.85 volume.
132 | public static let intermediate15Default = PlanConfiguration(
| |- warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:160:23: warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let intermediate10MiDefault = PlanConfiguration(
| |- warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:188:23: warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume; render window peaks LR 22-27km.
188 | public static let intermediate30Default = PlanConfiguration(
| |- warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:216:23: warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet (LR render-capped 28-34km), gentler ramp, 3-week taper.
216 | public static let intermediate50Default = PlanConfiguration(
| |- warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:21:23: warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
19 | // still "a couple" for a beginner runner and lets the phaseBoost
20 | // actually deliver a 50→90 min/wk progression.
21 | public static let maintenanceBeginner = PlanConfiguration(
| |- warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceBeginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | raceDate: Date().addingTimeInterval(60 * 24 * 3600), // 60 days default
23 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:48:23: warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
46 | )
47 |
48 | public static let maintenanceIntermediate = PlanConfiguration(
| |- warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceIntermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
50 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:75:23: warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
73 | )
74 |
75 | public static let maintenanceAdvanced = PlanConfiguration(
| |- warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceAdvanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
77 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[31/34] Compiling TrainingPlanKit PlanConfiguration+Maintenance.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:14:23: warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
12 | extension PlanConfiguration {
13 |
14 | public static let intermediate5Default = PlanConfiguration(
| |- warning: static property 'intermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | raceDate: Date(),
16 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:41:23: warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
39 | )
40 |
41 | public static let intermediate10Default = PlanConfiguration(
| |- warning: static property 'intermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | raceDate: Date(),
43 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:72:23: warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
70 | )
71 |
72 | public static let intermediate21Default = PlanConfiguration(
| |- warning: static property 'intermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:102:23: warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | // Default configuration for intermediate runner with flexible durations
102 | public static let intermediate42Default = PlanConfiguration(
| |- warning: static property 'intermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | raceDate: Date(),
104 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:132:23: warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
130 |
131 | // 15K — HM-lite: intermediate 21K shape at ~0.85 volume.
132 | public static let intermediate15Default = PlanConfiguration(
| |- warning: static property 'intermediate15Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate15Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
133 | raceDate: Date(),
134 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:160:23: warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
158 |
159 | // 10 mile — same band as 15K, slightly longer.
160 | public static let intermediate10MiDefault = PlanConfiguration(
| |- warning: static property 'intermediate10MiDefault' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate10MiDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 | raceDate: Date(),
162 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:188:23: warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
186 |
187 | // 30K — marathon-lite: 42K shape at ~0.88 volume; render window peaks LR 22-27km.
188 | public static let intermediate30Default = PlanConfiguration(
| |- warning: static property 'intermediate30Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate30Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
189 | raceDate: Date(),
190 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Intermediate.swift:216:23: warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
214 |
215 | // 50K — ultra entry: 42K + time-on-feet (LR render-capped 28-34km), gentler ramp, 3-week taper.
216 | public static let intermediate50Default = PlanConfiguration(
| |- warning: static property 'intermediate50Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'intermediate50Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
217 | raceDate: Date(),
218 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:21:23: warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
19 | // still "a couple" for a beginner runner and lets the phaseBoost
20 | // actually deliver a 50→90 min/wk progression.
21 | public static let maintenanceBeginner = PlanConfiguration(
| |- warning: static property 'maintenanceBeginner' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceBeginner' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | raceDate: Date().addingTimeInterval(60 * 24 * 3600), // 60 days default
23 | runnerLevel: .beginner,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:48:23: warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
46 | )
47 |
48 | public static let maintenanceIntermediate = PlanConfiguration(
| |- warning: static property 'maintenanceIntermediate' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceIntermediate' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
50 | runnerLevel: .intermediate,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Maintenance.swift:75:23: warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
73 | )
74 |
75 | public static let maintenanceAdvanced = PlanConfiguration(
| |- warning: static property 'maintenanceAdvanced' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'maintenanceAdvanced' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 | raceDate: Date().addingTimeInterval(60 * 24 * 3600),
77 | runnerLevel: .advanced,
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:85:15: note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
83 | }
84 |
85 | public struct PlanConfiguration {
| `- note: consider making struct 'PlanConfiguration' conform to the 'Sendable' protocol
86 | // Race details
87 | public let raceDate: Date
[32/34] Compiling TrainingPlanKit API.swift
[33/34] Compiling TrainingPlanKit AdvancedPlanGenerator.swift
[34/34] Compiling TrainingPlanKit BeginnerPlanGenerator.swift
Build complete! (5.97s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "TrainingPlanKit",
"name" : "TrainingPlanKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "TrainingPlanKit",
"targets" : [
"TrainingPlanKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "TrainingPlanKitTests",
"module_type" : "SwiftTarget",
"name" : "TrainingPlanKitTests",
"path" : "Tests/TrainingPlanKitTests",
"sources" : [
"PaceRenderInvariantTests.swift",
"PaceZoneConverterTests.swift",
"PlanRecalculatorTests.swift",
"TrainingPlanKitTests.swift",
"VDOTTests.swift"
],
"target_dependencies" : [
"TrainingPlanKit"
],
"type" : "test"
},
{
"c99name" : "TrainingPlanKit",
"module_type" : "SwiftTarget",
"name" : "TrainingPlanKit",
"path" : "Sources/TrainingPlanKit",
"product_memberships" : [
"TrainingPlanKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Catalog/sample_catalog.json",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"API.swift",
"Engine/AdvancedPlanGenerator.swift",
"Engine/BeginnerPlanGenerator.swift",
"Engine/C25KPlanGenerator.swift",
"Engine/CompetitivePlanGenerator.swift",
"Engine/DistanceClass.swift",
"Engine/IntermediatePlanGenerator.swift",
"Engine/MaintenancePlanGenerator.swift",
"Engine/PlanConfiguration+Accessible.swift",
"Engine/PlanConfiguration+Advanced.swift",
"Engine/PlanConfiguration+Beginner.swift",
"Engine/PlanConfiguration+Competitive.swift",
"Engine/PlanConfiguration+CouchTo5K.swift",
"Engine/PlanConfiguration+Intermediate.swift",
"Engine/PlanConfiguration+Maintenance.swift",
"Engine/PlanConfiguration+VO2.swift",
"Engine/PlanConfiguration.swift",
"Engine/PlanDistribution.swift",
"Engine/PlanGeneratorV3.swift",
"Engine/PlanProfile.swift",
"Engine/RaceWorkoutFactory.swift",
"Models/Plan.swift",
"Models/Workout.swift",
"Models/WorkoutEvent.swift",
"Models/WorkoutTypes.swift",
"Pacing/CompetitiveGate.swift",
"Pacing/PaceZoneConverter.swift",
"Pacing/PlanRecalculator.swift",
"Pacing/VDOT.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.