The plan was to convert as many calibration products have `lsst.ip.isr.IsrCalib` as their base class, and many of these are now done. This was done in conjunction with updating code for gen3 and migrating measurement algorithms to `cp_pipe`. There are still calibrations to update, but after some churn in the base class, I think that now has all the metadata handlers and methods that are needed. This implements the goal described in DMTN-148, which should now be updated to describe the calibration format "as built."
Implementing `ci_cpp` is also an accomplishment, as we have not had any real-world way to test calibration production before now. Developing those packages identified a number of bugs, and getting feature parity between the gen2 and gen3 implementations is the next goal.