reliar-inbox 0.1.0

Transactional inbox deduplication: InboxStore/InboxHandler contracts, claim/complete/fail/purge semantics (no storage or transport dependency).
Documentation
//! [`InboxRecordId`]: the surrogate row id, `pk_inbox` (ADR 0042 A.2.1).

reliar_core::uuid_id!(
    /// Identifies one inbox row — the operator's single handle on it, and the value
    /// [`crate::InboxClaim::Dead`]/[`crate::InboxFailure::Dead`] quote. Client-minted `UUIDv7`
    /// (ADR 0015), stored as `inbox.id`, `pk_inbox`.
    ///
    /// It mints (`new()`) because Reliar originates it, unlike `ConversationId`/`RequestId`
    /// (ADR 0038). No `Default`: unlike `MessageId`, nothing constructs an `InboxRecordId` out of
    /// thin air as a *default* value — every caller mints one deliberately at claim/fail time
    /// (ADR 0042 A.2.1). No `FromStr` — no caller.
    ///
    /// ```
    /// use reliar_inbox::InboxRecordId;
    ///
    /// let a = InboxRecordId::new();
    /// let b = InboxRecordId::new();
    /// assert_ne!(a, b);
    /// assert!(a < b); // UUIDv7 generation is monotonic within this process
    /// ```
    ///
    /// `no_default` means there is no `Default` — pins ADR 0042 A.2.1 (every caller mints one
    /// deliberately at claim/fail time, never as a stand-in default value):
    ///
    /// ```compile_fail
    /// use reliar_inbox::InboxRecordId;
    ///
    /// let _ = InboxRecordId::default();
    /// ```
    InboxRecordId in reliar_inbox,
    no_default
);
#[cfg(feature = "serde")]
reliar_core::uuid_id_serde!(InboxRecordId);