From d42778c61a75e85ba5e1dca3377b1e32eaac5bb2 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Sat, 25 Apr 2026 11:21:29 +0200 Subject: [PATCH] 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/.yaml (default: "default"). Steps marked elevated:true bypass the sandbox via x/elevate. Remove superpowerd reference. Co-Authored-By: Claude Sonnet 4.6 --- doc/ARCHITECTURE.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/ARCHITECTURE.md b/doc/ARCHITECTURE.md index d3168d8..aba4ed2 100644 --- a/doc/ARCHITECTURE.md +++ b/doc/ARCHITECTURE.md @@ -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/.yaml`; if no `sandbox` argument is passed in the +`execute_code` call, the `default` config is used. -1. Named sandbox config (`~/.config/ollie/sandbox/.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