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
if dag_run is None:
            FakeDagRun = namedtuple(
                "FakeDagRun",
                
                "conf data_interval_start data_interval_end external_trigger run_id",
            )
            dag_run = FakeDagRun(
                conf=None,
                data_interval_start=None,
                data_interval_end=None,
                external_trigger=False,
                run_id="",
            )
        params = {}  
        with contextlib.suppress(AttributeError):
            params.update(task.dag.params)
        if task.params:
            params.update(task.params)
        if conf.getboolean('core', 'dag_run_conf_overrides_params'):
            self.overwrite_params_with_dag_run_conf(params=params, dag_run=dag_run)
        
        
        compat_interval_start = timezone.coerce_datetime(dag_run.data_interval_start or self.execution_date)
        ds = compat_interval_start.strftime('%Y-%m-%d')
        ds_nodash = ds.replace('-', '')
        ts = compat_interval_start.isoformat()
        ts_nodash = compat_interval_start.strftime('%Y%m%dT%H%M%S')
        ts_nodash_with_tz = ts.replace('-', '').replace(':', '')
        @cache  
        def _get_previous_dagrun_success() -> Optional["DagRun"]: