Description of the middleware issue:
IsrTaskConnections.ccdExposure is now an pipeBase.connectionType.Input. Passing the same dataset type to this and IsrTaskConnections.crosstalkSources causes the quantum graph generation to fail, because that is a PrerequisiteInput, and the same dataset is not allowed to have different connectionTypes. Switching crosstalkSources to an Input causes a different problem: we need to select all existing inputs that have the same dataId as the ccdExposure, but without the "detector" constraint (to load the full focal plane of possible crosstalk source exposures). This was being done with a lookupFunction that could remove the "detector" constraint before querying the butler. This method only exists for PrerequisiteInput.
To resolve this ticket, I am keeping crosstalkSources as a PrerequisiteInput, and removing the two-step pipeline definition for obs_decam. This breaks inter-chip crosstalk in gen3, which will have to wait for improvements in quantum graph generation that are already planned. DM-25348 will contain the inter-chip fix, and will be done once the middleware tickets merge.