//! `Record<K,V>` flowing through the processor graph + `RecordContext`.
/// A key/value record with a timestamp.
///
/// `key` is optional because Kafka records may have null keys. `value` is typed
/// and present at this layer; table deletions are represented in the DSL as
/// change records whose `new` value is `None`.
/// Metadata about the source record currently being processed (JVM
/// `RecordContext`). Exposed via
/// [`ProcessorContext::record_context`](crate::processor::ProcessorContext::record_context).