fix(cli): use active node for startup bench scripts#84451
Conversation
|
Codex review: needs maintainer review before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. at source level: current main has PR rating Rank-up moves:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. Real behavior proof Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land one focused fix for the linked benchmark wrapper bug, preferably with the Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main has Is this the best way to solve the issue? Yes for the executable mismatch: using Label changes:
Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 989e53c20d39. |
|
ClawSweeper PR egg ✨ Hatched: 💎 rare Gilded Clawlet Hatch commandComment Hatchability rules:
Rarity: 💎 rare. What is this egg doing here?
|
Fixes #83921.
Summary
process.execPathinstead of barenodewhen benchmark wrapper scripts spawnscripts/bench-cli-startup.ts.--preset startup, to compare only the cases that were actually generated instead of failing on unrelated fixture cases.Verification
git diff --checktbx_01ks1wp6dw5wb18s2v7nfv7e1r:pnpm buildCI=1 NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=900000 OPENCLAW_TESTBOX=1 OPENCLAW_TESTBOX_REMOTE_RUN=1 node scripts/run-vitest.mjs test/scripts/cli-startup-bench-spawner.test.tsnode_bin="$(command -v node)"; PATH=/nonexistent "$node_bin" scripts/test-update-cli-startup-bench.mjs --out /tmp/openclaw-cli-startup-bench-review.json --preset startup --runs 1 --warmup 0 --timeout-ms 10000node_bin="$(command -v node)"; PATH=/nonexistent "$node_bin" scripts/test-cli-startup-bench-budget.mjs --preset startup --runs 1 --warmup 0 --timeout-ms 10000 --max-duration-regression-pct 100000 --max-first-output-regression-pct 100000 --max-rss-regression-pct 100000Real behavior proof
Behavior addressed: CLI startup benchmark wrapper scripts no longer depend on a
nodeexecutable being discoverable throughPATH, and narrowed startup budget checks no longer fail on unrelated real-mode fixture cases.Real environment tested: Blacksmith Testbox via Crabbox, provider
blacksmith-testbox, idtbx_01ks1wp6dw5wb18s2v7nfv7e1r.Exact steps or command run after this patch: Built the source tree, ran the focused Vitest file, then ran both benchmark wrapper commands with
PATH=/nonexistentwhile invoking the wrappers through the current Node executable.Evidence after fix: The focused Vitest file passed 2 tests,
test-update-cli-startup-bench.mjswrote/tmp/openclaw-cli-startup-bench-review.json, andtest-cli-startup-bench-budget.mjscompleted its startup budget comparison successfully.Observed result after fix: Testbox completed with exit code 0.
What was not tested: Full benchmark presets and full CI were not run for this narrow script fix.