All *Claw implementations should use a local model for heartbeat, it doesn't need to do anything complex, pretty much just read a text file and do a true/false decision if there's something in there to do when it wakes up.
If so, it can either just shove the full heartbeat file to a smarter model or try to intelligently spread the tasks to the correct models.