Open felix11h opened 6 years ago
I think this is a great idea; it ought to be fairly straightforward to implement, at least for re-running individual stages; re-running entire workflows is a more complex issue and probably needs its own smt
command (cf #107)
I would suggest smt repeat --update
as the command. The usage of "replicate" vs "reproduce" is still being argued, and I would prefer to avoid getting into naming arguments.
I'm interested in using Sumatra to publish computational projects (example here). The
smt repeat
function is very helpful in repeating computations under original conditions and testing if the repeated computation matches the original record. For this, a previous state of the project (e.g. git version, potentially other parameters?) is loaded.For a published computational project, a reader might interested in replicating (single) results in a straightforward manner. For this
smt repeat
could be great. However, the loading of a previous version of the code "behind the scenes" can be very misleading. Old versions of the code might look very different from what the reader is seeing in the published repository.I'm suggesting either an option for
smt repeat
or a new, related commandsmt replicate
. The command would function similarly tosmt repeat
but instead of checking out a previous version of the project, the command repeats the record with the current version. This would allow a test whether the code, as currently shown, is able to replicate the results obtained originally.To allow for complete or partial replication of the project, the command would take either a record, a tag or the whole project and replicate all records in the group in chronological order. The tag command specifically could help replicate the just the
simulation
,data-analysis
orplotting
stages in the project, as for example described in the Popper convention (cc @ivotron).I'm interested in feedback on this. Implementation of such functionality seems, at first glance, manageable. Am I overlooking expected complications? Would such functionality be seen as helpful and fitting within the scope of Sumatra?