Dispatches currently have a payload field for operational parameters (power settings, SoC limits, etc.), but there's no dedicated field for arbitrary user-defined metadata.
Use cases:
- Storing context from external systems
- Adding tracking/correlation IDs
- Attaching non-operational data that shouldn't mix with
payload
Proposal: Add a google.protobuf.Struct metadata field to DispatchData:
message DispatchData {
// ... existing fields ...
// User-defined metadata.
// Arbitrary JSON data for client use, separate from operational payload.
google.protobuf.Struct metadata = 9;
}
Same constraints as payload would apply (50KB max, 5 levels nesting).
This is additive and backward-compatible.
Alternative: map<string, string> labels - simpler and easier to query/filter, but less flexible.
Dispatches currently have a
payloadfield for operational parameters (power settings, SoC limits, etc.), but there's no dedicated field for arbitrary user-defined metadata.Use cases:
payloadProposal: Add a
google.protobuf.Struct metadatafield toDispatchData:Same constraints as
payloadwould apply (50KB max, 5 levels nesting).This is additive and backward-compatible.
Alternative:
map<string, string> labels- simpler and easier to query/filter, but less flexible.