返回路线图概览
04 · 交付计划

以证据为门槛的迁移,而不是一次性重写。

0.2.x 被拆分为按依赖排序的发布切片。每个切片都保持当前运行时可用,新增一项持久契约,并在后续层依赖它之前通过正确性、恢复、可移植性与性能门槛。

节奏
门槛驱动
迁移
增量
兼容性
保留现有会话
发布规则
证据先于推进

交付策略

先构建持久主干,再构建编排表面。

关键顺序从运行时无关的根与原子检查点发布开始。只有状态不变量得到证明,图 API、rollout 调度和异构执行器才在其上叠加。

按依赖顺序排列的交付流程

0.2.0

通用 LayerStack

可移植根身份与原生物化

0.2.1

SandboxGraph 运行时

持久节点、attempt、OCC、租约与恢复

0.2.2

Rollout Fabric

有界调度、评估器、轨迹与幂等性

0.2.3+

Sandbox Fabric

OCI/Linux + WASI 适配器与局部性感知工作节点

补丁版本标签用于表达顺序,并不承诺每项能力恰好落在单一补丁版本。退出证据决定边界。

发布切片

每个切片都有交付项、迁移工作和硬退出门槛。

  1. 0.2.0

    通用 LayerStack

    交付项

    • 与运行时无关的 RootId 和逻辑目录树清单
    • CAS 对象完整性与来源 schema
    • 工作节点本地原生根物化和已验证缓存
    • 无需逐次重建的 OCI 命令路径

    迁移与兼容

    • 通过兼容适配器读取现有 LayerStack 根
    • 在当前 session API 保持权威时双写新的可移植元数据
    • 选择现有根时惰性回填来源信息

    退出门槛

    同一根通过可移植清单 walker 和原生 OCI 投影验证一致;冷根仅 hydration 一次,热复用不引入重建读取路径。

  2. 0.2.1

    SandboxGraph 运行时

    交付项

    • SandboxGroup、SandboxNode、ExecutionAttempt 与 Evaluation 记录
    • Fork、activate、suspend、retry、inspect、promote、merge 与 prune
    • 租约/日志恢复和图感知有界 GC
    • 每个活跃 attempt 使用私有可写增量

    迁移与兼容

    • 把当前 workspace session 包装为 execution attempt
    • 把成功发布镜像为密封节点
    • 兼容窗口内保留旧 session ID 作为别名

    退出门槛

    崩溃与竞态测试证明原子密封、兄弟隔离、热分支 lower 数据载荷零重复、过期提升拒绝和租约安全 GC。

  3. 0.2.2

    Rollout Fabric

    交付项

    • 配额与局部性感知的放置租约
    • 版本化评估器、策略、种子、轨迹和奖励记录
    • 幂等重试与 accepted backpropagation 恰好一次
    • 前沿保留和子树裁剪策略

    迁移与兼容

    • 先在内部 rollout 协调器中采用图操作
    • 把搜索统计放在不可变检查点清单旁边而不是内部
    • 保留现有直接 session 编排作为后备客户端

    退出门槛

    大型图通过有界工作节点池运行;强制重试不会重复计算结果;非活跃节点不占进程或挂载;恢复保留前沿租约。

  4. 0.2.3+

    Ephemeral Sandbox Fabric

    交付项

    • OCI/Linux 与 WASI 工作区适配器
    • 能力感知的工作节点注册和放置
    • 固定环境语义与执行器证明
    • 跨后端可观测性与结果密封

    迁移与兼容

    • 保留 OCI/Linux 作为原生兼容路径
    • 只为 syscall 契约合适的工作负载引入 WASI
    • 按声明需求调度,而不是猜测后端等价性

    退出门槛

    图可依据声明能力在受支持后端上可复现地选择;跨后端逻辑根验证等价;目标镜像不提供 LayerStack 工具或持久检查点事实。

验证计划

每个候选版本都遵循同一证据矩阵。

测试套件区分算法可行性与环境设置问题。拒绝任何存储方案之前,每项失败必须分类为语义、恢复、兼容、能力、性能或 harness/setup。

