BST needs to support its historic cache-key algorithms...

As I mentioned (orthogonally) at #473 (closed) I believe that the bst tool needs to support historic versions of its cache-key algorithm.

As @juergbi says

We have a core artifact version number that we increment when we change the cache key algorithm or the artifact structure in an incompatible way. A particular version of BuildStream indeed only supports a single artifact version.

AIUI taking this approach, users can't run new bst against existing definitions with existing cached artifacts. Upgrading bst to a new cachekey algorithm renders all previous caches invalid.

I believe it's a clear requirement that any new bst needs to play nicely with old/existing bst content, not force users to rebuild everything, or convert files.

I first attempted to explain this some years ago at http://wiki.baserock.org/back-and-forth/

Edited by Devcurmudgeon