pub
/// Bound for hibana choreography values accepted by `project(&value)`.
///
/// This is a sealed projection contract for generated protocol packages,
/// host harnesses, small runtime facades, or other composition layers that
/// need to return `impl Projectable` without naming the internal
/// `hibana::g::Program<_>` step-list type. Ordinary runtime code should
/// build a local `let program = ...` and call the same
/// `runtime::program::project(&program)` entry. Projection authority and
/// metadata visitation stay behind Hibana's projection owner; this trait is
/// only the sealed choreography bound.
///
/// Projection is independent of runtime resources. Keep this bound
/// parameter-free so facade APIs do not make users write runtime parameters
/// just to hide a choreography term.
///
/// The trait is not an extension point. Return hibana choreography values behind
/// `impl Projectable`; do not implement a parallel projection path.