From f9cd477d47bc1328227d5380f7d5e4e3c2e3b12f Mon Sep 17 00:00:00 2001 From: AnyEnv Sandbox Date: Sun, 25 Oct 2026 19:38:08 +0000 Subject: [PATCH] docs: verify examples against public runtime a6 --- .agents/README.md | 6 ++- .../verify/2026-10-25-public-runtime-a6.md | 52 +++++++++++++++++++ .../process/2026-10-25-public-runtime-a4.md | 2 +- .../process/2026-10-25-public-runtime-a6.md | 52 +++++++++++++++++++ .github/workflows/ci.yml | 4 +- examples/README.md | 20 +++++-- 6 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 .agents/evidence/verify/2026-10-25-public-runtime-a6.md rename .agents/notes/{proposed => implemented}/process/2026-10-25-public-runtime-a4.md (98%) create mode 100644 .agents/notes/proposed/process/2026-10-25-public-runtime-a6.md diff --git a/.agents/README.md b/.agents/README.md index 119e65f..acca394 100644 --- a/.agents/README.md +++ b/.agents/README.md @@ -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). @@ -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). diff --git a/.agents/evidence/verify/2026-10-25-public-runtime-a6.md b/.agents/evidence/verify/2026-10-25-public-runtime-a6.md new file mode 100644 index 0000000..4383ae5 --- /dev/null +++ b/.agents/evidence/verify/2026-10-25-public-runtime-a6.md @@ -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. diff --git a/.agents/notes/proposed/process/2026-10-25-public-runtime-a4.md b/.agents/notes/implemented/process/2026-10-25-public-runtime-a4.md similarity index 98% rename from .agents/notes/proposed/process/2026-10-25-public-runtime-a4.md rename to .agents/notes/implemented/process/2026-10-25-public-runtime-a4.md index 9f32104..063628d 100644 --- a/.agents/notes/proposed/process/2026-10-25-public-runtime-a4.md +++ b/.agents/notes/implemented/process/2026-10-25-public-runtime-a4.md @@ -1,6 +1,6 @@ # Decision: Use the corrected public Python a4 help contract -Status: proposed +Status: implemented ## Problem diff --git a/.agents/notes/proposed/process/2026-10-25-public-runtime-a6.md b/.agents/notes/proposed/process/2026-10-25-public-runtime-a6.md new file mode 100644 index 0000000..69ecb93 --- /dev/null +++ b/.agents/notes/proposed/process/2026-10-25-public-runtime-a6.md @@ -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). diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ccf35b9..a335798 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -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: | diff --git a/examples/README.md b/examples/README.md index 0f2f8a8..3f1e075 100644 --- a/examples/README.md +++ b/examples/README.md @@ -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 记录保持不变。