diff --git a/src/CelerisLab/body/motion.py b/src/CelerisLab/body/motion.py index b419820..9e49ad8 100644 --- a/src/CelerisLab/body/motion.py +++ b/src/CelerisLab/body/motion.py @@ -99,7 +99,12 @@ class MovingCircle: return self.centre(self.applied), self.centre(offset), velocity def advance(self, upload: Callable, step: Callable, synchronize: Callable) -> None: - """Upload the record, run one step and commit only after a successful sync. + """Single-circle transaction helper (unit tests): upload, step, sync, commit. + + Not the production path: ``Simulation._run_moving`` batches all circles, + adds the ``no_donor`` gate and uses ``commit``/``fail`` directly. + + Upload the record, run one step and commit only after a successful sync. Any exception after the upload is attempted leaves device geometry unknown: the circle is marked failed, never reports applied state again,