Apply pending ruff format; narrow AssistantChatMessage.content before membership checks so basedpyright accepts Unset|None unions.
Add classify_danger for delete/move/overwrite paths, get_path_denylist, and clearer path/command denial messages.