I don’t want to veer too much off topic in this thread (maybe I did already, and them I’m sorry… I could move my posts to a new thread).
I’d say that on Fediverse shared vocabs are underused (ad-hoc interop) and Solid there’s a tendency to over-use (universal interop, semantic web). Looking from a practical standpoint: We’d like to have the average dev to be able to iterate on an app quickly, while retaining a ‘just-enough’ level of interoperability, plus the incentive to keep it interoperable as more apps target the same business domain.
In that light the specific business domain and the user stories that the dev wants to implement come first, and the interoperabilty second in priority. This is also what we see on fedi. Entering a new domain means one can “invent” the data formats on the fly, and the practical focus on the own app means it will probably be a messy vocabulary extension initially.
I think we are mostly on the same page. These micro-ontologies need a minimal level of specification. Just enough to make them useful for the next person, and with some documentation to them about business rules to take into account when implementing. But this needs to happen and these specifications needs to be findable and followed. And subsequently evolved if there’s a need for that. Doing so is the Process part I’m refering to.