用途:编排 oxidizer-workflow recipe,把 Python 模块、包或 CLI 迁移为经过完整测试的 Rust 项目。要求先补齐 Python 测试覆盖,未达 100% 覆盖率会阻塞流程;整体以逐模块方式迭代收敛,只接受 100% 功能对齐,并保留每个功能、边界情况与错误路径。
必要输入:python_package_path(待迁移 Python 包路径)、rust_target_path(Rust 项目创建位置)、rust_repo_name(Rust 项目 GitHub 仓库名)、rust_repo_org(仓库所属组织或用户)。
用法示例:使用 Recipe Runner 执行 recipe-runner-rs amplifier-bundle/recipes/oxidizer-workflow.yaml 并传入上述参数;也可从 Python API 调用 run_recipe_by_name("oxidizer-workflow", user_context={...})。
流程阶段:分析(AST、依赖映射、类型推断、公共 API 提取);测试完整性门禁;脚手架(cargo init、依赖与模块结构);测试迁移;随后进入迭代收敛循环,逐模块实现 Rust,做功能矩阵差异比较、质量门禁(cargo clippy + fmt + test)、静默降级审计与修复,未达 100% 对齐则继续循环,最后输出包含对齐矩阵的总结报告。
收敛规则:每次迭代处理一个模块,采用由核心向外策略;recipe 内最多 5 个展开循环,子 recipe 最大深度 8;当 convergence_status 为 CONVERGED 或迭代次数超过 max_iterations(默认 30)时终止;若达到最大迭代仍未收敛,总结会列出未完成模块。
成功标准:cargo build 通过、cargo test 全部通过、cargo clippy -- -D warnings 无警告、cargo fmt --check 通过、功能对齐矩阵 100% 覆盖、未检测到静默降级。其他适用场景、限制或收费信息暂未提供。