NOTE: Draft 7 of JSON Schema was published on 2017/11/19.
== Background
In {T182000}, we discovered that data being sent by the EventLogging client couldn't be refined and imported into Hive. Hive was/is expecting a property to be a double but, because of the way JavaScript represents numbers and how they're encoded in JSON, received both integers and doubles.
In T182000#3809548, @Ottomata pointed out that we could encode "a number that isn't an integer" in a draft 3+ JSON Schema and so should be able to catch this issue sooner (during the implementation phase at worst). However, [the EventLogging client doesn't implement a draft 3 compatible JSON Schema validator](https://github.com/wikimedia/mediawiki-extensions-EventLogging/blob/3301b887339cc63b7f1f103af25b082457358ec1/modules/ext.eventLogging.core.js#L90-L164).
== Strawman Solution
Switch out the JSON Schema validator in the EventLogging client for [the jsonschema package](https://www.npmjs.com/package/jsonschema) in debug mode.
The jsonschema package is well-used, well-tested, and supports drafts 3, 4 and 6 of JSON Schema and has had a version published recently (4 weeks ago at the time of writing – Friday, 5th January 2018).