Skip to content

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.

readonly controlRecord: MembershipControlRecord

Defined in: packages/core/src/group-security-transition-record.ts:101


readonly deliveryCodec: GroupSecurityTransitionDeliveryCodec

Defined in: packages/core/src/group-security-transition-record.ts:100


readonly deliveryPayload: Uint8Array

Defined in: packages/core/src/group-security-transition-record.ts:102


readonly version: number

Defined in: packages/core/src/group-security-transition-record.ts:99