For WDL questions, see the WDL specification and WDL docs.
For Cromwell questions, see the Cromwell docs and please post any issues on Github.
Cromwell's call caching is stupid at times
I had a workflow crash because I had set the wrong file path in the json file, when I fixed it the workflow started from the first step even though I had finished that step successfully. The file path was for the step that crashed, obviously, so it should restart at the latest successful step, but it doesn't. The call caching function should be smart enough to recognize that a change in the json file affects a specific step instead of assuming that any change in the json file means that everything needs to be run again. This isn't an edge case and should be built in already.