thats right catch up behavior is enabled by default. If there is downtime for the scheduler pods, the catchup routine checks for any missed schedules and executes them .
coming to question of setting a dependency on past execution, this is not something supported directly by scheduler but you can potentially use sensors
https://docs.flyte.org/en/latest/deployment/agents/sensor.html