Tier resolution: admin_level из groups.getById при загрузке → tier Operator/Creator/Editor/Moderator/Member. Ре-чек по запросу; при отзыве токена tier падает и агент получает предупреждение.
tools/pre-execute (waterfall):
scope-чек: нужен юзер-токен, его нет → VK_SCOPE_MISSING;
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Цель
Три слоя защиты + единая запись «кто что сделал».
Объём
admin_levelизgroups.getByIdпри загрузке → tier Operator/Creator/Editor/Moderator/Member. Ре-чек по запросу; при отзыве токена tier падает и агент получает предупреждение.tools/pre-execute(waterfall):VK_SCOPE_MISSING;deny;requireConfirmForDestructive→ask;raw_api+ allowlist →denyвне списка.ctx.tools.guard()(монотонный): жёсткий deny ниже минимального tier — позже зарегистрированный listener не может отменить.tools/result(emit): аудит-запись на каждый изменяющий вызов.tools/execute(wrapper): per-tool метрики (calls, errors, p50/p95, коды VK).{ at, source, tool?, ruleId?, action, target?, before?, after?, ok, error?, token:'<redacted>' }, append-only, ротация 10 000 записей.Acceptance
tests/policy.test.tsзелёные.ask-гейт на каждом деструктивном инструменте; без подтверждения —deny.<redacted>).Ссылки
wiki: Security-Model · Architecture · Testing-Strategy