管理兼容性与可信发布
固定 1.0 前版本,遵循 MSRV 与 SemVer,验证打包 Crate,审计依赖,发布 SBOM,并从部分发布安全恢复。
兼容策略
Runifold 对所有公共 Crate 发布同步版本,声明支持 Rust 1.88 MSRV。1.0 前破坏性公共 API 变更需要 Minor Release;1.0 后需要 Major Release。SemVer Check 补充 Review,但不能证明 Provider、Store、Prompt 或持久状态的行为兼容。
用户升级
应用应固定 1.0 前版本,阅读 Changelog 与 RFC Status,比较 Cargo Feature,在支持的 Rust 与 Target Matrix 编译,并运行自己的 Model、Store、Recovery、Evaluation 与 Browser Evidence。
逐步升级持久 Worker。在不存在需要旧版本的 Active State 前保留旧 Workflow Definition。 Store Migration 前备份并验证 Rollback。
升级到 0.9.0
0.9.0 增加了中间计划、Agent 最终输出和 Workflow 生成结果的确定性或 Agent-backed
审查门。同时包含 0.7 引入的 Provider Runtime Profile、运维 CLI、媒体任务、OpenAI
Hosted Tool、Reranking、Hybrid Retrieval 与文本摄取,以及 0.8 的严格 Schema 与
Review-gated Workflow。
这是 1.0 前破坏性升级。把具体 Provider 的依赖和导入从门面 Feature 移到
runifold-providers;具名兼容服务现在共用 openai 协议 Feature。从 0.8 开始,持久
Workflow Writer 写入 Schema v5:必须先排空 0.7 Worker,再让新 Worker 推进 Checkpoint。
Reviewer 名称、版本、Rubric、策略和 Capability 会绑定恢复状态,应把变化作为 Workflow
Definition 变化部署。
[dependencies]
runifold = "=0.9.0"
runifold-providers = { version = "=0.9.0", features = ["openai"] }Artifact 门禁
Release CI 检查 Stable Rust 与 MSRV、Formatting、Lint、Test、Docs、打包 Crate 内容、 Temporary Registry Resolution、公共 API 兼容、RustSec Advisory、License Allowlist 与 Dependency Source。
每个 Release 包含 .crate Archive、CycloneDX SBOM 与 SHA-256 Checksum。用户应验证 Tag、
Checksum、Crate Provenance 与 Dependency Policy,而不只信任源码树 Badge。
发布边界
创建 Signed Tag Artifact 与发布不可变 crates.io Version 是两个独立授权边界。Publication 需要人工确认,按依赖顺序执行,并且可以 Resume。绝不能从 Branch 或 Dirty Worktree 发布。
这种分离允许在不可逆 Registry Mutation 前检查 Artifact。
失败恢复
Artifact Build 失败需要新的修正版与 Tag;不要移动用户可能已经观察到的 Tag。Workspace 部分发布时重新运行相同 Workflow,跳过已经存在的 Version,并按依赖顺序继续。已发布 Crate 有错误时按需 Yank,并通过新版本向前修复;Registry Version 无法覆盖。
验证 0.9.0 升级
有意地只更新目标包,检查解析后的依赖图,并把 lockfile 一起纳入评审:
cargo update -p runifold --precise 0.9.0
cargo tree -i runifold
cargo tree -i runifold-providers
cargo check --locked --all-targets
cargo test --locked --workspace
cargo clippy --locked --workspace --all-targets -- -D warnings随后验证 Schema v3/v4 Checkpoint 读取、旧 Worker 排空后的 Schema v5 写入、 Reviewer Ready/In-flight 恢复、同时含文本与媒体的 Tool 结果、所有已启用的 Provider,以及每个部署目标。如果需要回滚,应同时恢复旧二进制和已证明兼容的 Store 快照;只改回 Cargo 版本无法撤销迁移。只要仍有活动 checkpoint 引用旧 Workflow 版本,就要继续注册该版本。