本文档定义 CodexManager 仓库级测试与验证基线。
目标:
- 新协作者能快速知道改动后至少要跑什么
- 避免把所有改动都一律升级成全量验证
- 让协议兼容、发布链路、设置治理这些高风险改动有固定检查入口
- Node.js 20
- pnpm 9
- Rust stable
- PowerShell 7+(Windows 打包 / 脚本验证)
适用范围:
apps/src/app/apps/src/components/apps/src/lib/apps/src/hooks/
最小验证:
pnpm -C apps run build
pnpm -C apps run test:runtime说明:
pnpm -C apps run build:确认 Next.js 静态导出链路仍正常pnpm -C apps run test:runtime:确认运行时能力判定和桌面 / Web 能力降级逻辑未回归- 若改动涉及运行时识别、Web RPC、桌面 / Web 差异处理,补跑第 4 节
适用范围:
apps/src-tauri/- 桌面端更新、托盘、窗口、命令桥接相关改动
最小验证:
cargo test --workspace补充建议:
pwsh -NoLogo -NoProfile -File scripts/rebuild.ps1 -Bundle nsis -CleanDist说明:
- 只要改了 Tauri 桥接或桌面生命周期,最好至少做一次本地桌面构建验证。
适用范围:
crates/web/apps/src/lib/api/transport.tsapps/src/components/layout/app-bootstrap.tsxapps/src/components/layout/header.tsxapps/src/components/layout/sidebar.tsx- Web 代理、
/api/runtime、/api/rpc、部署方式相关改动
最小验证:
pnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-web
pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.test.ps1建议补充:
pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.ps1 `
-Base http://localhost:48761
pwsh -NoLogo -NoProfile -File scripts/tests/web_ui_smoke.ps1 -SkipBuild说明:
pnpm -C apps run build:确认前端静态导出仍可生成pnpm -C apps run test:runtime:确认前端运行时契约和能力判定保持一致cargo test -p codexmanager-web:确认 Web 壳路由与运行时探针契约web_runtime_probe.test.ps1:确认 Web 运行壳最小 smoke 链路的脚本行为web_ui_smoke.ps1:确认 Web 页面在 supported / unsupported 运行壳下的关键 UI 行为
适用范围:
crates/core/crates/service/crates/start/crates/web/
最小验证:
cargo test --workspace补充建议:
cargo build -p codexmanager-service --release
cargo build -p codexmanager-web --release
cargo build -p codexmanager-start --release适用范围:
crates/service/src/gateway/crates/service/src/http/crates/service/src/lib.rs
必须覆盖:
/v1/responses/v1/chat/completions- 流式 SSE
- 非流式 JSON
toolstool_calls
最小验证:
cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/gateway_regression_suite.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/codex_stream_probe.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/chat_tools_hit_probe.ps1说明:
- 如果本地环境不具备真实上游账号,至少要跑 Rust 测试并保留探针执行说明。
- 兼容性修复不能只验证一种客户端。
适用范围:
apps/src/settings/crates/service/src/app_settings/crates/core/src/storage/settings.rs- 新增
CODEXMANAGER_*配置项
最小验证:
pnpm -C apps run build
cargo test --workspace必须人工确认:
- 默认值是否明确
- 是否写入
app_settings - 是否需要同步到运行时
- README /
CONTRIBUTING.md/ARCHITECTURE.md是否需要更新
适用范围:
.github/workflows/.github/actions/scripts/release/scripts/rebuild*
最小验证:
pnpm -C apps run build
cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/assert-release-version.test.ps1
pwsh -NoLogo -NoProfile -File scripts/tests/rebuild.test.ps1必须人工确认:
- workflow 输入和 README 说明一致
- 产物命名没有漂移
- prerelease / latest 行为没有漂移
适用范围:
README*ARCHITECTURE.mdCONTRIBUTING.mdCHANGELOG.mddocs/
最小验证:
- 检查链接路径是否有效
- 检查文档职责是否重复
- 检查版本号、产物名、workflow 名称是否与实际一致
pnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-webpnpm -C apps run build
pnpm -C apps run test:runtimepnpm -C apps run build
pnpm -C apps run test:runtime
cargo test -p codexmanager-web
pwsh -NoLogo -NoProfile -File scripts/tests/web_runtime_probe.test.ps1cargo test --workspace
pwsh -NoLogo -NoProfile -File scripts/tests/gateway_regression_suite.ps1- 能完整执行的验证,记录为“已执行”。
- 受环境限制无法执行的验证,明确写成“未执行 + 原因”。
- 不要把“应该能过”当作“已验证”。