If a note has tags like this…
tags: paris, packing, travel
…then it would be changed to look like this:
tags: packing, travel
The actual tag could remain in the database — it’s just that no notes would refer to it. In the case of tags, that’s the equivalent of deleting it.
And if you started using that tag again in the future, it would, correctly, appear just for new notes. It wouldn’t get resurrected for old notes, since those notes were changed to not refer to that tag.
I’m still thinking about tags. I could change my mind (particularly if I think of a better way, or if someone tells me about a better way).
Much of the rest of syncing is conceptually nailed down. (Much of it was nailed down before I wrote the first line of Vesper code last February.) But things can change as theory meets code.
[What is simple to understand is that sync is never simple.]