🥊 Gauntlet review — solari-sdk/solari-sandbox-cpp

commit e9e88c1 · ran as cli · 90s · ~34k tokens · evidence sealed & signed (manifest.json)

21/30
Runs
8/10
Delivers its claims
6/10
Code quality
7/10

The project builds and its offline unit tests pass, and the header design reflects a coherent, well-documented port of a TypeScript SDK's wire contract with sensible error typing and dependency injection for testability. However, the WebSocket-dependent control channel — the core interactive/streaming functionality the README advertises — was explicitly disabled for this run, so the most significant claims (live sandbox exec, streaming commands, git-over-exec) remain unverified. Code quality looks solid at the interface level but cannot be fully judged without seeing .cpp implementations or a live/gateway-driven run.

Strengths

Concerns

The submission's own tests

ctest --test-dir build --output-on-failure → PASS ✅

Security sweep

audit: n/a · secrets: no matches

Ask the candidate

  1. Walk us through what happens end-to-end when SOLARI_WITH_WS is ON and Sandbox::connect() is called — how does the background receive thread in ws_transport.cpp interact with the futures blocking on RPC replies in ControlChannel?
  2. The three frame kinds (JSON-RPC reply, v1 streamed exec, v2 async STREAM) are dispatched by shape in onMessage() — what's the disambiguation logic when a message could plausibly match more than one shape, and how did you test that boundary?
  3. GitOps takes an injected CommandRunner to avoid shelling out directly — walk through how args are escaped/passed to avoid injection when composing clone/commit/push commands, and what test coverage exists for that specifically?

Generated by Gauntlet — sandboxes & cloud browsers by Solari, judgment by Claude. Verify this evidence: npm run verify -- <this directory>