Skip to content

Record the Trial sandbox's live checks that need no real login - #1045

Merged
JacobStephens2 merged 1 commit into
mainfrom
sandbox-live-checks
Oct 21, 2026
Merged

JacobStephens2 merged 1 commit into
mainfrom
sandbox-live-checks

Conversation

@JacobStephens2

Copy link
Copy Markdown
Owner

Summary

Adds section 10 to docs/research/eval-sandboxes.md, with #1009's live checks as far as they go without real logins. They ran on the thirdshift host with test processes, fake credentials and fresh homes. No real login was bound or read, and nothing was installed.

  • Isolation: inside bwrap, a process sees its own 5 PIDs and only lo. It can't reach the Console on loopback, or see /home/jacob.
  • Interruption: thirdshift's stop path reaches a Harness inside the PID namespace with SIGTERM and SIGINT, with or without --new-session. Killing the outer bwrap leaves nothing running.
  • The proxy relay reaches allowed hosts, and refuses GitHub and names that resolve to loopback. A direct connection without it has no route. Unix-socket paths are capped at 108 bytes, so the launcher needs a short socket path.
  • HTTPS_PROXY: all six Harnesses honour it, and the note gives each one's hosts. Codex syncs plugins from GitHub at startup, and carries on when that's refused. OpenCode needs NO_PROXY for loopback, and must be given a provider, or it falls back to a free model.
  • Web search off: the switches for Claude, Codex, Grok, Muse and OpenCode, which production sessions don't pass today. agy's is still open.
  • Memory: every Harness keeps its state under its home, so a fresh home per Trial turns memory off.
  • Footprint: a snapshot of the sessions running at the time.

Still open, for a session with the real logins:

  • each Harness's login and refresh inside bwrap, and Claude with a setup token;
  • the hosts used with a real subscription login;
  • agy's web search;
  • a Trial's memory beside two building Runs.

Part of #1009. No code changes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BnFUcJ51dAFoj97E8FSXQF

#1009's checks, as far as they go with test processes, fake credentials
and fresh homes:
- bwrap isolates processes, network and the home folder.
- thirdshift's stop path reaches a Harness through the PID namespace, and
  nothing outlives the sandbox.
- The proxy relay works, and refuses hosts that aren't allowed or that
  resolve to loopback.
- All six Harnesses honour HTTPS_PROXY. The note gives each one's hosts
  and quirks, among them OpenCode needing NO_PROXY for loopback.
- Five Harnesses have a web-search switch. agy's is still open.
- A fresh home turns every Harness's memory off.

The checks with real logins are still open, with a Trial's memory beside
two building Runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BnFUcJ51dAFoj97E8FSXQF
@JacobStephens2
JacobStephens2 merged commit 274415e into main Oct 21, 2026
7 checks passed
@JacobStephens2
JacobStephens2 deleted the sandbox-live-checks branch October 21, 2026 23:16
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant