The clock is part of the model
A decoder can only be as honest as the timeline it learned from. Why synchronization belongs in the system design, not the cleanup script.
A neat dataset can still be wrong
Most timing failures do not look dramatic. A camera frame lands a little late. An amplifier clock drifts a little early. An actuator reports a state change after the event that caused it. Each stream is plausible by itself; the story between them is not.
That is a problem before a model sees the data. If training pairs a neural event with the wrong movement, the decoder does not know it is learning skew. It simply learns the relationship it was given.
Treat time as a shared instrument
A useful system has one answer to a boring question: when did this happen? Make that answer available at acquisition, preserve it through decoding, and write it into the log beside every command and outcome.
The result is less glamorous than another benchmark chart. It is a session you can inspect without reconstructing a timeline from five vendor formats. That is where repeatable work starts.
The practical test
Pick an event that every device can see: a trigger, a pulse, a contact. Put it on the timeline once. If you cannot explain its position in every stream, the loop is not ready to make a claim about latency yet.