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
6 changes: 4 additions & 2 deletions .agents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- Scope: application HTTP `ServerClient` and configuration-name exports. No cloud lifecycle, template build, provider engine, PTY or interpreter client is exported.
- [Bound HTTP endpoint acceptance](evidence/verify/2026-10-23-bound-http-control-review.md) and [proxy-token acceptance](evidence/verify/2026-10-24-proxy-application-token.md) cover copied headers, preserved gateway URL/query, redirect refusal and no automatic credential retry.
- The proxy record includes the actual OpenSandbox python-hello Node calls. The 92-case template matrix used CLI/Python/HTTP and does **not** establish a 92-case Node SDK test.
- The [local runtime example](../examples/README.md) now installs the public Python server 0.4.0a4; its local health/process/file checks do not establish cloud lifecycle support.
- The [local runtime example](../examples/README.md) passed with public Python server a4. The a6 setup update has now passed a fresh public installation and actual local checks; neither local result establishes cloud lifecycle support.

[Documentation synchronization decision](notes/implemented/process/2026-10-24-current-docs-and-records.md) · [verification and acceptance reconciliation](evidence/verify/2026-10-24-current-docs-and-records.md).

Expand Down Expand Up @@ -55,4 +55,6 @@ state. A local/runtime result is not cloud acceptance or package publication.

- [Current public server a3](notes/implemented/process/2026-10-25-current-public-server-a3.md) · [verification](evidence/verify/2026-10-25-current-public-server-a3.md).

- [Public runtime a4](notes/proposed/process/2026-10-25-public-runtime-a4.md) · [verification](evidence/verify/2026-10-25-public-runtime-a4.md).
- [Public runtime a4](notes/implemented/process/2026-10-25-public-runtime-a4.md) · [verification](evidence/verify/2026-10-25-public-runtime-a4.md).

- [Coordinated public runtime a6](notes/proposed/process/2026-10-25-public-runtime-a6.md) · [verification](evidence/verify/2026-10-25-public-runtime-a6.md).
52 changes: 52 additions & 0 deletions .agents/evidence/verify/2026-10-25-public-runtime-a6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Public a6 runtime guidance preparation

Date: 2026-10-25
Result: PARTIAL — public a6/local checks PASS; latest-head CI, independent review and normal merge remain pending.

Base: main 0351fd565d00e675288e7d7b528d10aea3cd7573, the verified normal
PR19 merge. Source behavior, package/lock, exports and version are unchanged.
The prior a4 installation decision is accepted; its old evidence remains intact.
At the initial preparation checkpoint, this draft selected only the next
example install and exact schema tag. Public a6 installation, Node checks and
normal CI/review/merge had not run; the later formal results are recorded below.
No cloud resources were created.

## Preparation-only checks before public a6

- `npm ci`: PASS using the tracked lockfile.
- `npm run typecheck`: PASS.
- `npm test` without the required Python server installed on PATH: 22 PASS,
2 FAIL. Both real local agent-loop tests failed with ModuleNotFoundError for
agent_sandbox; this is an unmet declared setup prerequisite, not proof of a
Node runtime defect. No test was skipped or weakened.
- The chained package dry-run did not run because npm test failed.

After official a6 publication, repeat the documented installation with its
Python executable on PATH, then run all Node gates/example and independent
owned-process absence checks. Do not relabel this attempt as a6 acceptance.

## Formal public a6 verification

Python source/tag: v0.4.0a6 at 8e610a3658040d8d6973e7951f9590ea50a4d70a.
The producer publisher40225846586 completed successfully on attempt1. Its exact
four preserved files match official metadata and actual downloads. A new Python
3.13.13 environment installed official client[all]6 and matching server6 with
no-cache, a fresh HOME and no PYTHONPATH; pip check passed. Node used that
installed interpreter on PATH without source injection.

- `npm run typecheck`: PASS on the unchanged source.
- `npm test`: PASS, 24/24, including the real installed-server loop.
- `node examples/agent-loop.mjs`: PASS, health true, shell4, exact9-byte file,
SIGTERM and return -15.
- Independent observation: all three directly owned Python PIDs absent.
- Complete configuration schema: equals installed Python config_keys JSON.
- `npm pack --dry-run --json`: PASS, 22 files including ESM, type declarations,
configuration JSON, bilingual READMEs, LICENSE and NOTICE.

The first independent package-receipt parser assumed an array, while this npm
version returned an object keyed by package name; it raised KeyError0. Only that
external observer was corrected, using the same retained npm output. No package
code or gate was changed. The earlier 22PASS/2missing-prerequisite failures stay
recorded above. Local checks create no cloud resource; source version0.1.0 is
unchanged and no npm publication is claimed. Latest-head Node20/22 CI/review and
normal merge are still required.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Decision: Use the corrected public Python a4 help contract

Status: proposed
Status: implemented

## Problem

