Dome Park specification was created by ChrisRowland
Sorry for the delay in replying.
I've ended up doing a lot of examining the code and from what I can see the concept of Dome Park making the observatory safe is embedded in the INDI system so closely that the work of untangling it and making it more like what is specified is prohibitive.
For example indiTelescope.cpp snoops on the dome park state and uses this to inhibit scope movement when the dome is parked. Godness knows how many other places this is the case.
The fact that so much of this functionality is embedded into the INDI core components removes my primary problem with the documented specification being misleading - that a developer could produce a driver or client using the specification and get the wrong functionality. It's not practical to do this because any driver has to be built on the core indi libraries and these will deliver the core functionality.
As for improving the documented specification I think this needs to done by someone who is intimately aware of the whole INDI functionality, and that's not me. It was only by examining the code in what seemed like an unrelated module that showed that my suggestion was impractical. If I hadn't seen this I could have rewriten the specification incorrectly.