Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ sandboxd](docs/deploy.md) covers release binaries, the full config and systemd.
- `sdk/langchain/` — `cocoonstack-sandbox-langchain`, a
[LangChain toolkit](docs/langchain.md)
- `protocol/wire/` — the frame vocabulary and `fixtures/`, the golden corpus the
Rust, Go and Python tests all round-trip, so wire drift fails CI
Rust, Go and Python tests check, so wire drift fails CI
- `e2e/` — in-process full-stack tests (real pool/engine/relay/SDK, fake
cocoon + guest) and the [bare-metal drivers](docs/deploy.md#acceptance-drivers)
- `boot/kernel/` — kernel version pin (`VERSION` + matching tarball `SHA256`,
Expand Down
5 changes: 3 additions & 2 deletions docs/sdk-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ wire is chunked, the caller's copy is not). Two behaviors differ as well:
`Session.close()` and `Lsp.stop()` swallow `not_found` where Go returns it, and
a failed session command puts its merged output in `ExitError.stdout` with
`stderr` empty, where Go's `ExitError.Stderr` holds it. Wire fidelity is
pinned by the shared protocol fixture corpus that the Rust guest, Go, and
Python all round-trip in CI.
pinned by the shared protocol fixture corpus: Go round-trips it in CI, the
Rust guest parses its requests and round-trips its responses, and Python
round-trips its requests and decodes each response.

## A complete example

Expand Down
2 changes: 1 addition & 1 deletion mcp/e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
to the built binary against a live node — the exact protocol an MCP client
uses. Prints MCP-E2E PASS.

python3 e2e.py --bin ./sandbox-mcp --addr 127.0.0.1:7777 --token e2e --template rt2:24.04
python3 e2e.py --bin ./sandbox-mcp --addr 127.0.0.1:7777 --token e2e --template rt:24.04
"""

from __future__ import annotations
Expand Down
2 changes: 1 addition & 1 deletion sdk/openai/e2e.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
a real sandboxd node — the exact path the Agents runner takes. Prints
OPENAI-ADAPTER-E2E PASS.

python3 e2e.py --addr 127.0.0.1:7777 --token e2e --template rt2:24.04
python3 e2e.py --addr 127.0.0.1:7777 --token e2e --template rt:24.04
"""

import argparse
Expand Down
5 changes: 3 additions & 2 deletions sdk/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ watch, persistent sessions, git verbs, pty,
port dial/proxy/preview URLs, background processes (spawn/ps/kill/
logs/attach), renew, fork, hibernate, promote, checkpoints, and the LSP
broker.
Wire fidelity is pinned by the shared protocol fixture corpus (Rust + Go +
Python all round-trip it in CI).
Wire fidelity is pinned by the shared protocol fixture corpus: Go round-trips
it in CI, Rust parses its requests and round-trips its responses, and Python
round-trips its requests and decodes each response.

Full reference: https://cocoonstack.github.io/sandbox/sdk-python
2 changes: 1 addition & 1 deletion sdk/python/e2e.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Hardware e2e for the Python SDK: drives the full surface against a real
sandboxd node. Mirrors the Go smoke's step discipline; prints PY-E2E PASS.

python3 e2e.py --addr 127.0.0.1:7777 --token e2e --template rt2:24.04
python3 e2e.py --addr 127.0.0.1:7777 --token e2e --template rt:24.04
"""

from __future__ import annotations
Expand Down
2 changes: 1 addition & 1 deletion sdk/python/tests/test_fixtures.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Round-trips the protocol fixture corpus, the same drift guard the Rust and Go implementations run."""
"""Round-trips the protocol corpus's request frames and decodes each response frame to its type."""

import base64
import json
Expand Down
2 changes: 1 addition & 1 deletion silkd/src/net_egress.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use std::net::{Ipv4Addr, SocketAddrV4};

use tokio::io::{AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};

/// Loopback port the guest reaches the proxy at (`proxy.internal:3128`).
/// Loopback port the guest reaches the proxy at.
pub const LOOPBACK_PORT: u16 = 3128;
/// Host vsock port the VMM maps to sandboxd's `<vsock_socket>_<PORT>` UDS.
pub const HOST_VSOCK_PORT: u32 = 2049;
Expand Down
Loading