Currently, the classes in lsst.verify.compatibility do not use any Gen 3 elements, including lsst.pipe.base.InputDatasetConfig and lsst.pipe.base.OutputDatasetConfig. However, Christopher Waters suggested that these config classes can be used in Gen 2 task configs without inadvertent side effects. Adopting them as part of the MetricTask API now will make it much easier to transition to Gen 3.
This ticket covers the following work:
- Update MetricTask documentation to require that subclasses use *DatasetConfig appropriately.
- Rewrite MetricTask input/output methods to use the configs in a way that is compatible with Gen 2 repositories.
- Rewrite TimingMetricTask (and any other extant MetricTasks) in terms of *DatasetConfig. This should reduce the amount of source code at the cost of an extra config field.