I have run into an interesting conundrum when extending a workflow. Suppose I have a task t1
that is only ever required as a prerequisite on a non-baseline branch of some branch point:
task t0 > out { ... }
task t1 > out { ... }
task t2 < in=(Switch: 0=$out@t0 1=$out@t1) { ... }
The realizations are:
t0/Baseline.baseline
t1/Baseline.baseline (*)
t2/Baseline.baseline [Switch.0]
t2/Switch.1
After running the workflow, I then decide to add a new experimental condition: I insert a second branch point requiring t1
on its non-baseline branch, and also condition the behavior of t1
on this new branch:
task t1 > out :: foo=(NewSwitch: 0 1) { ... }
task t2 < in=(Switch: 0=(NewSwitch: 0=$out@t0 1=$out@t1) 1=$out@t1) { ... }
The problem is that the old t1
result (*) is now on a non-baseline realization:
t1/Baseline.baseline [NewSwitch.0]
t1/NewSwitch.1 (*)
t2/Baseline.baseline [Switch.0 NewSwitch.0]
t2/NewSwitch.1 [Switch.0]
t2/Switch.1 [NewSwitch.0]
t2/NewSwitch.0+Switch.1
This is bad because it changes the semantics of t1/Baseline.baseline
, right? (Changing the order of the NewSwitch branches would change the semantics of t2/Baseline.baseline
instead.) Is there any good workaround that would allow me to keep the completed results?
Or, is there/should there be a way to rename realizations that have produced results? Is it safe just to rename the directory on disk?
Happy New Year,--
You received this message because you are subscribed to the Google Groups "ducttape-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ducttape-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.