mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
CoachLaunchScope.metric was typed as a free-form string, which would let any future caller pass a label the sources rail then silently ignores (the rail's source-toggle contract only honours the CoachScopeSource union — bp, weight, pulse, mood, compliance, plus the v1.4.23 Apple Health additions). Narrow the field to that union so the type system surfaces drift the moment a caller invents a new metric name. Also pin a one-consumer note on the setOpen export (only <LayoutCoachMount> forwards it to the sheet's onOpenChange contract; keep the raw boolean setter for that callback shape).