Add generic watch-tracked Cardio exercise and starter split

A single "Cardio" library entry (running-in-place figure, duration-logged)
plus a matching Cardio starter split tagged .cardio (HealthKit .mixedCardio),
so the Apple Watch records the real aerobic workout while the phone logs the
time — no per-machine cardio entries or schema changes.

Claude-Session: https://claude.ai/code/session_012qw2itfzKyEJ1HpsFt8Ex4
This commit is contained in:
2026-07-09 18:20:05 -04:00
parent e12fe31152
commit ae3aa15019
10 changed files with 235 additions and 7 deletions
+5 -4
View File
@@ -11,16 +11,16 @@ import IndieSync
/// both the raw document and a SwiftData cache round-trip.
struct SeedLibraryTests {
@Test func catalogLoadsTwelveSeedsInOrder() {
@Test func catalogLoadsThirteenSeedsInOrder() {
let seeds = SeedLibrary.seeds
#expect(seeds.count == 12)
#expect(seeds.map(\.doc.order) == Array(0...11))
#expect(seeds.count == 13)
#expect(seeds.map(\.doc.order) == Array(0...12))
#expect(seeds.map(\.doc.name) == [
"Upper Body", "Core", "Lower Body", "Bodyweight Core",
"Full Body Machines", "Free Weight Basics",
"Upper Body Warm-Up", "Lower Body Warm-Up",
"Morning Wake-Up", "Morning Mobility",
"Full Body Stretch", "Evening Stretch",
"Full Body Stretch", "Evening Stretch", "Cardio",
])
}
@@ -44,6 +44,7 @@ struct SeedLibraryTests {
"01DXF6DT00QHJ9G4SDMEX64NZD", // Morning Mobility
"01DXF6DT003PRJB3FGYSSGTQ5X", // Full Body Stretch
"01DXF6DT00M5YRFPHJQ2FS2B9P", // Evening Stretch
"01DXF6DT00BXJ6N63ZBX9M9VNH", // Cardio
])
}