Indexes producers by output path, so a generator and the compile consuming its output are connected without being declared. Detects duplicate producers and reports dependency cycles by path.