Add sandbox configuration, documentation, and update tests#1
Merged
chriswritescode-dev merged 9 commits intomainfrom Apr 4, 2026
Merged
Add sandbox configuration, documentation, and update tests#1chriswritescode-dev merged 9 commits intomainfrom
chriswritescode-dev merged 9 commits intomainfrom
Conversation
Add Docker service layer (src/sandbox/docker.ts) for container operations, sandbox manager (src/sandbox/manager.ts) for lifecycle and orphan cleanup, and path translation utilities (src/sandbox/path.ts) for host/container mapping. Include Dockerfile with Node.js 24, pnpm, Bun, Python 3, uv, and ripgrep. Add SandboxConfig type and .pnpm-store to .gitignore.
Add before/after hooks (src/hooks/sandbox-tools.ts) that intercept bash calls for sandbox sessions and route them through docker exec. Git commands are blocked inside the container. Add glob and grep tools (src/tools/sandbox-fs.ts) that execute inside the container using ripgrep. Register sandbox tools conditionally in tool index and add sandboxManager to ToolContext.
Wire sandbox manager into loop setup (container start), teardown (container stop), and restart flows. Add sandbox state tracking to LoopState with container name and enabled flag. Initialize sandbox manager in plugin entry point with orphan cleanup on startup. Register sandbox before/after hooks in the tool execution pipeline. Add sandbox config normalization in setup. Add completion signal redaction to prevent auditor findings from leaking the signal.
Harden watchdog with re-entrancy guard, stale session filtering, and state lock usage during recovery. Stop sandbox containers on loop termination. Remove opencode.jsonc from worktree before committing. Remove reuseSession mode. Expand architect verification guidelines with tiered validation approach and per-phase acceptance criteria. Strengthen auditor plan compliance to treat unmet acceptance criteria as blocking bugs.
Add status badge with color coding (active phase, completed, cancelled, ended). Show branch inline in header row. Reorganize stats with muted labels and move latest output into a bordered section. Remove redundant view-branch and status options from action menu.
Add sandbox config section to config.jsonc (mode: off, image: ocm-sandbox). Document Docker sandbox setup, usage, and caveats in README. Update loop test to match revised continuation prompt wording. Add test-errors.ts for TypeScript error testing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes