import { resolveExecutionPolicy, type PolicyResolverInput } from "../bootstrap/policy_resolver"; export interface PreDispatchGuardResult { allowed: boolean; mode: "allow" | "deny" | "audit"; reason: string; } /** * Guard path executed before command dispatch to enforce canonical policy mode. */ export function runPreDispatchGuard(input: PolicyResolverInput): PreDispatchGuardResult { const resolution = resolveExecutionPolicy(input); if (resolution.mode === "deny") { return { allowed: false, mode: resolution.mode, reason: resolution.reason }; } return { allowed: true, mode: resolution.mode, reason: resolution.reason }; }