Apply P16: approvals are !approve/!deny replies in the approval's thread; no reactions

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-24 01:54:50 -07:00
co-authored by Claude Opus 5.5
parent 3088dcc201
commit 1c2695d21d
3 changed files with 6 additions and 6 deletions
+3 -2
View File
@@ -64,8 +64,9 @@ ordinary outbound networking can reach the whole tailnet and the internet as the
2. `inferproxy` is a forwarder of about 100 lines: one Unix socket in, one fixed upstream out. The
upstream is the shared router's TCP listener on the host. It is required: `loopd` has no
network, and the router stays on TCP for its other clients.
3. `gatewayd` has outbound network only. It opens no listening TCP port. v0 approvals use replies
or emoji reactions, which arrive over the Mattermost WebSocket, so no callback URL is needed.
3. `gatewayd` has outbound network only. It opens no listening TCP port. Approvals are commands
(`!approve`, `!deny`) replied in the approval's thread, which arrive over the Mattermost
WebSocket, so no callback URL is needed.
4. Tool containers get no network unless the grant names hosts. Granted network access goes through
an allowlisting egress proxy that `brokerd` configures per call.
5. Tailnet ACLs (kept in `deploy/`) limit the host's node to `llama-server` and Mattermost, plus