In an earlier post, I reported seeing surface distance (m) (m) columns in my playlist files, but had been unable to reproduce them. Today, after fixing bugs with Curve copying, I did reproduce them with:

$ ./bin/hk.py
    -c 'load_playlist test/data/vclamp_picoforce/playlist'
    -c 'start_command_capture'
    -c 'zero_surface_contact_point --block approach'
    -c 'zero_surface_contact_point --block retract'
    -c 'stop_command_capture'
    -c 'apply_command_stack_to_playlist --enable-evaluate'
    -c 'flat_filter_playlist --block retract --min_points 1'
Success
...
Failure
Expected a list of Peaks, not <class 'hooke.command.Failure'>:
  surface distance (m) not in retract (['z piezo (m)', 'deflection (m)',
  'surface distance (m) (m)', 'surface deflection (m) (m)']):
  list.index(x): x not in list

It appears to be a problem with curve reloading, since it doesn't come up when I use a playlist with less than 100 (Playlist._max_loaded) curves.

I'll update this post once I've tracked down the culprit.

Update: fixed.