ef71f2cad8
Builds on liuhao1024's webhook exclusion (#37317): instead of falling through to auto-approve, unattended programmatic platforms (webhook, msgraph_webhook, api_server) now resolve approval decisions instantly via approvals.unattended_mode (default deny), mirroring cron_mode. - _UNATTENDED_APPROVAL_PLATFORMS set + _is_unattended_platform_approval_context() - approvals.unattended_mode config key (deny | approve), default deny - Deny branches in _run_approval_gate, check_all_command_guards (with tirith parity), and check_execute_code_guard (#87509 sibling site) - Docs: security.md; config_defaults.py comment + default Fixes #37284. Also fixes the api_server half of #87509.