通道证明内容代表性证据阻断发布
正确性隔离、不可变根、OCC、合并与提升语义并发兄弟写入、冲突发布、清单等价性
恢复日志、租约、密封、重试、评估与 GC 幂等性在每个持久转换点注入崩溃
可移植性受支持 Docker 主机/镜像与 WASI 逻辑等价Ubuntu Linux/arm64 与 amd64 容器;最小目标镜像
能力具备或缺少所需执行器权限时行为明确挂载探针、namespace 探针、fail-closed 诊断
性能分支、激活、命令 I/O、密封、hydration 与 GC 成本中位数、尾延迟、分配字节、page cache、CPU 与耗时回归预算
规模大型持久图下驻留有界前沿宽度、历史深度、重试风暴、工作节点丢失

基准测试契约

衡量真实资源曲线,而不只看 wall-clock 延迟。

Fork

Inputs

工作区大小 · 历史深度 · 扇出

Measures

元数据字节 · 数据载荷字节 · 延迟

Activate

Inputs

热/冷根 · 镜像大小 · 后端

Measures

hydration 字节 · 挂载/启动延迟 · CPU

Execute

Inputs

读写比例 · 文件数 · 工作集

Measures

吞吐量 · p50/p95/p99 · page-cache 影响

Seal

Inputs

变化字节 · 路径数 · 元数据变化

Measures

捕获时间 · CAS 写入 · 清单大小

Recover

Inputs

崩溃点 · 图规模 · 租约数

Measures

恢复时间 · 孤儿数 · 完整性违规

Collect

Inputs

可达集合 · 已裁剪子树 · 缓存压力

Measures

回收字节 · 暂停时间 · 错误回收

必需环境矩阵

Docker Desktop 主机macOS arm64Linux VM / arm64OCI 快速路径
原生 Linux 主机Ubuntu arm64Linux / arm64OCI 快速路径
原生 Linux 主机Ubuntu amd64Linux / amd64OCI 快速路径
最小目标镜像任意受支持 Docker 主机Linux / 匹配架构无辅助工具
WASI 运行时与主机无关的运行时wasm32-wasi能力约束文件系统

风险登记表

用证据消除风险,而不是用编排掩盖风险。

风险信号缓解措施门槛负责人
不同运行时挂载能力不一致Overlay 探针失败或给出误导性 EPERM/EINVAL。预检能力、fail closed、权限限制在执行器边界、记录受支持运行时契约。OCI 执行器
可移植清单泄漏本地文件系统身份跨工作节点验证在 inode/path/whiteout 语义上不同。规范 schema、后端一致性语料、不用本地路径或 inode 作为身份。状态平面
O(1) 分支把成本转移到激活冷根或深根反复 hydration 并主导 rollout 时间。已验证工作节点缓存、局部性感知放置、分别衡量冷热曲线。调度器
GC 与选择发生竞态激活时前沿节点丢失祖先或对象。租约固定祖先闭包、epoch/可达性屏障、对抗性并发 GC 测试。存储
重试破坏搜索统计奖励或访问次数超过已接受 rollout 数。幂等键、追加式接受记录、事务性反向传播。Rollout 服务
过度承诺 WASI 语义工作负载依赖契约外 syscall、链接、mode 或进程行为。能力声明、兼容测试、明确 OCI-only 工作负载分类。执行器 API
兼容层永久存在旧 session-only 路径获得新功能或绕过图来源。弃用遥测、单向功能策略、客户端迁移后设置移除门槛。产品 API
基准测试掩盖设置缺陷方案在算法真正运行前失败。区分 setup 与语义失败、发布探针与产物、拒绝前要求自查。发布工程

完成定义

只有系统而不是图表具备以下性质,0.2.x 才算完成。

  • 同一个持久 SandboxGroup 图服务多智能体开发、RL rollout 与 MCTS 编排。
  • 热本地分支新增 O(1) 元数据和零 lowerdir 数据载荷重复。
  • 在线工作节点池保持有界,持久历史可以独立增长。
  • OCI/Linux 在 LayerStack 支撑的不可变 lower 与私有可写增量之上使用原生文件系统 I/O。
  • WASI 复用 RootId、manifest、CAS、node、evaluation、lease 和 provenance 契约,不假设 Linux 挂载语义。
  • 崩溃恢复、重试、提升、反向传播和 GC 在故障注入下保持幂等。
  • 兼容路径有文档、有遥测且可移除,不会成为第二套架构。