run_start.additionalProperties is false, but the RunEngine makes use of additionalProperties to encode arbitrary metadata.
Either additionalProperties should be true, to mark that this is intended and that where additionalProperties is false it can be assumed that there will be no additional properties; or the arbitrary metadata should be moved into a field on run_start.
Context
While writing a service that consumes documents, as additionalProperties is clearly false in practice ('detectors', 'motors' two very commonly used metadata keys from Bluesky plans that are on the run_start root document), it implies that additionalProperties cannot be trusted on other document types and handling must be provided in case there is metadata attached to these documents.
Expected Behavior
run_start.additionalProperties is false, but the RunEngine makes use of additionalProperties to encode arbitrary metadata. Either additionalProperties should be true, to mark that this is intended and that where additionalProperties is false it can be assumed that there will be no additional properties; or the arbitrary metadata should be moved into a field on run_start.
Context
While writing a service that consumes documents, as additionalProperties is clearly false in practice ('detectors', 'motors' two very commonly used metadata keys from Bluesky plans that are on the run_start root document), it implies that additionalProperties cannot be trusted on other document types and handling must be provided in case there is metadata attached to these documents.