1. A computer-implemented method of managing a deployment of a software application, comprising: gathering information about the deployment from at least (1) encoded knowledge independent of the deployment and (2) telemetry information from the deployment; detecting a problem associated with the deployment; obtaining information about the detected problem in a list of name-value pairs; selecting an abstract remedial plan associated with the detected problem; and converting the abstract remedial plan into a deployment-specific remedial plan based at least partly on the list of name-value pairs, said deployment-specific remedial plan including a plurality of sequentially ordered decision factors and steps to be executed, said conversion including instantiating resolved variables, resolving queries, and performing dead branch elimination, said method performed in its entirety by one or more computer systems.