fix(computer-use): require explicit lab root - #4072
Conversation
|
This is a synthesis of the independent blind review by @Sol-404ARE at exact head What I checked myself:
Findings from Sol's review (file:line anchored): Standards — NO-GO — 3×P2 (worst P2)
Excluded: docs-only commit Spec — NO-GO — 1×P2 (worst P2)
Remaining Spec mapping is green: all four existing Lab-backed launcher/harness call the shared parser, the private fallback is removed, launcher→harness Verification: What I did not judge: a true Gate: Standards 3×P2 and Spec 1×P2 remain; despite
|
Generated-by: Codex
Generated-by: Codex
Generated-by: Codex
Generated-by: Codex
76b4ca5 to
6ca9c43
Compare
|
@Astro-Han Updated |
Astro-Han
left a comment
There was a problem hiding this comment.
Thanks for addressing the earlier findings. The shared parser now owns the complete Lab-root contract: it rejects blank and relative paths, canonicalizes the existing directory, and verifies the executable fixture launcher before any Lab-backed entry point proceeds.
I also verified that all materially AI-assisted commits now carry the required provenance trailer. The focused contract suite passes 14/14, and I found no remaining P0–P2 issue.
Reviewed with OpenAI Codex as an AI-assisted review; I verified the shared parser, all four Lab-backed entry points, provenance trailers, focused tests, and current CI.
中文对照
谢谢你处理之前的审查意见。共享 parser 现在完整持有 Lab root 契约:拒绝空白和相对路径、规范化已有目录,并在任何 Lab 入口继续执行前验证可执行的 fixture launcher。
我也确认了所有由 AI 实质参与的提交都已经带有所需的 provenance trailer。定向契约测试 14/14 通过,没有发现剩余的 P0–P2 问题。
本次审查由 OpenAI Codex 辅助完成;我核对了共享 parser、四个 Lab 入口、提交 provenance、定向测试和当前 CI。
Summary
computer-use restart-soakfails outside one contributor's machine because its launcher and harness resolve the fixture from a private absolute path.The restart scripts embedded that path directly, and the real AX harness retained it as a fallback even though the real AX launcher already required
MAKA_CU_AX_MODEL_LAB_ROOT.Require the existing environment variable through one shared parser so every Lab-backed entry point fails early with an actionable error and never depends on a contributor-specific checkout. The parser rejects blank, relative, missing, and incomplete fixture roots, then returns the canonical path of a checkout with an executable
test-app/launch.sh.Document the public fixture checkout, absolute-path export, automatic fixture build, and the shared setup for both canonical
real-axruns and the non-qualifying restart soak.Run a pure Node contract in CI that verifies every Lab-backed entry point uses the shared parser and does not embed the external checkout name.
Evidence
Verification
node --test scripts/ax-tree-audit.test.mjs scripts/computer-use/lab-root.test.mjsnode --test --test-concurrency=1 scripts/ci-test-plan.test.mjs scripts/verify-windows-harness.test.mjsnode scripts/asf-license-headers.mjs checkbiome lint .biome format .git diff --checkThe full Computer Use harness was not run because it requires a local Codex CUA Lab fixture and built workspace artifacts. Full build and typecheck were not run for this script-only draft.
AI use
Select exactly one:
Tool(s) and scope: Codex implemented the shared environment validation, tests, operator documentation, CI wiring, and PR description.
Checklist
Does this PR entail a change in behavior?