The run above tries to read from the parent run's fs storage, even though all steps were selected
for re-execution. This was because the input manager determines where to read the upstream output
by checking if the execution plan has executed the upstream step (https://sourcegraph.com/github.com/dagster-io/dagster/-/blob/python_modules/dagster/dagster/core/execution/context/system.py#L573)
If the execution plan is delegated to other machines and processes (say, in the multiprocess executor), the execution plan is no longer
the source of truth. Rather, we should rely on the known execution state is determine if the upstream step has been executed.
Here, we add all the executable steps to the known execution state and use that information to determine if a plan has executed a step.