DSH 学习 · 基础设施

程序失败不是异常路径:error 住在结果字段里。

CodeRuntime 把一段程序交给执行基底跑:run() 永远 resolve 一个 { value?, logs, error? }。六种失败类彼此正交——exception、timeout、abort、worker-exit、invalid-output、output-limit,谁先到就报哪一种,互不混用。binding 命名空间要过三道检查:标识符形状、非保留字、不占后端自有槽位;$tools 这类 JS 专属拼写在任何后端都被拒绝。切剧本和命名空间,逐步推时间线。

先押一个注:程序抛了 TypeError,调用 run() 的那一侧会看到什么?

当前输入写进地址栏 #state= 后面:刷新不丢,发给别人打开的是同一份输入。

失败类
日志条数
run() 是否 resolve
启动前被拒
独立校验

从 bindings 校验到结果结算的每一步

校验 × 执行 × 结算

每一格是一次运行时动作:非法命名空间会让时间线停在第一步——装配在任何程序执行之前大声失败。

    四条不变量逐条重算

    流程校验

    独立校验只读模型:核对 error 字段语义、失败类与剧本一一对应、无损 JSON 边界和确定性重放。

      哪些结论可以带走

      能证明什么

        不能证明什么