Define events
Use the catalog
target is a string, the SDK uses the catalog targetType. The catalog also supplies the default userVisible value.
Naming
Use dot-separated past-tense names:account.user.loginorganization.member.removedpolicy.consent.acceptedbilling.invoice.paid
update, changed, or event. Reviewers need to understand the action without opening raw metadata.
Metadata
Keep metadata structured and reviewable:relatedReceiptIds or relatedEventIds when one record depends on another. Lodger stores consistency hints inside the hashed payload.