pub fn apply_proposal( engine: &mut SopEngine, workspace_dir: &Path, proposal_id: &str, applied_by: Option<String>, ) -> Result<ApplyOutcome, Error>