按第五轮评审收尾 M3:跨平台用例、--no-bundle 与并发口径对齐
Project CI / AI game creator shell Rust crates (pull_request) Successful in 1m21s
Project CI / AI game creator shell Rust smoke (pull_request) Successful in 1m55s
Project CI / Frontend tests (pull_request) Failing after 43s
Project CI / Backend tests (pull_request) Successful in 3m32s
Project CI / Repository checks (pull_request) Successful in 1m52s
Project CI / AI game creator shell web tests (pull_request) Successful in 1m23s
Project CI / AI game creator shell Rust lane 2/2 (pull_request) Successful in 7m26s
Project CI / AI game creator shell Rust lane 1/2 (pull_request) Successful in 8m24s
Project CI / Native shell tests (pull_request) Has been cancelled

- package_layout 的 source_candidates 用例改用 Path 构造期望值(Windows 上 path.join 产出反斜杠,硬编码正斜杠会让该用例在 Windows 必红)
- 运维文档与技术方案改为「--no-bundle 也执行 staging、只跳过总号发布」;M1 验收行里已删除的 AGC_SKIP_RESOURCE_STAGING 表述同步
- 技术方案 §4.3 第 8 条与风险表的并发口径改为「不做并发支持:失败可读、保留已生成 staging,需要并发时外部串行化」,与实现一致
- 评审结论(Windows 真机):touch build.rs 后 resources 90 个文件 path/size/mtime 零变化;第二次 cargo build 1.13s fresh;三分支产物齐备;幂等、内容变更触发重建、fail-closed 均通过
This commit is contained in:
2026-09-28 12:38:45 +08:00
parent ceca4a7669
commit c22eb38962
4 changed files with 24 additions and 11 deletions
@@ -767,13 +767,26 @@ mod tests {
.iter()
.map(|path| path.to_string_lossy().to_string())
.collect::<Vec<_>>();
// 期望值必须用 Path 构造:Windows 上 path.join 产出反斜杠,硬编码正斜杠会让该用例在 Windows 必红。
let expected = |root: &str, nested: bool| {
let base = Path::new(root).join("node_modules/@openai");
if nested {
base.join(
"codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin",
)
} else {
base.join("codex-darwin-arm64/vendor/aarch64-apple-darwin")
}
.to_string_lossy()
.to_string()
};
assert_eq!(
rendered,
[
"/app/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin",
"/app/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin",
"/repo/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin",
"/repo/node_modules/@openai/codex/node_modules/@openai/codex-darwin-arm64/vendor/aarch64-apple-darwin",
expected("/app", false),
expected("/app", true),
expected("/repo", false),
expected("/repo", true),
]
);
assert!(codex_source_candidates(