//! Named application query contracts.
use crate::;
/// A named read operation with an output type fixed by the query itself.
///
/// Query values should own their input so they can cross asynchronous and
/// adapter boundaries without borrowing transport-specific data.
/// Handles one concrete query type.
///
/// The method is named `query` to keep `execute` reserved for [`crate::UseCase`].
/// A use case depends on `QueryHandler<MyQuery>` and remains unaware of whether
/// the handler uses portable repository parameters or a native adapter query.