After some more discussions on the technical call, and excellent questions from the team at APA Engineering, I’ve filled out more of the Plan and Interaction Model sections of the documentation. In particular I’ve described how every Actor should have a persistent UUID as opposed to objects in the Data Model. It’s an important point that I wanted to go into more. Here’s the new section of the documentation:
Many objects in the interaction model have UUIDs, but unlike in the data model, most of these are intended to persist even when the information about that object has changed.“Interaction Objects and UUIDs” from the Sandpiper Framework Documentation
Recall that the reason for strictly unique stateless UUIDs in the data model is that they can be used to mathematically determine changes in a dataset regardless of the data that the UUID refers to; the UUID is representative of the content even though it is not *derived from* the content. But the interaction is not what’s being synchronized, only the product data, and so when it makes sense to use a persistent ID to help establish and assist with exchange, a semi-permanent UUID is employed. In future versions of Sandpiper we will readdress this synchronization and whether it can be extended to the interaction model as well.
Now, on the road to the 1.0 release: we are nearly finished with a “minimum viable” specification that we will release as 1.0-PREVIEW, likely by the end of the week. Our main struggle now is to get implementations going so we can see where our conceptual model falls short, and to tie together all the loose prototype ends. For that we need to create a frozen stable specification, and accept that 1.0 will inevitably be imperfect, as are all creations. We’ll be soliciting feedback from everyone who can wield a compiler or interpreter!
Please head over to our GitHub repository and check out the latest updates. The main branch is current — I merged development a little bit ago — though as usual further updates will hit development before heading over to main. When we hit 1.0-PREVIEW I’ll tag it and create a release, then post here.
Thank you as always for your interest and support. Many thanks again to those who have been giving this a whirl in their own environments and coming to us with questions and concerns. Without you, this would not be possible.