Anything that moves other people's files automatically has to answer one question before it is allowed to run: what happens when it is wrong.
The answer here is a CSV manifest of every move, which makes a run reversible, and
a classifier deliberately biased toward doing nothing — files it cannot place with
confidence are logged and left exactly where they are rather than swept into a
misc folder that becomes its own problem.
Idempotence falls out of the same design. Running it twice on the same tree is a no-op, which is what lets it run daily on a timer without supervision.