The [[ https://gerrit.wikimedia.org/r/plugins/gitiles/schemas/event/primary/+/refs/heads/master/jsonschema/fragment/common/current.yaml | fragment/common ]] fragment, defined in the `primary` schema repository, defines a `meta` object which it indicates that all schemas should have. There has been persistent confusion about what this object is and is not for. Several subfields of `meta` are currently populated by eventgate, including:
* `meta.stream`: The stream to which the event was produced
* `meta.id`: A unique ID identifying the event
* `meta.dt`: A timestamp reflecting when the event was received by eventgate
* `meta.request_id`: A unique ID identifying the request that caused the event
What is the intended scope of `meta`? Is it acceptable to add additional `meta` fields for analytics instrumentation — a `meta.skin` field for analytics "dimensions," for example (T271456)? If so, where should these be added? Do they need to be added in the `primary` schema repository, or can `meta` be supplemented from a schema or fragment in the `secondary` repo?