@@ -1346,37 +1346,27 @@ A categorized catalog of what's shipped. Cross-linked to `TEST-PLAN.md` checks.
13461346 Customized/restored via the ** ` get_gateway_guide ` ** (anyone) / ** ` update_gateway_guide ` ** /
13471347 ** ` reset_gateway_guide ` ** (admins) gateway MCP tools — per-file or whole-guide restore-to-default.
13481348 → TEST-PLAN: Gateway-usage skill.
1349- - ** Retired 2026-09-03 (Linux + containers only):** the OS-sandbox half of this bullet — the four modes stay as TOOL-permission presets (read =
1350- read-only tools, bash = shell + file writes, auto = prompts auto-approved, admin =
1351- ` --dangerously-skip-permissions ` for an admin author), and none of them changes what the channel's
1352- container can see. Four channel ** modes** (set with ` /mode ` ): ` read ` (Read/Glob/Grep only, every
1353- other tool asks for approval — the shell is named in the lockdown's ` permissions.ask ` , not merely
1354- left out of ` permissions.allow ` : Claude Code answers a simple command whose argv head is on its
1355- own built-in read-only list (` id ` , ` cat ` , ` head ` , ` strings ` , …) BEFORE consulting
1356- ` --permission-prompt-tool ` , so omission alone let a read-mode turn run ` id -un ` with no approval
1357- card; an ` ask ` rule outranks that layer and routes every command — simple or compound — to the
1358- approval card), ` bash ` (Bash + file writes, sandboxed to the folder), ` auto `
1359- (autonomous — permission prompts auto-approve, still fully sandboxed), and ` admin ` (full tools,
1360- sandbox off — requires an ** admin author** as well). ` admin ` is org-admin-only to select; the safe
1361- modes honor the channel's "who can manage" policy. The ** admin-run settings variant** — the file
1362- handed only to an admin author's escalated turn in an admin-mode channel — grants the shell tools
1363- outright and carries no ` ask ` rule at all: that turn spawns with
1364- ` --dangerously-skip-permissions ` , so the rule widens nothing, and inheriting read mode's
1365- ` ask: ["Bash"] ` instead made Claude Code deny a bare ` pwd ` and demote the whole turn to read-only
1366- (the ` full ` profile sets ` adminMode ` alone, never ` allowBash ` ). The SHARED file of the same
1367- channel is unchanged — a non-admin author there still routes every command to the approval card.
1368- → TEST-PLAN: Modes & approvals.
1349+ - ** Three base modes with independent options:** Read-only, Worker, and Admin. Read-only
1350+ routes edits and commands to approval; Worker grants commands and file writes inside the channel
1351+ container. Admin grants Worker to non-admin members and the permission bypass only to trusted
1352+ admin authors. The shared settings file always disables bypass, even when it grants Worker tools.
1353+ ** Auto** and ** Lean** are independent side toggles: Auto approves tool requests for every admitted
1354+ member; Lean removes optional skills and connectors. In Admin mode, Lean applies to non-admins,
1355+ while admins retain their configured tools and context. Changing Worker ↔ Admin preserves both
1356+ toggles. Choosing Read-only clears Auto; enabling Auto on Read-only selects Worker. Existing Full
1357+ access records gain the documented Worker fallback; existing Auto and Lean flags are preserved.
1358+ Network remains a separate setting. → TEST-PLAN: Base modes and independent options.
13691359- Read mode's filesystem contract is engine-neutral: ordinary runs get bounded gateway MCP tools
13701360 to list, read, and literal-search the effective channel workdir. They realpath-check every target,
13711361 refuse traversal and escaping symlinks, cap file/search output, and expose no write or shell
13721362 operation. Claude may keep using its native Read/Glob/Grep; Codex uses these tools when its
13731363 read-only permission profile intentionally withholds command execution. → TEST-PLAN: Engines.
1374- - ** Capability profiles ** (admin UI, one dropdown instead of a grid of toggles): ** Read-only ** /
1375- ** Worker ** / ** Autonomous ** / ** Full access ** / ** Lean ** — each with example help text — expand to
1376- the underlying ` adminMode ` / ` allowBash ` / ` autoMode ` / ` cleanMode ` flags; ** Custom… ** unlocks the flags
1377- for hand-editing. Legacy channels derive their profile from existing flags (no DB migration). The
1378- network toggle + the rarely-touched knobs (memory, nudges, refuse-org-tokens, work-dir, engine/
1379- model/effort) live under an ** Advanced ** disclosure. → TEST-PLAN: channel access model .
1364+ - The web channel editor, custom DMs, and default templates share the three-mode picker and
1365+ side toggles. The Slack reply's ** Settings ** button exposes Read-only/Worker/Admin plus Auto/Lean
1366+ on its Runtime tab; only current gateway admins can select Admin. Every click rechecks user
1367+ authorization and channel membership, and every change is audited. ` /mode read|worker|admin ` changes the
1368+ base while preserving applicable options ( ` bash ` remains a compatibility alias). Legacy run-API
1369+ presets remain accepted with their existing capability-reduction boundary .
13801370- ** Two-axis access model** (per channel, both editable in the admin UI): ** Who can use** (` meta.access ` :
13811371 Approved members / Admins only / Locked) and ** Who can manage** (` meta.manageAccess ` : Org admins only /
13821372 Channel members / Custom + ` meta.managers[] ` ). A channel manager may change SAFE settings (capability
0 commit comments