用途:在声明 PR 为 Passed、Incomplete 或 Failed 前,验证最终将落地的代码树,准备合并验证并发布全部证据,也可检查 stacked PR。
主要能力:在 PR head 的最终 rebase 或 cherry-pick 后运行所有检查;任何历史重写后需重新运行并重新发布,因为测试运行绑定到 commit SHA。合并 stacked PR 前,用 gh pr view <n> --json baseRefName,headRefName,headRefOid 检查;若其 base PR 先合并,stack 可能合入 feature 分支而非 dev,GitHub 会重建 commit 并产生新 SHA,使测试证据孤立。用 git log --oneline <branch> ^origin/dev 检测游离 commit;修复坏 stack 时只把预期 commit cherry-pick 到当前 dev,然后重跑所有检查并重新发布测试运行。
判定方式:使用 write-a-spec 和 run-tests,散文、截图和录屏不决定通过与否。优先使用 Daytona 做 agent-first 验证;凭据和服务可用时先尝试 Daytona,否则本地运行相同检查。缺少 Daytona 凭据、工具或服务访问是预期的 OSS 贡献者回退,不算失败检查。执行前确定回退资格:仅当 Daytona 凭据、工具或服务不可用,或用户明确要求本地时才用本地。Daytona 可用并选定后,运行时、测试或产品失败不使其不可用,应在 Daytona 内诊断修复,不得切换通道来变绿。本地复现可辅助诊断,但不是回退,不能替代 Daytona 判定。记录每项检查在 Daytona 还是本地运行;回退时说明不可用的 Daytona 前置条件,不暴露密钥值。每个声明都要有可观察断言和可见测试证据。只报告 Passed、Incomplete 或 Failed,并引用确切命令、退出码和通过/失败/跳过计数。只有同一命令在干净 origin/dev worktree 中复现失败,才能称为 pre-existing,并引用对照命令和匹配失败。
本地回退前置:pnpm --filter @openwork/types build;pnpm --filter @openwork-ee/den-db build;pnpm --filter @openwork/email build;pnpm dev:den:mysql。本地 server() 需要 127.0.0.1:3306 的 MySQL;未构建的工作区依赖可能导致 den-api 导入失败。若检出路径含空格,将 OPENWORK_EVAL_SURFACES_DIR 设为无空格路径,否则 node-gyp 和 electron-rebuild 会失败。设置 OPENWORK_EVAL_E2E_TESTS=1 以运行驱动应用的 E2E 测试。
发布人工验证:判定后由 orchestrator 负责发布。多测试运行后,发布每个匹配 head 的测试运行:pnpm evals:e2e --publish --pr <n> --test-run <dir|name>。确认 sticky PR 评论为每个声明的测试显示一个 section。绝不用 --force 掩盖 SHA 不匹配;应在 PR head 上重跑。仅将其保留给故意发布历史或红色测试证据,并在报告和 PR 评论中说明该例外。
限制:资料未提供收费、价格、平台支持范围等更多信息。