docs: correct Sandboxing section in ARCHITECTURE.md

Sandboxing is not layered. It is applied specifically to execute_code:
each step is wrapped with landrun using a named config from
~/.config/ollie/sandbox/<name>.yaml (default: "default"). Steps marked
elevated:true bypass the sandbox via x/elevate. Remove superpowerd
reference.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Levi Neely 2026-04-25 11:21:29 +02:00
parent 5326de7b46
commit d42778c61a
1 changed files with 7 additions and 4 deletions

View File

@ -173,11 +173,14 @@ without modifying history.
## Sandboxing
`internal/sandbox` wraps commands with [landrun](https://github.com/landlock-lsm/landrun) (Landlock LSM). Configuration is layered:
Sandboxing is applied specifically to `execute_code`. Each code step is wrapped with
[landrun](https://github.com/landlock-lsm/landrun) (Landlock LSM) via
`internal/sandbox`. The sandbox config is loaded by name from
`~/.config/ollie/sandbox/<name>.yaml`; if no `sandbox` argument is passed in the
`execute_code` call, the `default` config is used.
1. Named sandbox config (`~/.config/ollie/sandbox/<name>.yaml`; `default` is used when unspecified)
If `superpowerd` is running, commands are additionally wrapped with `superpowers run-session` for privilege scoping (optional, detected at runtime).
Steps marked `elevated: true` run outside the sandbox via the elevation backend
(`x/elevate`) and are the only exception. All other steps are sandboxed unconditionally.
## HTTP Gateway