GroupNav Draft Rabbit Hole

Problem: there are unexpected UX and implementation challenges for having a draft state of the group navigation document.
Proposed Solution: for now, in this initial project of group navigation, all changes will be 'atomic', so if you drag+drop to change the order of categories (or make any change to the group navigation doc), it will be "committed" instantly to the group.
We can revisit this in the future, because I think we have consensus that a draft state would be ideal.

Challenges

UX Challenge: Draft State Banner position

You can make changes in the sidebar (if you re-organize categories), or in the main section of the app, if you re-order documents within a category. So, where does the navigation draft banner appear? Over both the sidebar and the main view? Bottom or top? There are layout implementation difficulties here as well.
Also the UX will be very confusing if you are inside a document draft and you also see this banner (because you can re-arrange group categories while inside a groupDoc draft). Because then there will be two "commit" buttons on the screen at the same time, the user might get them confused.

UX Challenge: How to manage dialog-box changes during draft state

Some changes are committed immediately to the nav document, for example if done through a dialog box like "add document to group", the user has sufficient intent to commit the changes immediately. And the dialog box can explain to the user that this will be saved to the group for all users.
But if the user has a pending nav draft, like if they re-arranged some categories in the sidebar, what is the behavior of dialog box changes to group nav? Is it committed to the group immediately (like usual), or does it affect the draft? In any case there is a challenge of explaining the difference of behavior to the user.

API Challenge: Single Draft at a Time

The API only supports one draft per document at a time. If the user has a pending draft for their navigation document, what if the user goes through a dialog box to affect the group nav? For example, if the user goes through the 'add document to category' dialog box with a pre-existing nav draft, we have no way to change that document because the API only allows doc changes with drafts, and there is only one draft at a time.

Drawbacks of Solution

With this solution the users will likely make many more "commits" to the navigation document, which would eventually slow down syncing. This would aggravate that existing issue in our system.