概念与边界¶
一次任务有三种需要分别判断的结果:命令是否完成、文件产生了什么净改动、请求的限制是否实际生效。退出码、stage 和执行器名称分别描述不同事情,不能替代彼此。
Job 是审查单位¶
Job 把受管理的命令、执行证据和暂存改动关联起来。命令停止后,仍可定位它并审查结果;命令失败也可能留下有用的候选文件。
默认存储中的 last 按当前工作区查找。显式 --stage PATH 把 Job 存在该目录,应使用路径或输出的 Job ID,避免在自定义存储或并行项目中找错结果。身份与清理规则见 Job 与存储。
文件视图与发布是两个阶段¶
启用暂存后,Job 读取工作区底层文件和自己的 upper 改动;写入、删除和重命名先改变这个视图。审查展示净效果,操作次数不等于最终 diff。
apply 将选中改动与首次修改时记录的基线比较,再发布到原工作区。目标被其他写入者改动时会拒绝覆盖;发布期间仍应停止其他写入者,多文件更新相对于外部编辑器不具备原子性。drop 只丢弃尚未合入的暂存改动。完整契约与语义用例见暂存与 apply。
显式直接写宿主的共享路径、已合入批次和远程 API 效果不受 drop 撤销。逻辑检查点保存 upper 和冲突基线,不冻结所有宿主底层文件,也不保存进程内存或外部服务状态。
策略意图与实际控制分开核对¶
user、workspace、session 和执行器基础策略逐层收窄权限,一层的 allow 不能覆盖其他层的 deny。准入计划中的 Planned 表示将安装机制,不能当作已经强制执行;收尾的执行器观察才报告实际控制。策略组合见策略模型。
在 Run Bundle 中逐个核对文件读取、文件写入、网络、子进程、凭据与资源维度。暂存不能证明网络隔离,捕获请求不能证明没有未捕获连接。观察只覆盖到达对应控制点的操作;null 表示未观测,零表示已观测但没有命中。等级与保证范围见能力与证据。
记录各自承担什么¶
run.json 保存 Job 身份、状态和本地资源;Run Bundle 保存执行结果、控制观察和产物摘要;可选 Event Journal 关联已发布事实与因果引用。Journal 不替代 Bundle,也不能建立跨 Job 外部副作用的全局顺序。
这些记录支持本地审查与诊断,不提供密码学远程证明或敌对多租户保证。Operation、Attempt 和 Session 的实现归属见执行模型。