Summary
Design an ergonomic Rust SDK API for audit trails that can support custom record payload types in the future without making the common Data flow confusing or noisy.
Background
Today, the Move contract supports generic trail creation via create<D>(data: Option<D>, ...), but the current Rust SDK surface is centered around record::Data.