isAccessClassGrantedAtRung
isAccessClassGrantedAtRung(
toolName,rung):boolean
Defined in: _worktrees/docs-release/gaunt-sloth/packages/core/src/config/tool-descriptions.ts:159
§2 — does rung’s own grant cover this tool’s access class, i.e. is the tool free on its
class alone, before anything is asked about whether the gate gates it?
read— granted at every rung (§2.1).write— granted fromwriteup (§2.2, and §2.3/§2.4 which grant “everythingwritegrants”), so it escalates atmanual.- no class at all — the shell, a network call, an MCP tool, a custom or agent-authored tool: granted by no rung. There is no implicit exemption; a tool is free here only by appearing in BUILT_IN_TOOL_ACCESS.
This is the one implementation of that rule. isGrantedAtRung decides a grant with it,
and config/shell-policy.ts’s isToolGatedAtRung decides gated-set membership with it — which
is in turn what the agent’s interrupt set and GthAgentRunner’s own live-rung check are built
from. So the gate cannot escalate a call the descriptions and the rater’s granted list call free
— the drift §4.5 names as worse than having no description at all. Two derivations of one rule is
exactly what this function exists to prevent; do not inline it back into either caller.
bypass is not special-cased: it grants everything for a reason unrelated to access class (the
gate is off), which isGrantedAtRung states where that belongs.
Parameters
Section titled “Parameters”toolName
Section titled “toolName”string
"manual" | "write" | "assisted" | "auto" | "bypass"
Returns
Section titled “Returns”boolean