work.py declares input.txt as static and uses it as input (no cyclic dependency).
A restart without changes leaves the step BUILT (no rerun).
