ext object. It holds what a producer knows that the specification does not cover, such as a queue priority, a trace id or a framework’s own state name, without inventing new fields.
Namespaces
- An
extkey SHOULD begin with a reverse-domain namespace the producer controls, such ascom.example.for a tool at example.com, so that two producers never collide. - A consumer MUST ignore namespaces it does not understand, at every level, and MUST NOT fail on them.
- A producer SHOULD put its own data in
ext, not in new fields next to the specification’s. - Under the
fullprivacy profile, text MAY appear inext; undermetadata_only,extis bound by the same rule as every other field.
Extensions that change meaning
An extension is ignorable by definition, with one exception so far:control.ext["dev.loopmath.gate_rules"] maps a gate to a rule other than its role’s default. A different gate rule changes what ran, so this key is part of the configuration id. A reader that ignores it can still read the document, but cannot recompute the id.
loopmath writes a few other keys that a reader may find useful: