Is ProcessCcdTask or its camera-specific subclass the only step that would take preprocessed data? In other words, is the only preprocessed data we care postISR-equivalent product?
If so, once they are processed pass ProcessCcd, users don't distinguish whether data were originated from raw or from preprocessed data? And "preprocessed" is an argument only wanted in ProcessCcdTask, but not other tasks?
We may someday have different kinds of preprocessed data other than post-ISR products, such as coadds built with an entirely different pipeline. Those may be different enough that we shouldn't spend effort trying to include them in the design now, though, so it may best to just assume that only ProcessCcdTask needs to worry about preprocessed data and worry about the future in the future.