I recall the logic used to block unresolved variables from @reports@ promises until the last convergence pass. In master we seem to be reporting unresolved variables, then reporting the resolved version later. Similarly, @files@ promises are trying to operate on unresolved filenames (causing an error to be reported), then later operating on the resolved version.
While usually cosmetic, this wastes a lot of time debugging and looks bad in compliance reporting.
I can provide an acceptance test if needed, but let me know if this description makes sense at all.