What's wrong?
The only constraints on step order in XProc are those required by the connections between steps. If step “B” consumes the output of step “A” then step B can't finish before step A starts!
<p:store href="langspec.html"/>
<p:exec name="exec" result-is-xml="false"
source-is-xml="false"
command="/Users/ndw/bin/tidy"
args="langspec.html">
<p:input port="source"><p:empty/></p:input>
</p:exec>