Dan has this idea that we should check if the service has seen an input and just return the previously computed output. This would reduce the computation burden.
We could check for file size, file MD5, assembly method, and arast version to determine if we could serve a precomputed result. Not sure if shock computes MD5 by default.
It would mean providing a --force option for rerunning the assembly.