//! Multi-channel messaging for the CAR daemon (iMessage + Slack) — both the
//! approval transports and the general outbound send surface.
//!
//! Two things live here, over one set of per-channel transports and one
//! per-channel config/allowlist/pairing store:
//!
//! - **Approval transports** ([`messaging_orchestrator`], [`slack_adapter`],
//! [`channel_supervisor`], [`fanout`]) — an agent asks, a human answers
//! approve/deny on their own device.
//! - **General outbound** ([`outbound`]) — the host side of the runtime's
//! `messaging.send` tool, so "message a human" is a governed runtime
//! capability (validator → policy → rate limit → eventlog) instead of a
//! transport each agent hand-rolls where the policy engine cannot see it.
//!
//! Extracted from `car-server-core` (#418) so its heavy test binaries stop
//! inflating CI link/disk. Depends on `car-server-types` (HostState, channel,
//! approval) and on `car-engine` for the `MessageSink` seam — NOT on the
//! dispatcher, so there is no cycle.