`$schema` in messages
We could start to add $schema URLs to generated JSON
For now this would just suffice to make them more comprehensible/validatable, but going forwards it could allow a schema versioning mechanism
We'd have to solve a bootstrapping problemen. We don't know what the version of the schema is until we make a release.
And while we could generate all the code when we make a release, we intentionally don't do that to avoid making the build processs complicated.
Another problem I imagine would be that the messages should be light weight. Adding a url to every envelop is going to increase the size of the ndjson report.
It seems to me the schema version could/should be different to the messages version? Or at least we should only increment the schema's major version when we break backwards compatibility in the 'json schema' sense?