Entry points for Ensemble dependency/usage
InSync is an application currently under development by InterSystems, primarily using Ensemble, as a mixed CSP/Zen web application. There's a lot of defunct legacy code in the code base and we're actively seeking it out and trimming the deadwood out.
Much of this investigation is based on a dependency scanning tool that we've written in COS, which is quite powerful but very customized to the InSync environment. It uses the InSync web UI's navigation menu and a few other key "entry points" to figure out what classes or other objects (e.g. javascript files) are "in use" and which are not.
One of our entry points is our default Ensemble production class (subclassed from Ens.Production).
I'm not an Ensemble expert so my question is this: is there a well-defined list of other ways in which Ensemble can put something "into use" without appearing in the production class's XML content? For example, rules, DTL, ... etc.?
What I'd like to be able to do is send a request to our Implementation team at the customer site with a clear checklist, or even a custom routine or classmethod they could run that would survey the instance and tell me what other things might be "live", so that I can figure out what's defunct and clean out the underbrush.
Thanks in advance