Science Pipelines has a lot of files (python, C++, and other) in examples/ directories that are not run under CI and that have entirely bit-rotted. When searching for uses of particular lines of code or configuration strings, these examples clutter the search output, and can result in temporary confusion over whether a particular snippet is actually in use or not. Whatever utility these examples may have had in the past, I would argue that they're entirely supplanted by our unittests and demo notebooks at this point, and the fact that they are not kept up to date or run in CI means users referring to them is likely worse than them not existing.
These are the packages that contain an examples/ directory that I think should just be removed.
We also have many empty examples/ directories that could be removed. examples/ is part of our default package template, so it gets added to all new packages; I think we should remove it from the templates too, because you either have to remember to remove the empty (except for a default SConscript that I think just builds any C++ examples) path, leave an empty directory around, or if things do go into it, they start bitrotting immediately because it's not in CI.
I decided to file this after yet another instance of searching all the python files in lsstsw/build for something and tripping over a half dozen "examples" that were not relevant and almost certainly didn't work. In some cases, I was specifically searching for things that I was certain should no longer work, to make sure we'd e.g. done a deprecation removal correctly.
I know we've discussed what to do with examples/ in the past on Slack and HipChat and at meetings, but I don't know that any definitive conclusion came out of those discussions. There might be a way to get the examples run in CI, but considering how far most of them have bitrotted, the work required to make them viable would be substantial.