Build Information
Successful build of TrainingPlanKit, reference v0.7.0 (0e7711), with Swift 6.1 for macOS (SPM) on 21 Jul 2026 04:31:35 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
/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
[14/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
[15/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
[16/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
[17/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
[18/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
[19/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
[20/34] Compiling TrainingPlanKit IntermediatePlanGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Accessible.swift:16:23: warning: static property 'accessibleBeginner5Default' 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 | extension PlanConfiguration {
15 |
16 | public static let accessibleBeginner5Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner5Default' 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 'accessibleBeginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(),
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+Accessible.swift:44:23: warning: static property 'accessibleIntermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
42 | )
43 |
44 | public static let accessibleIntermediate5Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate5Default' 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 'accessibleIntermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | raceDate: Date(),
46 | 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+Accessible.swift:72:23: warning: static property 'accessibleAdvanced5Default' 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 accessibleAdvanced5Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced5Default' 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 'accessibleAdvanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | 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+Accessible.swift:100:23: warning: static property 'accessibleBeginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
98 | )
99 |
100 | public static let accessibleBeginner10Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner10Default' 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 'accessibleBeginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | raceDate: Date(),
102 | 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+Accessible.swift:128:23: warning: static property 'accessibleIntermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
126 | )
127 |
128 | public static let accessibleIntermediate10Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate10Default' 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 'accessibleIntermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 | raceDate: Date(),
130 | 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+Accessible.swift:156:23: warning: static property 'accessibleAdvanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
154 | )
155 |
156 | public static let accessibleAdvanced10Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced10Default' 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 'accessibleAdvanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 | raceDate: Date(),
158 | 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+Accessible.swift:184:23: warning: static property 'accessibleBeginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
182 | )
183 |
184 | public static let accessibleBeginner21Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner21Default' 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 'accessibleBeginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
185 | raceDate: Date(),
186 | 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+Accessible.swift:212:23: warning: static property 'accessibleIntermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
210 | )
211 |
212 | public static let accessibleIntermediate21Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate21Default' 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 'accessibleIntermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
213 | raceDate: Date(),
214 | 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+Accessible.swift:240:23: warning: static property 'accessibleAdvanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
238 | )
239 |
240 | public static let accessibleAdvanced21Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced21Default' 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 'accessibleAdvanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | raceDate: Date(),
242 | 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+Accessible.swift:268:23: warning: static property 'accessibleBeginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
266 | )
267 |
268 | public static let accessibleBeginner42Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner42Default' 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 'accessibleBeginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
269 | raceDate: Date(),
270 | 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+Accessible.swift:295:23: warning: static property 'accessibleIntermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
293 | )
294 |
295 | public static let accessibleIntermediate42Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate42Default' 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 'accessibleIntermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 | raceDate: Date(),
297 | 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+Accessible.swift:322:23: warning: static property 'accessibleAdvanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
320 | )
321 |
322 | public static let accessibleAdvanced42Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced42Default' 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 'accessibleAdvanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
323 | raceDate: Date(),
324 | 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
[21/34] Compiling TrainingPlanKit MaintenancePlanGenerator.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Accessible.swift:16:23: warning: static property 'accessibleBeginner5Default' 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 | extension PlanConfiguration {
15 |
16 | public static let accessibleBeginner5Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner5Default' 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 'accessibleBeginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(),
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+Accessible.swift:44:23: warning: static property 'accessibleIntermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
42 | )
43 |
44 | public static let accessibleIntermediate5Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate5Default' 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 'accessibleIntermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | raceDate: Date(),
46 | 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+Accessible.swift:72:23: warning: static property 'accessibleAdvanced5Default' 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 accessibleAdvanced5Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced5Default' 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 'accessibleAdvanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | 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+Accessible.swift:100:23: warning: static property 'accessibleBeginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
98 | )
99 |
100 | public static let accessibleBeginner10Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner10Default' 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 'accessibleBeginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | raceDate: Date(),
102 | 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+Accessible.swift:128:23: warning: static property 'accessibleIntermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
126 | )
127 |
128 | public static let accessibleIntermediate10Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate10Default' 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 'accessibleIntermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 | raceDate: Date(),
130 | 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+Accessible.swift:156:23: warning: static property 'accessibleAdvanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
154 | )
155 |
156 | public static let accessibleAdvanced10Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced10Default' 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 'accessibleAdvanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 | raceDate: Date(),
158 | 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+Accessible.swift:184:23: warning: static property 'accessibleBeginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
182 | )
183 |
184 | public static let accessibleBeginner21Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner21Default' 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 'accessibleBeginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
185 | raceDate: Date(),
186 | 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+Accessible.swift:212:23: warning: static property 'accessibleIntermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
210 | )
211 |
212 | public static let accessibleIntermediate21Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate21Default' 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 'accessibleIntermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
213 | raceDate: Date(),
214 | 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+Accessible.swift:240:23: warning: static property 'accessibleAdvanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
238 | )
239 |
240 | public static let accessibleAdvanced21Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced21Default' 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 'accessibleAdvanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | raceDate: Date(),
242 | 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+Accessible.swift:268:23: warning: static property 'accessibleBeginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
266 | )
267 |
268 | public static let accessibleBeginner42Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner42Default' 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 'accessibleBeginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
269 | raceDate: Date(),
270 | 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+Accessible.swift:295:23: warning: static property 'accessibleIntermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
293 | )
294 |
295 | public static let accessibleIntermediate42Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate42Default' 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 'accessibleIntermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 | raceDate: Date(),
297 | 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+Accessible.swift:322:23: warning: static property 'accessibleAdvanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
320 | )
321 |
322 | public static let accessibleAdvanced42Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced42Default' 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 'accessibleAdvanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
323 | raceDate: Date(),
324 | 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
[22/34] Compiling TrainingPlanKit PlanConfiguration+Accessible.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration+Accessible.swift:16:23: warning: static property 'accessibleBeginner5Default' 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 | extension PlanConfiguration {
15 |
16 | public static let accessibleBeginner5Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner5Default' 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 'accessibleBeginner5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | raceDate: Date(),
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+Accessible.swift:44:23: warning: static property 'accessibleIntermediate5Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
42 | )
43 |
44 | public static let accessibleIntermediate5Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate5Default' 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 'accessibleIntermediate5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | raceDate: Date(),
46 | 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+Accessible.swift:72:23: warning: static property 'accessibleAdvanced5Default' 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 accessibleAdvanced5Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced5Default' 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 'accessibleAdvanced5Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | raceDate: Date(),
74 | 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+Accessible.swift:100:23: warning: static property 'accessibleBeginner10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
98 | )
99 |
100 | public static let accessibleBeginner10Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner10Default' 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 'accessibleBeginner10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | raceDate: Date(),
102 | 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+Accessible.swift:128:23: warning: static property 'accessibleIntermediate10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
126 | )
127 |
128 | public static let accessibleIntermediate10Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate10Default' 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 'accessibleIntermediate10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
129 | raceDate: Date(),
130 | 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+Accessible.swift:156:23: warning: static property 'accessibleAdvanced10Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
154 | )
155 |
156 | public static let accessibleAdvanced10Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced10Default' 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 'accessibleAdvanced10Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 | raceDate: Date(),
158 | 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+Accessible.swift:184:23: warning: static property 'accessibleBeginner21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
182 | )
183 |
184 | public static let accessibleBeginner21Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner21Default' 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 'accessibleBeginner21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
185 | raceDate: Date(),
186 | 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+Accessible.swift:212:23: warning: static property 'accessibleIntermediate21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
210 | )
211 |
212 | public static let accessibleIntermediate21Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate21Default' 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 'accessibleIntermediate21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
213 | raceDate: Date(),
214 | 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+Accessible.swift:240:23: warning: static property 'accessibleAdvanced21Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
238 | )
239 |
240 | public static let accessibleAdvanced21Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced21Default' 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 'accessibleAdvanced21Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
241 | raceDate: Date(),
242 | 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+Accessible.swift:268:23: warning: static property 'accessibleBeginner42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
266 | )
267 |
268 | public static let accessibleBeginner42Default = PlanConfiguration(
| |- warning: static property 'accessibleBeginner42Default' 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 'accessibleBeginner42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
269 | raceDate: Date(),
270 | 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+Accessible.swift:295:23: warning: static property 'accessibleIntermediate42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
293 | )
294 |
295 | public static let accessibleIntermediate42Default = PlanConfiguration(
| |- warning: static property 'accessibleIntermediate42Default' 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 'accessibleIntermediate42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
296 | raceDate: Date(),
297 | 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+Accessible.swift:322:23: warning: static property 'accessibleAdvanced42Default' is not concurrency-safe because non-'Sendable' type 'PlanConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
320 | )
321 |
322 | public static let accessibleAdvanced42Default = PlanConfiguration(
| |- warning: static property 'accessibleAdvanced42Default' 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 'accessibleAdvanced42Default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
323 | raceDate: Date(),
324 | 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
[23/34] Compiling TrainingPlanKit PlanConfiguration+VO2.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:247:23: warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | /// this one value to switch the whole app — both selectors resolve through
246 | /// `raceConfig` below. Competitive/maintenance/VO2 are routed separately.
247 | public static var shipAccessibleTier = true
| |- warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shipAccessibleTier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shipAccessibleTier' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | /// Resolve the non-competitive (5K / 10K / 21K / 42K) config for a runner
[24/34] Compiling TrainingPlanKit PlanConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:247:23: warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | /// this one value to switch the whole app — both selectors resolve through
246 | /// `raceConfig` below. Competitive/maintenance/VO2 are routed separately.
247 | public static var shipAccessibleTier = true
| |- warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shipAccessibleTier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shipAccessibleTier' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | /// Resolve the non-competitive (5K / 10K / 21K / 42K) config for a runner
[25/34] Compiling TrainingPlanKit PlanDistribution.swift
/Users/admin/builder/spi-builder-workspace/Sources/TrainingPlanKit/Engine/PlanConfiguration.swift:247:23: warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | /// this one value to switch the whole app — both selectors resolve through
246 | /// `raceConfig` below. Competitive/maintenance/VO2 are routed separately.
247 | public static var shipAccessibleTier = true
| |- warning: static property 'shipAccessibleTier' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shipAccessibleTier' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shipAccessibleTier' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | /// Resolve the non-competitive (5K / 10K / 21K / 42K) config for a runner
[26/34] Compiling TrainingPlanKit API.swift
[27/34] Compiling TrainingPlanKit AdvancedPlanGenerator.swift
[28/34] Compiling TrainingPlanKit BeginnerPlanGenerator.swift
[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 Plan.swift
[33/34] Compiling TrainingPlanKit Workout.swift
[34/34] Compiling TrainingPlanKit WorkoutEvent.swift
Build complete! (5.86s)
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.