this is laying groundwork for a future where run worker / top-level pipeline execution has the option to just use these snapshots from the runs DB (and not load user code). Step execution would load the actual pipeline and solid definitions as before.
mostly just concerned about leaving stuff around we don't need - lets not add the execution plan snapshot if we dont need it
do you think we are on trajectory for ExecutionPlan to replace the need for the plan snapshot? If you don't use this snapshot in your stack lets drop it?
this call can be costly so we should probably ensure the snapshotting call is memoized