I’m pulling this out to let the concept sink in here. This statement actually confirms my worst fears about how this firmware is being built, and what was considered in the design and architecture.
This document should not have been a hastily-prepared reflection of what is currently implemented, but rather, a clear, detailed specification built many months ago, published at that time and reviewed by all stakeholders (including community, under NDA as needed), and used as a guideline to produce the implementation seen today. Shortcomings such as those I’ve pointed out could have been foreseen equally well and addressed then, months ago, before any code was written, and when any glaring shortfalls in the architecture or API itself could have been addressed; not now, when the concrete has started to set. The broken processes continue, and they continue to waste time (yours and ours).
Not your fault, Andrey; I’m not trying to shoot the messenger here. The problems here start well above your pay grade, I’m sure.