滚动参考树更新
CortexFS 维护一棵稳定的参考树。实现不得创建并行的
v1、v2 或特定阶段根目录。线协议和清单模式可独立版本化;
它们的版本不决定参考树布局。
版本和状态
REFERENCE_TREE_VERSION 是正在运行的目标树版本
二进制。持久状态文件是:
bin/cortexfs.bootstrap.json
该状态文件记录其自身模式号、已应用的 tree_version、受管
理代理和迁移标识符(作为审计证据)。状态模式与参考树版本
解耦。最终采用哪个迁移集合以 tree_version 为准,bootstrap
审核列表本身不具有决定性。
迁移规则
该实现维持有序迁移注册表,每个迁移都带有目标树版本和稳定审计 标识符。更新必须:
- 读取现有状态;若迁移目标版本低于正在运行版本,拒绝写入并退出。
- 选择当前版本低于指定目标且目标不高于
REFERENCE_TREE_VERSION的 所有已注册迁移。 - 按目标版本升序执行这些迁移。
- 幂等地重调和完整参考树结构。
- 仅在调和成功后,最后写入新的 bootstrap 状态。
状态写入器基于已注册项以确定性方式重建至目标版本的审计链; 未知或重复的历史审计条目既不授予权限,也不会被延续。实现不得在 迁移与调和完成前,将同一标识符用于不同任务或报告尚未达成的目标版本。
命令模式
ctx bootstrap 在同一计划上有三种模式:
--check 仅检查并报告,不写入
--dry-run 打印有序动作,不写入
default 执行动作并最后写入状态
检查和预演绝对不能修改源代码树。
对更高版本磁盘状态执行 --check/--dry-run 时,
在发生降级时应明确拒绝。
存储版本
ctx storage update 通过克隆所选当前代并应用同一套滚动更新,形成新一代。
ctx bootstrap 在最后写入状态后,再验证暂存版本并原子切换
storage/current 指针。直接 ctx bootstrap 会执行重调和,但不会走
存储版本验证阶段。任一阶段或验证失败都必须保持
storage/current 不变。
生成目录是按当前树版本命名的部署快照,它们不是独立的 ABI 代, 也不会创建有版本的根。
独立版本的格式
滚动参考树更新不会移除网络或数据格式的版本控制。
诸如 cortexfs.object/v1、agent 调用信封、收据、provider HTTP 路径和模型
限制架构等标识符都有各自明确的兼容性规则。