# scripts Shell scripts for interacting with the ollie 9P filesystem. All scripts read `OLLIE` (default: `$HOME/mnt/ollie`) for the mount path. `mk scripts` installs them and exposes them via the mounted filesystem, so they are available without any `$PATH` changes: ```sh $OLLIE/s/ls # list sessions $OLLIE/s/kill # kill a session $OLLIE/s/cleanup # remove all idle sessions ``` For one-shot generation, code completion, and routing, use `ollie-9p rdwr` with the corresponding file: ```sh echo 'summarize this repo' | ollie-9p rdwr generate echo '{"file":"main.go","prefix":"func ","suffix":""}' | ollie-9p rdwr complete echo 'implement login page' | ollie-9p rdwr route ``` Scripts are organized by the filesystem namespace they are hosted under: - `s/` — session management --- ## s/ls List all active sessions. ``` s/ls ``` --- ## s/kill Kill a session by ID and remove it. ``` s/kill ``` --- ## s/cleanup Remove all idle sessions. ``` s/cleanup ``` --- ## x/elevate Sandbox escape hatch invoked by `shell` when a command is marked `elevated: true`. The Landlock sandbox is enforced at the kernel level — restrictions apply regardless of user privileges within the sandboxed process. `x/elevate` is a generic client that forwards the command to an adapter running outside the sandbox, which executes it and returns the result. `x/elevate` knows nothing about the backend. It connects to the socket at `OLLIE_ELEVATE_SOCKET`, sends `{cmd, cwd}`, and reads back `{stdout, stderr, exit_code}`. The adapter on the other end is backend-specific. Multiple adapters can coexist at different socket paths; switching backends is a single env var change. Set `OLLIE_ELEVATE_SOCKET` in `~/.config/ollie/env`. The default is `$XDG_RUNTIME_DIR/ollie/elevate.sock` (falling back to `/run/user//ollie/elevate.sock`), so this only needs to be set when using a non-default path: ``` OLLIE_ELEVATE_SOCKET=${XDG_RUNTIME_DIR}/ollie/elevate.sock ``` ### Protocol `x/elevate` sends a newline-terminated JSON object and reads a JSON response: ``` → {"cmd": "", "cwd": ""}\n ← {"stdout": "...", "stderr": "...", "exit_code": 0} ``` Any process that listens on a Unix stream socket and speaks this protocol is a valid adapter. ### Integrated elevation broker As of 2026-07, elevation is handled by olliesrv's integrated broker (`core/pkg/elevate`). The broker listens on `$OLLIE_ELEVATE_SOCKET` and handles command execution with human-in-the-loop approval via desktop notifications. No external adapter or daemon is required. ### Disabling elevation Replace `x/elevate` with a script that exits non-zero. Steps marked `elevated: true` will fail rather than escape the sandbox: ```sh #!/bin/sh echo "elevation disabled" >&2 exit 1 ```