Made another review pass for completeness. Nice work. Looks like all that's left is documentation.
There are currently two copies of "How to write a commandline Task" and "How to write a Task" the dox version is in pipe_tasks and the rst version is in pipe_base. We're in transition. I would say you must update the rst and should update the dox.
I reviewed the dox first so I'll put those down first only because the comments are more complete.
- run--> runDataRef lines 51, 53, 68, 86, 151, 176, 190, 202, 280
- in: 198 \section pipeTasks_writeCmdLineTask_customTaskRunner Custom Task Runner
It’d be good to add the sentence to the intro of custom TaskRunners: “If your Task uses the pre-2018 naming convention and has a `run` method that operates on a `DataRef` instead of a `runDataRef`, you can still run this as a CmdLineTask by using the \ref lsst.pipe.base.cmdLineTask.LegacyTaskRunner "lsst.pipe.base.LegacyTaskRunner”, which will call your Task’s `run` method.”
- line 150 should now be be: “In addition, Command-line tasks require a `runDataRef` method that fetches the appropriate data products specified by Gen-2 Butler DataRefs”
- 164: The `run` and `runDataRef` methods should always…
- 174: `runDataRef` does everything
- 215: Including `run` and `runDataRef` (if present)
lines: 32, 39, 55, 75, 131, 146, 174, 193
- lines: 32, 39, 55, 75, 131, 146, 174, 193
- add the info from the old docs about the LegacyTaskRunner here in the Custom Task Runner section that begins with 208. 244, 247
Nice doc string in TaskRunner.runTask, but check the veracity of the copied and pasted text from _call_.
- docstring for Task. ``run`` —> ``runDataRef``
Note to Self: Reminding myself that `CalibCombineTask` is OK as is since its not a cmdlineTask and will be refactored later. Tasks in obs_subaru liek HscFlatCombineTask inherit from this.
- line 13 should prob say `runDataRef`
And finally squash the commits in all packages.