Expand Down
52 changes: 52 additions & 0 deletions .agents/notes/proposed/process/2026-10-25-public-runtime-a6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Decision: Follow the public standard-template help correction

Status: proposed

## Problem

Python a5 corrected Template help but retained four ordinary Sandbox and
interpreter help imports using upstream package names. The a6 correction changes
these help imports and removes inaccurate current design examples.
The coordinated Node example/server installation should follow the resulting
verified public pair without implying a new Node implementation or publication.

## Decision

Prepare exact a6 server installation and Python schema source. Promote only
after official publication, fresh installation and actual local verification.
Accept the preceding a4 note using PR19's normal merge and actual CI acceptance;
keep its dated evidence unchanged.

## API Design

No Node runtime, package version, dependency range or public contract changes.
Source package remains 0.1.0; no npm publication is implied.

## Alternatives considered

Adding upstream dependencies or compatibility aliases is unrelated. Rewriting
a4 evidence would obscure its actual tested version.

## Dependencies

https://github.com/Alibaba-Agent-Sandbox/python-sdk/issues/130

https://github.com/Alibaba-Agent-Sandbox/python-sdk/pull/131

https://github.com/Alibaba-Agent-Sandbox/nodejs-sdk/pull/19

## Test Strategy

After publication, use the ordinary official Python package with matching
server. Run npm ci, typecheck, all 24 tests, the unchanged actual local example,
complete schema comparison and package dry-run. Independently confirm owned
process exit. Require latest-head Node20/22 CI and independent review.

## Acceptance criteria

Public package readback, local checks, CI/review, normal merge and actual remote
state are verified. Cloud lifecycle and full template coverage remain separate.

## Evidence

[Verification](../../../evidence/verify/2026-10-25-public-runtime-a6.md).
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ jobs:
- uses: actions/checkout@v4
with:
repository: Alibaba-Agent-Sandbox/python-sdk
ref: v0.4.0a4
ref: v0.4.0a6
path: vendor/python-sdk
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: python -m pip install --index-url https://pypi.org/simple "agent-sandbox-server==0.4.0a4"
- run: python -m pip install --index-url https://pypi.org/simple "agent-sandbox-server==0.4.0a6"
- run: python -c "import agent_sandbox.server"
- name: Compare the complete Python and Node configuration schema
run: |
Expand Down
20 changes: 15 additions & 5 deletions examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,29 @@ The current example uses an installed Python runtime and preserves caller
`PYTHONPATH`; it adds no fixed repository paths. Install the server before running:

```bash
python3 -m pip install --index-url https://pypi.org/simple 'agent-sandbox-server==0.4.0a4'
python3 -m pip install --index-url https://pypi.org/simple 'agent-sandbox-server==0.4.0a6'
npm ci
npm test
node examples/agent-loop.mjs
```

当前示例使用已安装的 Python 服务端,并原样保留调用方 `PYTHONPATH`,不再添加固定仓库路径。
先按上面的公开 alpha 版本安装运行时。开发中的服务端也可通过调用方 `PYTHONPATH` 提供;
上面的 a6 版本已从官方 PyPI 安装验证。开发中的服务端也可通过调用方 `PYTHONPATH` 提供;
该示例验证本地 HTTP、命令、文件与进程清理,
不代表云端 `Sandbox.create`。

## Fresh published-runtime verification — 2026-10-25
## Published-runtime verification — 2026-10-25

A fresh Python 3.13 environment (no repository source injection) with public `agent-sandbox-server==0.4.0a4`, followed by the documented `npm ci`, `npm run build` and `node examples/agent-loop.mjs`, passed. The shell returned `4\n`, the downloaded file matched `answer=4\n`, and the owned server process exited after SIGTERM. `npm run typecheck` and all 24 Node tests passed. No cloud resource or model API was used.
A new Python 3.13 environment installed official public client/server a6 without
source injection. The documented Node checks passed: typecheck, all 24 tests,
the unchanged local example, and package dry-run. The real server returned
`4\n`, the file read back as `answer=4\n`, and SIGTERM ended the process.
All three observed owned Python processes were independently confirmed absent.
The complete exported configuration schema matched the installed public SDK.
No cloud lifecycle, model call or npm publication is established by this local run.
The earlier a4 receipt remains unchanged.

2026-10-25 已从全新环境安装公开 Python 服务端 0.4.0a4,再按上述命令构建和运行示例。命令输出、文件内容和服务进程清理均通过;类型检查及 24 个测试通过。本次是实际本地 HTTP 运行,不代表云端或模型调用测试。
全新 Python 3.13 环境已从官方 PyPI 安装 a6 配套包,不注入源码。类型检查、24 个测试、
原样本地示例和打包预检均通过;实际命令、文件读回与 SIGTERM 清理均通过,三个本次
观察到的 Python 进程另行确认已退出,完整配置名称契约也与公开 SDK 一致。本次是本地
HTTP 验证,不代表云端生命周期、模型调用或 npm 发布;旧 a4 记录保持不变。
Loading