Currently we use execution-date when generating the command to send via executor in https://github.com/apache/airflow/blob/9c94b72d440b18a9e42123d20d48b951712038f9/airflow/models/taskinstance.py#L420-L436

We should replace the execution_date in their to run_id instead and handle the corresponding changes needs on the executor and worker.
airflow/models/taskinstance.py
return self.get_previous_dagrun(state=State.SUCCESS, session=session)
        def get_prev_data_interval_start_success() -> Optional[pendulum.DateTime]:
            dagrun = _get_previous_dagrun_success()
            if dagrun is None:
                return None
            return timezone.coerce_datetime(dagrun.data_interval_start)
        def get_prev_data_interval_end_success() -> Optional[pendulum.DateTime]:
            dagrun = _get_previous_dagrun_success()
            if dagrun is None:
                return None
            return timezone.coerce_datetime(dagrun.data_interval_end)
        def get_prev_start_date_success() -> Optional[pendulum.DateTime]:
            dagrun = _get_previous_dagrun_success()
            if dagrun is None:
                return None
            return timezone.coerce_datetime(dagrun.start_date)
        
        class VariableAccessor: