/// #398: the `recorded_at` a projector should stamp on a row — the
/// JetStream **publish timestamp** of the message being projected
/// ("the time that this message was received by the server from its
/// publisher"), not `Utc::now()` at projection time. Publish time is
/// a property of the message, so re-projecting after a `-WipeDb`
/// (#389) reproduces the exact same arrival times instead of
/// collapsing all replayed history onto the replay instant.
///
/// Falls back to `Utc::now()` when the ack metadata can't be parsed
/// (`msg.info()` errors on a malformed reply subject — shouldn't
/// happen for JetStream deliveries, but a timestamp must never be
/// the reason a row fails to project).
pub