A point to keep in mind for implementation: input files could be symlinks, in which case I'd expect the logic to use the timestamp of their targets (like touch and make do), not that of the symlink.
Good point.
What if an input (or output) is a directory? Recurse over its contents (like Docker does, but unlike make) or only look at its timestamp?
If HTCondor always touched the output directory when the job completed, I think we could always just check the directory's timestamp. For input, I think checking the whole directory would produce the least astonishment.
- ToddM