Skip to content

Add sandbox configuration, documentation, and update tests#1

Merged
chriswritescode-dev merged 9 commits intomainfrom
feature-sandbox-loop
Apr 4, 2026
Merged

Add sandbox configuration, documentation, and update tests#1
chriswritescode-dev merged 9 commits intomainfrom
feature-sandbox-loop

Conversation

@chriswritescode-dev
Copy link
Copy Markdown
Owner

Summary

  • 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

Changes

  • README.md: Added Docker sandbox documentation
  • config.jsonc: Added sandbox configuration section
  • test/loop.test.ts: Updated test to match revised prompt wording
  • test/test-errors.ts: New file for TypeScript error testing

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.
@chriswritescode-dev chriswritescode-dev merged commit 852e96f into main Apr 4, 2026
2 checks passed
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