### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
with DAG(dag_id="test_dag", start_date=pendulum.now()) as dag:
            s1, t1, s2, t2, w1, w2, s3, t3 = self.make_tasks(dag, "s1, t1, s2, t2, w1, w2, s3, t3")
        s1 >> t1
        s2 >> t2
        s1 >> w1 >> t1
        s2 >> t1 >> t2
        def sort(task_list):
            return sorted(x.task_id for x in task_list)
        
        
        assert self.cleared_downstream(w1) == {s1, w1, t1, t2}
        
        
        assert self.cleared_neither(w1) == {s1, w1, t1}
        assert self.cleared_upstream(w1) == {s1, w1, t1}
        
        
        
        assert self.cleared_downstream(t1) == {t1, t2}
        
        assert self.cleared_neither(t1) == {t1}
        
        assert self.cleared_upstream(t1) == {s1, t1, s2, t2, w1}
    def test_clearing_behavior_just_teardown(self):