GroupSecurityTransitionRecord
Defined in: packages/core/src/group-security-transition-record.ts:98
Persistable framing for one group-security transition.
deliveryPayload is the exact output of the coordinator’s configured
delivery codec, including an empty output. deliveryCodec selects an application-allowlisted decoder;
it is distinct from the group-security protocol and is not authenticated by
this frame. Restoring code must treat decoder selection as untrusted, decode
the payload, and verify that the decoded Commit and Welcome set match the
signed controlRecord before applying it.
The verified membership-control record ID is the semantic transition identity; this outer frame does not authenticate an opaque codec encoding. It provides strict framing and durable bytes only. It does not choose between same-parent controls, make independent stores linearizable, or provide replication and availability.
Decoded records are detached from their serialized input, but nested records
and byte arrays remain mutable. Before its first await or untrusted codec
call, an asynchronous consumer must synchronously take one private canonical
snapshot of the complete transition, use only that snapshot for identity,
authentication, semantic validation, and application, and pass separate byte
copies to callbacks that could mutate them.
Properties
Section titled “Properties”controlRecord
Section titled “controlRecord”
readonlycontrolRecord:MembershipControlRecord
Defined in: packages/core/src/group-security-transition-record.ts:101
deliveryCodec
Section titled “deliveryCodec”
readonlydeliveryCodec:GroupSecurityTransitionDeliveryCodec
Defined in: packages/core/src/group-security-transition-record.ts:100
deliveryPayload
Section titled “deliveryPayload”
readonlydeliveryPayload:Uint8Array
Defined in: packages/core/src/group-security-transition-record.ts:102
version
Section titled “version”
readonlyversion:number
Defined in: packages/core/src/group-security-transition-record.ts:99