返回路线图概览
03 · 产品规格

Ephemeral Sandbox Fabric 的行为契约。

本规格定义 0.2.x 的公共模型、操作、不变量、验收标准和能力边界。凡是必须跨 OCI/Linux 与 WASI 保持的语义,都刻意与后端解耦。

文档
PRD + 技术规格
状态
提案
版本
0.2.x 目标
兼容性
增量迁移

问题陈述

会话适合作为执行句柄,却不适合作为持久分支身份。

多智能体编码、RL 与 MCTS 产生的逻辑分支数量都会超过可常驻运行数量。如果把持久状态与容器、挂载或可变会话耦合,成本会随历史增长,恢复也会绑定后端。产品需要一种可按需激活的持久图抽象。

核心待完成任务

多智能体开发者

从稳定检查点分出隔离工作,评审证据,并在不产生意外交叉写入的前提下合并兼容结果。

RL 协调器

从固定策略/根组合扇出可复现轨迹,限制在线算力,并保留版本化输出。

MCTS 控制器

选择、扩展、评估和裁剪持久搜索树,而不为每个节点分配常驻沙箱。

平台运维者

在崩溃后恢复租约、事务和垃圾回收,同时保护仍可选择的检查点。

公共对象模型

稳定产品身份与运行时 attempt 相互分离。

图模型暴露持久意图。ExecutionAttempt 只在需要执行时,把意图绑定到特定后端、环境、资源预算与租约。

稳定产品身份与运行时 attempt 相互分离。

SandboxGroup

拥有一张不可变检查点图及其规范 generation。

  • group_id
  • canonical_node_id
  • generation
  • policy
拥有

SandboxNode

带父子关系和逻辑状态的可选择不可变检查点。

  • node_id
  • parents[]
  • root_id
  • logical_state
  • status
激活

ExecutionAttempt

一个节点在某个后端上的可丢弃激活。

  • attempt_id
  • node_id
  • executor
  • lease_id
  • private_delta
产生

Evaluation

针对一个密封结果的版本化证据和决策。

  • evaluation_id
  • attempt_id
  • evaluator_version
  • reward
  • verdict

操作契约

小型原语组合出开发、rollout 与搜索。

每个变更操作都接受幂等键。推进共享状态的操作还接受预期 generation 或 root,使过期决策显式失败,而不是静默覆盖更新工作。

create_group
从现有不可变根创建图。
fork
创建引用密封父节点的 O(1) 子节点。
inspect
读取节点、祖先、来源、租约和评估状态。
prune
把未租赁子树标为不可达并交给有界 GC。

执行

activate
租用节点并创建后端专属 execution attempt。
exec
在 attempt 隔离边界内运行命令/PTY。
suspend
静止并密封新的不可变子检查点。
retry
创建新 attempt,不改写失败 attempt 记录。

集成

evaluate
附加版本化测试、奖励、接受决策和证据。
merge
使用 OCC 解决多个根之间的兼容更改。
promote
以预期 generation 对规范节点执行 CAS。
export
带来源信息物化根、补丁或产物。

状态机

节点与 attempt 状态让部分失败显式可见。

SandboxNode

  1. draft
  2. sealed
  3. terminal
  4. pruned

ExecutionAttempt

  1. queued
  2. active
  3. quiescing
  4. sealed
  5. failed
  6. released

规范性需求

可证伪的需求与验收证据。

ID需求验收证据
FR-01从密封节点分支时,不复制父工作区数据载荷。N 个热本地分支为共享 lower 分配的数据载荷字节保持为零。
FR-02兄弟 attempt 不得观察彼此未密封写入。至少两个兄弟节点并发读写隔离测试。
FR-03密封操作原子发布文件系统根、逻辑状态、来源和结果。在每个日志边界注入崩溃,只能得到无节点或完整节点。
FR-04提升与合并拒绝过期的预期 generation。竞态测试证明竞争推进最多成功一个。
FR-05重试不得重复应用奖励、评估或 MCTS 反向传播。重复投递相同幂等键不会改变计数器。
FR-06可选择节点及其祖先闭包在 GC 期间保持固定。并发 prune/GC/activate 测试不会丢失已租赁根。
FR-07同一逻辑根通过受支持 OCI/Linux 与 WASI 适配器打开时内容等价。跨后端清单遍历得到相同路径、类型、字节、mode 与链接目标。
FR-08在线沙箱数量上限与持久图规模无关。大型非活跃图不会超过配置的 attempt 与内存配额。
FR-09目标镜像不需要 LayerStack helper 或仓库工具。最小兼容镜像仅依赖工作节点投影即可执行。
FR-10每个结果保留根、环境、策略/评估器、attempt 与父节点来源。导出的证据通过引用完整性验证。

质量属性

在不削弱正确性的前提下衡量性能。

分支复杂度

基准测试

相对工作区大小为 O(1) 元数据;热本地根的 lower 数据载荷零重复。

命令 I/O

性能剖析

OCI/Linux 在执行热路径使用原生文件系统访问。

恢复

故障注入

每个日志化变更都可重放或中止,不留下语义不明节点。

可扩展性

负载测试

持久图规模与在线进程、挂载和内存驻留解耦。

可移植性

Schema 审计

持久状态不包含工作节点本地挂载路径、inode 身份或后端专属事实。

可观测性

Trace 审计

每次转换都发出关联的 group、node、attempt、root、lease 与 trace 标识。

能力与信任模型

可移植状态不等于执行器权限相同。

协调器

可以创建图意图和请求工作;不能伪造密封根或评估。

状态平面

负责对象完整性、OCC、租约、日志恢复与来源。

工作节点

负责强制执行所选后端边界,并证明产出结果。

沙箱代码

不受信任;只接收受限的工作区、进程、网络和资源能力。

  • OCI/Linux 挂载权限限制在工作节点/执行器边界内,永不委托给沙箱命令。
  • WASI 获得由同一逻辑根契约支撑的 capability-scoped preopen。
  • 任何 attempt 之间都不共享可写增量,包括父子与兄弟关系。
  • 环境、基础镜像/模块、网络策略、机密策略和评估器版本固定在来源信息中。
  • CAS 对象使用前必须验证;逻辑清单绝不信任工作节点本地路径作为身份。

0.2.x 非目标

明确不属于可移植核心。

在线进程时间旅行

CRIU 与指令级回滚以后可作为适配器;核心由文件系统/逻辑检查点定义。

无权限 Linux OverlayFS

设计会限制挂载能力范围,但不会消除内核权限要求。

所有后端使用同一运行时

OCI/Linux 与 WASI 共享状态语义,而不是共享相同 syscall 或进程语义。

自动语义合并

核心提供 OCC 和证据;领域智能体或工具选择冲突解决方式。

无限保留

租约与可达性保护有用历史;有界 GC 回收未选择分支。

每个节点只有一个 attempt

重试是一等记录,绝不改写既有证据。