openrig-operator-fb4529 — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited openrig-operator-fb4529 (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill covers host/runtime/operator triage around OpenRig itself. Use it when the problem may be the daemon, the shell/runtime surface, or stale helper processes rather than the product workflow you are trying to run.
CANONICAL SURFACE NOTE (2026-05-11) — for durable queue routing while doing operator triage, userig queue(daemon-backed SQLite).rigx queueis recovery-only fallback; qitems written there are invisible to daemon-backed reads and should not be used for new substantive work.
Use this skill when you see:
rig whoami --json returning partial identityrig ps --nodes --json failing while some other rig commands still workSent to ... plus Verified: noOperation not permitted, command approval friction, or stale writable rootsDo not use this skill for normal product workflow routing, queue handling, or ordinary peer communication. Use openrig-user for that.
Do not use this skill to decide how to change OpenRig behavior. Changes to the OpenRig product (CLI, daemon, UI, specs) happen in the openrig product repo — operate that as a normal software project, not via this troubleshooting skill.
Start with the minimum truthful operator read:
rig whoami --json
rig daemon status
rig ps --nodes --jsonInterpret them together, not in isolation:
whoami can mean identity is inferable while daemon-backed surfaces are degradeddaemon status tells you whether the host daemon is up, not whether every seat can reach it cleanlyps --nodes --json is the best machine-readable topology check when it worksFor rig send:
Sent to ... + Verified: yes = strong positive delivery evidenceSent to ... + Verified: no = ambiguous delivery, not automatic failureSent to ... line or a hard error = send failureWhen verification is ambiguous, check:
rig capture <session>Do not blindly retry until you have checked one of those.
If you see:
Warning: The maximum number of unified exec processes you can keep open is 60 ...treat it first as a host/tooling-layer warning, not as automatic proof that the OpenRig topology is unhealthy.
This warning can coexist with a healthy live topology.
Inspect the process surface first:
ps -axo pid,ppid,command | rg 'tmux send-keys|rig queue create|tmux attach|codex|claude'Think in layers:
tmux attach seats, live codex / claude runtimes, daemon healthDo not diagnose topology failure from tooling-layer warnings alone.
Usually safe to reap when clearly orphaned / one-shot:
tmux send-keys ...Do not mass-kill:
tmux attach ...codex ...claude ...The point is to remove garbage, not workers.
Use a terminal node when evidence shows a seat-level sandbox/profile cannot perform required host work, but another approved operator surface can. This is an explicit operator lane, not a silent permission bypass.
Good fits:
Do not use this lane to bypass repo safety, dirty-worktree boundaries, review gates, or destructive-action approval. If the command would stop live rigs, delete data, reset git state, or mutate VM state beyond the accepted plan, require explicit authorization and record it.
Protocol:
Field lesson: if tester sees Operation not permitted for Tart/SSH while driver or another approved seat can reach the VM, treat it as permission/profile variance and route a terminal-node/operator remediation before changing product code.
Use the security-and-consequence-boundary-policy skill for the security model. OpenRig gates consequence boundaries, not ordinary work inside the intended boundary.
Treat Codex permissions as two independent layers:
workspace-write seat can mutateCodex auto_review, --full-auto, and approval-bypass modes are not normal fleet defaults. They can burn quota catastrophically and do not widen filesystem roots for an already-running seat. Full access scope with approvals_reviewer = "user" is the intended Codex default here.
Claude Code auto permissions are different and are the preferred Claude default on this host when the consequence-boundary rules still apply.
Current host policy:
fleetfleet uses sandbox_mode = "danger-full-access", approval_policy = "on-request", approvals_reviewer = "user"[sandbox_workspace_write].writable_roots intentionally includes ~/code and tool dotdirs: .codex, .claude, .openrig, .agents, .config, .cache, .local, .docker, .npm, .nvm, .pnpm-storepermissions.fleet.filesystem mirrors those writes and denies .ssh, .gnupg, and project env filesdefault.rules broadly allows rig and rigx; rigx is fully permitted for now because it is the fast-moving config-layer overlaydefault.rules still prompts for destructive/publishing surfaces such as rm, mv, chmod, git push, PR mutation, sudo, process kills, daemon lifecycle, and destructive Docker/Brew/rig commandsWhen Codex seats hit usage limits or need a ChatGPT/OpenAI account rotation, use the focused codex-seat-auth-refresh skill instead of improvising.
Key reminder: host auth can switch while already-running Codex TUIs keep the old account. Refresh only the scoped seats, preserve stable seat names, and record auth-seat registry rows sequentially.
Known failure modes this policy prevents:
state/, /tmp, or a nearby writable folder because the intended durable path was blockedfull access; verify actual roots and command policy insteadconfig.toml and expecting already-running seats to pick it up without restartWhen Operation not permitted appears:
codex -p fleet debug prompt-input <probe-name>..ssh.config.toml changed, restart one seat and re-run the probes before fleet rollout.Field note: as of Codex CLI 0.125.0, top-level [sandbox_workspace_write] was the shape reflected by debug prompt-input; profile-scoped writable roots did not show in the effective prompt. Re-test this if Codex changes.
If the task requires writing load-bearing knowledge or behavior and the intended target is not writable, stop and escalate. Do not silently write to state/, /tmp, or a nearby writable folder.
Use the intended durable home for the kind of content:
skills/ (e.g. ~/.claude/skills/, ~/.agents/skills/, or your team'sshared skill folder) for operating rules and refocus behavior
packets, etc.) for durable observations and PM canon
A runtime mirror under a rig state/ path may be used only as a temporary live patch, must be labeled as non-canonical, and must have a canonical sync follow-up.
Verified: no as if it proves the message did not landfull access proves effective write/network capability; verify command approval and filesystem writable-root coverage separatelyClean the smallest safe surface that matches the evidence.
If the warning or failure remains after stale-wrapper cleanup, re-check:
rig daemon status
rig ps --nodes --jsonIf those remain healthy, the residual issue may still be in the host/tool/session layer rather than in OpenRig topology state.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.