I think what you're getting hung up on is that JSON does not use IEEE floating point math. If your implementation or environment stores parsed numbers as an IEEE floating point, that's a limitation the implementation has to disclose or work around in some fashion, but it's not a limitation of JSON or JSON Schema as such.
(1) This is a good overview, but conservatives don't believe in the status quo for the status quo's sake. They believe that our traditions are highly optimized, essential components to living a fulfilling life. We don't even know why many of the rules even exist, the exact problem they solve has long been forgotten to history; so we should be careful when changing these rules.
There is an element of caring for your long-term health as well as the larger society, and raising the next generation of humans, which most everyone agrees with in some form (even libertarians argue that absolute individual liberty is what produces the best outcome for society). This not necessarily make you a collectivist, in the way that progressives push for labor unions, economic planning, and intersectionality.
What you're missing is a description of when conservatives support use of force to promote social values. Modern American conservatives think that rights come with responsibilities, that neither unfettered libertinism nor enforcement of responsibility with police power is legitimate.
(2) Clarence Thomas has never spoken from the bench about what laws the state ought to pass, he is careful to emphasize he is not a lawmaker and that is not his job. When he dissents in Obergefell and other cases that rely on "substantive" due process, it's because i legal rationale invented to uphold slavery in Dred Scott v. Sandford.
"oneOf" requires exactly one match (hence the name), typically you want to use "anyOf" or "allOf". And there's no benefit in putting two identical values inside them.
JSON Schema is merely a list of assertions. Some test the type of the value (that's the "type" keyword), others test the value ranges within a single type. This way, you can allow values to be one of multiple types, e.g.: {type:["string","object"], minLength:1} means "Value must be a string or object; and if it's a string, it must have at least one character."
Some of the assertions are spread across multiple keywords, "additionalProperties" depends on "properties", for example. So, {additionalProperties:false} means: if value is an object, then only an empty object is permitted.
Some implementations can tell you if you're trying to do nonsensical things (like test the maximum length of a value that's only allowed to be a boolean), but that's up to the implementation to test for.
How is that simple? What does "status" mean? I'm personally familiar with the word "status"—but whatever that property is, I'd have to re-implement it in my user agent, which seems like a waste because my user agent already understands HTTP status codes. How is it simple to have to look at and interpret two different "status" fields? (And that's just the first property!)
What part of the article is verbose? What's wrong with verbose?