re #2 (sanity check for negative Z) this is not as simple as I thought.
During calibration (when at Z zero) the simple check that Z offset+ wasteboard + workpiece is not negative is good.
but when cutting a job, you don’t operate at Z zero, you have a (potentially log) bit, so this would need to be go through the gcode and look at all the Z moves and find the lowest that the Z goes and use that.
example, I was setting up to run a stubby sharpie on a 30" square frame, that requires that Z move up to just over 50mm to lift the pen off of the surface. that makes a huge angle to the corners, so I stuck a 2x4 under each corner of the frame (40mm) so at Z zero, the net offset is ~-28mm, but while running the gcode, the lowest the effective offset would be is ~22mm
also, it would need to be able to handle relative movement, not just absolute movement