docs(sandbox): pin the translated confinement-runner heading anchor

The upgraded md-links gate resolves same-file fragments against the
zh file's own heading slugs; the translated heading needs the explicit
a-id anchor the corpus convention uses for cross-language fragments.
This commit is contained in:
Huanqi Cao
2026-08-09 17:06:36 +08:00
parent 165ad7e969
commit d7e19a0977
2 changed files with 3 additions and 1 deletions

View File

@@ -3,4 +3,4 @@
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/sandbox/sandbox-windows-acl/README.md
README.md: 6f649f5dcc4ecf5c2cbbe90a687af25e0c6ecc9d
README.zh.md: e688218b2c12a529981433777a1163e3648c918a
README.zh.md: 11c0fdd4b7431a280ff656ae4d2bd63b81e9dd06

View File

@@ -29,6 +29,8 @@ sandbox.dispose() // revokes the revocable (temp) grant, keeps the standing work
直接使用 `AclSandbox` 时,工作区 ACE 以**常驻**方式授予(`dispose()` 保留它们——它们是跨实例的复用缓存),临时 ACE 以**可回收**方式授予(`dispose()` 撤销它,这样可继承 ACE 不会在环境临时根目录上比实例活得更久)。服务端复用则是 `AclWriteGrant` 类:每个目录一次 `add(path, standing)``dispose()` 撤销可回收路径并释放 SID——见下方 runner 契约。本包中的每个 Win32 API 调用都有检查;失败抛出 `Win32Error`,携带 API 名、精确 Win32 错误码、`FormatMessageW` 系统文本和失败的路径/上下文。这是刻意的POC 忽略每个返回值,当 `CreateRestrictedToken` 失败时用完整无限制令牌静默运行子进程fail-open。本移植从构造上 fail-closed。
<a id="the-confinement-runner"></a>
## 隔离 runner
面向 seam 的形态是 **runner 入口**`./runner``@deepseek-ai/dsh-sandbox-local` 在调用者命令的位置 spawn 的 argv 前缀包装——与 bwrap/landlock-run/sandbox-exec 同一架构,因此沙盒 seam 的 `confine()` 契约无需改动。稳定的 argv 契约: