I have some links to some other projects that could possibly be integrated, or may inspire a solution. (in no particular order):-
For server-side validations: we could simply spit any rejections into the Error Log.
For naming series: suppose you create a Sales Invoice whilst offline, the middleware would return a GUID instead of a row ID. This would be used for the primary key whilst offline. When back online, it’s converted to an ID. The same for the naming series (eg Invoice #0001 might change to #0002 by the time it syncs to server. This shouldn’t break any links because Payment Entry etc should link to invoice via primary ID
Yes, we’d have to implement a client-side schema model, which would resolve the Link queries issue. This seems trivial (see also: GraphQL)
I really feel this would give a fresh “next” to ERPNext, as it’s …