Validate a queue config: non-empty jobs, unique non-empty job ids, a command
and a parseable timeout per job, dependencies that reference real jobs, no
self-dependency, sane retry config, a valid global timeout + on-failure, and
an acyclic dependency graph. Ported from ValidateQueue + validateDAG. Throws
on the first problem (message matches the Go phrasing where practical).
Validate a queue config: non-empty jobs, unique non-empty job ids, a command and a parseable timeout per job, dependencies that reference real jobs, no self-dependency, sane retry config, a valid global timeout + on-failure, and an acyclic dependency graph. Ported from ValidateQueue + validateDAG. Throws on the first problem (message matches the Go phrasing where practical).