некорректная проверка входных данных операциями

одной из причин некорректной работы операции перемешивания было то, что проверки текущей координаты были вынесены в overriden метод start(), что отключало штатное поведение -- запуск таймера таймаута в случае успешной проверки или вылета с ошибкой если ошибка

для этого есть метод begin() -> bool, который видимо был введен позже, и не у всех операций используется

надо определить start() у уровня AbstractSerialOperation как final и переделать у наследников использование begin()

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information