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: 2 additions & 0 deletions .agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,5 @@ Cross-repository references use absolute GitHub URLs. Include records in the own
- [Provider acceptance stage](notes/proposed/feature/2026-10-19-provider-maturity.md) · [verification](evidence/verify/2026-10-19-provider-maturity.md)

- [OpenSandbox native Docker subset](evidence/verify/2026-10-19-opensandbox-native-docker.md).

- [Consumer entry compatibility](notes/proposed/process/2026-10-19-consumer-entries.md) · [verification](evidence/verify/2026-10-19-consumer-entries.md)
28 changes: 28 additions & 0 deletions .agents/evidence/verify/2026-10-19-consumer-entries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Verification: consumer entry compatibility

- Date:2026-10-19
- Result:PASS — local owner documentation checks; hosted CI follows push
- Scope: documentation only; no runtime source or provider/template acceptance badges changed.

## Checks
Owner checks and native import receipts are appended after execution. No new cloud
resources are created by these documentation checks. Conditional Express real
acceptance is independently owned by CLI40/SDK47 and does not promote these docs
to a new template/provider cloud receipt.

## Executed owner checks

T0 official E2B2.55 loopback13 PASS, OpenSandbox51 PASS, Cube10 PASS. No native third-party cloud acceptance was run or claimed.

## Shared entry check

Actual imports against accepted SDK main81cca585 and standard candidate0d9da632
PASS: api.sandbox.Sandbox.create remains a coroutine; candidate root Sandbox.create
is synchronous and ProviderSandbox is the same native class. This is an import/
shape check, not a new provider or template E2E claim.

## Review and cleanup

Changed-file relative links, seven-section owner ADR/state, staged whitespace and
secret scan are checked before publication. No dependency pin, runtime/template
source, UI source or acceptance badge changed. No resources created by docs tests.
42 changes: 42 additions & 0 deletions .agents/notes/proposed/process/2026-10-19-consumer-entries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Decision: Keep consumer examples valid across client entries

Status: proposed

## Problem
Consumer examples await root Sandbox, which becomes the standard synchronous client.
Native server/provider calls need an explicit native import. CLI builds also differ
in create/exec/kill parsing even when their package version strings are equal.

## Decision
Use agent_sandbox.api.sandbox.Sandbox for native async/server/provider examples;
it exists on accepted main and the standard candidate. Keep current source-install
pins and working native CLI syntax. Where standard Express is relevant, describe
the installed-help distinction and positional --detach create/kill without --yes.
No package release, runtime source, template badge or public capability changes.

## API Design
N/A — documentation selects existing public entries; no API implementation changes.

## Alternatives considered
Updating every example to the new root breaks native named commands/providers.
Publishing only future positional CLI syntax breaks existing main installations.
Version-number thresholds are unreliable while both builds share the same version.

## Dependencies
https://github.com/Alibaba-Agent-Sandbox/python-sdk/pull/47
https://github.com/Alibaba-Agent-Sandbox/agent-sandbox/pull/40
Blog source belongs to https://github.com/Alibaba-Agent-Sandbox/blogs; website
snapshots are refreshed from that owner. Registry aggregates source documents
without a shared-UI/catalog contract change.

## Test Strategy
Check both native imports and coroutine shape against accepted and candidate
clients. Run owner documentation/build/record gates, inspect bilingual examples
and confirm runtime sources and evidence badges are unchanged.

## Acceptance criteria
Native examples remain valid on both entries; CLI choice matches actual help.
Bilingual content, owner records and required current-head CI/review pass.

## Evidence
[Verification](../../../evidence/verify/2026-10-19-consumer-entries.md).
2 changes: 1 addition & 1 deletion alicloud-container/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ abx --provider alicloud-container create --template code-interpreter
```

```python
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

sb = await Sandbox.create(
provider="alicloud-container",
Expand Down
2 changes: 1 addition & 1 deletion cubesandbox/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ abx --provider cubesandbox --opt base_url=http://127.0.0.1:3000 create --templat
```

```python
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

sb = await Sandbox.create(
provider="cubesandbox",
Expand Down
2 changes: 1 addition & 1 deletion docs/en/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ The four official providers are all `node`. After install, call them from the CL

```python
import asyncio
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

async def main() -> None:
async with await Sandbox.create(
Expand Down
2 changes: 1 addition & 1 deletion docs/zh/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ python -m agent_sandbox.providers update opensandbox --yes

```python
import asyncio
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

async def main() -> None:
async with await Sandbox.create(
Expand Down
2 changes: 1 addition & 1 deletion e2b/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ abx --provider e2b create --template base
```

```python
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

sb = await Sandbox.create(provider="e2b", template="base", timeout=300)
```
Expand Down
2 changes: 1 addition & 1 deletion opensandbox/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ abx --provider opensandbox create
```

```python
from agent_sandbox import Sandbox
from agent_sandbox.api.sandbox import Sandbox

sb = await Sandbox.create(provider="opensandbox", template="base", timeout=300)
print((await sb.commands.run("echo ok", timeout=30)).stdout)
Expand Down
Loading