pub async fn build_plan( adapter: &(dyn Adapter + '_), inventory: &Inventory, state: &mut StateStore, allow_delete: bool, ) -> Result<Plan>
observe backend state and produce a deterministic plan.