Generation Node creation breaks some injection jobs
The line to resolve frame files gets called even if the job is an injection job, which will not have a data dict, so the job will enter this loop in resolve_frame_files. If the injection time does not correspond to a time that is actually during an observing run, the job will fail (because it will try to grab the frame type for a time during the run that does not exist). But if users want to inject during times outside the valid observing time (e.g., to make projections), this will prevent the job from running.
If data is None and the job is an injection job, it probably can just bypass this function anyway.