/**
 * Contributor Action Gate Port — spec 097, NFR-5.
 *
 * Narrow approval-gate abstraction wrapping `ISupervisorAgent` for the
 * contributor pipeline. Every external side-effect (label / comment /
 * assign / Discord post / recap publish) flows through this port before
 * execution so the supervisor approval flow is enforced at one chokepoint.
 *
 * Why a separate port instead of injecting `ISupervisorAgent` directly:
 *   - The supervisor's `evaluate(event, policy)` API is generic across the
 *     full agent-collaboration fabric and forces every caller to construct
 *     a `SupervisorEvent` + resolve a `SupervisorPolicy` snapshot. That
 *     ceremony is a poor fit for tiny "is this label change OK?" calls.
 *   - The narrow port keeps the contributor use cases readable, isolates
 *     the policy-resolution concern in the infra adapter, and lets the
 *     adapter add channel-specific defaults (e.g. auto-approve labels in
 *     autonomous mode) without changing every caller.
 */
export {};
