A Drupal rescue is half engineering and half forensic accounting. Before we take one on, we run a 12-point checklist that tells us whether the codebase is salvageable, what the realistic timeline is, and whether to honestly recommend a rebuild instead.
The list is in the linked PDF below — print it out if you've inherited a Drupal site you don't yet understand. The points cover: core + contrib versions, custom module count, patch sprawl, content-type chaos, layout-builder vs. paragraphs, accessibility baseline, perf baseline, security posture, backup state, deployment automation, test coverage, and the human handover story.
The single best predictor of rescue-ability, in our data: the test coverage point. If there are tests at all, the rest is tractable.