pub const SOURCE_METADATA_SCHEMA_VERSION: u32 = 4;Expand description
The source-metadata sidecar schema version this module emits.
phase-463 W1 – 1 -> 2. Version 2 is ADDITIVE over version 1 and every
reader in the tree defaults the new fields, so a v1 sidecar still parses:
- every endpoint kind carries
qos(v1: publishers and subscribers only); the value is the profile the runtime was handed AFTER overrides, which is what the executor sizes for; - a
timers[]row carrieskind–wall/clock/oneshot/in_group– and a guard condition is a row of that array withkind: "guard_condition", so slot consumers that count the array keep counting one slot each while a census can tell the two apart; - a
parameters[]row carriestype.
phase-457 W3 – 2 -> 3, additive again, and every reader defaults the new
field:
- a
subscribers[]row may carryin_place– whether THAT registration’s delivery shape can dispatch out of the backend’s own receive slot (EntityMetadata::in_place_capable). An absent key is a refusal, not afalse: it is what a probe that declares without registering leaves behind, and a consumer that read it asfalsewould state a registration path nobody observed.
Version 4 (issue 1648) is additive again:
- a
subscribers[]row may carrybuffered–"typed_bound"or"unbounded", the BUFFERED row that registration claimed (EntityMetadata::buffered_row): whether its receive slot is a bound the call site stated or the closure buffer (RX_BUF). Written besidein_placeby the same observation, and absent exactly when it is.
Serialised in exactly one place (this module), as phase-308’s layer rule requires: the adapters that feed the recorder contain no JSON.