1// Package records owns durable relay identity, signed protocol records,2// projections, views, notifications and succession state.3//4// New initializes the records schema and loads the relay signing key from the5// tenant settings. Config.Community is required because membership and6// moderation projections are part of the records service's read contract.7//8// Signed records that advance the durable records clock run under the service9// signing lock and persist the clock before invoking Config.OnGenerated.10// OnGenerated runs after that transaction commits and commonly persists or11// publishes the returned event. Its error is returned to the caller; the clock12// remains durable even when the callback fails.13// GenerateEphemeral signs a response without advancing the durable clock or14// invoking OnGenerated.15package records