How can I find my max heart rate from all activities?
Unfortunately you can’t at the moment. However the todo list has “heart rate curves” (same as power curves but for HR) on it which will do this. However it is quite likely that a HR spike is picked up somewhere as the max. When you analyse data over a long time there is always something like that somewhere. To eliminate those I might need to still rely on a manually entered max HR number.
Why not look at the surrounding samples and only accept peaks with physiological-looking shoulders?
Yes I will be able to do that for short spikes and drop outs.
However I have some activities where my HR monitor spiked to 200 or so for several minutes. Thats impossible for me but quite reasonable for someone else. So those will be harder to “automatically” sort out.