PURE authorization-policy decision for runtime overrides on a realtime session start.
Rules (Amith-approved product contract):
No overrides requested → allowed (the everyday flow is never gated here — CanRun on the
target agent remains the only gate for plain session starts and for target selection).
An explicit runtime model that EQUALS the metadata-configured preference is not a
deviation → no gate.
A DEVIATING explicit runtime model → caller must hold the authorization AND the effective
allowUserModelOverride must not be false (the policy blocks even authorized callers).
The check is deliberately a structured REJECTION (the caller throws the DenialReason), never
a silent ignore — a caller who asked for something specific must learn it was refused.
PURE authorization-policy decision for runtime overrides on a realtime session start.
Rules (Amith-approved product contract):
CanRunon the target agent remains the only gate for plain session starts and for target selection).configOverridesJsonpresent → caller MUST hold the REALTIME_ADVANCED_SESSION_CONTROLS_AUTHORIZATION authorization.allowUserModelOverridemust not befalse(the policy blocks even authorized callers).The check is deliberately a structured REJECTION (the caller throws the
DenialReason), never a silent ignore — a caller who asked for something specific must learn it was refused.