A large portion of that 19+ Long email thread sounds a bit like "Pizzagate" so maybe we could find something closer to reality or keep the examples more "crisp"?
+1 to Ed’s suggestion, I think "required" or "mandatory" sounds better and easier to understand than calling it "non-optional".
"must not extend the API " also sounds a bit odd especially with respect to some specs.
HttpServlet or GenericServlet are parts of the Servlet API, and you’ll find over half a dozen *Servlet classes in Tomcat/TomEE and I am pretty sure also other implementations, does that make them superset the API?
The second sentence does not sound so problematic or open to interpretations. If also to build the TCK among other purposes Glassfish does implement all optional features of the spec, then there is no reason other implementations must implement all of them, they could implement some and in addition have some innovative new or very old feature they do best which would do no harm to the compatibility.
Werner
I'm up for improving the language if the consensus conclusion is that this says there must be at least one "super" implementation.
I think we need to improve the language because it is too open to interpretation. We get consensus on what we want it to say and then we make it unambiguously say that.
It doesn't actually matter what consensus is on what it may say now. We have a 19+ long email thread trying to figure it out, so we know it could be improved.