For developing a complex OS with QA and CI cycles we need to support a use-case where the updates a) may not be linear (i.e. if an update fails QA, we don't want it in the main swupd stream and automated builds most likely don't want to be in a public update stream) b) may be generated independently of the image, at a different time and even on a different machine. We should support this use-case within meta-swupd.
It's probable that we may be able to achieve this functionality by building on top of the build system's shared state functionality.
A first pass at this has landed in meta-swupd master. It almost certainly needs some usability improvements but I'd like to get some end-user feedback before I spend too much time on that. http://git.yoctoproject.org/clean/cgit.cgi/meta-swupd/commit/?id=ee51336e029f5e8dfb13f30b60c3e2a7ba786b3f